finance_query/models/fundamentals/company_profile.rs
1//! Company profile model.
2//!
3//! Served through the [`Capability::FUNDAMENTALS`](crate::Capability::FUNDAMENTALS)
4//! route. Alpha Vantage is currently the only provider. Scoped to identity
5//! and classification fields — valuation ratios and earnings figures live in
6//! [`KeyMetricsTtm`](crate::KeyMetricsTtm), [`RatingConsensus`](crate::RatingConsensus),
7//! and [`EarningsSurprise`](crate::EarningsSurprise) instead of being duplicated here.
8
9use serde::{Deserialize, Serialize};
10
11/// A company's identity and classification profile.
12#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13#[non_exhaustive]
14pub struct CompanyProfile {
15 /// Ticker symbol.
16 pub symbol: Option<String>,
17 /// Company name.
18 pub name: Option<String>,
19 /// Business description.
20 pub description: Option<String>,
21 /// Asset type as reported by the provider (e.g. `"Common Stock"`).
22 pub asset_type: Option<String>,
23 /// Listing exchange.
24 pub exchange: Option<String>,
25 /// Trading currency.
26 pub currency: Option<String>,
27 /// Country of incorporation or primary listing.
28 pub country: Option<String>,
29 /// GICS sector.
30 pub sector: Option<String>,
31 /// GICS industry.
32 pub industry: Option<String>,
33 /// Market capitalization.
34 pub market_capitalization: Option<f64>,
35}