feat: macro series

This commit is contained in:
OpenSquared
2026-06-30 19:08:33 +02:00
parent b8a1d2ad07
commit bb614936c3
5 changed files with 417 additions and 91 deletions

View File

@@ -715,6 +715,29 @@ def init_db():
except Exception:
pass # Column already exists
# ── Macro Series Log ───────────────────────────────────────────────────────
# One row per change: actual or forecast changed vs previous snapshot.
# Allows tracking forecast revisions over time + actual vs consensus history.
c.execute("""CREATE TABLE IF NOT EXISTS macro_series_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
series_id TEXT NOT NULL,
event_name TEXT NOT NULL DEFAULT '',
event_date TEXT NOT NULL,
actual_value REAL,
forecast_value REAL,
previous_value REAL,
currency TEXT DEFAULT '',
impact TEXT DEFAULT '',
logged_at TEXT NOT NULL DEFAULT (datetime('now')),
source TEXT DEFAULT 'calendar_sync',
changed TEXT DEFAULT 'new'
)""")
try:
c.execute("CREATE INDEX IF NOT EXISTS idx_msl_series ON macro_series_log(series_id, event_date)")
c.execute("CREATE INDEX IF NOT EXISTS idx_msl_logged ON macro_series_log(logged_at DESC)")
except Exception:
pass
# ── Specialist Desks ───────────────────────────────────────────────────────
c.execute("""CREATE TABLE IF NOT EXISTS specialist_reports (
id TEXT PRIMARY KEY,