27 lines
743 B
Zig
27 lines
743 B
Zig
const Date = @import("date.zig").Date;
|
|
|
|
pub const DividendType = enum {
|
|
regular,
|
|
special,
|
|
supplemental,
|
|
irregular,
|
|
unknown,
|
|
};
|
|
|
|
/// A single dividend payment record.
|
|
pub const Dividend = struct {
|
|
/// Date the stock begins trading without the dividend
|
|
ex_date: Date,
|
|
/// Date the dividend is paid (may be null if unknown)
|
|
pay_date: ?Date = null,
|
|
/// Date of record for eligibility
|
|
record_date: ?Date = null,
|
|
/// Cash amount per share
|
|
amount: f64,
|
|
/// How many times per year this dividend is expected
|
|
frequency: ?u8 = null,
|
|
/// Classification of the dividend
|
|
distribution_type: DividendType = .unknown,
|
|
/// Currency code (e.g., "USD")
|
|
currency: ?[]const u8 = null,
|
|
};
|