知微
|
ec285669c4
|
fix: deploy scripts/ files properly (correct directory)
|
2026-07-01 23:00:28 +08:00 |
|
知微
|
b2822cec15
|
feat: all remaining Tencent API price fetchers now DB-first (8 files)
|
2026-07-01 22:59:17 +08:00 |
|
知微
|
0aef122b69
|
feat: mofin_db get_price_from_db/get_prices_batch helpers + strategy_evaluator DB-first
|
2026-07-01 22:56:24 +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 |
|
知微
|
82024a6d7f
|
给笑笑的接手说明 — refactor-for-xiaoxiao.md
|
2026-07-01 22:05:01 +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 |
|
知微
|
e3bf196a59
|
fix: ALTER TABLE migrations must run before CREATE TABLE + currency validation in write_holdings_batch
|
2026-06-30 23:53:57 +08:00 |
|
知微
|
1c2344d217
|
feat: strategy_lifecycle regenerate_all now writes to DB (holdings+strategies+watchlist)
|
2026-06-30 23:47:59 +08:00 |
|
知微
|
dc68739ac4
|
feat: DB migration — enforce currency constraints on holdings/strategies/watchlist/summary tables + price_monitor DB writes
|
2026-06-30 23:46:08 +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 |
|
知微
|
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 |
|