use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IndexSymbol {
pub symbol: String,
pub name: Option<String>,
pub currency: Option<String>,
pub stock_exchange: Option<String>,
pub exchange_short_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IndexQuote {
pub symbol: String,
pub name: Option<String>,
pub price: Option<f64>,
pub change: Option<f64>,
pub changes_percentage: Option<f64>,
pub day_low: Option<f64>,
pub day_high: Option<f64>,
pub year_low: Option<f64>,
pub year_high: Option<f64>,
pub open: Option<f64>,
pub previous_close: Option<f64>,
pub timestamp: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IndexHistorical {
pub date: String,
pub open: f64,
pub high: f64,
pub low: f64,
pub close: f64,
pub adj_close: Option<f64>,
pub volume: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IndexConstituent {
pub symbol: String,
pub name: Option<String>,
pub sector: Option<String>,
pub sub_sector: Option<String>,
pub headquarters_location: Option<String>,
pub date_first_added: Option<String>,
pub cik: Option<String>,
pub founded: Option<String>,
}