7ed7a9c7f6
Root cause: both Claude & GPT-4o stuck in defensive assets (GLD/TLT/SLV) while SPY rose +1.1%, losing ~ alpha. Models made emotion-driven trades based on news headlines with no quantitative signal. Changes: - compute_technicals(): RSI-14, 20d momentum, 50MA signal per ticker - Prompt now includes technical signal table + alpha feedback vs SPY - Anti-defensiveness warning when defensive allocation >40% - Anti-churn: max 2 trades/day (enforced), short-hold warning (<3 days) - Prompt reframed: 'beat SPY in bull market requires being invested' - rule_based portfolio: pure trend-following strategy as control group (buys top momentum 强势 tickers, sells 弱势 tickers held 3+ days) - --dry-run flag for testing without file writes - Performance leaderboard printed at end of each run