Corporate Actions
Corporate-action announcements and backtest execution are different things. Stratifyre can retain a broad catalog of market-data announcements, but the Rust backtest runtime executes only the action types listed here. An announcement in the data catalog does not mean the simulator creates every possible economic outcome for it.
Actions Executed in Backtests
Section titled “Actions Executed in Backtests”The runtime executes five corporate-action types for open positions and orders:
| Action | Runtime behavior |
|---|---|
| Forward split | Multiplies open quantities, divides entry prices, adjusts portfolio state, and rescales pending orders. |
| Reverse split | Applies the inverse quantity and price adjustment, then rescales pending orders. |
| Symbol change | Migrates positions, orders, indicator state, and active basket membership from the old instrument ID to the new one. |
| Cash dividend | Credits long holders and debits short holders by the configured per-share amount; position lots remain unchanged. |
| Return of capital | Reduces each open lot’s entry price by the configured per-share amount, floored at zero; it does not change cash. |
The engine also applies timestamped basket membership changes. Add and Remove events control which instruments are active for basket-based evaluation; they are not corporate-action conversions.
What the Runtime Does Not Simulate
Section titled “What the Runtime Does Not Simulate”The backtest engine does not automatically simulate stock-for-stock merger swaps, mixed merger consideration, spinoff share allocations, rights offerings, tender offers, warrant exercises, delisting liquidations, bankruptcy reorganizations, or other announcement types outside the five actions above.
Do not infer a forced sale, a new share position, or a cash distribution from one of those announcements in a backtest. Model the economic effect explicitly in strategy inputs or review the result outside the simulation.
Why Splits and Symbol Changes Matter
Section titled “Why Splits and Symbol Changes Matter”A split changes quantity and price scale without changing the modeled position cost basis. The runtime updates open lots and pending orders so stops and limits keep their intended relative price level.
A symbol change moves the runtime’s state to the new instrument ID. This keeps an open position, pending orders, indicators, and a basket’s active membership aligned with the renamed instrument.
Reviewing Results
Section titled “Reviewing Results”The runtime records cash-dividend and return-of-capital applications as broker events. Review those events alongside completed trades when an open position crosses an action date. They show what the backtest applied; they do not provide tax, legal, or corporate-action processing advice.
