| # Forecasting v7: Single-Split End-to-End Fit and Development-Test Export |
|
|
| ## Objective |
|
|
| Train three independently seeded copies of the selected shared AAPL/ABBV/MCD |
| architecture end to end, evaluate them once on a frozen 2022-2023 development |
| test, and preserve complete prediction outputs for later strategy research. |
| The three copies have identical architecture and data but use matched |
| seed-0/1/2 early-add initial checkpoints and independent deterministic training |
| orders. The sealed interval |
| `[2023-08-08, 2026-08-08)` remains inaccessible. |
|
|
| ## Time contract |
|
|
| All ranges are half-open XNYS session-date intervals. |
|
|
| | Role | Interval | Use | |
| |---|---|---| |
| | Train | `[2016-08-08, 2021-08-08)` | Gradient fitting and train-only calibration | |
| | Validation | `[2021-08-08, 2022-08-08)` | Epoch selection for the frozen recipe | |
| | Refit | `[2016-08-08, 2022-08-08)` | Final development-test model fit | |
| | Strategy-development test | `[2022-08-08, 2023-08-08)` | One-shot prediction export and model scoring | |
| | Sealed reserve | `[2023-08-08, 2026-08-08)` | Never read, derived, summarized, or scored | |
|
|
| The 2022-2023 interval had feature exposure in an obsolete pipeline, although |
| no model metric was computed. It is therefore a strategy-development test, not |
| an untouched holdout. Model architecture, inputs, optimizer family, class |
| count, queried horizons, and output schema freeze before its labels or scores |
| are opened. Model development does not resume after opening it. |
|
|
| ## Frozen model |
|
|
| - One shared checkpoint for AAPL, ABBV, and MCD. |
| - Context: 128 completed one-minute close tokens. |
| - Sequence inputs: close return, observed flag, elapsed wall-clock time, and |
| regular-session linear/sine/cosine position. |
| - Early additive ticker embedding. |
| - Continuous RoPE-style horizon query with base 16. |
| - Supervision at 2, 4, 8, 16, and 32 minutes. |
| - Query support and evaluation at every integer horizon from 2 through 32. |
| - One shared 21-class output projection; no ticker- or horizon-specific heads. |
| - Auxiliary input: 5- and 20-completed-session net return, RMS return, range, |
| terminal drawdown, and availability, plus session-to-date return from open, |
| distance to maximum and minimum close so far, range position, and |
| availability. |
| - All temporal, query, ticker, auxiliary-fusion, and output parameters are |
| trainable in the end-to-end stage. |
|
|
| Every anchor with at least one exact same-session target is retained. Target |
| masks preserve late-session 2-, 4-, 8-, or 16-minute examples when longer |
| horizons are unavailable. |
|
|
| ## Fit protocol |
|
|
| 1. For seeds `0, 1, 2`, initialize from the corresponding locked shared |
| early-add checkpoint whose training interval is exactly |
| `[2016-08-08, 2021-08-08)`. Architecture and checkpoint recipe must match; |
| only seed changes. |
| 2. Add the identity-initialized typed auxiliary lane. |
| 3. Train every parameter for the complete fixed epoch budget on the train |
| interval. Score validation after every epoch and select its lowest |
| equal-asset canonical NLL checkpoint. |
| 4. Reinitialize from the same locked checkpoint and auxiliary identity, |
| combine train and validation, and refit for the selected epoch count. |
| 5. Freeze weights and calibration. Generate each seed's development-test |
| prediction artifact exactly once. |
|
|
| The validation-selected epoch is a fitting decision. Development-test scores |
| or strategy results cannot alter it. |
|
|
| ## Prediction artifact |
|
|
| Write exactly one immutable Parquet prediction sheet per seed. Each sheet |
| contains all three assets so stable row IDs can be joined across seeds without |
| rewriting an artifact. Checkpoints, calibration arrays, manifests, and hashes |
| are separate supporting artifacts. |
|
|
| Prediction arrays: |
|
|
| - stable row ID; |
| - asset and anchor row index; |
| - anchor timestamp and prediction-availability timestamp; |
| - session date and minute of session; |
| - queried horizons `2..32`; |
| - full float32 probability tensor `[row, horizon, 21]`; |
| - expected return implied by train/refit-only class means; |
| - expected positive-return probability; |
| - entropy and maximum-class probability; |
| - target-availability mask. |
|
|
| Outcome arrays are separate: |
|
|
| - stable row ID; |
| - exact target timestamp; |
| - realized log return; |
| - class label under frozen refit boundaries; |
| - anchor and target raw close; |
| - validity mask. |
|
|
| Calibration contains per-asset class edges, return means, positive rates, |
| priors, token normalization, and auxiliary normalization. The manifest records |
| all date boundaries, row counts, code/data/checkpoint hashes, probability |
| normalization checks, and maximum source/anchor/target timestamps. |
|
|
| ## Ensemble uncertainty and strategy-development protocol |
|
|
| This protocol was frozen before any v7 development-test score was computed. |
| The probability average is the primary ensemble. Member entropy, ensemble |
| entropy, mutual information (ensemble entropy minus mean member entropy), |
| pairwise probability disagreement, expected-return dispersion, variation |
| ratio, and horizon consistency are candidate uncertainty variables. Individual |
| seed scores remain controls. |
|
|
| The first mining hypotheses are deliberately broad: |
|
|
| 1. larger absolute ensemble expected return has monotone realized-return |
| separation; |
| 2. low seed disagreement strengthens a fixed expected-return signal; |
| 3. agreement in sign across the `2..32` minute curve strengthens the signal; |
| 4. entropy, adaptive prediction-set size, or conformalized scalar uncertainty |
| identifies lower-risk subsets; |
| 5. probability averaging improves NLL, Brier, ranked probability score, and |
| calibration over the median member. |
|
|
| Full-year plots and tables are descriptive. Threshold or functional-form |
| discovery uses `[2022-08-08, 2023-02-08)`; a chosen rule is then frozen and |
| retested on `[2023-02-08, 2023-08-08)`. Every result is also sliced by asset, |
| month/quarter, session third, horizon, direction, volatility, and confidence, |
| with leave-one-asset and contiguous time-block checks. Search tables retain all |
| attempted slices and use simultaneous or false-discovery-aware uncertainty |
| rather than reporting only the maximum. |
|
|
| Conformal methods follow Angelopoulos and Bates (2021), but overlapping minute |
| targets are not exchangeable iid examples. Marginal prediction-set coverage is |
| therefore reported as a diagnostic unless calibration is grouped by complete |
| sessions. Any development-test conformal threshold is strictly past-only after |
| a frozen burn-in and is evaluated on later sessions; it never uses a future |
| outcome to score an earlier prediction. Group-conditional coverage by asset and |
| horizon is reported where sample size supports it. |
|
|
| Later strategy research joins predictions and outcomes by stable row ID. Entry |
| cannot precede the prediction-availability timestamp. Initial confidence |
| research ignores execution costs as requested, but every table is labeled |
| gross and does not claim tradability. Subsequent strategy evaluation uses |
| tradable prices and reports turnover, holding time, overlap, exposure, costs, |
| average return, cumulative return, Sharpe, drawdown, and breadth by asset and |
| period. Development findings cannot change the architecture, training recipe, |
| or seed ensemble. The sealed three-year reserve is not opened during strategy |
| development. |
|
|