finance_query/models/fundamentals/
ttm.rs1use serde::{Deserialize, Serialize};
17
18#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21#[non_exhaustive]
22pub struct KeyMetricsTtm {
23 pub symbol: Option<String>,
25 #[serde(alias = "marketCap")]
27 pub market_cap: Option<f64>,
28 #[serde(alias = "enterpriseValueTTM")]
30 pub enterprise_value: Option<f64>,
31 #[serde(alias = "evToSalesTTM")]
33 pub ev_to_sales: Option<f64>,
34 #[serde(alias = "evToOperatingCashFlowTTM")]
36 pub ev_to_operating_cash_flow: Option<f64>,
37 #[serde(alias = "evToFreeCashFlowTTM")]
39 pub ev_to_free_cash_flow: Option<f64>,
40 #[serde(alias = "evToEBITDATTM")]
42 pub ev_to_ebitda: Option<f64>,
43 #[serde(alias = "netDebtToEBITDATTM")]
45 pub net_debt_to_ebitda: Option<f64>,
46 #[serde(alias = "currentRatioTTM")]
48 pub current_ratio: Option<f64>,
49 #[serde(alias = "incomeQualityTTM")]
51 pub income_quality: Option<f64>,
52 #[serde(alias = "grahamNumberTTM")]
54 pub graham_number: Option<f64>,
55 #[serde(alias = "grahamNetNetTTM")]
57 pub graham_net_net: Option<f64>,
58 #[serde(alias = "taxBurdenTTM")]
60 pub tax_burden: Option<f64>,
61 #[serde(alias = "interestBurdenTTM")]
63 pub interest_burden: Option<f64>,
64 #[serde(alias = "workingCapitalTTM")]
66 pub working_capital: Option<f64>,
67 #[serde(alias = "investedCapitalTTM")]
69 pub invested_capital: Option<f64>,
70 #[serde(alias = "returnOnAssetsTTM")]
72 pub return_on_assets: Option<f64>,
73 #[serde(alias = "operatingReturnOnAssetsTTM")]
75 pub operating_return_on_assets: Option<f64>,
76 #[serde(alias = "returnOnTangibleAssetsTTM")]
78 pub return_on_tangible_assets: Option<f64>,
79 #[serde(alias = "returnOnEquityTTM")]
81 pub return_on_equity: Option<f64>,
82 #[serde(alias = "returnOnInvestedCapitalTTM")]
84 pub return_on_invested_capital: Option<f64>,
85 #[serde(alias = "returnOnCapitalEmployedTTM")]
87 pub return_on_capital_employed: Option<f64>,
88 #[serde(alias = "earningsYieldTTM")]
90 pub earnings_yield: Option<f64>,
91 #[serde(alias = "freeCashFlowYieldTTM")]
93 pub free_cash_flow_yield: Option<f64>,
94 #[serde(alias = "capexToOperatingCashFlowTTM")]
96 pub capex_to_operating_cash_flow: Option<f64>,
97 #[serde(alias = "capexToDepreciationTTM")]
99 pub capex_to_depreciation: Option<f64>,
100 #[serde(alias = "capexToRevenueTTM")]
102 pub capex_to_revenue: Option<f64>,
103 #[serde(alias = "salesGeneralAndAdministrativeToRevenueTTM")]
105 pub sales_general_and_administrative_to_revenue: Option<f64>,
106 #[serde(alias = "researchAndDevelopementToRevenueTTM")]
109 pub research_and_development_to_revenue: Option<f64>,
110 #[serde(alias = "stockBasedCompensationToRevenueTTM")]
112 pub stock_based_compensation_to_revenue: Option<f64>,
113 #[serde(alias = "intangiblesToTotalAssetsTTM")]
115 pub intangibles_to_total_assets: Option<f64>,
116 #[serde(alias = "averageReceivablesTTM")]
118 pub average_receivables: Option<f64>,
119 #[serde(alias = "averagePayablesTTM")]
121 pub average_payables: Option<f64>,
122 #[serde(alias = "averageInventoryTTM")]
124 pub average_inventory: Option<f64>,
125 #[serde(alias = "daysOfSalesOutstandingTTM")]
127 pub days_of_sales_outstanding: Option<f64>,
128 #[serde(alias = "daysOfPayablesOutstandingTTM")]
130 pub days_of_payables_outstanding: Option<f64>,
131 #[serde(alias = "daysOfInventoryOutstandingTTM")]
133 pub days_of_inventory_outstanding: Option<f64>,
134 #[serde(alias = "operatingCycleTTM")]
136 pub operating_cycle: Option<f64>,
137 #[serde(alias = "cashConversionCycleTTM")]
139 pub cash_conversion_cycle: Option<f64>,
140 #[serde(alias = "freeCashFlowToEquityTTM")]
142 pub free_cash_flow_to_equity: Option<f64>,
143 #[serde(alias = "freeCashFlowToFirmTTM")]
145 pub free_cash_flow_to_firm: Option<f64>,
146 #[serde(alias = "tangibleAssetValueTTM")]
148 pub tangible_asset_value: Option<f64>,
149 #[serde(alias = "netCurrentAssetValueTTM")]
151 pub net_current_asset_value: Option<f64>,
152}
153
154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
157#[non_exhaustive]
158pub struct FinancialRatiosTtm {
159 pub symbol: Option<String>,
161 #[serde(alias = "grossProfitMarginTTM")]
163 pub gross_profit_margin: Option<f64>,
164 #[serde(alias = "ebitMarginTTM")]
166 pub ebit_margin: Option<f64>,
167 #[serde(alias = "ebitdaMarginTTM")]
169 pub ebitda_margin: Option<f64>,
170 #[serde(alias = "operatingProfitMarginTTM")]
172 pub operating_profit_margin: Option<f64>,
173 #[serde(alias = "pretaxProfitMarginTTM")]
175 pub pretax_profit_margin: Option<f64>,
176 #[serde(alias = "continuousOperationsProfitMarginTTM")]
178 pub continuous_operations_profit_margin: Option<f64>,
179 #[serde(alias = "netProfitMarginTTM")]
181 pub net_profit_margin: Option<f64>,
182 #[serde(alias = "bottomLineProfitMarginTTM")]
184 pub bottom_line_profit_margin: Option<f64>,
185 #[serde(alias = "receivablesTurnoverTTM")]
187 pub receivables_turnover: Option<f64>,
188 #[serde(alias = "payablesTurnoverTTM")]
190 pub payables_turnover: Option<f64>,
191 #[serde(alias = "inventoryTurnoverTTM")]
193 pub inventory_turnover: Option<f64>,
194 #[serde(alias = "fixedAssetTurnoverTTM")]
196 pub fixed_asset_turnover: Option<f64>,
197 #[serde(alias = "assetTurnoverTTM")]
199 pub asset_turnover: Option<f64>,
200 #[serde(alias = "currentRatioTTM")]
202 pub current_ratio: Option<f64>,
203 #[serde(alias = "quickRatioTTM")]
205 pub quick_ratio: Option<f64>,
206 #[serde(alias = "solvencyRatioTTM")]
208 pub solvency_ratio: Option<f64>,
209 #[serde(alias = "cashRatioTTM")]
211 pub cash_ratio: Option<f64>,
212 #[serde(alias = "priceToEarningsRatioTTM")]
214 pub price_earnings_ratio: Option<f64>,
215 #[serde(alias = "priceToEarningsGrowthRatioTTM")]
217 pub peg_ratio: Option<f64>,
218 #[serde(alias = "forwardPriceToEarningsGrowthRatioTTM")]
220 pub forward_peg_ratio: Option<f64>,
221 #[serde(alias = "priceToEarningsDilutedRatioTTM")]
223 pub price_to_earnings_diluted_ratio: Option<f64>,
224 #[serde(alias = "priceToEarningsDilutedGrowthRatioTTM")]
226 pub price_to_earnings_diluted_growth_ratio: Option<f64>,
227 #[serde(alias = "priceToBookRatioTTM")]
229 pub price_to_book_ratio: Option<f64>,
230 #[serde(alias = "priceToSalesRatioTTM")]
232 pub price_to_sales_ratio: Option<f64>,
233 #[serde(alias = "priceToFreeCashFlowRatioTTM")]
235 pub price_to_free_cash_flows_ratio: Option<f64>,
236 #[serde(alias = "priceToOperatingCashFlowRatioTTM")]
238 pub price_to_operating_cash_flow_ratio: Option<f64>,
239 #[serde(alias = "debtToAssetsRatioTTM")]
241 pub debt_ratio: Option<f64>,
242 #[serde(alias = "debtToEquityRatioTTM")]
244 pub debt_equity_ratio: Option<f64>,
245 #[serde(alias = "debtToCapitalRatioTTM")]
247 pub debt_to_capital_ratio: Option<f64>,
248 #[serde(alias = "longTermDebtToCapitalRatioTTM")]
250 pub long_term_debt_to_capital_ratio: Option<f64>,
251 #[serde(alias = "financialLeverageRatioTTM")]
253 pub financial_leverage_ratio: Option<f64>,
254 #[serde(alias = "workingCapitalTurnoverRatioTTM")]
256 pub working_capital_turnover_ratio: Option<f64>,
257 #[serde(alias = "operatingCashFlowRatioTTM")]
259 pub operating_cash_flow_ratio: Option<f64>,
260 #[serde(alias = "operatingCashFlowSalesRatioTTM")]
262 pub operating_cash_flow_sales_ratio: Option<f64>,
263 #[serde(alias = "freeCashFlowOperatingCashFlowRatioTTM")]
265 pub free_cash_flow_operating_cash_flow_ratio: Option<f64>,
266 #[serde(alias = "debtServiceCoverageRatioTTM")]
268 pub debt_service_coverage_ratio: Option<f64>,
269 #[serde(alias = "interestCoverageRatioTTM")]
271 pub interest_coverage: Option<f64>,
272 #[serde(alias = "shortTermOperatingCashFlowCoverageRatioTTM")]
274 pub short_term_operating_cash_flow_coverage_ratio: Option<f64>,
275 #[serde(alias = "operatingCashFlowCoverageRatioTTM")]
277 pub operating_cash_flow_coverage_ratio: Option<f64>,
278 #[serde(alias = "capitalExpenditureCoverageRatioTTM")]
280 pub capital_expenditure_coverage_ratio: Option<f64>,
281 #[serde(alias = "dividendPaidAndCapexCoverageRatioTTM")]
283 pub dividend_paid_and_capex_coverage_ratio: Option<f64>,
284 #[serde(alias = "dividendPayoutRatioTTM")]
286 pub payout_ratio: Option<f64>,
287 #[serde(alias = "dividendYielTTM", alias = "dividendYieldTTM")]
289 pub dividend_yield: Option<f64>,
290 #[serde(alias = "dividendPerShareTTM")]
292 pub dividend_per_share: Option<f64>,
293 #[serde(alias = "enterpriseValueTTM")]
295 pub enterprise_value: Option<f64>,
296 #[serde(alias = "enterpriseValueMultipleTTM")]
298 pub enterprise_value_multiple: Option<f64>,
299 #[serde(alias = "revenuePerShareTTM")]
301 pub revenue_per_share: Option<f64>,
302 #[serde(alias = "netIncomePerShareTTM")]
304 pub net_income_per_share: Option<f64>,
305 #[serde(alias = "interestDebtPerShareTTM")]
307 pub interest_debt_per_share: Option<f64>,
308 #[serde(alias = "cashPerShareTTM")]
310 pub cash_per_share: Option<f64>,
311 #[serde(alias = "bookValuePerShareTTM")]
313 pub book_value_per_share: Option<f64>,
314 #[serde(alias = "tangibleBookValuePerShareTTM")]
316 pub tangible_book_value_per_share: Option<f64>,
317 #[serde(alias = "shareholdersEquityPerShareTTM")]
319 pub shareholders_equity_per_share: Option<f64>,
320 #[serde(alias = "operatingCashFlowPerShareTTM")]
322 pub operating_cash_flow_per_share: Option<f64>,
323 #[serde(alias = "capexPerShareTTM")]
325 pub capex_per_share: Option<f64>,
326 #[serde(alias = "freeCashFlowPerShareTTM")]
328 pub free_cash_flow_per_share: Option<f64>,
329 #[serde(alias = "netIncomePerEBTTTM")]
331 pub net_income_per_ebt: Option<f64>,
332 #[serde(alias = "ebtPerEbitTTM")]
334 pub ebt_per_ebit: Option<f64>,
335 #[serde(alias = "priceToFairValueTTM")]
337 pub price_to_fair_value: Option<f64>,
338 #[serde(alias = "debtToMarketCapTTM")]
340 pub debt_to_market_cap: Option<f64>,
341 #[serde(alias = "effectiveTaxRateTTM")]
343 pub effective_tax_rate: Option<f64>,
344}