alpaca-data 0.10.2

High-performance Rust client for Alpaca Market Data API
Documentation
use crate::common::time::Timestamp;

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct Auction {
    pub t: Option<Timestamp>,
    pub x: Option<String>,
    pub p: Option<f64>,
    pub s: Option<u64>,
    pub c: Option<String>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct DailyAuction {
    pub d: Option<String>,
    pub o: Vec<Auction>,
    pub c: Vec<Auction>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct Bar {
    pub t: Option<Timestamp>,
    pub o: Option<f64>,
    pub h: Option<f64>,
    pub l: Option<f64>,
    pub c: Option<f64>,
    pub v: Option<u64>,
    pub n: Option<u64>,
    pub vw: Option<f64>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct Quote {
    pub t: Option<Timestamp>,
    pub bx: Option<String>,
    pub bp: Option<f64>,
    pub bs: Option<u64>,
    pub ax: Option<String>,
    pub ap: Option<f64>,
    #[serde(rename = "as")]
    pub r#as: Option<u64>,
    pub c: Option<Vec<String>>,
    pub z: Option<String>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct Trade {
    pub t: Option<Timestamp>,
    pub x: Option<String>,
    pub p: Option<f64>,
    pub s: Option<u64>,
    pub i: Option<u64>,
    pub c: Option<Vec<String>>,
    pub z: Option<String>,
    pub u: Option<String>,
}

#[allow(non_snake_case)]
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize)]
pub struct Snapshot {
    pub latestTrade: Option<Trade>,
    pub latestQuote: Option<Quote>,
    pub minuteBar: Option<Bar>,
    pub dailyBar: Option<Bar>,
    pub prevDailyBar: Option<Bar>,
}