From 9cece478ef8ccfa35b0c36059f6a2303111b63bd Mon Sep 17 00:00:00 2001 From: GJ Date: Thu, 4 Jun 2026 12:25:59 -0400 Subject: [PATCH] fix: add display_name/emoji to rule_based portfolio + fallback in table header --- data/ai-portfolio.json | 4 +++- index.html | 2 +- scripts/ai-trading-decision.py | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/ai-portfolio.json b/data/ai-portfolio.json index 69481bb..169dd23 100644 --- a/data/ai-portfolio.json +++ b/data/ai-portfolio.json @@ -1544,7 +1544,9 @@ "trades": [], "note": "规则策略:持有强势['AVGO', 'TSM', 'QQQ'],剔除弱势" } - ] + ], + "display_name": "规则策略", + "emoji": "📐" } } } \ No newline at end of file diff --git a/index.html b/index.html index 804b61f..d3fbff1 100644 --- a/index.html +++ b/index.html @@ -2792,7 +2792,7 @@ const allDates = [...new Set(ranked.flatMap(r => (r.pf.history||[]).map(h => h.date)))].sort().reverse(); if (allDates.length > 1) { const headers = ['日期', - ...ranked.map(r => `${r.pf.emoji} ${r.pf.display_name}`), + ...ranked.map(r => `${r.pf.emoji||'📊'} ${r.pf.display_name||r.id}`), 'SPY 基线' ].join(''); const subHeaders = ['累计净值', diff --git a/scripts/ai-trading-decision.py b/scripts/ai-trading-decision.py index 3dc3b87..907307e 100644 --- a/scripts/ai-trading-decision.py +++ b/scripts/ai-trading-decision.py @@ -516,6 +516,8 @@ def main(): # 初始化 rule_based 组合(如不存在) if "rule_based" not in portfolios: portfolios["rule_based"] = { + "display_name": "规则策略", + "emoji": "📐", "holdings": [{"ticker": "CASH", "shares": 1, "avg_cost": 10000.0}], "history": [] }