feat(reflection): configurable alpha benchmark for non-US tickers
SPY was hardcoded as the alpha benchmark in both the return-fetch path and the reflection label, which produced meaningless alpha for .NS / .T / .HK / .L / .TO / .AX / .BO listings — FX drift between a local-currency stock and a USD index dominates the spread. DEFAULT_CONFIG now exposes benchmark_ticker (explicit override) and benchmark_map (suffix → regional index, with SPY as the empty-suffix default). TRADINGAGENTS_BENCHMARK_TICKER joins the env-overlay table. Trading graph resolves the benchmark once per ticker and threads it through to both _fetch_returns and reflect_on_final_decision, so the alpha label reads "Alpha vs ^N225" for Tokyo listings, "Alpha vs ^HSI" for Hong Kong, etc., instead of the misleading "Alpha vs SPY".
This commit is contained in:
1 parent
819e813a14
commit
78d063dc5c
4 files changed
+151
-15
No files matched your search
@@ -16,6 +16,7 @@ _ENV_OVERRIDES = {
|
||||
"TRADINGAGENTS_MAX_DEBATE_ROUNDS": "max_debate_rounds",
|
||||
"TRADINGAGENTS_MAX_RISK_ROUNDS": "max_risk_discuss_rounds",
|
||||
"TRADINGAGENTS_CHECKPOINT_ENABLED": "checkpoint_enabled",
|
||||
"TRADINGAGENTS_BENCHMARK_TICKER": "benchmark_ticker",
|
||||
}
|
||||
|
||||
|
||||
@@ -100,4 +101,21 @@ DEFAULT_CONFIG = _apply_env_overrides({
|
||||
"tool_vendors": {
|
||||
# Example: "get_stock_data": "alpha_vantage", # Override category default
|
||||
},
|
||||
# Benchmark for alpha calculation in the reflection layer.
|
||||
# ``benchmark_ticker`` (when set) overrides the suffix map for all
|
||||
# tickers; leave it None to use ``benchmark_map`` for auto-detection
|
||||
# based on the ticker's exchange suffix. SPY remains the US default
|
||||
# so the reflection label keeps reading "Alpha vs SPY" for US tickers
|
||||
# while non-US tickers get their regional index automatically.
|
||||
"benchmark_ticker": None,
|
||||
"benchmark_map": {
|
||||
".NS": "^NSEI", # NSE India (Nifty 50)
|
||||
".BO": "^BSESN", # BSE India (Sensex)
|
||||
".T": "^N225", # Tokyo (Nikkei 225)
|
||||
".HK": "^HSI", # Hong Kong (Hang Seng)
|
||||
".L": "^FTSE", # London (FTSE 100)
|
||||
".TO": "^GSPTSE", # Toronto (TSX Composite)
|
||||
".AX": "^AXJO", # Australia (ASX 200)
|
||||
"": "SPY", # default for US-listed tickers (no suffix)
|
||||
},
|
||||
})
|
||||
Reference in new issue
Block a user