Register EFA and EEM, the two ETFs a COT market is priced off - #17
Merged
Conversation
MFS and MME are ICE MSCI futures that Norgate carries no continuous series for, so cotmetrics reads an ETF instead. Neither ETF was in this registry, so neither could be fetched, and both markets had no prices at all: `get_bars` was being handed the COT symbol, finding nothing, and returning an empty frame. Registered under their OWN tickers, as ordinary equity ETFs. The proxy relationship is cotmetrics' to know and is not encoded here, because which price stands in for which market is a consumer's modelling choice rather than a fact about the instrument. Seeded into the Mac store with `--bars --domain equities --symbols EEM EFA`, scoped so the frozen equities half is untouched: EFA 6280 bars from 2001-08-27, EEM 5875 from 2003-04-14. The month-end pin was verified before and after and still matches on all six symbols, whose files keep their July mtimes. NOT YET ON WINDOWS. That box now holds the equities half too, and its nightly mirror is robocopy /MIR, so a symbol present only on the Mac is deleted by the next sync. The same scoped command has to run there, and it must stay scoped: a bare --bars on Windows refreshes the six pinned symbols through yfinance and breaks the snapshot at the source. Co-Authored-By: Claude Opus 5 <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.
MFS and MME are ICE MSCI futures that Norgate carries no continuous series for, so cotmetrics reads an ETF instead. Neither ETF was in this registry, so neither could be fetched, and both markets had no prices at all:
get_barswas handed the COT symbol, found nothing, and returned an empty frame.Registered under their own tickers, as ordinary equity ETFs. The proxy relationship is cotmetrics' to know and is not encoded here, because which price stands in for which market is a consumer's modelling choice rather than a fact about the instrument.
Seeded, and scoped so the frozen half was untouched
The month-end pin was verified before and after, and still matches on all six symbols. Their files keep their July mtimes; only the two new parquets are dated today.
--symbolsis what made that safe: an unscoped--barswould have refreshed the pinned six through yfinance and rewritten everyupdated_at, which is exactly what the snapshot compares.That box now holds the equities half too, and
sync-marketdata.cmdmirrors withrobocopy /MIR, which purges whatever the source lacks. A symbol present only on the Mac is deleted by the next nightly sync. The same scoped command has to run on Windows:It must stay scoped there. A bare
--barson Windows refreshes the six pinned symbols and breaks the snapshot at the source rather than the replica.Tests
marketdata: 200 passed, 12 skipped, ruff clean. The registry change is additive, so no existing symbol's resolution moves.
🤖 Generated with Claude Code