registry: add 5 held-out generalization markets (Milk, Oats, KC Wheat, MidCap, Nikkei)#21
Merged
Merged
Conversation
Add markets never touched by the CMR deploy selection, so the strategy can be scored on genuinely out-of-selection data (clean GENERAL evidence): Dairy (new class) DC Class III Milk 052641 Grains ZO Oats 004603 Grains KE KC HRW Wheat 001612 Equities EMD E-mini S&P MidCap 400 33874A Equities NKD Nikkei 225 ($, CME) 240741 Legacy COT pulled and verified into the store (Comm/NonComm legs present, ~24–36y each: Milk 1997→, Oats/KC-Wheat 1998→, MidCap 2002→, Nikkei 1990→). NKD legacy currently ends 2026-03-03 (the $-Nikkei contract may be winding down at CME). Prices + contract specs are the remaining step and are Norgate/Windows-only: cotdata-update --prices --metadata --symbols DC ZO KE EMD NKD Golden registry tests updated for the intentional +5 (count 42→47, Equities 4→6, new Dairy class, identity checksum). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Phase 1 of the held-out generalization workstream: register 5 markets that were never part of the CMR deploy selection, so the strategy can be scored on genuinely out-of-selection data. This is the only source of clean GENERAL evidence for a COT-positioning book whose investable universe it otherwise fully consumed (see
docs/analysis_tools.mdin npf).All codes verified against the raw cached CFTC source (
dea_fut_xls_2026.zip).Done in this PR
registry.yaml: 5 entries (newDairyclass; ZO/KE under Grains; EMD/NKD under Equities →is_equity=True).cftc.update(codes=…), cache-parsed, existing 42 untouched). Comm/NonComm positioning legs present; history: Milk 1997→, Oats/KC-Wheat 1998→, MidCap 2002→, Nikkei 1990→ (1,233–1,688 weeks each).Remaining (Norgate/Windows — you run it)
Prices + contract specs need the Norgate Data Updater:
Until those land, the CMR strategy can't build frames for these markets (no OHLC).
Notes
CotSymbolCodeMaphas stale codes for ZR (Rough Rice) and NIY (Nikkei ¥) — those two were held back from this batch pending the code fix.Next
Phase 2 (cot-analyzer):
role: heldoutfield + collect/plot decoupling + Norgate-Group→class map. Phase 3 (npf): the frozen pooled held-out generalization run.🤖 Generated with Claude Code