换仓评估修复:沉没成本不参与决策

之前逻辑:expected_gain > locked_loss * 1.5 → 沉没成本谬误
错的:把已发生的亏损当成了交易成本

修复后:
1. 已亏损是沉没成本,卖不卖都已损失,不参与决策
2. 只比较持有 old 票的未来预期 vs 换到 new 票的未来预期
3. 深套票(<-15%)默认=死钱,继续持有预期≈-5%~0%
4. 目标票(RR>=3+买入信号)才有换仓资格
5. 最多卖2只、不超过总资产50%
6. 优先选亏损比例小、市值大的(效率高)

输出示例(已实测):
  换仓建议:卖双一科技(亏-15.9%);阿里(亏-21.7%)→腾69k→买海博思创1手(53k)
  理由:已深套,回本需涨19~28%不现实,死钱换有信号票,止损-3%可控,+17%空间明确
This commit is contained in:
知微
2026-06-24 11:48:27 +08:00
parent 92815aac06
commit 68e530a4be
3 changed files with 135 additions and 96 deletions
+43 -43
View File
@@ -110,9 +110,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "000657_breakout_chase",
@@ -260,9 +260,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "000700_breakout_chase",
@@ -555,9 +555,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -772,9 +772,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -5482,9 +5482,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "300035_breakout_chase",
@@ -5902,9 +5902,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "300308_breakout_chase",
@@ -6133,9 +6133,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "300548_breakout_chase",
@@ -6350,9 +6350,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "300690_breakout_chase",
@@ -6652,9 +6652,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -6784,9 +6784,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "518880_breakout_chase",
@@ -7008,9 +7008,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "600036_breakout_chase",
@@ -7197,9 +7197,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "600519_breakout_chase",
@@ -7478,9 +7478,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -7645,9 +7645,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "600739_breakout_chase",
@@ -8044,9 +8044,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "601899_breakout_chase",
@@ -8304,9 +8304,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -8401,9 +8401,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "688411_breakout_chase",
@@ -8703,9 +8703,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -8870,9 +8870,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "688639_breakout_chase",
@@ -9332,9 +9332,9 @@
},
"priority": 1,
"rationale": "价格回调到支撑区,弱势市场低吸",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
},
{
"id": "688802_breakout_chase",
@@ -9613,9 +9613,9 @@
},
"priority": 99,
"rationale": "没有分支匹配时的默认动作",
"trigger_count": 0,
"trigger_count": 1,
"success_rate": null,
"last_triggered": null
"last_triggered": "2026-06-24"
}
],
"created_at": "2026-06-24"
@@ -9623,5 +9623,5 @@
}
],
"total": 42,
"regenerated_at": "2026-06-24 11:41"
"regenerated_at": "2026-06-24 11:47"
}
+22 -22
View File
@@ -54,8 +54,8 @@
"action_note": "深套持有",
"timing_signal": "持有"
},
"price": 7.59,
"change_pct": -3.68
"price": 7.66,
"change_pct": -2.79
},
{
"code": "600739",
@@ -167,8 +167,8 @@
"action_note": "深套持有",
"timing_signal": "持有"
},
"price": 98.3,
"change_pct": -0.66
"price": 98.85,
"change_pct": -0.1
},
{
"code": "603259",
@@ -252,8 +252,8 @@
"action_note": "短炒强趋势持",
"timing_signal": "持有"
},
"price": 95.6,
"change_pct": 9.57
"price": 96.3,
"change_pct": 10.37
},
{
"code": "02202",
@@ -281,8 +281,8 @@
"action_note": "深套持有",
"timing_signal": "持有"
},
"price": 2.35,
"change_pct": -2.08
"price": 2.37,
"change_pct": -1.25
},
{
"code": "02388",
@@ -310,8 +310,8 @@
"action_note": "",
"timing_signal": "持有"
},
"price": 46.16,
"change_pct": -1.79
"price": 46.26,
"change_pct": -1.57
},
{
"code": "300750",
@@ -367,8 +367,8 @@
"action_note": "深套持有",
"timing_signal": "持有"
},
"price": 74.45,
"change_pct": -1.85
"price": 74.8,
"change_pct": -1.38
},
{
"code": "00700",
@@ -396,8 +396,8 @@
"action_note": "⚠️盈亏比偏低(1:1.0),不建议加仓",
"timing_signal": "持有"
},
"price": 417.4,
"change_pct": 0.63
"price": 418.8,
"change_pct": 0.82
},
{
"code": "00981",
@@ -425,8 +425,8 @@
"action_note": "",
"timing_signal": "持有"
},
"price": 84.15,
"change_pct": 8.09
"price": 85.05,
"change_pct": 9.31
},
{
"code": "09868",
@@ -454,8 +454,8 @@
"action_note": "⚠️盈亏比偏低(1:1.0),不建议加仓",
"timing_signal": "持有"
},
"price": 49.58,
"change_pct": 0.45
"price": 50.0,
"change_pct": 1.22
},
{
"code": "600036",
@@ -539,8 +539,8 @@
"action_note": "⚠️盈亏比偏低(1:1.2),不建议加仓",
"timing_signal": "持有"
},
"price": 52.5,
"change_pct": -2.05
"price": 52.75,
"change_pct": -1.59
},
{
"code": "300035",
@@ -652,8 +652,8 @@
"action_note": "⚠️盈亏比偏低(1:1.0),不建议加仓",
"timing_signal": "持有"
},
"price": 41.76,
"change_pct": -0.71
"price": 41.84,
"change_pct": -0.52
},
{
"code": "600563",