1use super::FinancialPeriod;
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
8#[serde(rename_all = "camelCase")]
9pub struct KeyMetrics {
10 #[serde(flatten)]
11 pub metadata: FinancialPeriod,
12 pub market_cap: Option<f64>,
13 pub enterprise_value: Option<f64>,
14 pub ev_to_sales: Option<f64>,
15 pub ev_to_operating_cash_flow: Option<f64>,
16 pub ev_to_free_cash_flow: Option<f64>,
17 #[serde(rename = "evToEBITDA")]
18 pub ev_to_ebitda: Option<f64>,
19 #[serde(rename = "netDebtToEBITDA")]
20 pub net_debt_to_ebitda: Option<f64>,
21 pub current_ratio: Option<f64>,
22 pub income_quality: Option<f64>,
23 pub graham_number: Option<f64>,
24 pub graham_net_net: Option<f64>,
25 pub tax_burden: Option<f64>,
26 pub interest_burden: Option<f64>,
27 pub working_capital: Option<f64>,
28 pub invested_capital: Option<f64>,
29 pub return_on_assets: Option<f64>,
30 pub operating_return_on_assets: Option<f64>,
31 pub return_on_tangible_assets: Option<f64>,
32 pub return_on_equity: Option<f64>,
33 pub return_on_invested_capital: Option<f64>,
34 pub return_on_capital_employed: Option<f64>,
35 pub earnings_yield: Option<f64>,
36 pub free_cash_flow_yield: Option<f64>,
37 pub capex_to_operating_cash_flow: Option<f64>,
38 pub capex_to_depreciation: Option<f64>,
39 pub capex_to_revenue: Option<f64>,
40 pub sales_general_and_administrative_to_revenue: Option<f64>,
41 #[serde(rename = "researchAndDevelopementToRevenue")]
42 pub research_and_development_to_revenue: Option<f64>,
43 pub stock_based_compensation_to_revenue: Option<f64>,
44 pub intangibles_to_total_assets: Option<f64>,
45 pub average_receivables: Option<f64>,
46 pub average_payables: Option<f64>,
47 pub average_inventory: Option<f64>,
48 pub days_of_sales_outstanding: Option<f64>,
49 pub days_of_payables_outstanding: Option<f64>,
50 pub days_of_inventory_outstanding: Option<f64>,
51 pub operating_cycle: Option<f64>,
52 pub cash_conversion_cycle: Option<f64>,
53 pub free_cash_flow_to_equity: Option<f64>,
54 pub free_cash_flow_to_firm: Option<f64>,
55 pub tangible_asset_value: Option<f64>,
56 pub net_current_asset_value: Option<f64>,
57}
58
59#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
61#[serde(rename_all = "camelCase")]
62pub struct FinancialRatios {
63 #[serde(flatten)]
64 pub metadata: FinancialPeriod,
65 pub gross_profit_margin: Option<f64>,
66 pub ebit_margin: Option<f64>,
67 pub ebitda_margin: Option<f64>,
68 pub operating_profit_margin: Option<f64>,
69 pub pretax_profit_margin: Option<f64>,
70 pub continuous_operations_profit_margin: Option<f64>,
71 pub net_profit_margin: Option<f64>,
72 pub bottom_line_profit_margin: Option<f64>,
73 pub receivables_turnover: Option<f64>,
74 pub payables_turnover: Option<f64>,
75 pub inventory_turnover: Option<f64>,
76 pub fixed_asset_turnover: Option<f64>,
77 pub asset_turnover: Option<f64>,
78 pub current_ratio: Option<f64>,
79 pub quick_ratio: Option<f64>,
80 pub solvency_ratio: Option<f64>,
81 pub cash_ratio: Option<f64>,
82 pub price_to_earnings_ratio: Option<f64>,
83 pub price_to_earnings_growth_ratio: Option<f64>,
84 pub forward_price_to_earnings_growth_ratio: Option<f64>,
85 pub price_to_earnings_diluted_ratio: Option<f64>,
86 pub price_to_earnings_diluted_growth_ratio: Option<f64>,
87 pub price_to_book_ratio: Option<f64>,
88 pub price_to_sales_ratio: Option<f64>,
89 pub price_to_free_cash_flow_ratio: Option<f64>,
90 pub price_to_operating_cash_flow_ratio: Option<f64>,
91 pub debt_to_assets_ratio: Option<f64>,
92 pub debt_to_equity_ratio: Option<f64>,
93 pub debt_to_capital_ratio: Option<f64>,
94 pub long_term_debt_to_capital_ratio: Option<f64>,
95 pub financial_leverage_ratio: Option<f64>,
96 pub working_capital_turnover_ratio: Option<f64>,
97 pub operating_cash_flow_ratio: Option<f64>,
98 pub operating_cash_flow_sales_ratio: Option<f64>,
99 pub free_cash_flow_operating_cash_flow_ratio: Option<f64>,
100 pub debt_service_coverage_ratio: Option<f64>,
101 pub interest_coverage_ratio: Option<f64>,
102 pub short_term_operating_cash_flow_coverage_ratio: Option<f64>,
103 pub operating_cash_flow_coverage_ratio: Option<f64>,
104 pub capital_expenditure_coverage_ratio: Option<f64>,
105 pub dividend_paid_and_capex_coverage_ratio: Option<f64>,
106 pub dividend_payout_ratio: Option<f64>,
107 pub dividend_yield: Option<f64>,
108 pub dividend_yield_percentage: Option<f64>,
109 pub revenue_per_share: Option<f64>,
110 pub net_income_per_share: Option<f64>,
111 pub interest_debt_per_share: Option<f64>,
112 pub cash_per_share: Option<f64>,
113 pub book_value_per_share: Option<f64>,
114 pub tangible_book_value_per_share: Option<f64>,
115 pub shareholders_equity_per_share: Option<f64>,
116 pub operating_cash_flow_per_share: Option<f64>,
117 pub capex_per_share: Option<f64>,
118 pub free_cash_flow_per_share: Option<f64>,
119 #[serde(rename = "netIncomePerEBT")]
120 pub net_income_per_ebt: Option<f64>,
121 pub ebt_per_ebit: Option<f64>,
122 pub price_to_fair_value: Option<f64>,
123 pub debt_to_market_cap: Option<f64>,
124 pub effective_tax_rate: Option<f64>,
125 pub enterprise_value_multiple: Option<f64>,
126 pub dividend_per_share: Option<f64>,
127}