Class Dividend
- Namespace
- MassiveDotNet.Rest.Models
- Assembly
- MassiveDotNet.Rest.dll
A cash dividend distribution: its declaration, ex-dividend, record, and pay dates, the amount, and the factors that normalise historical prices for it.
public sealed record Dividend : IEquatable<Dividend>
- Inheritance
-
Dividend
- Implements
- Inherited Members
Remarks
Reference data, so a class rather than a struct (decision D4). Dates are calendar dates with no time or zone, hence LocalDate.
Properties
CashAmount
Original dividend amount per share in the specified currency
[JsonPropertyName("cash_amount")]
public double? CashAmount { get; init; }
Property Value
Currency
Currency code for the dividend payment (e.g., USD, CAD)
[JsonPropertyName("currency")]
public string? Currency { get; init; }
Property Value
DeclarationDate
Date when the company officially announced the dividend
[JsonPropertyName("declaration_date")]
public LocalDate? DeclarationDate { get; init; }
Property Value
DistributionType
Classification describing the nature of this dividend's recurrence pattern: recurring (paid on a regular schedule), special (one-time or commemorative), supplemental (extra beyond the regular schedule), irregular (unpredictable or non-recurring), unknown (cannot be classified from available data)
[JsonPropertyName("distribution_type")]
public required string DistributionType { get; init; }
Property Value
ExDividendDate
Date when the stock begins trading without the dividend value
[JsonPropertyName("ex_dividend_date")]
public LocalDate? ExDividendDate { get; init; }
Property Value
Frequency
How many times per year this dividend is expected to occur. A value of 0 means the distribution is non-recurring or irregular (e.g., special, supplemental, or a one-off dividend). Other possible values include 1 (annual), 2 (semi-annual), 3 (trimester), 4 (quarterly), 12 (monthly), 24 (bi-monthly), 52 (weekly), 104 (bi-weekly), and 365 (daily) depending on the issuer's declared or inferred payout cadence.
[JsonPropertyName("frequency")]
public long? Frequency { get; init; }
Property Value
- long?
HistoricalAdjustmentFactor
Cumulative adjustment factor used to offset dividend effects on historical prices. To adjust a historical price for dividends: for a price on date D, find the first dividend whose ex_dividend_date is after date D and multiply the price by that dividend's historical_adjustment_factor.
[JsonPropertyName("historical_adjustment_factor")]
public double? HistoricalAdjustmentFactor { get; init; }
Property Value
Id
Unique identifier for each dividend record
[JsonPropertyName("id")]
public string? Id { get; init; }
Property Value
PayDate
Date when the dividend payment is distributed to shareholders
[JsonPropertyName("pay_date")]
public LocalDate? PayDate { get; init; }
Property Value
RecordDate
Date when shareholders must be on record to be eligible for the dividend payment
[JsonPropertyName("record_date")]
public LocalDate? RecordDate { get; init; }
Property Value
SplitAdjustedCashAmount
Dividend amount adjusted for stock splits that occurred after the dividend was paid, expressed on a current share basis
[JsonPropertyName("split_adjusted_cash_amount")]
public double? SplitAdjustedCashAmount { get; init; }
Property Value
Ticker
Stock symbol for the company issuing the dividend
[JsonPropertyName("ticker")]
public string? Ticker { get; init; }