128 lines
3.8 KiB
C#
128 lines
3.8 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace FinlyticCore.Dtos.Fundamentals;
|
|
|
|
/// <summary>
|
|
/// Repräsentiert die finanziellen Kennzahlen und Valuation-Multiples eines Assets.
|
|
/// </summary>
|
|
[Serializable]
|
|
public record FundamentalDataDto
|
|
{
|
|
[JsonPropertyName("ticker")]
|
|
public TickerInfoDto Ticker { get; init; }
|
|
|
|
// --- Valuation & Multiples ---
|
|
[JsonPropertyName("marketCap")]
|
|
public decimal? MarketCap { get; init; }
|
|
|
|
[JsonPropertyName("enterpriseValue")]
|
|
public decimal? EnterpriseValue { get; init; }
|
|
|
|
[JsonPropertyName("trailingPe")]
|
|
public decimal? TrailingPe { get; init; }
|
|
|
|
[JsonPropertyName("forwardPe")]
|
|
public decimal? ForwardPe { get; init; }
|
|
|
|
[JsonPropertyName("pegRatio")]
|
|
public decimal? PegRatio { get; init; }
|
|
|
|
[JsonPropertyName("priceToSales")]
|
|
public decimal? PriceToSales { get; init; }
|
|
|
|
[JsonPropertyName("priceToBook")]
|
|
public decimal? PriceToBook { get; init; }
|
|
|
|
[JsonPropertyName("evToEbitda")]
|
|
public decimal? EvToEbitda { get; init; }
|
|
|
|
// --- Income Statement (TTM) ---
|
|
[JsonPropertyName("totalRevenue")]
|
|
public decimal? TotalRevenue { get; init; }
|
|
|
|
[JsonPropertyName("revenueGrowthYoY")]
|
|
public decimal? RevenueGrowthYoY { get; init; }
|
|
|
|
[JsonPropertyName("grossProfit")]
|
|
public decimal? GrossProfit { get; init; }
|
|
|
|
[JsonPropertyName("operatingIncome")]
|
|
public decimal? OperatingIncome { get; init; }
|
|
|
|
[JsonPropertyName("ebitda")]
|
|
public decimal? Ebitda { get; init; }
|
|
|
|
[JsonPropertyName("netIncome")]
|
|
public decimal? NetIncome { get; init; }
|
|
|
|
[JsonPropertyName("dilutedEps")]
|
|
public decimal? DilutedEps { get; init; }
|
|
|
|
// --- Balance Sheet & Cash Flow ---
|
|
[JsonPropertyName("totalCash")]
|
|
public decimal? TotalCash { get; init; }
|
|
|
|
[JsonPropertyName("totalDebt")]
|
|
public decimal? TotalDebt { get; init; }
|
|
|
|
[JsonPropertyName("debtToEquity")]
|
|
public decimal? DebtToEquity { get; init; }
|
|
|
|
[JsonPropertyName("currentRatio")]
|
|
public decimal? CurrentRatio { get; init; }
|
|
|
|
[JsonPropertyName("operatingCashFlow")]
|
|
public decimal? OperatingCashFlow { get; init; }
|
|
|
|
[JsonPropertyName("freeCashFlow")]
|
|
public decimal? FreeCashFlow { get; init; }
|
|
|
|
// --- Dividenden & Profitabilität ---
|
|
[JsonPropertyName("returnOnEquity")]
|
|
public decimal? ReturnOnEquity { get; init; }
|
|
|
|
[JsonPropertyName("returnOnAssets")]
|
|
public decimal? ReturnOnAssets { get; init; }
|
|
|
|
[JsonPropertyName("forwardDividendYield")]
|
|
public decimal? ForwardDividendYield { get; init; }
|
|
|
|
[JsonPropertyName("payoutRatio")]
|
|
public decimal? PayoutRatio { get; init; }
|
|
|
|
// --- 52-Wochen-Spannbreite ---
|
|
[JsonPropertyName("fiftyTwoWeekHigh")]
|
|
public decimal? FiftyTwoWeekHigh { get; init; }
|
|
|
|
[JsonPropertyName("fiftyTwoWeekLow")]
|
|
public decimal? FiftyTwoWeekLow { get; init; }
|
|
|
|
// --- Analysten-Ratings & Kursziele ---
|
|
[JsonPropertyName("consensusRating")]
|
|
public string? ConsensusRating { get; init; }
|
|
|
|
[JsonPropertyName("priceTargetLow")]
|
|
public decimal? PriceTargetLow { get; init; }
|
|
|
|
[JsonPropertyName("priceTargetMean")]
|
|
public decimal? PriceTargetMean { get; init; }
|
|
|
|
[JsonPropertyName("priceTargetHigh")]
|
|
public decimal? PriceTargetHigh { get; init; }
|
|
|
|
// --- Aktionärsstruktur & Short-Interesse ---
|
|
[JsonPropertyName("percentHeldByInstitutions")]
|
|
public decimal? PercentHeldByInstitutions { get; init; }
|
|
|
|
[JsonPropertyName("percentHeldByInsiders")]
|
|
public decimal? PercentHeldByInsiders { get; init; }
|
|
|
|
[JsonPropertyName("shortPercentOfFloat")]
|
|
public decimal? ShortPercentOfFloat { get; init; }
|
|
|
|
[JsonPropertyName("shortRatio")]
|
|
public decimal? ShortRatio { get; init; }
|
|
|
|
[JsonPropertyName("lastUpdatedUtc")]
|
|
public DateTime LastUpdatedUtc { get; init; }
|
|
} |