1374 — RecessionAlert Dashboard exploratory campaign¶
Offline research_campaign for CHARTS > Dashboard. Source SHA256 sha256:1ca9a096a70ff56806049e8e678036118b9a0fea8ad4fd27f2344a1da323e7b0.
Public proxies only; no live RA fetch; crawl DB read-only.
In [1]:
from research.research_campaign import recessionalert_1374 as dash
import hashlib, sqlite3
from pathlib import Path
RA = Path('data/recessionalert.sqlite')
con = sqlite3.connect(f'file:{RA.resolve()}?mode=ro', uri=True)
con.execute('PRAGMA query_only=ON')
body = con.execute('SELECT body FROM pages WHERE sha256=?', (dash.SOURCE_SHA256,)).fetchone()[0]
raw = body if isinstance(body,(bytes,bytearray)) else body.encode()
assert 'sha256:' + hashlib.sha256(raw).hexdigest() == dash.SOURCE_SHA256
con.close()
print('digest_ok', dash.SOURCE_SHA256)
panel = dash.load_proxy_panel()
print('panel', panel.index.min().date(), '->', panel.index.max().date(), 'n=', len(panel))
In [2]:
ledger = dash.run_default_ledger()
for row in ledger:
m = row['metrics']
print(f"{row['id']:32s} sharpe={m['sharpe']:.3f} cagr={m['cagr']:.3f} dd={m['max_drawdown']:.3f} kind={row['claim_kind']}")
assert len(ledger) >= 3
assert any(r['params'].get('lag_bars',0) >= 1 for r in ledger)
print('variants_ok', len(ledger))
Notes¶
- Metrics are exploratory inferred proxies, not official RecessionAlert product performance.
- Primary causal path uses
lag_bars >= 1; lag-0 is control-only. - See
research/findings/1374.mdandresearch/results/1374.md.