Table of Contents

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

double?

Currency

Currency code for the dividend payment (e.g., USD, CAD)

[JsonPropertyName("currency")]
public string? Currency { get; init; }

Property Value

string

DeclarationDate

Date when the company officially announced the dividend

[JsonPropertyName("declaration_date")]
public LocalDate? DeclarationDate { get; init; }

Property Value

LocalDate?

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

string

ExDividendDate

Date when the stock begins trading without the dividend value

[JsonPropertyName("ex_dividend_date")]
public LocalDate? ExDividendDate { get; init; }

Property Value

LocalDate?

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

double?

Id

Unique identifier for each dividend record

[JsonPropertyName("id")]
public string? Id { get; init; }

Property Value

string

PayDate

Date when the dividend payment is distributed to shareholders

[JsonPropertyName("pay_date")]
public LocalDate? PayDate { get; init; }

Property Value

LocalDate?

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

LocalDate?

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

double?

Ticker

Stock symbol for the company issuing the dividend

[JsonPropertyName("ticker")]
public string? Ticker { get; init; }

Property Value

string