use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct MacroObservation {
pub date: String,
pub value: Option<f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct MacroSeries {
pub id: String,
pub observations: Vec<MacroObservation>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct TreasuryYield {
pub date: String,
pub y1m: Option<f64>,
pub y2m: Option<f64>,
pub y3m: Option<f64>,
pub y4m: Option<f64>,
pub y6m: Option<f64>,
pub y1: Option<f64>,
pub y2: Option<f64>,
pub y3: Option<f64>,
pub y5: Option<f64>,
pub y7: Option<f64>,
pub y10: Option<f64>,
pub y20: Option<f64>,
pub y30: Option<f64>,
}