Skip to main content

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}