
    RK1j,                    0   % S r SSKJr  SrSrSrSrSrSrS	r	/ S
SSS\SSS.PSSSS\SSS.PSSSS\SSS.PSSSS\SSS.PSSSS\SSSS.PSSSS \S!SS.PS"SSS#\S!SS$S.PS%SSS&\S!SS'S.PS(S)S*S+\S,SS.PS-S.S.S/\S0SS1S.PS2S3S3S4\SSS.PS5S.S.S6\SSS.PS7S8S8S9\SSS.PS:S;S;S<\SSS.PS=S>S>S?\SSS.PS@SASASB\SSS.PSCSDSDSE\SSS.PSFSGSGSH\SSS.PSISJSJSK\SSS.PSLSMSMSN\SSS.PSOSPSPSQ\SSS.PSRSSSSST\SSS.PSUSVSVSW\SSS.PSXSYSYSZ\SSS.PS[S\S\S]\SSS.PS^S_S_S`\	SSaS.PSbScScSd\	SSaS.PSeSfSfSg\	SSaS.PShSiSiSj\SSkS.PSlSmSmSn\	SSkS.PSoSpSpSq\SSkS.PSrSsSsSt\	SSkSuS.PSvSwSxSy\SSkSzS.Pr
S{\S|'   \S}\S~\S\S\S\S\	S0r/ SQrSS jrSS jrSS jrSS jrg)uj  ETF/futures ticker universe for the macro book.

Maps each traded/monitored instrument to:
  - the canonical liquid ETF proxy (use this in journal/weekly/event notes)
  - the underlying futures ticker (for context only — journal uses ETF)
  - bucket (rates, FX, commodity, equity-beta)
  - yfinance ticker for the proxy (may differ from display ticker)
  - inverse: True for inverse/bear ETFs (UNF for short EAFE etc.) — none used here
  - currency: display currency for the price

When filling in a journal, weekly note, or event review, use the `display`
ticker as the symbol. Data fetcher uses the `yf` ticker.
    )annotationszrates-uszrates-dezrates-ukzrates-jpfx	commodityzequity-betaz2y-ustSHYz2y USTUSDrates)iddisplayyfnamebucketcurrencykindz5y-ustIEIz5y USTz10y-ustIEFz10y USTz30y-ustTLTz30y USTsofrzSOFR 3M (front)z0SOFR futures tracked via SHY + curve via IEF/TLT)r	   r
   r   r   r   r   r   noteschatzIEGAzIEGA.LzSchatz (DE 2y)EURbundzBund (DE 10y)zSIEGA is the broad EUR govt bond ETF; Bund vs Schatz split not captured at ETF leveloatzOAT (FR 10y)z1IEGA is the broad EUR govt bond ETF proxy for OATgiltIBGLzIBGL.LzGilt (UK 10y)GBPjgbFXYzJGB (JP 10y)JPYuJ   No clean JGB ETF; tracked via FXY (JPY move ≈ inverse to JGB yield move)eurusdFXEzEUR/USDusdjpyzUSD/JPYgbpusdFXBzGBP/USDaudusdFXAzAUD/USDusdcadFXCzUSD/CADusdchfFXFzUSD/CHFgcGLDGoldsiSLVSilverhgCPERCopperclUSOz	WTI CrudebzBNOzBrent CrudengUNGzNatural GaszcCORNCornzwWEATWheatzsSOYBSoyesSPYzS&P 500 (Micro E-mini)equitynqQQQzNasdaq 100 (Micro E-mini)rtyIWMzRussell 2000 (Micro E-mini)dxyUUPzUS Dollar Index (DXY)	monitoredvix^VIXVIXtipTIPz10y TIPS (real yields)hygHYGzHY OAS (HYG as proxy)z/HYG price is inverse of OAS; HYG up = OAS tightbtcBTCBTC-USDBitcoinz Use BTC-USD direct from yfinancez
list[dict]UNIVERSEzUS rateszEU rateszUK rateszJP ratesFX	CommodityzEquity-beta)rD   rG   rI   r   r   r,   r5   r!   r   r$   rN   rV   c                8    [          H  nUS   U :X  d  M  Us  $    g )Nr	   rX   )instrument_idus     1/home/rpi/Obsidian-Macro/scripts/data/universe.pyby_idr`   ~   s"    T7m#H      c                J    [          H  nUS   U :X  d  US   U :X  d  M  Us  $    g )Nr   r
   r\   )tickerr^   s     r_   by_yfrd      s-    T7f) 6H  ra   c                 >    [          V s/ s H  o S   PM	     sn $ s  sn f )Nr   r\   )r^   s    r_   
yf_tickersrf      s    %&XdGX&&&s   c                      [        [        5      $ )N)listHEADLINE_TICKERS ra   r_   headline_yf_tickersrk      s     !!ra   N)r]   strreturndict | None)rc   rl   rm   rn   )rm   z	list[str])__doc__
__future__r   RATES_USRATES_DERATES_UKRATES_JPrY   	COMMODITYEQUITYrX   __annotations__BUCKET_LABELSri   r`   rd   rf   rk   rj   ra   r_   <module>ry      s   # 			QUugOQ UugO	Q e(wPQ e(wPQ e5(w?AQ hugWQ  fHeWbd!Q& V8xUG@B'Q. fHeWV/Q4 U%xUGY[5Q< U"%G=Q@ U"%GAQD U"%GEQH U"%GIQL U"%GMQP U"%GQQV Eye[RWQZ E{T[Q^ F&{T_Qb EI5+WcQf EiUKYgQj EiUKYkQn F&ye[RoQr F&	ukSsQv F&iUKQwQ| E%UT\^}Q@ E(FW_aAQD U%*f%YacEQJ U%${\KQN V6f%NOQR U%%uVacSQV U%$ES^>@WQ\ U)"%/1]Q* Qj jjjj{
M< '"ra   