知微
34337fc5b7
clean: 移除早上健康检查/系统审计中的小果残留引用(二次提交—deploy guard恢复旧版后重新应用)
2026-07-21 12:05:43 +08:00
知微
2b79c1dc44
chore: sync
2026-07-20 21:21:25 +08:00
知微
c971d6bced
chore: watchdog fix
2026-07-20 20:55:34 +08:00
知微
5d3b8e6fdd
chore: capture deployed state
2026-07-20 17:30:43 +08:00
知微
0190c02064
chore: capture live morning state before session merge
2026-07-20 08:50:29 +08:00
知微
90966c63ca
chore: 同步运行版本与git一致
...
- strategy_lifecycle.py: GATE_9D_ANALYSIS → GATE_12D_ANALYSIS(12维交叉验证)
- system_audit.py: 审计策略评估改用holding_strategies.updated_at
- CHANGELOG.md + analyst-knowledge-log.md 日常更新
2026-07-17 23:08:11 +08:00
知微
9905294496
chore: 清理残留mo_data.py+数据文件
2026-07-10 01:30:27 +08:00
知微
52e70bde26
fix: 14个LLM cron prompt添加数据真实性铁律(置顶)+注册到提示词系统
2026-07-09 13:38:36 +08:00
知微
9a71498b57
docs: update analyst-knowledge-log + CHANGELOG for stale_push_wlin refactor
2026-07-09 10:36:06 +08:00
知微
c745f1318a
stale_push_wlin: 按Dad确认流程重构推送逻辑
...
1. 加重评冷却(4小时)— 查holding_strategies.updated_at
2. 修zone_notes早退bug — 有区间说明时不静默退出
3. zone_notes冷却30分→4小时(匹配重评冷却)
4. 标题自适应:有推荐→自选买入提醒 | 仅区间提醒→操作区间提醒
5. 区间说明格式:'进入操作区间,但重评结果:x'
6. 操作建议标题只在有可操作项时显示
7. has_actionable判定改用实际lines内容
2026-07-09 10:33:50 +08:00
知微
9fef32413b
refactor: 统一价格入口 mo_data.get_price() - 22个脚本移除自拉腾讯API
...
所有价格获取统一走 mo_data.get_price() / get_prices_batch():
- 优先读 live_prices(DB) → 无/过期才调 stock_quote(API) → 自动写回DB
- 22个脚本全部替换:branch_scanner chip_factors divergence_detector
market_screener mo_provider mofin_collect monitor_300308 300308_monitor
multi_timeframe refresh_macro_context stale_detector stale_push_wlin
stock_profile strategy_evaluator strategy_lifecycle strategy_review
strategy-staleness-check technical_analysis xiaoguo_signal_consumer
collect_evaluation_data
2026-07-08 23:54:01 +08:00
知微
2762ddf3ae
fix: DB路径大面积修复——mofin_db/server/technical_analysis/strategy_tree等脚本的Path(__file__).parent/data错误指向scripts/data而非data/ 导致读写分离
...
- 量价分析: full_analysis输出volume_deep+成交量存储在price_history.json
- FK约束移除: holding_strategies外键->holdings阻止自选股写入
- #000850 重评已写入(止损3.74/止盈4.06/RR1.67)含量价信号
2026-07-08 12:34:39 +08:00
知微
7b4826777a
自选股自动重评机制+000850华茂股份全面重评
...
1. stale_detector新增自选股买入区偏离自动重评:
- 每轮扫描watchlist_stocks, price偏离买入区中心>15%自动触发per_stock_reassess
- 之前只标记[STRATEGY_STALE]不输出,改为标记+触发重评两步完成
- 策略完毕直接输出结果,不再等下次cron通知
2. 000850华茂股份全面重评:
- 核心价值:纺织是壳,金融股权投资才是核心(国泰海通/广发/徽商银行)
- PB=0.78破净, 7月3日分红3675万占年净利17.85%
- 7/16临时股东会催化剂
- 结论:3.70~3.90区间可建仓1~2%,止损3.50,止盈4.30
- 修复:之前说'观望不建仓'是错的,低估了破净安全垫
3. watchlist_stocks DB加000850记录
2026-07-07 11:20:04 +08:00
知微
66962ae190
fix: 全面系统修复 — delivery目标修正 + 脚本同步 + refresh_mtf_cache import修复 + clean_watchlist硬编码修复
...
修复清单:
- cron delivery修正:10个job从deliver=origin/all改为local,消除推送错误
- refresh_mtf_cache.py:替换strategy_lifecycle.PORTFOLIO_PATH导入为mofin_db直接读DB
- clean_watchlist.py:修复mo_data导入名错误和JSON硬编码路径
- MoFin/scripts/与profile scripts互相补全,双向sync到一致
- price_monitor.py:现金源从portfolio_summary表改为cash_log(Dad确认的现金权威)
- 更新watchlist.json加入000850华茂股份
2026-07-06 14:01:54 +08:00
知微
e185b4e4dc
feat: DB-first architecture with lock-safe writes
...
- price_monitor: writes live prices to both JSON and mofin.db (holdings + live_prices + portfolio_summary)
- mofin_db: added execute_with_retry/commit_with_retry with exponential backoff on 'database is locked'
- mofin_db: increased timeout 5s->15s, added PRAGMA busy_timeout=15000
- price_monitor retry loop: fixed break-before-if-ok bug (was not retrying on write failure)
- DB connection: WAL mode + retry decorator for all write operations
- cash sync: preserves DB authoritative cash (JSON cash not pushed to DB)
This is the DB-first version. JSON writes remain for dashboard compatibility.
Next step: remove JSON writes entirely for full DB-only architecture.
2026-07-06 12:02:11 +08:00
知微
908dc6a897
全数据路径审计修复:price_monitor HK股价不再转CNY
...
审计发现(2026-07-03 15:00 systematic audit):
1. price_monitor 港股仍转 CNY (line 255, 306) → 改为存 HKD 原值, currency=HKD
2. strategy_lifecycle 质量门禁检查 currency=CNY (line 88-91) → 改为接受 HKD/CNY
3. strategy_lifecycle 新建策略写 currency='CNY' (line 2299) → 改为按代码判断 HKD/CNY
4. stale_push_wlin 两处直接 json.load(open(decisions.json)) → 改为 read_decisions()
5. stale_push_wlin 直接 json.load(open(portfolio.json)) → 改为 read_portfolio()
6. DB holdings/holding_strategies: 8只HK股currency从CNY改为HKD
7. calc_total_mv 增加港股HKD→CNY汇兑计算
验证:
- 建滔 84.45 HKD 浮亏-4.3%(不是-24%)
- 现金 132,121.93 总资产 953,295
- 所有8只HK股DB正确标记HKD
- price_monitor已重启,下个tick用新逻辑写HKD原值
- stale_push_wlin已换用mo_data读DB
2026-07-03 17:13:19 +08:00
知微
0bfb819110
DB港股价格+成本修复回HKD原值
...
笑笑重构把HK股的价格和成本都转CNY写入DB。
price_monitor同时改了新逻辑要写HKD,但DB已经是CNY,
两个方向打架导致建滔(-2.5%实际浮亏)被算成-15.5%。
修复:
DB holdings表8只HK股的price和cost从CNY转回HKD
currency改回HKD
现金修正为132,121.93(Dad 7/3截图确认)
总资产=957,656.13 仓位=86.2%
2026-07-03 14:42:30 +08:00
知微
bb9b3922c9
migrate: last 4 JSON files — live_prices, market, mtf_cache, capital_flow → DB
2026-07-03 13:44:10 +08:00
知微
b3bedc8024
migrate: remove JSON, DB-only — mo_data, server, scripts, prompts (27 files)
2026-07-03 12:12:05 +08:00
知微
cc55ff76ad
全面移除JSON数据源 移至mo_data/DB
...
- 宏观风险扫描(3个cron): portfolio.json -> mo_data.read_portfolio()
- 小果情感分析: decisions/portfolio.json -> mo_data read+write xiaoguo_insights.json
- 芯碁微装监控: decisions.json -> mo_data.read_decisions()
- 开盘/收盘简报: 去掉portfolio.json/decisions.json/watchlist.json文件读取,全部从mo_data
- 系统健康检查: 仅保留文件存在性检查,数据从DB
- 知识萃取: stale_staleness_report.json/decisions.json注入改为context注入
数据管道稳定:唯一入口price_monitor -> DB -> mo_data读 -> LLM cron输出
2026-07-03 10:22:13 +08:00
知微
24a73103ed
price_monitor港股币种修复+calc_total_mv汇兑处理
...
问题链:
price_monitor 从东方财富/腾讯拿HK股价(HKD) → x0.87转CNY写portfolio
→ DB存CNY→下游混读→建滔显示-24%浮亏(实为-0.6%)
修复:
price_monitor不转CNY,港股存HKD原值
calc_total_mv()增加币种判断:HK股用get_hk_rate()转CNY再汇总
portfolio.json/watchlist的HK股价全部HKD原值
DB同步修正所有HK股价格为HKD
price_monitor DB写入加3次重试+database locked timeout
验证:
建滔 87.7 HKD 浮亏-0.6%(不是-24%)
现金 132,121.93 总资产 956,714.68
2026-07-03 10:19:09 +08:00
知微
1bb83c715d
data_snapshot统一数据入口+DB银行locked修复+建滔/现金修正
...
data_snapshot.py: 所有报告脚本的唯一数据入口(通过mo_data读DB)
price_monitor.py: DB写入加了3次重试+PRAGMA busy_timeout=5000
quality gate: 新增GATE_PROFIT_EXISTS(止盈=0拦截)+GATE_9D_ANALYSIS
建滔(01888) DB已修正: price=84.9 HKD, cost=88.23 HKD, 浮亏-3.8%
现金已修正: 132,121.93 (frozen=0)
2026-07-03 10:12:21 +08:00
知微
e31bb9e089
所有LLM cron prompt移除JSON读取,全部走DB
...
开盘简报/收盘简报/盘前中监控/午后监控/策略评估-每日/系统全局审计
6个LLM cron的prompt统一改为:
from mo_data import read_portfolio, read_decisions, read_watchlist
禁止执行 json.load(portfolio.json/decisions.json/watchlist.json)
港股价格统一标注HKD
总资产/现金/仓位从digital twin字段读,不自算
2026-07-03 10:03:00 +08:00
知微
cd8eba74e4
HK股数据清洗:成本/价格双币种标记
...
portfolio.json: 港股cost_currency=HKD, cost_cny, price_hkd字段
decisions.json: 港股currency=HKD, 所有价格字段分存_hkd/_cny
修复建滔积层板浮亏-24%→-12.8%问题
根因:cost=88.22HKD被标成CNY,脚本转换价后错算浮亏
2026-07-03 09:31:27 +08:00
知微
7c0e85af28
硬性策略质量门禁 validate_strategy()
...
新增 STRATEGY_QUALITY_GATES 检查清单(9条红线):
CRITICAL: 止损/止盈存在+>0, 买入区下沿<上沿
HIGH: 止损≤买入区, 买入推荐含RR≥1.5, 港股标currency=HKD
MEDIUM: signal短词, tech_snapshot含技术位
enforce_strategy_quality() 插在写入链的两处:
1. reassess_with_context() return前 → 单只重评必过
2. regenerate_all() for d in decisions: 写DB前 → 批量重评必过
不过的:status=review_needed, signal降级→信号不充分
不会写进DB/JSON,除非修复了CRITICAL问题
2026-07-02 13:46:53 +08:00
知微
69c6c5633a
feat: 筹码S/R集成到reassess_strategy
...
- calc_chip_sr(): 从筹码分布计算支撑/阻力
- reassess_strategy新增筹码S/R输出+共振检测
- 止损用枢轴(短期),目标参考筹码(中线)
- 两者差距<3%时标记共振⚡
2026-07-02 00:57:54 +08:00
知微
6305204c7a
feat: mo_data.py unified read layer (DB-first, JSON fallback) + cash_log table + batch JSON→DB migration (16 files)
2026-07-01 23:45:30 +08:00
知微
28afb14769
建滔价格错误修复 + 币种标记标准化
...
per_stock_reassess.py: 写入HK股时加currency: HKD标记
防止报告脚本混读CNY vs HKD导致止损判断错位
2026-06-30 11:11:22 +08:00
知微
8e738404d4
fix: 全线港股前缀修复 + 币种统一
...
per_stock_reassess.py:
- 港股5位代码前缀优先(0开头不匹配sz)
- 删除CNY转换,存Tencent原始HKD值
stale_push_wlin.py fetch_trend_data:
- 港股5位代码前缀优先
strategy_review.py (x2):
- 港股5位代码前缀优先
验证:
建滔 price=97.2 HKD SL=94.62 HKD ✓
腾讯 price=421.2 HKD SL=409.73 HKD ✓
中芯H price=88.8 HKD SL=84.8 HKD ✓
A股不受影响 ✓
2026-06-30 10:38:18 +08:00
知微
d82de939ff
revert(币种统一): 回退CNY转换
...
港股价格存原币(HKD),不存CNY。
Dad需要在股软里看港币价下单操作。
2026-06-29 17:46:14 +08:00
知微
1ad2c20493
CNY币种统一修复 — decisions.json所有价格字段统一CNY
...
问题:港股在decisions.json存HKD、portfolio.json存CNY,
报告交叉读取导致建滔积层板止损判断错位(CNY价vs HKD止损)。
修复:
price_monitor.refresh_data_prices() 每次拉价后,
对港股5位代码的全部价格字段(price/stop_loss/take_profit等)
及嵌套analysis/trigger字段,统一xHK_RATE→CNY
保证所有文件价格口径一致
2026-06-29 16:28:59 +08:00
知微
aa4f013ee5
数据新鲜度防御体系(致命错误防御)
...
根因:今下午报告用周五多周期缓存(multi_tf_cache)作周一操作建议,
中芯国际H浮盈+10%被错报破止损。
修改:
1. price_monitor 新增 live_prices.json 写入(每2分钟刷新所有实时价)
2. 新增 data_freshness.py — data_freshness check function
3. intraday_health_check price_monitor检测从10min收紧到5min
4. 新增 midday MTF cache refresh (11:00+14:00)
5. cron-report-format pre-flight checklist 新增数据新鲜度检查项
所有报告产出前必须先跑 data_freshness,过期则禁止出操作建议
2026-06-29 15:23:32 +08:00
知微
6a97d93018
现金更正 + 法拉电子清仓记录
...
截图确认:
- 可用资金 92,664.20(含天添利)
- 冻结 39,481.40
- 总现金 132,145.60
- 总资产 = 持仓市值1,107,670 + 现金132,145.60 = 1,239,815.60
法拉电子 189.20卖出100股已记录
2026-06-29 12:40:50 +08:00
知微
40d74f89ff
feat: xmpp bot最终修复版+skill文档同步
...
xmpp_agent_core.py 当前工作配置记录:
1. send_presence() — presence = available, 否则私聊进离线
2. 入站消息队列(_inbound_queue) — 崩了不丢, 重试3次
3. 出站队列(_outbound_queue) — 崩了自动重启
4. XMPP心跳检测(xep_0199 ping) — run_filters死后15s内重连
5. 私聊回复双通道: send_message(指定resource) + send_stanza(裸JID)
6. AGENT_MENTION动态解析(群聊@知微识别)
7. session_id保持xmpp-zhiwei-v2不变(不因重启换session)
8. 断线重连2秒延迟(防资源冲突)
2026-06-26 23:17:21 +08:00
知微
fa3fc93f25
feat: 数据治理+深套解套方案
...
- data_governance.py: holding_strategies去重(1642→345)
- 检查缺失策略的持仓(中际旭创已补)
- 深套持仓统计
- 中际旭创(300308)技术面策略已生成
- 止损1287 止盈1453 买入区1297~1350 RR=3.59
- 深套解套方向:
丘钛科技 -48% → 反弹到9.7卖1/3
万科企业 -53% → 反弹到2.8卖1/3
紫金矿业 -36% → 反弹到30.4卖1/3
比亚迪股份 -27% → 反弹到89.8卖1/3
中科电气 -32% → 反弹到18.6卖1/3
2026-06-25 21:22:59 +08:00
知微
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
知微
d4ad5a57ef
trigger字段永久同步(strategy_lifecycle)+ 知微TODO系统
...
T006: regenerate_all() 新增 trigger 填充(stop_loss/entry_zone/take_profit_zone),
price_monitor 依赖此字段检测止损区间/买入区/止盈区触发。
历史数据已通过 fix_trigger.py 一次性补全39只。
新增 devops/self-todo skill + cronjob 自我驱动-TODO自动执行。
每天8轮检查pending任务,主动完成并报告进度。
TODO数据:~/.hermes/profiles/position-analyst/todo.json
2026-06-24 17:24:45 +08:00
知微
9a702a66f7
A/H跨市场去重:药明康德不再推H股
...
药明康德(02359) timing_signal=买入、多头排列,但Dad已持有
药明康德A股(603259)。同股同权,H折CNY还贵7.4%。
新增:stale_push_wlin在推荐前检查portfolio中是否有
同名不同代码的持仓。有则跳过推荐。
测试:之前推H股,现在静默(0可操作→无输出)
2026-06-24 15:35:58 +08:00
知微
4ab95ecbcb
策略质量过滤:信义光能不应被推荐
...
修复:stale_push_wlin 没有检查 timing_signal 和 sector_context
信义光能(00968)被推荐的原因:
timing_signal='行业偏弱' sector='房地产开发大跌-294%'
RR=7.2看起来很高,但趋势完全空头且行业崩塌
→ 原代码只查RR>=3+价格在买入区,没查信号质量
新增两条过滤:
1. timing_signal含[偏弱/弱势/观望/卖出/回避] → 跳过
2. sector_context含'大跌' → 跳过(行业崩时不推荐)
实测:加过滤前7只,加后1只(仅药明康德)
2026-06-24 14:40:31 +08:00
知微
8f830b8de2
信义光能问题修复:两层级过滤+趋势检查
...
Bug 1 — strategy_lifecycle.py: enrich_timing_signal 用 factors[-1] 当信号
信义光能: base_signal=neutral, factors=[大盘中性,行业偏弱,高估值]
旧逻辑: factors[-1]='行业偏弱'→成为timing_signal→无效信号
新逻辑: 先找有效操作方向(买入/加仓/观望/持有/关注/信号不充分),
找不到→信号不充分。不再从上下文因子里拼凑信号。
Bug 2 — stale_push_wlin.py: 信号过滤太松
旧逻辑: 只跳过特定关键词(等企稳/关注/信号不充分/持有)
新逻辑: 信号必须含"买入"或"加仓"才进推荐,其他一律跳过
Check 3 — 趋势检查(新增)
fetch_trend_data(): 取实时行情+30日K线计算MA排列
空头排列/弱势震荡→不推荐
药明康德通过(多头排列+买入信号) 信义光能不通过(空头+行业偏弱)
2026-06-24 14:39:50 +08:00
知微
e83dfc415d
持仓完成更新:现金20371 总资产1015540
...
OCR读取券商截图确认数据:
资金余额: 20,371.53元
可用资金: 17,645.31元
股票市值: 995,168.79元
仓位: 97.99%
总资产: 1,015,540.32元
今日操作确认:
卖出: 招商银行800、双一科技400、辽宁成大6600、阿里巴巴700
买入: 海博思创200@266.89
净现金: 20,371(含部分未交收资金)
2026-06-24 14:25:07 +08:00
知微
0ecdfbc861
上传OCR切换:小果GLM-OCR-8bit优先,Tesseract降级
...
MoFin/server.py 的 _ocr_image 改为:
1. 优先调小果 gateway (192.168.1.122:18003) 的 GLM-OCR-8bit
2. 失败/无响应则自动降级到本地 Tesseract(预处理+chi_sim+eng)
3. fallback逻辑保留原预处理管道(放大/锐化/二值化)
ocr_client.py 模块独立可调用,兼作CLI工具
2026-06-24 13:48:40 +08:00
知微
605c3d71d9
总资产修正:改用实时行情+holding文件汇率
...
之前用 holding.xls 的导出价,总资产总是少6万。
修复方案:
1. 读取 holding.xls 只取股数+成本+汇率
2. 当前价从腾讯实时行情API获取
3. 总资产=现金+∑(股数×实时价×汇率)
实时行情总资产 1,011,185 与Dad看到的1,013,xxx
仅差1815(正常盘中波动)
2026-06-24 13:30:46 +08:00
知微
3ab4f972f1
OCR集成+持仓更新:海博思创已买入
...
1. ocr_client.py — 通过小果GLM-OCR-8bit做截图识别
用法: python3 scripts/ocr_client.py <图片路径> [提示文字]
测试通过,成功读取券商成交明细截图
2. 海博思创成本更新为实际成交价266.89
3. 现金更新为5,667元(经OCR成交明细核验:
卖招商800@36.99 + 卖双一400@22.87 + 买海博200@266.89
原20230 → 5592,差额75为手续费,与5674基本吻合)
2026-06-24 13:29:13 +08:00
知微
b5b0f3d0e8
总资产修正+购车图标联动
...
Fix1: 总资产错误 — HK市价被当人民币算
portfolio.json已有正确 total_assets(含港币→人民币换算),
改为直接读取该字段,不再手动累加持仓市值
原代码用 h.get('currency')=='HKD' 判断但strategy_lifecycle
格式不保存currency字段 → 所有HK持仓被当CNY计算 → 总资产多出6.8万
Fix2: 换仓推荐时显示🛒 非⚠️
原来用 lots==0 判断→永远⚠️ ,换仓推荐可让操作变为可行
改为 lots>0 OR swap_text 时用 🛒 (可操作)
2026-06-24 13:02:30 +08:00
知微
9ba21fc3c0
南亚新材(688519) 完整分析+系统录入
...
全流程:
1. akshare获取新闻和主营业务(CCL覆铜板龙头,PCB上游)
2. 腾讯API拉60日K线计算MA/支撑/阻力
3. per_stock_reassess.py 跑个股重评
4. 人工修正止盈止损(枢轴算法对极端动量股失效)
- 系统自动: 止损333 止盈377 RR=0.9
- 人工修正: 止损331 止盈409.9 RR=2.1
亮点:发现per_stock_reassess的枢轴算法对228%涨幅的
极端动量股止盈算不准(377 vs 前高409.9),手动覆盖了。
这是技术架构的改进点——需要识别极端动量场景自动放宽枢轴。
2026-06-24 12:29:47 +08:00
知微
b145dd47c3
现金更正:20230元(Dad截图确认) + strategy_lifecycle写回保护
...
截图显示可用(含天添利)=20,230.10元。之前80,476是错误数据。
strategy_lifecycle.regenerate_all 写portfolio.json时改为 merge现有字段,
不再清空 cash/total_assets/total_pl 等非holdings字段。
这样下次regenerate_all运行时不会丢数据。
现状:
现金 20,230元 | 市值 930,200元 | 总资产 950,430元
仓位 97.9% | 累计盈亏 -164,810元
25只持仓(14A/11H)
2026-06-24 11:33:51 +08:00
知微
eb294f05a5
import_holding_xls: 支持截图真实数字覆盖
...
regenerate_all 会覆盖 portfolio.json,所以导入流程改为:
1. 先更新 SQLite holdings 表
2. 再跑 regenerate_all(读 SQLite,写 decisions+portfolio)
3. 然后用真实数字覆盖 portfolio.json 汇总字段
4. 重建决策树
支持 --cash --total --mv 传入截图真实数字
用法:python3 import_holding_xls.py --cash 20230 --total 1008860 --mv 988512
2026-06-24 11:29:53 +08:00
知微
e2646c36cb
持仓导入完成:holding.xls→SQLite+portfolio.json全同步
...
1. 从 ~/stocks/holding.xls 导入25只持仓(14A/11H)
2. 同时写入 portfolio.json + SQLite holdings 表
3. stale_push_wlin 现金来源从 stale_report 改为 portfolio.json
4. portfolio.json 增加 total_assets 字段兼容 stale_detector
5. 导入脚本已规范化为 MoFin/scripts/import_holding_xls.py
用法:python3 import_holding_xls.py [--cash 金额]
6. 全量策略重评+决策树重建立即执行
Dad下次更新holding.xls后跑:
cd MoFin && python3 scripts/import_holding_xls.py
2026-06-24 11:21:51 +08:00
知微
df4f898bc4
持仓来源修复:holding.xls导入+持仓数据修正
...
老问题:scripts读的是 strategy_staleness_report.json 里的旧现金值,
portfolio.json 被 strategy_lifecycle.regenerate_all 反复覆盖。
修复:
1. import_holding_xls.py — 从 ~/stocks/holding.xls 导入TSV持仓
(含25只真实持仓,14A/11H,总市值93万,现金8万,仓位92%)
2. stale_push_wlin 现金来源改读 portfolio.json(取代旧stale_report缓存)
3. 港股市值×汇率修正(之前按1:1当人民币算,总资产多估了)
4. 每条策略的决策树同步重建
脚本执行:python3 MoFin/scripts/import_holding_xls.py (含全量重评)
Dad你以后更新holding.xls后跑这条命令就行
2026-06-24 11:19:29 +08:00