xxm
|
ea77bd5afd
|
异常浮窗+统一告警通道+冷却1小时: alert_logger统一异常写入(alerts.json+history.log+XMPP), 前端右上角浮动异常区(自动展开5秒折叠,只显示active), price_monitor接入异常钩子(重评失败/拉取失败/DB同步), 冷却30分->1小时+15分5%突发例外
|
2026-08-13 00:35:53 +08:00 |
|
hmo
|
c99813a53a
|
feat: 事项四健康监控注册——health_monitor_daily每日跑v_weak+v_oversold健康检查(实盘浮盈vs回测基线5y偏差写strategy_health+告警)+cron 16:45, 修无实盘时health=50误报偏低告警
|
2026-08-12 21:59:34 +08:00 |
|
hmo
|
52ed188fa9
|
feat: LLM提示词补波段出场形态判断——趋势判断加'连续2日收破MA10→弱可波段先出/回稳+新高→稳可波段再进'(k线形态由LLM判断不在代码硬编码,老莫原则)
|
2026-08-12 21:28:28 +08:00 |
|
hmo
|
db852e291a
|
feat: live_data_collector正式化到deploy/profile-scripts(git跟踪)——实盘数据累积(资金流/热度/龙虎榜代理/市场状态分析,数据加工层),修deploy_guard UNTRACKED+CRON_MISSING
|
2026-08-12 16:14:17 +08:00 |
|
hmo
|
4b751cc319
|
fix: premarket_full_review修import路径——from scripts.watchlist_auto_exit改from watchlist_auto_exit(同目录模块,修ModuleNotFoundError,环节4每日重评恢复)
|
2026-08-12 15:43:33 +08:00 |
|
hmo
|
bd010004ea
|
feat: F健康cron来源标记+开发原则横幅——pipelines加source字段(hermes/system_crontab),扫描系统crontab的MoFin任务标红'系统cron(违规)',顶部横幅'禁止系统crontab部署自动任务统一hermes'+违规统计
|
2026-08-12 15:19:09 +08:00 |
|
hmo
|
b7d040b40c
|
fix: layers_health DB路径修正——DB_PATH未定义改完整路径/home/hmo/MoFin/data/mofin.db
|
2026-08-12 10:56:13 +08:00 |
|
hmo
|
5b978e20e4
|
feat: F健康三层改造step3——自检体系加三层架构健康卡片(采集/加工/使用各层数据新鲜度+覆盖+任务状态)
|
2026-08-12 10:52:15 +08:00 |
|
hmo
|
7836b5cf75
|
fix: 指标口径统一——indicators.calc_atr改EMA平滑(与backtest_framework完全一致),消除回测EMA/实盘SMA的3.59%口径分裂,回测实盘同口径
|
2026-08-12 10:44:21 +08:00 |
|
hmo
|
52b808381c
|
refactor: p_oversold扫描器改读加工层——compute_market_filters读market_indicators+bias60/mcap_q/pe_q读stock_indicators+fetch_sector_momentum改查stock_sectors_em,不再fetch_tx_klines采集(使用层只读不采集,口径与回测一致)
|
2026-08-12 10:31:56 +08:00 |
|
hmo
|
9577e49762
|
feat: F健康三层架构改造step1——entities/pipelines加layer字段(TABLE_LAYER表归属+PIPELINE_LAYER任务归属,采集/加工/使用三层)
|
2026-08-12 10:00:52 +08:00 |
|
hmo
|
230e2fc623
|
feat: factor_engine集成mcap_q/pe_q分位加工——stock_fundamentals全市场排序bisect算横截面分位,存stock_indicators(不重复存PE/市值,只存衍生分位)
|
2026-08-12 09:45:37 +08:00 |
|
hmo
|
f0cd3b2d9d
|
feat: 数据加工层核心——factor_engine技术指标加工(stock_indicators个股26指标+market_indicators大盘7指标,复用backtest_framework权威算法统一口径,cron 17:05)
|
2026-08-12 09:39:24 +08:00 |
|
hmo
|
958a0d51a4
|
feat: 缺口4修复——fundamentals_full_refresh全市场基本面刷新(4013只腾讯批量API每批100只~2分钟,cron 16:35)+news 4个包装脚本
|
2026-08-12 09:20:19 +08:00 |
|
hmo
|
e876e85a85
|
feat: 缺口2修复——news_collector_full全市场新闻采集(4013只东财search-api按code搜,只存近3天,4批cron盘前7:30-8:00)+4个包装脚本
|
2026-08-12 09:09:53 +08:00 |
|
hmo
|
8879815b0f
|
feat: 缺口3修复——sector_index_builder加工层行业指数聚合(stock_sectors_em权威映射5061只/307行业+stock_daily成分股等权聚合,统一em命名,与回测prepare_sector_context对齐)+cron 17:00
|
2026-08-12 09:00:12 +08:00 |
|
hmo
|
de127d229d
|
feat: 缺口1修复——全市场日K采集daily_kline_collector(4013只,sh/sz分批,0.05s间隔防封,600s护栏)+2个cron(16:10sh/16:25sz)
|
2026-08-12 08:32:23 +08:00 |
|
hmo
|
d61bd7024e
|
feat: predictive_oversold_scanner完善——真实全市场PE/市值分位(get_market_percentile)+行业20日动量(fetch_sector_momentum),替代简化值
|
2026-08-11 15:20:09 +08:00 |
|
hmo
|
c582853873
|
fix: mofin_health LLM故障误报修复——移除'finish_reason'错误模式(正常完成标志,非错误),连续误报根因
|
2026-08-11 15:08:56 +08:00 |
|
hmo
|
1f77f57713
|
fix: promote_candidates加p_oversold RR例外——超跌反弹候选跳过RR>=2.0门槛(用专属评估替代),SELECT加sector字段
|
2026-08-11 13:04:12 +08:00 |
|
hmo
|
4e324cca8c
|
fix: price_monitor 告警只在连续竞价时段(9:30-11:30/13:00-15:00)触发——9:17集合竞价误报688002暴跌根因修复,竞价期虚拟价格不触发告警
|
2026-08-11 09:40:20 +08:00 |
|
hmo
|
4c949f7737
|
fix: predictive_oversold_scanner 大盘指数代码修复——用000001(自动加sh前缀),不能用sh000001
|
2026-08-11 08:51:07 +08:00 |
|
hmo
|
deedf8b09e
|
feat: 创建 predictive_oversold_scanner.py——预测超跌反弹策略扫描器(v5信号+大盘门控+幂等+方案C写入),基于indicators/market_data公共模块
|
2026-08-11 08:46:28 +08:00 |
|
hmo
|
0ef84d34d5
|
refactor: 工具函数抽取公共模块——indicators.py(指标)+market_data.py(数据),mr/s2扫描器改为公共模块import(消除策略扫描器互import)
|
2026-08-11 08:20:09 +08:00 |
|
hmo
|
d768b57523
|
refactor: market_watch 移除mr_scanner/s2_scanner嵌入调用——策略扫描器独立调度(单一职责),market_watch只做板块采集+regime
|
2026-08-11 07:15:06 +08:00 |
|
hmo
|
5ee934593b
|
refactor: P0清理——归档根目录market_watch旧版分叉/get_realtime_prices死代码,删除promote_candidates备份残留(消除代码多版本)
|
2026-08-11 06:52:53 +08:00 |
|
hmo
|
e4c9f3e0ef
|
cron: 统一调度通道——price_monitor/market_watch 停crontab版,保留hermes版(price */2 9-16含港股, market */10 A股时段)
|
2026-08-11 05:57:51 +08:00 |
|
hmo
|
89cf0dd122
|
feat: crontab 权威模板(deploy/crontab)——crontab纳入git管理,停用cron_to_xmpp双通道(crontab版注释保留)
|
2026-08-11 05:30:56 +08:00 |
|
hmo
|
c8f06fa1d4
|
fix: run_all_tests 修正3处过时断言(总资产允许5%汇率偏差/frozen_cash<1/price_monitor is_hk_stock引用错误)
|
2026-08-11 04:36:06 +08:00 |
|
xxm
|
a5a0a46fe9
|
docs: 文档治理2026-08-11——归档7份过时文档+57份研究过程文档,重写README,新增doc-audit核实报告
|
2026-08-11 03:31:14 +08:00 |
|
xxm
|
d3990cc3b1
|
fix: preflight_verify 提示词registry路径 projects/MoFin -> MoFin(修复钉对钉18项中1项失败)
|
2026-08-11 03:29:25 +08:00 |
|
xxm
|
3254d4d9e0
|
fix: refresh_mtf_cache 循环后补 flush_mtf_cache 写回 mtf_cache 表(修复缓存no-op)
|
2026-08-11 03:29:24 +08:00 |
|
xxm
|
8780816569
|
fix: fix_gateway_port v3 修复自愈反噬死循环(冷却30min+等待120s+LLM端点故障不重启只告警)
|
2026-08-10 22:35:18 +08:00 |
|
xxm
|
251b52e427
|
fix: mofin_health 输出缺失检测逻辑(不依赖last_run)
|
2026-08-10 18:41:54 +08:00 |
|
xxm
|
4d8fde5856
|
feat: mofin_health cron输出缺失检测(hermes失败静默补偿)
|
2026-08-10 18:39:33 +08:00 |
|
xxm
|
55893bedd7
|
fix: mofin_health LLM告警级别修正(WARNING→INFO)
|
2026-08-10 18:35:44 +08:00 |
|
xxm
|
7478f092f5
|
feat: mofin_health LLM失败告警推送(规范5.5)
|
2026-08-10 18:32:27 +08:00 |
|
xxm
|
1b997a6d6f
|
feat: mofin_health 加 LLM 端点错误日志监控(规范5.5)
|
2026-08-10 18:30:35 +08:00 |
|
xxm
|
4e10ca9ab1
|
feat: candidate_filter 加单例守卫(规范5.3)
|
2026-08-10 15:19:47 +08:00 |
|
xxm
|
79980ce991
|
fix: candidate_filter pass_final死角——低分候选7天重审窗口
|
2026-08-10 14:29:54 +08:00 |
|
xxm
|
9f82a9b1a2
|
fix: promote_candidates 超时修复——限批10+单例守卫+重评超时120s+时长护栏500s
|
2026-08-10 14:22:00 +08:00 |
|
xxm
|
aa85fc218e
|
fix: 扫描器幂等检查误伤——watchlist回归池不算扫描产出
- watchlist_auto_exit回归池硬编码sector='v_mr', 污染幂等检查
- 导致ADX在甜区(28.2)时v_weak整天被误判'已扫过'而跳过
- 幂等收紧为只认扫描器自己的reason格式(v_weak/v_mr精选/S2恐慌买)
|
2026-08-06 00:25:06 +08:00 |
|
xxm
|
2bca726418
|
fix: market_watch/mr_scanner/s2_scanner 统一加装自愈式单例守卫
- 与price_monitor同模式: 新鲜实例在跑则退出, 卡死超时则SIGKILL接管
- market_watch 600s / 扫描器 1500s 阈值
- 落实2026-08-05重型任务资源约束铁律第4条
|
2026-08-05 15:23:00 +08:00 |
|
xxm
|
4baa1542ca
|
feat: heavy_run.sh 重型任务受控运行器(防资源事故)
- flock单重型任务锁(同时只许一个)
- nice19+ionice最低档(让位生产服务)
- systemd-run MemoryMax6G/CPUQuota150%(防单进程吃光)
- load1>4拒绝启动(负载预检)
铁律: 246是生产命脉, 研究型重负载必须经此脚本运行
|
2026-08-05 15:07:47 +08:00 |
|
xxm
|
7da799d4db
|
fix: price_monitor自愈式单例守卫(进程堆积事故)
- cron每2分钟拉起+外网抖动挂起+timeout仅SIGTERM杀不动 → 5并发烧155%CPU
- 新鲜实例在跑则退出(防堆积); 卡死>300s则SIGKILL接管(自愈)
- 符合进程生命周期铁律(防重复启动+卡死检测+自动清理)
|
2026-08-05 14:57:10 +08:00 |
|
xxm
|
3545d677fc
|
feat: market_watch调度链挂S2扫描器(策略家族S1+S2并列运行)
|
2026-08-05 13:04:24 +08:00 |
|
xxm
|
6973d3599b
|
feat: S2恐慌买超跌实盘扫描器上线(策略家族S1+S2同时运行)
s2_scanner.py(§39定稿):
- 门控: 大盘RSI14<25(极端恐慌), 从stock_daily计算与回测零偏差
- 个股: bias60<-6.8 + r5f<-10(5日深崩) + dist_lo20>=10(崩前强势)
- 排序: r5f升序(崩最深优先, 深崩74%wr>浅崩55%wr)
- 候选写sector=s2_panic(与v_weak的v_mr管道分离), top15/日幂等
- 单测: 正确画像命中/浅崩/贴低/超MA60三种错误样本全正确拦截
market_watch.py: 每10分钟调度链挂s2_scanner子进程调用(与mr_scanner并列)
回测依据§39: 3261信号/avg+16.6%/wr85.6%, S1+S2组合8槽ret344.9%/年化18.7%
|
2026-08-05 13:03:13 +08:00 |
|
xxm
|
b82bd9ac1b
|
feat: mr_scanner切换v_weak参数(v_mr精选版已证伪)
v_weak六条件(与回测严格对齐, docs/v_mr_strategy.md §19/§21):
- bias60∈[-35,-20) + RSI≤25 + 5日急跌≤-3% + 距20日低点<5% + 收阳 + 缩量vol5/vol20<1.0
- 出场 tp30%/sl12%/40日(RR2.5)
- 排序: bias60升序(最深超跌优先, §15自然序)
- 门控保留: trend_down/choppy + 大盘ADX甜区[25,30)
- 候选仍写sector=v_mr(管道槽位不变, 下游兼容)
- 回测: 234笔/wr62.4%/avg+7.17%/8槽ret178.3%/cagr12.8%/dd16.4%
|
2026-08-05 08:35:31 +08:00 |
|
xxm
|
880d384886
|
feat: 自选退出回归选股池(watchlist_auto_exit改造) — 废除策略后票回候选池
老莫指出策略需退出机制且回归选股池。发现现役watchlist_auto_exit.py已是完整退出机制
(卖出信号/超买区20%/跌破买区15%/死水3连/RR<1.5), 但DELETE后票直接消失不回归。
改造: DELETE前 INSERT candidates(清除dropped/promoted), 票回归选股池重走完整流程。
删除重复的strategy_expiry.py(与现役机制冲突)
|
2026-08-03 23:09:37 +08:00 |
|
xxm
|
0e592e5c02
|
feat: 策略失效机制(strategy_expiry.py) — 候选策略退出回归选股池
老莫指出策略越来越多缺乏退出机制。自选策略(候选)设定买入区后:
- 跌穿失效: price<entry_low×0.85 跌破买入区15%
- 涨过头失效: price>entry_high×1.20 涨过20%不再可能回落
- 超时失效: 45天未回到买入区
失效动作: status→closed+superseded_at, 票回归选股池重走完整流程
只处理未持仓候选, 不动已持仓(有止损止盈管理)
cron: 每日16:00 1-5
|
2026-08-03 23:03:36 +08:00 |
|