data_updater_v2.tables.actions
actions.py — the raw corporate-action tables: splits and dividends, as dated facts.
Applied in dbt on their date (a split’s first day on the new share count; a dividend’s ex-date, the day the price drops by it). Never adjusted amounts: a split-adjusted dividend changes on every later split. Vendors fix history by ADDING rows (a missed dividend appears; a corrected one can sit beside the old one), so the DataClient combines FMP, EODHD and Nasdaq into one row per real event before anything lands here.
splits (id, date) split_to / split_from: the ratio (2-for-1 = 2 / 1, a 1-for-8 reverse = 1 / 8); announced future splits includeddividends (id, ex_date, amount) cash as paid; a regular and a special on one ex-date are two payouts, told apart by their amounts — the same amount twice under two labels is one payout (FMP's twins) and can never be stored twiceKeyed, as the price tables, by the listing id the event was fetched under (the universe
row’s), with the symbol as fetched beside it.
Classes
Dividend
Bases: Base
One payout, keyed by its ex-date and amount.
Split
Bases: Base
One split on its effective date.