Initial: MoFin 持仓分析与策略管理系统

核心模块:
- 策略生命周期管理 (strategy_lifecycle.py)
- 技术分析引擎 (technical_analysis.py)
- 双维度策略评估 (strategy_evaluator.py)
- 实时行情获取 (get_realtime_prices.py)
- Web Dashboard (server.py, :8899)

提示词版本管理:
- prompt_manager 模块 — 统一管理所有知微提示词
- 8个提示词共24个版本已录入
- 策略→提示词版本关联追踪
- Dashboard「提示词」Tab

数据源增强:
- 服务端 POST /api/update/realtime 端点已就绪
- clients/tdx-relay/ — 小小莫在Windows上开发的通达信中继
- 解决港股15分钟延迟问题
This commit is contained in:
2026-06-12 22:54:51 +08:00
commit 9b9c37002a
65 changed files with 8659 additions and 0 deletions
@@ -0,0 +1 @@
分析规则 v1:腾讯API港股字段映射,涨跌>±3%必须查新闻,A+H股价差正常。
@@ -0,0 +1,8 @@
分析规则 v2(当前):
1. 日期纪律:分析前先 date 确认日期星期
2. 数据源:腾讯API主(港股),新浪补充(A股昨收)
3. 预检查:时间戳→交易日→策略数据
4. A股优先于港股
5. 涨跌>±3%查新闻
6. A+H价差正常
7. 买入时机四象限
@@ -0,0 +1 @@
策略评估 v1:运行评估脚本 → 读取 evaluation.json → 输出双维度评估报告。
@@ -0,0 +1,6 @@
策略评估 v2(当前):
1. 运行 strategy_evaluator.py
2. 读 evaluation.json + accuracy_stats.json
3. 识别6种信号并生成调整建议
4. 固化经验到 knowledge-log
5. 无变化输出 SILENT 抑制推送
@@ -0,0 +1,6 @@
知识萃取 v1(当前):
1. 读 decisions.json 的 changelog 和 evaluation
2. 读当天分析输出的 anomaly 信号
3. 提炼 1-3 条可复用知识
4. 写入 /home/hmo/Obsidian/knowledge/finance/analyst-knowledge-log.md
5. 长期有效的规律 → memory add
@@ -0,0 +1,6 @@
持仓复查 v1(当前):
1. 所有持仓个股逐个过:营收趋势、利润、利润率、PE/PB/ROE/负债率
2. 技术面:支撑位、压力位、均线形态
3. 最新研报目标价
4. 近期重大新闻/催化剂
5. 标记异常信号
+1
View File
@@ -0,0 +1 @@
快速盯盘 v1:三段式报告格式,每15分钟运行。包含重点推荐操作/风险关注/其余持仓。
+1
View File
@@ -0,0 +1 @@
快速盯盘 v2:字数≤300字,涨跌>±3%必须查新闻,禁止模糊词(可关注/可考虑/建议观察)。
+1
View File
@@ -0,0 +1 @@
快速盯盘 v3(当前):三段式≤300字,每只推荐必须带唯一动作动词+数量+价格,仓位%必写,禁止选择题。买入时机四象限:放量跌不入/缩量回踩入/放量突破追/缩量反弹不追。
@@ -0,0 +1 @@
三段式 v1:【重点推荐操作】≤3只 / 【风险关注】≤3只 / 【其余持仓】一行概括
@@ -0,0 +1 @@
三段式 v2:≤800字,仓位%必写,技术面四数字(强阻/弱阻/强撑/弱撑)必写,禁止模糊词/选择题。
@@ -0,0 +1,8 @@
三段式 v3(当前):
1. 【重点推荐操作】≤3只,理由不重复
2. 每只:仓位(现→建议) + 技术面四数字 + 操作(唯一动词+数量+价) + 可验证理由
3. 【风险关注】≤3只,距止损%+原因
4. 【其余持仓】一行带过
5. 全文≤600字
6. 禁止:可关注/可考虑/建议观察/择机/试试
7. A股在前港股在后
@@ -0,0 +1,7 @@
策略生成规则 v1(初始机械百分比)
止损 = 成本 × 0.85-15%
止盈 = 成本 × 1.20+20%
买入区 = 现价 × 0.90 ~ 现价 × 1.05
无技术面分析,纯百分比计算。
@@ -0,0 +1,8 @@
策略生成规则 v2.1(技术面 + R/R 校验)
1. 止损 = 强支撑(新买入用弱支撑)
2. 止盈 = 强压力(多级阻力位尝试满足R/R)
3. 买入区 = 弱支撑~弱支撑×1.05
4. R/R ≥ 2.0 校验(新买入推荐)
5. 4% 最小波幅保护(单日振幅<2%时)
6. 盈亏比不满足时:弱压→强压 逐级尝试
@@ -0,0 +1,12 @@
策略生成规则 v2.2(止损三级分离 + 移动止损)
| 场景 | 止损位置 | 逻辑 |
|------|---------|------|
| 新买入(cost=0) | 弱支撑(weak_support) | 入场失败小亏走人 |
| 已持仓(profit≥-20%) | 强支撑(strong_support) | 趋势坏了才走 |
| 深套(profit<-20%) | min(强支撑, 价×0.85) | 不轻易割 |
盈利>5%:取 max(弱支撑, 成本线, 现价×0.95) 移动止损
买入区 R/R 约束:新买入≥1.5,已持仓≥1.0
买入区宽度收紧:只围绕弱支撑,不扩展到弱压力
@@ -0,0 +1,16 @@
策略生成规则 v2.3
买入区 R/R 约束:
- entry_high ≤ (target + min_rr × stop) / (1 + min_rr)
- 新买入 min_rr=1.5,已持仓 min_rr=1.0
- 坍缩保护:R/R约束导致买入区消失时标记"不建议"
买入时机四象限:
| 场景 | 操作 |
|------|------|
| ①放量跌入买入区 | ❌ 不买 |
| ②缩量回踩弱支撑+放量反弹 | ✅ 买入 |
| ③放量突破压力位 | ✅ 追买 |
| ④缩量反弹到压力位 | ❌ 警惕 |
趋势位置检测:股价>80%分位或<20%分位时自动扩展有效区间到价×8%
@@ -0,0 +1,16 @@
策略生成规则 v2.4(当前活跃版本)
R/R阈值差异化:
| 场景 | 阈值 |
|------|------|
| 新买入 <1.5 | ❌ 不建议买入 |
| 新买入 1.5~2.0 | ⚠️ 谨慎买入 |
| 新买入 ≥2.0 | ✅ 正常 |
| 已持仓 <0.5 | ⚠️ 盈亏比极低 |
| 已持仓 0.5~1.5 | ⚠️ 不建议加仓 |
| 已持仓 ≥1.5 | ✅ 无标记 |
止损最小距离:现价到止损≥3%(非深套场景)
买入区坍缩:R/R约束导致entry_high<entry_low时,坍缩到[价×0.99, 价×1.01]
其他规则继承 v2.3。
@@ -0,0 +1,7 @@
策略生成规则 v2(技术面支撑压力位 v1)
1. 止损 = 强支撑(strong_support),约5-8%跌幅
2. 止盈 = 强压力(strong_resist
3. 买入区 = 弱支撑(ws) ~ 弱压力(wr)
4. 新买入/已持仓统一策略
5. 无R/R校验
@@ -0,0 +1 @@
健康检查 v1:检查 mofin-dashboard/xmpp-zhiwei/ejabberd 进程,8899/5222/8643端口,数据文件存在性。
@@ -0,0 +1,7 @@
健康检查 v2(当前):18项检查
- 进程:mofin-dashboard, xmpp-zhiwei, ejabberd
- 端口:8899, 5222, 8643
- 数据:portfolio/watchlist/decisions/market/price_events/evaluation/accuracy_stats
- 活动:价格事件数/策略评估数/建议记录数
- Cron: 两个profile
- 数据新鲜度:文件更新时间