Revert "Drop the four CBOE implied-vol indices from the registry" - #21
Merged
Conversation
This reverts the merge of #19, and adds the note whose absence caused it. #19 removed VIX, VXN, OVX and GVZ on the grounds that nothing kept them. Something does: npf/trading_riot maps each to a realized counterpart (VIX->ES, VXN->NQ, OVX->CL, GVZ->GC) for a variance-risk-premium study, and its data.py documents fetching them with `--bars --symbols VIX`. #19's own commit message recorded that dependency as a consequence to accept; it is a reason not to remove them. Its other premise no longer holds either. It states "the store side is already done on the producer ... leaving 11 equities symbols", which was true when written and was reverted shortly afterwards. Registry and store had been left disagreeing -- registry 11, store 15 -- and since nothing prunes unregistered symbols, the four would have sat in the store as orphans that no run ever refreshed again, mirrored to both replicas in that state. They now agree at 15. The four have been removed twice, both times because a grep of THIS repo comes back clean and the note recording their retirement lived somewhere else. So the reason they are registered is now written next to them in registry.yaml rather than in a document that can drift out of step with the file that actually runs. Absence of a local reference is not evidence of absence of a dependency, and that sentence is the one worth keeping. ruff clean; `pytest tests/ -q -m "not network"` 205 passed, 12 deselected. The tests are insensitive to this either way since #20 -- they ask the registry for a symbol rather than naming one. 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.
Reverts the merge of #19, and adds the note whose absence caused it.
Why
#19 removed VIX, VXN, OVX and GVZ on the grounds that nothing kept them. Something does:
npf/trading_riotmaps each to a realized counterpart (VIX→ES, VXN→NQ, OVX→CL, GVZ→GC) for a variance-risk-premium study, and itsdata.pydocuments fetching them with--bars --symbols VIX.#19's own commit message recorded that dependency — as a consequence to accept. It is a reason not to remove them.
Its other premise expired
True when written; reverted on the producer shortly afterwards. That left registry and store disagreeing — registry 11, store 15 — and since nothing prunes unregistered symbols, the four would have sat in the store as orphans no run ever refreshed again, mirrored to both replicas in that state by the next sync.
After this change they agree at 15, verified against the producer's manifest:
The note
These four have now been removed twice, both times because a grep of this repo comes back clean while the note recording their retirement lived somewhere else. So the reason they are registered is written next to them in
registry.yaml, not in a document that can drift out of step with the file that actually runs:It also says what to do if
trading_riotreally is retired: delete the four and say so there, in the same commit, rather than leaving the next reader to rediscover the dependency from a failed fetch.Verification
ruff check src testsclean.pytest tests/ -q -m "not network"— 205 passed, 12 deselected. The tests are insensitive to this either way since #20; they ask the registry for a symbol rather than naming one.🤖 Generated with Claude Code