use serde::{Deserialize, Serialize};
use crate::types::{Change, Date, ExchangeCode, Industry, Percentage, Price, Sector, Ticker};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct SectorPerformance {
pub date: Date,
pub sector: Sector,
pub exchange: ExchangeCode,
pub average_change: Percentage,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct IndustryPerformance {
pub date: Date,
pub industry: Industry,
pub exchange: ExchangeCode,
pub average_change: Percentage,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct SectorPe {
pub date: Date,
pub sector: Sector,
pub exchange: ExchangeCode,
pub pe: f64,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct IndustryPe {
pub date: Date,
pub industry: Industry,
pub exchange: ExchangeCode,
pub pe: f64,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct MarketMover {
pub symbol: Ticker,
pub price: Price,
pub name: String,
pub change: Change,
pub changes_percentage: Percentage,
pub exchange: ExchangeCode,
}