知微
|
8b114d6e9e
|
refactor: remove duplicate scripts + JSON constants + update docs
|
2026-07-04 09:30:50 +08:00 |
|
知微
|
9337130ca2
|
fix: HK stocks store HKD, calc_total_assets converts to CNY at aggregation
|
2026-07-03 23:29:37 +08:00 |
|
知微
|
8e487f400f
|
fix: system_audit/stale_push_wlin/refresh_mtf → DB, remove final JSON refs
|
2026-07-03 23:19:32 +08:00 |
|
知微
|
9bc0cca174
|
fix: HK currency→CNY + portfolio_summary + LLM prompt evaluation.json→DB
|
2026-07-03 23:15:18 +08:00 |
|
知微
|
b15960ba38
|
全数据路径审计修复完成:所有脚本从DB读数据
最终修复:
1. price_monitor: HK股存HKD原值, currency=HKD (移除x0.87转换)
2. strategy_lifecycle: 质量门禁currency=CNY→HKD/CNY均可
3. strategy_lifecycle: 新建策略currency动态判断
4. stale_push_wlin: 所有read_decisions()+read_portfolio()替代json.load
5. stale_detector: read_portfolio()替代json.load(PORTFOLIO_PATH)
6. per_stock_reassess: json.dump(decisions.json)→mo_data写入
7. DB holdings/holding_strategies: 8只HK股currency=HKD,价格修正
8. 建滔84.45 HKD浮亏-4.3%(之前报-24%)
9. 现金132,121.93总资产953,295
10. LLM cron prompts已改为全部从mo_data读
|
2026-07-03 17:14:56 +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 |
|
知微
|
5bd8af20ac
|
migrate: live_prices+mtf+capital_flow DB read/write, cleanup remaining JSON refs
|
2026-07-03 13:46:12 +08:00 |
|
知微
|
bb9b3922c9
|
migrate: last 4 JSON files — live_prices, market, mtf_cache, capital_flow → DB
|
2026-07-03 13:44:10 +08:00 |
|
知微
|
c1c4ba4a81
|
fix: price_monitor HKD→CNY + Eastmoney 2s timeout + None-safe + summary fix
|
2026-07-03 13:24:10 +08:00 |
|
知微
|
9124a7ad56
|
migrate: remove final JSON cold backup lines, prune/branch→DB
|
2026-07-03 12:41:20 +08:00 |
|
知微
|
b3bedc8024
|
migrate: remove JSON, DB-only — mo_data, server, scripts, prompts (27 files)
|
2026-07-03 12:12:05 +08:00 |
|
知微
|
6eecc4d4eb
|
fix: currency+PnL+is_hk_stock+gate+zone+total_pnl
|
2026-07-03 10:27:17 +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 |
|
知微
|
400e4ee34d
|
review_needed 跟进机制 + 质量门禁文档
新增 review_needed_watchdog.py:
- 每30分钟扫描 review_needed 策略
- 自动调 per_stock_reassess 重评
- 重试3次仍失败 → 推Dad XMPP人工介入
- cron: 交易日 9:30~15:30
news-flow-analysis skill 文档同步更新:
- 完整 review_needed 流程链
- 自动修复→重检→跟进→上报 闭环
|
2026-07-02 14:04:15 +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 |
|
知微
|
04b8a6d4bc
|
mo_data: +write_cash_log 函数
cash_log表已存在,新增写入函数便于截图/交易变更时记录现金流水。
用于process_trade.py、手动改cash时调用,保证现金变更可追溯。
知识萃取-盘后 cron 已暂停(莫荷接手知识库报告)
|
2026-07-02 01:43:33 +08:00 |
|
知微
|
69c6c5633a
|
feat: 筹码S/R集成到reassess_strategy
- calc_chip_sr(): 从筹码分布计算支撑/阻力
- reassess_strategy新增筹码S/R输出+共振检测
- 止损用枢轴(短期),目标参考筹码(中线)
- 两者差距<3%时标记共振⚡
|
2026-07-02 00:57:54 +08:00 |
|
知微
|
7f8b27df3b
|
feat: 筹码因子模块 + 分钟K线 + 历史数据回填
scripts/chip_factors.py:
- _build_chip_distribution(): 从60日日线OHLCV估算筹码分布
- calc_all(): 计算三大筹码因子(穿透率/当日穿透率/乖离率)
- batch_calc(): 批量计算全部持仓+自选
- chip_cache/: 缓存每日筹码状态(支持因子滚动计算)
mo_provider.py:
- get_minute_kline(): 1分钟K线获取(1s限流, 单次最多240条)
首次运行结果: 33只股票完成筹码分布计算
最高亏损筹码占比: 万科99.5% 神华98.6% 比亚迪股份98.7%
最低亏损筹码占比: 建滔4.0% 药明康德2.1%
|
2026-07-02 00:36:35 +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 |
|
知微
|
671fe4ecc2
|
feat: price_monitor cron entry + health check script (DB freshness monitoring)
|
2026-07-01 23:07:24 +08:00 |
|
知微
|
ec285669c4
|
fix: deploy scripts/ files properly (correct directory)
|
2026-07-01 23:00:28 +08:00 |
|
知微
|
8ed755bff9
|
feat: strategy_lifecycle + stale_detector + server — DB-first price reads, Tencent API as fallback only
|
2026-07-01 22:48:48 +08:00 |
|
知微
|
849495c4ba
|
fix: remove stale_push_wlin hardcoded 0.87 fallback — imports mo_models directly, no shadow functions
|
2026-07-01 22:39:20 +08:00 |
|
知微
|
f50b93d427
|
feat: eliminate duplicate price fetches — stale_push_wlin + per_stock_reassess now read from DB instead of self-pulling Tencent API
|
2026-07-01 22:32:30 +08:00 |
|
知微
|
e8653acd37
|
sync: 全部cron脚本同步+游离代码归位+关键依赖部署
- 11个不一致cron脚本同步(MoFin→profile)
- 4个游离代码收入MoFin(300308_monitor/monitor_300308/refresh_mtf_cache/strategy-staleness-check)
- 6个关键依赖部署到profile(mo_models/mo_config/mo_provider/hk_rate/data_governance/data_validate)
|
2026-07-01 00:02:56 +08:00 |
|
知微
|
00b0e643d1
|
feat: holdings_reconciliation + process_trade + import_holding_xls → DB writes
|
2026-06-30 23:56:51 +08:00 |
|
知微
|
236e67fa71
|
fix: NEAR_SL false alarm — add cost check, relabel as PROFIT_PROTECT when floating profit >5%
|
2026-06-30 23:33:37 +08:00 |
|
知微
|
28c001684e
|
币种标记标准化 + data-pipeline诊断文档
stale_detector: HK股价格输出加(HKD)标记,防止LLM混读CNY/HKD
per_stock_reassess: 写回decisions.json的HK股加上currency: HKD
docs/data-pipeline-diagnosis.md: 完整数据管道重构需求文档
避免建滔积层板CNY/HKD错配类问题复发
|
2026-06-30 11:13:45 +08:00 |
|
知微
|
6cbc433c20
|
fix: 莫荷审计三个问题修复
1. macro_context_collector DB路径修复(__file__相对路径→绝对路径)
2. system_audit双cron移除no_agent版(保留LLM版,17:30单次)
3. deliver=origin问题已记录,属架构层需统一改deliver=local+中转
|
2026-06-30 03:20:47 +08:00 |
|
知微
|
fb74c8bbb5
|
fix: capital_flow_collector+per_stock_reassess归位
|
2026-06-30 03:12:59 +08:00 |
|
知微
|
fa45d8aa5f
|
fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
Privoxy对node122:18003返回500,直连正常
|
2026-06-30 02:56:35 +08:00 |
|
知微
|
8f0ee37aa4
|
sync: 游离代码归位+node122地址
- stale_push_wlin.py/stock_scorer.py/xiaoguo_signal_consumer.py →
同步MoFin(含mo_models更新)到profile
- xiaoguo_scanner.py → 从profile收入MoFin(游离归位)
- 小果地址从硬编码192.168.1.122改为node122(兼容内外网自动切换)
|
2026-06-30 02:48:27 +08:00 |
|
hmo
|
f4b2467ae9
|
fix: replace hardcoded 192.168.1.122 with node122 (hostname resolves via /etc/hosts to LAN or EasyTier)
- mo_config.py: xiaoguo_host=node122, xiaoguo_api_url property
- market_screener.py, xiaoguo_scanner.py, xiaoguo_news_processor.py: use mo_config or node122 fallback
- scripts/intraday_health_check.py, scripts/ocr_client.py: node122
- EasyTier connects at 10.144.144.2 when off-LAN
|
2026-06-30 02:27:52 +08:00 |
|
hmo
|
6abc2e45b0
|
refactor: phase 0-2 MoFin architecture reform — single source of truth
Phase 0 (止血):
- mo_models.py: unified calc_total_assets(), is_hk_stock(), get_hk_rate() — single source of truth
- Fixed 3 files missing frozen_cash: holdings_reconciliation, server, import_holding_xls
- Fixed stale_push_wlin: unified is_hk_stock detection, removed hardcoded 0.866
- Fixed price_monitor: consolidated 2 duplicate total_assets blocks into mo_models calls
- Fixed stock_scorer: replaced broken len()<=5 is_hk_stock heuristic
- Fixed strategy_lifecycle: replaced non-existent currency_utils import with mo_models
Phase 1 (DSA adapter):
- mo_provider.py: wraps DSA DataFetcherManager (16 fetchers, auto-fallback)
- TDX relay as primary, DSA as backup for realtime/kline/news/fundamentals
Phase 2 (Integration):
- mo_bridge.py: injects DSA market review + news context into MoFin analysis prompts
- Graceful degradation if DSA not installed
Infrastructure:
- mo_config.py: centralized Config singleton replacing scattered hardcoded paths
- All 11 changed files pass python compile check
Impact: total_assets now computed in ONE place (mo_models).
is_hk_stock now ONE implementation (no more false negatives).
HK rate now ONE source (hk_rate API → cache → 0.87 fallback).
No more hardcoded 0.866/0.8664/0.8700 divergence.
|
2026-06-29 23:25:54 +08:00 |
|
知微
|
0b0323eb23
|
cash/总资产循环依赖修复
问题:price_monitor从strategy_staleness_report读cash→
stale_report由stale_push_wlin从portfolio.json写cash→
循环依赖导致cash值被污染(92,678→正确的应是113,240)
修复:
1. price_monitor改成优先用available_cash+frozen_cash字段
(来自Dad截图确认值),不再从stale_report读
2. portfolio.json清理重复字段,统一用available_cash+frozen_cash
3. total_assets = total_market_value + available + frozen
4. 正确的数:市值835,552+可用73,758+冻结39,481=总资产948,792
|
2026-06-29 22:17:28 +08:00 |
|
知微
|
9709c43ccb
|
总资产权威数据源统一修复
问题:总资产每次报告重新计算,数字不一致。
根因:cash字段错误(92664→73759),stale_push_wlin二次×0.866,
报告各算各的。
修复:
1. portfolio.json cash 修正为Dad截图确认值73,758.85
2. price_monitor 每轮写入 total_mv + total_assets 到portfolio.json
(从此所有报告只读这个字段,不自算)
3. stale_push_wlin 删除重复的 hmv *= 0.866(数据已CNY)
4. portfolio.json 加 currency: CNY 标记防混淆
5. 日志记录本次修复
|
2026-06-29 21:39:06 +08:00 |
|
知微
|
d82de939ff
|
revert(币种统一): 回退CNY转换
港股价格存原币(HKD),不存CNY。
Dad需要在股软里看港币价下单操作。
|
2026-06-29 17:46:14 +08:00 |
|
知微
|
6aa338ee4d
|
币种统一全覆盖审计 + 修复
审计范围:price_monitor/per_stock_reassess/stale_push_wlin/stale_detector/system_audit/all-cron-prompts
问题根因:系统三年前设计时港股用HKD存储,最近portfolio
统一CNY但decisions.json没同步。所有API拉价(HKD)和文件
读价(CNY)交叉比较时产生币种错配。
修复:price_monitor每轮同步 + per_stock_reassess/fetch_trend_data
本地API拉价时转CNY + stale_push_wlin
+
|
2026-06-29 16:58:18 +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 |
|
知微
|
1abb6bb7fd
|
自选正反自动同步
clean_watchlist.py 双向:
买入→持仓→移出自选 ✅ (已完成)
清仓→自动加回自选 ✅ (新增)
每日09:05 cron自动执行
|
2026-06-28 00:18:11 +08:00 |
|
知微
|
91d2957ab0
|
自选清理+新增策略
1. 13只已持仓自选股移除(watchlist 32→19)
2. 贵州茅台(600519) 买入区1101~1184 止损1068 止盈1300 RR=1.3
3. 中国平安(601318) 买入区43~46.8 止损41.4 止盈58.9 RR=2.0
4. 两股均空头排列,信号=等待企稳
|
2026-06-28 00:12:31 +08:00 |
|
知微
|
8474effcad
|
feat: --verify-new-cron模式 + MEMORY.md流程
- 新增 --verify-new-cron 参数:创建cron后立即验证文档+注册完整性
- 自动检查cron-catalog.md和pipeline_registry.json
- 缺失时读脚本docstring自动补全
- MEMORY.md更新新增组件流程,强调"趁上下文还热"验证
|
2026-06-27 02:31:18 +08:00 |
|
知微
|
c3c1895896
|
fix: 自动注册读脚本docstring推算数据流,不再是"未知"
|
2026-06-27 02:22:34 +08:00 |
|
知微
|
d89351fbfe
|
fix: 管道注册表自动修复——新组件自动登记占位
未注册脚本不再只报警——体检自动在pipeline_registry.json中
添加占位记录(verified=false, gap=自动发现待确认)。
Dad不需要做任何事,系统自愈。
|
2026-06-27 02:19:12 +08:00 |
|
知微
|
10caef1853
|
fix: 管道审计改为动态读jobs.json,无需手动维护脚本列表
|
2026-06-27 02:16:46 +08:00 |
|
知微
|
44d0a435a0
|
fix: 管道注册表自发现+未登记组件报警
- 自动发现:对比重要脚本列表和管道注册表
- 漏登记的不但要手动注册,体检会报"N个组件未注册管道"
- 逼着新增组件时把数据流定义进pipeline_registry.json
|
2026-06-27 02:08:21 +08:00 |
|
知微
|
120f35671d
|
feat: 数据管道注册表+宏观风险集成+管道完整性审计
1. 新增 data/pipeline_registry.json — 数据管道注册表
- 记录每条数据流的source→consumer→end_user
- verified字段标记是否验证通过
- 新增组件时必须在此注册,否则体检会报未验证
2. 宏观预警集成(修复管道缺口)
- intraday_health_check: 读macro_risk_state.json,HIGH风险时报警
- morning_health_check: 新增管道注册表审计项
读pipeline_registry.json,未验证的管道标为异常
3. 管道完整性自发现机制
注册表中verified=false的管道会在每日体检中标记
逼迫新增组件时注册管道,否则睡不好觉
|
2026-06-27 02:04:22 +08:00 |
|
知微
|
b4f957f80d
|
fix: guardian每日调gateway清理memory, 花token但省心
|
2026-06-27 01:37:18 +08:00 |
|
知微
|
56249428fe
|
fix: MEMORY.md补全现金铁律+报告规则, guardian支持模式清理
|
2026-06-27 01:34:48 +08:00 |
|
知微
|
2bda688a30
|
feat: 记忆守卫每日cron(按SOUL规则自检memory)
- memory_guardian.py: 每日7:00检查MEMORY.md存在/容量/共享memory健康
- 有问题推报告给Dad,没问题SILENT
- 配合SOUL记忆规则,防止profile专属内容污染共享memory
|
2026-06-27 01:30:27 +08:00 |
|