fmp_rs/models/
market_performance.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct SectorPerformance {
9 pub sector: String,
11 pub changes_percentage: Option<String>,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
17#[serde(rename_all = "camelCase")]
18pub struct SectorHistorical {
19 pub date: String,
21 #[serde(rename = "technologyChangesPercentage")]
23 pub technology_changes_percentage: Option<f64>,
24 #[serde(rename = "healthcareChangesPercentage")]
26 pub healthcare_changes_percentage: Option<f64>,
27 #[serde(rename = "financialServicesChangesPercentage")]
29 pub financial_services_changes_percentage: Option<f64>,
30 #[serde(rename = "consumerCyclicalChangesPercentage")]
32 pub consumer_cyclical_changes_percentage: Option<f64>,
33 #[serde(rename = "industrialsChangesPercentage")]
35 pub industrials_changes_percentage: Option<f64>,
36 #[serde(rename = "energyChangesPercentage")]
38 pub energy_changes_percentage: Option<f64>,
39 #[serde(rename = "basicMaterialsChangesPercentage")]
41 pub basic_materials_changes_percentage: Option<f64>,
42 #[serde(rename = "consumerDefensiveChangesPercentage")]
44 pub consumer_defensive_changes_percentage: Option<f64>,
45 #[serde(rename = "realEstateChangesPercentage")]
47 pub real_estate_changes_percentage: Option<f64>,
48 #[serde(rename = "communicationServicesChangesPercentage")]
50 pub communication_services_changes_percentage: Option<f64>,
51 #[serde(rename = "utilitiesChangesPercentage")]
53 pub utilities_changes_percentage: Option<f64>,
54}
55
56#[derive(Debug, Clone, Serialize, Deserialize)]
58#[serde(rename_all = "camelCase")]
59pub struct MarketHours {
60 pub stock_exchange_name: Option<String>,
62 pub stock_market_hours: Option<MarketHourDetails>,
64 #[serde(default)]
66 pub stock_market_holidays: Vec<Holiday>,
67 pub is_the_stock_market_open: Option<bool>,
69 pub is_the_stock_market_holiday: Option<bool>,
71}
72
73#[derive(Debug, Clone, Serialize, Deserialize)]
75#[serde(rename_all = "camelCase")]
76pub struct MarketHourDetails {
77 pub open_time: Option<String>,
79 pub close_time: Option<String>,
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize)]
85#[serde(rename_all = "camelCase")]
86pub struct Holiday {
87 pub year: Option<i32>,
89 pub holiday: Option<String>,
91 pub date: Option<String>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(rename_all = "camelCase")]
98pub struct StockMover {
99 pub symbol: String,
101 pub name: Option<String>,
103 pub price: Option<f64>,
105 pub change: Option<f64>,
107 pub changes_percentage: Option<f64>,
109 pub volume: Option<i64>,
111}
112
113#[derive(Debug, Clone, Serialize, Deserialize)]
115#[serde(rename_all = "camelCase")]
116pub struct PrePostMarket {
117 pub symbol: String,
119 pub pre_market_price: Option<f64>,
121 pub pre_market_change: Option<f64>,
123 pub pre_market_change_percentage: Option<f64>,
125 pub after_hours_price: Option<f64>,
127 pub after_hours_change: Option<f64>,
129 pub after_hours_change_percentage: Option<f64>,
131}