"""Costanti CFTC: ticker → contract_market_code per TFF e Disaggregated. I codici CFTC (`cftc_contract_market_code`) sono pubblici e stabili nel tempo. Riferimento: https://www.cftc.gov/MarketReports/CommitmentsofTraders/ """ from __future__ import annotations CFTC_BASE_URL = "https://publicreporting.cftc.gov/resource" TFF_DATASET_ID = "gpe5-46if" DISAGG_DATASET_ID = "72hh-3qpy" # TFF: equity/financial. Mapping ticker → cftc_contract_market_code. SYMBOL_TO_CFTC_CODE_TFF: dict[str, str] = { "ES": "13874A", # E-mini S&P 500 "NQ": "209742", # E-mini Nasdaq-100 "RTY": "239742", # E-mini Russell 2000 "ZN": "043602", # 10-Year T-Note "ZB": "020601", # 30-Year T-Bond "6E": "099741", # Euro FX "6J": "097741", # Japanese Yen "DX": "098662", # US Dollar Index } # Disaggregated: commodities. SYMBOL_TO_CFTC_CODE_DISAGG: dict[str, str] = { "CL": "067651", # Crude Oil WTI "GC": "088691", # Gold "SI": "084691", # Silver "HG": "085692", # Copper "ZW": "001602", # Wheat "ZC": "002602", # Corn "ZS": "005602", # Soybeans } ALL_TFF_SYMBOLS: list[str] = list(SYMBOL_TO_CFTC_CODE_TFF.keys()) ALL_DISAGG_SYMBOLS: list[str] = list(SYMBOL_TO_CFTC_CODE_DISAGG.keys())