知微
|
0a6c659e45
|
sync: system_audit.py cache审计(笑笑)
|
2026-06-30 23:12:53 +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 |
|
知微
|
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 |
|
知微
|
e1057bc747
|
docs: 数据管道诊断报告(交笑笑重构参考)
涵盖:系统数据架构总图、港股币种不统一问题、
总资产计算路径问题、现金管理缺失问题、
建议重构方向(单一日志数据源、统一价格写入路径、
现金 changelog 系统、币种感知比较)、
当前文件清单和 TODO
|
2026-06-30 09:34:59 +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 |
|
知微
|
12025d58a0
|
docs: 更新交接文档(含笑笑架构改革)
|
2026-06-30 03:04:26 +08:00 |
|
知微
|
04c98c23e1
|
docs: session交接文档
|
2026-06-30 03:02:29 +08:00 |
|
知微
|
6915fd9cbf
|
fix: 添加venv到gitignore+移除跟踪
|
2026-06-30 02:57:11 +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
|
bfeb3cdfb1
|
docs: DSA Web + AlphaSift + 选股链路修复 + 小果EasyTier
|
2026-06-30 02:35:40 +08:00 |
|
hmo
|
d4cfc5c931
|
fix: market_screener call_xiaoguo direct to node122 instead of Hermes gateway
|
2026-06-30 02:30:32 +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
|
efaa20d775
|
feat: AlphaSift disabled by default (ALPHASIFT_ENABLED=false), add --enable flag
|
2026-06-30 02:21:23 +08:00 |
|
hmo
|
c38787aea3
|
fix: sort candidates by score across strategies before limiting MAX_ADD
|
2026-06-30 02:15:44 +08:00 |
|
hmo
|
992b283d3f
|
feat: multi-strategy parallel screening (balanced_alpha+dual_low+quality_value)
|
2026-06-30 02:08:48 +08:00 |
|
hmo
|
790b0f9acc
|
feat: mo_alphasift_bridge v2 — async mode + source tracking (date/strategy/notes)
|
2026-06-30 01:57:01 +08:00 |
|
hmo
|
897bc54bab
|
feat: mo_alphasift_bridge.py — AlphaSift screening → MoFin watchlist auto-bridge
|
2026-06-30 01:51:48 +08:00 |
|
hmo
|
8fd134a063
|
fix: mo_bridge cache path (reports/ + data/market_review/) + mo_dsa_opinion.py standalone DSA strategy reference script
|
2026-06-30 01:31:42 +08:00 |
|
hmo
|
18081c05a4
|
fix: mo_bridge news fallback to akshare + market review cache-only in cron
|
2026-06-30 01:24:09 +08:00 |
|
hmo
|
ab23dfd234
|
feat: DSA full integration — mo_bridge v2 + strategy_lifecycle injection
mo_bridge.py (rewrite):
- get_stock_news(): DSA SearchService 7 engines → MoFin analysis context
- get_market_review(): DSA run_market_review() with 24h cache
- get_stock_analysis(): DSA AgentExecutor.run() with 15 strategies
- enrich_analysis_context(): one-call context injection
strategy_lifecycle.py:
- reassess_with_context() now injects DSA market + news context
- Auto-detects HK vs A-share region for market review
- Graceful fallback if DSA unavailable
|
2026-06-30 01:17:23 +08:00 |
|
hmo
|
8bcba05e7d
|
docs: add DSA web server info to CHANGELOG
|
2026-06-30 00:50:56 +08:00 |
|
hmo
|
5264fd5241
|
docs: MoFin architecture reform CHANGELOG
|
2026-06-30 00:36:08 +08:00 |
|
hmo
|
d9b48ea5f0
|
fix: Eastmoney individual query + remove /100 price bug
|
2026-06-30 00:29:37 +08:00 |
|
hmo
|
8710dfe366
|
feat: HK realtime via Eastmoney push2 API — no more 15-min delay
price_monitor.py now splits A-share (Tencent realtime) and HK (Eastmoney realtime):
- fetch_all_prices() → A-shares only via qt.gtimg.cn
- fetch_hk_eastmoney() → HK stocks via push2.eastmoney.com (real-time, free)
- _fetch_hk_tencent_fallback() → fallback if Eastmoney fails (15-min delay)
- Eastmoney API: market code 116, fields f43(price)/f170(chg%)/f60(prev_close)
|
2026-06-30 00:25:56 +08:00 |
|
hmo
|
89153832b4
|
fix: DSA path auto-detect — check server path /home/hmo/daily-stock-analysis first
|
2026-06-29 23:47:59 +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 |
|
知微
|
7d49470aeb
|
总资产公式修复+数据模型文档
bugfix: price_monitor写total_assets时漏算frozen_cash
公式修正: total_assets = market_value + cash + frozen_cash
影响: price_monitor两处公式 + stale_push_wlin fallback路径
docs: portfolio-data-model.md 新增
数据模型字段说明
现金流更新规则
常见错误清单
|
2026-06-29 22:35:07 +08:00 |
|
知微
|
5a2d616dfd
|
现金冻结修复:price_monitor不再重算cash
根因:price_monitor每2分钟用av+fz重算cash,
但av/fz是旧数据(含法拉电子卖出前冻结),
覆盖了Dad交易截图后的正确现金92,679。
修复:
1. price_monitor只更新market_value,不碰cash
2. cash设回正确值92,678.85(含法拉电子+18,920)
3. 加cash_history追踪每次修改
|
2026-06-29 22:24:12 +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 |
|
知微
|
a8d5418726
|
price_monitor 汇总值重算 + total_assets修正
问题:price_monitor每2分钟更新个股价,但不更新
total_market_value/total_assets/cash/position_pct,
这些字段停留在import_holding_xls快照值,已严重过期。
导致报告显示错误的总资产和仓位。
修复:
- 每次更新个股价后,实时重算 total_market_value = sum(shares*price)
- cash 从 stale_report(Dad截图确认的可用现金)同步
- total_assets = market_value + available_cash + freeze
- 避免价格无变化时不触发更新(timeout fallback保留)
|
2026-06-29 20:20:24 +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 |
|
知微
|
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 |
|
知微
|
4bcc51f219
|
数据新鲜度铁律+违规记录
1. analyst-knowledge-log 追加6/29数据新鲜度违规记录与修复规则
2. 第一行代码铁律:任何分析必须先拉腾讯实时报价
3. 禁止从缓存文件读价格来推操作建议
4. 建滔积层板止损建议是错误的(盈利股不说止损)
5. SOUL未改动(之前说写入SOUL是口头错误)
|
2026-06-29 15:52:29 +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 |
|
知微
|
13b4dcbcf0
|
三维分析框架固化(news-flow-analysis skill)
知识库、日志、报告格式自检清单同步更新。协鑫能科分析完成。
|
2026-06-28 22:06:24 +08:00 |
|
知微
|
1abb6bb7fd
|
自选正反自动同步
clean_watchlist.py 双向:
买入→持仓→移出自选 ✅ (已完成)
清仓→自动加回自选 ✅ (新增)
每日09:05 cron自动执行
|
2026-06-28 00:18:11 +08:00 |
|
知微
|
4477b06f12
|
Watchlist↔Holdings双向自动迁移
regenerate_all() 每次全量重评时自动:
① 自选股变成持仓(>0股) → 从watchlist移除
② 持仓清仓(股数归零) → 自动加回watchlist(有买入区才加)
Dad要求的双向自动同步,避免手动清理遗忘
|
2026-06-28 00:15:37 +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 |
|
知微
|
2912b127e3
|
docs: 38个cron完全手册
- 全部32个脚本+8个LLM cron的设计意图/数据流/代码结构
- 暂停/废弃说明
- 每个cron关联脚本和调用链
- 自动注册脚本时参考此文档推断数据流
新增cron时应该在此文档追加条目,否则注册表审计只能推断不能确认
|
2026-06-27 02:26:34 +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 |
|