SPB Git forge

spb/wp8_uqo

Public
3commits 1branches 1releases
4.2 MBsize
maindefault branch
1 h agolast push
Python 56.2% TeX 43.7%
5.6 KB · 149 lines python
Raw Blame History
1from __future__ import annotations23import os4from datetime import date, datetime5from pathlib import Path67from dotenv import load_dotenv89load_dotenv()1011PROJECT_ROOT = Path(__file__).resolve().parents[1]1213DATA_RAW = PROJECT_ROOT / "data" / "raw"14DATA_RAW_POLY = DATA_RAW / "polymarket"15DATA_RAW_FRED = DATA_RAW / "fred"16DATA_RAW_YAHOO = DATA_RAW / "yahoo"17DATA_PROCESSED = PROJECT_ROOT / "data" / "processed"18FIGURES = PROJECT_ROOT / "figures"19TABLES = PROJECT_ROOT / "results" / "tables"20PAPER = PROJECT_ROOT / "paper"21LOGS = PROJECT_ROOT / "logs"2223GAMMA_API = "https://gamma-api.polymarket.com"24CLOB_API = "https://clob.polymarket.com"2526FRED_API_KEY = os.getenv("FRED_API_KEY", "")2728# ---------------------------------------------------------------------------29# Market registry30# ---------------------------------------------------------------------------3132FED_JUNE_2026_EVENT_ID = 10177233FED_JUNE_2026_MARKETS = {34    "50+ bps decrease": {"id": "906972", "token": "11088456156829969846055197785216933275644828685751065736355063877671766078668"},35    "25 bps decrease": {"id": "906973", "token": "65193234666628291664907888364936366210882855780775260579670618454938932816097"},36    "No change": {"id": "906974", "token": "30767812841387255642892182147223249245546960790037785428969725073478408781530"},37    "25 bps increase": {"id": "906975", "token": "54688507565884542490190759171719899637340549418956975710651891089424379775735"},38    "50+ bps increase": {"id": "906976", "token": "11019686559003253359318459636510036787285735855494197538476668773993811283380"},39}4041ELECTION_2024_EVENT_ID = 90319342ELECTION_2024_MARKETS = {43    # Token IDs are taken from event_903193.json by the cleaner; the entries below are44    # for reference only. (Revision 2026-10-17: the earlier file listed market 253596,45    # which is Ron DeSantis, under "Kamala Harris"; Harris is market 253597.)46    "Donald Trump": {"id": "253591", "token": "21742633143463906290569050155826241533067272736897614950488156847949938836455"},47    "Kamala Harris": {"id": "253597", "token": "69236923620077691027083946871148646972013979124138068211264286564397702153117"},48}4950FED_CLOSED_MARKETS = {51    "Dec 2025 - 50+ bps decrease": {"id": "570360"},52    "Jan 2026 - 50+ bps decrease": {"id": "601697"},53    "Jan 2026 - 25+ bps increase": {"id": "601700"},54    "Mar 2026 - 25+ bps increase": {"id": "654415"},55}5657KEY_BINARY_MARKETS = [58    {"id": "253591", "name": "Trump wins 2024", "category": "politics"},59    {"id": "253597", "name": "Harris wins 2024", "category": "politics"},60    {"id": "906974", "name": "Fed June no change", "category": "economics"},61]6263# ---------------------------------------------------------------------------64# FOMC meeting dates (2024–2026)65# ---------------------------------------------------------------------------6667FOMC_DATES = [68    date(2024, 1, 31), date(2024, 3, 20), date(2024, 5, 1),69    date(2024, 6, 12), date(2024, 7, 31), date(2024, 9, 18),70    date(2024, 11, 7), date(2024, 12, 18),71    date(2025, 1, 29), date(2025, 3, 19), date(2025, 5, 7),72    date(2025, 6, 18), date(2025, 7, 30), date(2025, 9, 17),73    date(2025, 10, 29), date(2025, 12, 17),74    date(2026, 1, 28), date(2026, 3, 18), date(2026, 5, 6),75    date(2026, 6, 17), date(2026, 7, 29), date(2026, 9, 16),76    date(2026, 10, 28), date(2026, 12, 16),77]7879CPI_RELEASE_DATES = [80    date(2024, 1, 11), date(2024, 2, 13), date(2024, 3, 12),81    date(2024, 4, 10), date(2024, 5, 15), date(2024, 6, 12),82    date(2024, 7, 11), date(2024, 8, 14), date(2024, 9, 11),83    date(2024, 10, 10), date(2024, 11, 13), date(2024, 12, 11),84    date(2025, 1, 15), date(2025, 2, 12), date(2025, 3, 12),85    date(2025, 4, 10), date(2025, 5, 13), date(2025, 6, 11),86    date(2025, 7, 15), date(2025, 8, 12), date(2025, 9, 10),87    date(2025, 10, 14), date(2025, 11, 12), date(2025, 12, 10),88    date(2026, 1, 14), date(2026, 2, 11), date(2026, 3, 11),89    date(2026, 4, 14), date(2026, 5, 12), date(2026, 6, 10),90]9192NFP_RELEASE_DATES = [93    date(2024, 1, 5), date(2024, 2, 2), date(2024, 3, 8),94    date(2024, 4, 5), date(2024, 5, 3), date(2024, 6, 7),95    date(2024, 7, 5), date(2024, 8, 2), date(2024, 9, 6),96    date(2024, 10, 4), date(2024, 11, 1), date(2024, 12, 6),97    date(2025, 1, 10), date(2025, 2, 7), date(2025, 3, 7),98    date(2025, 4, 4), date(2025, 5, 2), date(2025, 6, 6),99    date(2025, 7, 3), date(2025, 8, 1), date(2025, 9, 5),100    date(2025, 10, 3), date(2025, 11, 7), date(2025, 12, 5),101    date(2026, 1, 9), date(2026, 2, 6), date(2026, 3, 6),102    date(2026, 4, 3), date(2026, 5, 8), date(2026, 6, 5),103]104105ELECTION_KEY_DATES = {106    "Biden dropout": date(2024, 7, 21),107    "Trump assassination attempt": date(2024, 7, 13),108    "Harris-Trump debate": date(2024, 9, 10),109    "Election day": date(2024, 11, 5),110}111112YAHOO_TICKERS = ["SPY", "^TNX", "^VIX", "BTC-USD", "ETH-USD"]113YAHOO_START = "2024-01-01"114YAHOO_END = "2026-06-01"115116# ---------------------------------------------------------------------------117# Matplotlib style118# ---------------------------------------------------------------------------119120MPL_STYLE = {121    "font.family": "serif",122    "font.serif": ["Times New Roman", "DejaVu Serif"],123    "font.size": 10,124    "axes.titlesize": 11,125    "axes.labelsize": 10,126    "xtick.labelsize": 9,127    "ytick.labelsize": 9,128    "legend.fontsize": 9,129    "figure.figsize": (6.5, 4.0),130    "figure.dpi": 300,131    "savefig.dpi": 300,132    "savefig.bbox": "tight",133    "axes.spines.top": False,134    "axes.spines.right": False,135    "axes.grid": True,136    "grid.alpha": 0.3,137    "grid.linestyle": "--",138    "lines.linewidth": 1.2,139}140141JOF_COLORS = {142    "primary": "#1f4e79",143    "secondary": "#c0392b",144    "tertiary": "#27ae60",145    "quaternary": "#f39c12",146    "gray": "#7f8c8d",147    "light": "#bdc3c7",148}149