Files
MoFin/data/strategy_staleness_report.json
T
知微 b053103377 feat: 策略复盘闭环 Phase1
- 新增 scripts/strategy_review.py: 遍历所有active策略
  - 腾讯API实时价对比止损/止盈/入场点
  - 分类: correct/wrong/partial/pending
  - 失败模式归因: 止损过紧/入场过早/止盈过远等
  - 写入 accuracy_stats 表(首条真实数据)
- 新增 docs/strategy-review-loop.md: 完整闭环设计文档
- 含失败模式→修复方向映射表

Phase1 结果: 38条策略, 94.7%准确率(19条待定), 1条止损过紧
2026-06-25 19:58:00 +08:00

245 lines
9.6 KiB
JSON

{
"checked_at": "2026-06-25T11:35:00",
"total_active": 52,
"flagged_count": 15,
"flagged": [
{
"code": "000657",
"name": "\u4e2d\u94a8\u9ad8\u65b0",
"price": 100.08,
"flags": [
"\u73b0\u4ef7100.08\u5728\u4e70\u5165\u533a98~102\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:44",
"entry_zone": "98~102",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u6807112.75 | \u6b62\u635f95.93 | \u4e70\u5165\u533a98.08~102.08",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "000711",
"name": "ST\u4eac\u84dd",
"price": 5.04,
"flags": [
"\u73b0\u4ef75.04\u5728\u4e70\u5165\u533a5~5\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:44",
"entry_zone": "5~5",
"current": "\u76c8\u5229\u6301\u6709 | \u26a0\ufe0f\u76c8\u4e8f\u6bd4\u504f\u4f4e(1:1.8)\uff0c\u8c28\u614e\u4e70\u5165 | \u76ee\u68075.38 | \u6b62\u635f4.33 | \u4e70\u5165\u533a4.94~5.06 | \u4fe1\u53f7:\u89c2\u671b",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "002594",
"name": "\u6bd4\u4e9a\u8fea",
"price": 83.3,
"flags": [
"\u73b0\u4ef783.30\u5728\u4e70\u5165\u533a82~85\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:44",
"entry_zone": "82~85",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u680792.71 | \u6b62\u635f75.24 | \u4e70\u5165\u533a81.63~84.97 | \u4fe1\u53f7:\u89c2\u671b",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "00968",
"name": "\u4fe1\u4e49\u5149\u80fd",
"price": 2.0,
"flags": [
"\u73b0\u4ef72.00\u5728\u4e70\u5165\u533a2~2\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:44",
"entry_zone": "2~2",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u68072.58 | \u6b62\u635f1.8 | \u4e70\u5165\u533a1.96~2.04",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "01070",
"name": "TCL\u7535\u5b50",
"price": 13.1,
"flags": [
"[STRATEGY_STALE] \u4fe1\u53f7\u4e0d\u826f(timing_signal\u542b['\u5f31\u52bf\u6301\u6709'])",
"\u73b0\u4ef713.10\u5728\u4e70\u5165\u533a13~13\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:44",
"entry_zone": "13~13",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u680715.51 | \u6b62\u635f12.29 | \u4e70\u5165\u533a12.84~13.36 | \u4fe1\u53f7:\u5f31\u52bf\u6301\u6709",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "02359",
"name": "\u836f\u660e\u5eb7\u5fb7",
"price": 141.7,
"flags": [
"\u73b0\u4ef7141.70\u5728\u4e70\u5165\u533a139~144\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "139~144",
"current": "\u76c8\u5229\u6301\u6709 | \u26a0\ufe0f\u76c8\u4e8f\u6bd4\u504f\u4f4e(1:2.0)\uff0c\u8c28\u614e\u4e70\u5165 | \u76ee\u6807163.23 | \u6b62\u635f126.88 | \u4e70\u5165\u533a138.87~143.77 | \u4fe1\u53f7:\u4e70\u5165",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "02628",
"name": "\u4e2d\u56fd\u4eba\u5bff",
"price": 28.32,
"flags": [
"\u73b0\u4ef728.32\u5728\u4e70\u5165\u533a28~29\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "28~29",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u680732.72 | \u6b62\u635f25.58 | \u4e70\u5165\u533a27.75~28.89",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "06160",
"name": "\u767e\u6d4e\u795e\u5dde",
"price": 165.2,
"flags": [
"\u73b0\u4ef7165.20\u5728\u4e70\u5165\u533a162~168\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "162~168",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u6807180.64 | \u6b62\u635f149.22 | \u4e70\u5165\u533a161.9~168.4",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "09988",
"name": "\u963f\u91cc\u5df4\u5df4-W",
"price": 99.4,
"flags": [
"\u73b0\u4ef799.40\u5728\u4e70\u5165\u533a97~101\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "97~101",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u6807115.07 | \u6b62\u635f89.79 | \u4e70\u5165\u533a97.41~101.39 | \u4fe1\u53f7:\u5173\u6ce8",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "300124",
"name": "\u6c47\u5ddd\u6280\u672f",
"price": 66.31,
"flags": [
"\u73b0\u4ef766.31\u5728\u4e70\u5165\u533a65~68\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "65~68",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u680773.13 | \u6b62\u635f62.39 | \u4e70\u5165\u533a64.98~67.64 | \u4fe1\u53f7:\u89c2\u671b",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "300308",
"name": "\u4e2d\u9645\u65ed\u521b",
"price": 1312.18,
"flags": [
"\u73b0\u4ef71312.18\u5728\u4e70\u5165\u533a1286~1338\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "1286~1338",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u68071447.8 | \u6b62\u635f1272.81 | \u4e70\u5165\u533a1285.94~1338.42",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "600519",
"name": "\u8d35\u5dde\u8305\u53f0",
"price": 1207.68,
"flags": [
"\u73b0\u4ef71207.68\u5728\u4e70\u5165\u533a1184~1231\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "1184~1231",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u68071320.83 | \u6b62\u635f1171.45 | \u4e70\u5165\u533a1183.53~1231.2 | \u4fe1\u53f7:\u5173\u6ce8",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "601318",
"name": "\u4e2d\u56fd\u5e73\u5b89",
"price": 49.12,
"flags": [
"\u73b0\u4ef749.12\u5728\u4e70\u5165\u533a48~50\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "48~50",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u680753.61 | \u6b62\u635f47.65 | \u4e70\u5165\u533a48.14~50.03 | \u4fe1\u53f7:\u89c2\u671b",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "688795",
"name": "\u6469\u5c14\u7ebf\u7a0b-U",
"price": 704.8,
"flags": [
"\u73b0\u4ef7704.80\u5728\u4e70\u5165\u533a691~719\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "691~719",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u6807831.78 | \u6b62\u635f683.66 | \u4e70\u5165\u533a690.7~718.9 | \u4fe1\u53f7:\u89c2\u671b",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
},
{
"code": "688802",
"name": "\u6c90\u66e6\u80a1\u4efd-U",
"price": 770.19,
"flags": [
"\u73b0\u4ef7770.19\u5728\u4e70\u5165\u533a755~786\uff08\u662f\u5426\u53ef\u4e70\u9700\u7ed3\u5408timing_signal\u5224\u65ad\uff09"
],
"age_days": 0,
"last_update": "2026-06-24 16:45",
"entry_zone": "755~786",
"current": "\u76c8\u5229\u6301\u6709 | \u76ee\u6807882.43 | \u6b62\u635f747.08 | \u4e70\u5165\u533a754.79~785.59",
"updated_by": "auto",
"updated_reason": "\u81ea\u52a8\u751f\u6210",
"is_watchlist": true
}
],
"portfolio": {
"total_assets": 1212445.58,
"cash": 150624.58,
"position_pct": 87.6,
"weak_position_pct": 47.8,
"all_weak_pct": 47.8,
"signals": [
"[PORTFOLIO_WEAK] \u7ec4\u5408\u5f31\u52bf\u5360\u6bd448%>40%\uff0c\u5efa\u8bae\u7cfb\u7edf\u6027\u51cf\u4ed3",
"[PORTFOLIO_FULL] \u603b\u4ed3\u4f4d87.6%\uff08\u73b0\u91d1150625\u5143\uff09\uff0c\u4e70\u5165\u5efa\u8bae\u53d7\u9650"
]
},
"summary": "\u626b\u63cf52\u4e2a\u7b56\u7565\uff0c15\u4e2a\u9700\u5173\u6ce8"
}