use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CommitmentsOfTraders {
pub symbol: String,
pub market_and_exchange_name: String,
pub cftc_contract_market_code: String,
pub observations: Vec<CotObservation>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CotObservation {
pub report_date: String,
pub open_interest: Option<i64>,
pub producer_merchant_long: Option<i64>,
pub producer_merchant_short: Option<i64>,
pub swap_dealer_long: Option<i64>,
pub swap_dealer_short: Option<i64>,
pub swap_dealer_spread: Option<i64>,
pub managed_money_long: Option<i64>,
pub managed_money_short: Option<i64>,
pub managed_money_spread: Option<i64>,
pub other_reportable_long: Option<i64>,
pub other_reportable_short: Option<i64>,
pub other_reportable_spread: Option<i64>,
pub total_reportable_long: Option<i64>,
pub total_reportable_short: Option<i64>,
pub nonreportable_long: Option<i64>,
pub nonreportable_short: Option<i64>,
}