80 lines
4.4 KiB
Python
80 lines
4.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""策略域监控注册表 — v1.3 十一检(数据面 monitor_registry 的策略镜像).
|
|
|
|
初值阈值跑两周后校准(数据轨同款纪律)。
|
|
闸门字段:
|
|
trading_day=True → 交易日闸门: 日历=确认集(dbbardata 000300 实证)∪近 15 日
|
|
工作日假定集(剔 EXCHANGE_HOLIDAYS 休市表日, 表缺年不剔);
|
|
今日不在并集=周末/连休, 检查整体不评(不误开也不消解);
|
|
在并集但不在确认集=未确认工作日, 红级违例降黄
|
|
(节假日/日历源滞后三态容忍, data_monitor 同款)。
|
|
(weekday 键已随 logs_stale 迁 trading_day 退役——10-05)
|
|
shifts: morn 08:05 盘前 / eve 21:30 盘后 / noon 午间按需(不注册 schtask)。
|
|
"""
|
|
REGISTRY = [
|
|
{"key": "strategy.engines_expected", "fn": "engines_expected",
|
|
"shifts": ("morn", "noon"), "severity": "red", "trading_day": False,
|
|
"expected": 3, "enabled": True,
|
|
"title": "运行引擎数≠期望(paper_accounts running; 10-01 _ex四实例退役后=58/59/63)"},
|
|
{"key": "strategy.engines_actual", "fn": "engines_actual",
|
|
"shifts": ("morn", "noon"), "severity": "red", "trading_day": False,
|
|
"enabled": True,
|
|
"title": "wmic 实存 shadow 进程数≠DB running 数"},
|
|
{"key": "strategy.engines_no_restart", "fn": "engines_no_restart",
|
|
"shifts": ("morn", "noon"), "severity": "red", "trading_day": False,
|
|
"lookback_confirmed": 3, "enabled": True,
|
|
"title": "引擎会话日盘窗重生(§11.0,近3确认交易日 09:15-15:30)"},
|
|
{"key": "strategy.logs_error_storm", "fn": "logs_error_storm",
|
|
"shifts": ("morn", "noon"), "severity": "yellow", "trading_day": False,
|
|
"window_hours": 26, "max_errors": 20, "enabled": True,
|
|
"title": "引擎日志(live+shadow)26h 窗 ERROR/Traceback 超带"},
|
|
{"key": "strategy.logs_stale", "fn": "logs_stale",
|
|
"shifts": ("morn",), "severity": "yellow", "trading_day": True,
|
|
"max_age_days": 4, "enabled": True,
|
|
"title": "引擎日志(live+shadow)停滞(>4 天无新写)"},
|
|
{"key": "strategy.is_report_ran", "fn": "is_report_ran",
|
|
"shifts": ("eve",), "severity": "yellow", "trading_day": True,
|
|
"enabled": True,
|
|
"title": "偏差日报当日行缺失(20:45 后未跑)"},
|
|
{"key": "strategy.is_identity_resid", "fn": "is_identity_resid",
|
|
"shifts": ("eve",), "severity": "red", "trading_day": True,
|
|
"tol": 1e-4, "enabled": True,
|
|
"title": "恒等式残差超容差"},
|
|
{"key": "strategy.orders_leftover", "fn": "orders_leftover",
|
|
"shifts": ("eve",), "severity": "red", "trading_day": True,
|
|
"enabled": True,
|
|
"title": "订单链在途残留(open/ack/partial)"},
|
|
{"key": "strategy.fills_vs_paper", "fn": "fills_vs_paper",
|
|
"shifts": ("eve",), "severity": "red", "trading_day": True,
|
|
"amount_tol": 0.01, "enabled": True,
|
|
"title": "双轨配对当日成交对账不平(live↔shadow 逐对)"},
|
|
{"key": "strategy.weekly_ran", "fn": "weekly_ran",
|
|
"shifts": ("eve",), "severity": "yellow", "trading_day": True,
|
|
"enabled": True,
|
|
"title": "本周周报行缺失"},
|
|
{"key": "strategy.data_monitor_alive", "fn": "data_monitor_alive",
|
|
"shifts": ("morn", "eve"), "severity": "red", "trading_day": False,
|
|
"max_age_hours": 26, "enabled": True,
|
|
"title": "data-monitor健康文件停滞(>26h两班全死,互为外盯)"},
|
|
]
|
|
|
|
# 假定集剔除用(10-03 假黄根治, b24f905 data 侧同治)。2026 表=VPS dbbardata
|
|
# 000300 实证(至 1002)+交易所 2026-09-17 中秋国庆公告(1001~1007 休,
|
|
# **10-08[周四]复市**——勿沿用 10-09 旧误记)。与 data 域
|
|
# scripts/data_platform/monitor_registry.EXCHANGE_HOLIDAYS 逐字同步
|
|
# (tests/portfolio/test_strategy_monitor.py 强制两表相等, 单边改 CI 即红);
|
|
# data 侧年更闸强制其表含当年, 经同步测传导到我表。表缺年=不扣假定集
|
|
# (黄照旧绝不静默转绿)。错登真交易日会掩盖真缺失——只登实证/官方公告日,
|
|
# 勿凭记忆添。
|
|
EXCHANGE_HOLIDAYS = {
|
|
2026: {
|
|
"20260101", "20260102", # 元旦
|
|
"20260216", "20260217", "20260218", "20260219", "20260220", "20260223", # 春节
|
|
"20260406", # 清明
|
|
"20260501", "20260504", "20260505", # 劳动节
|
|
"20260619", # 端午
|
|
"20260925", # 中秋
|
|
"20261001", "20261002", "20261005", "20261006", "20261007", # 国庆(1008 复市)
|
|
},
|
|
}
|