Issue 1361 — RecessionAlert Bitcoin public-proxy campaign¶
This executed notebook verifies the frozen public proxy, runs five labeled variants, and preserves native/proxy boundaries.
In [1]:
from pathlib import Path
import hashlib
from research.research_campaign.recessionalert_1361 import BTC_DATA, BTC_DATA_SHA256, run_variants
assert "sha256:" + hashlib.sha256(BTC_DATA.read_bytes()).hexdigest() == BTC_DATA_SHA256
results = run_variants()
assert len(results) == 5
assert all(result["metrics"]["observations"] > 1000 for result in results)
Causal boundary¶
Lag one or more available bars is required for causal interpretation. The lag-zero Mayer variant is a lookahead control only. Missing BTC warm-up and unavailable SPY/BIL observations are not converted into neutral signals. Native RecessionAlert identity and publication lag remain unknown.