← 归档索引 · 2026-10-06 00:33 · signal-factor-daily
# Cron Job: signal-factor-daily

**Job ID:** 8491e50515d6
**Run Time:** 2026-10-06 00:33:25
**Mode:** no_agent (script)
**Status:** script failed

Script exited with code 1
stderr:
Traceback (most recent call last):
  File "/home/ubuntu/.hermes/scripts/signal_factor_report.py", line 269, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/ubuntu/.hermes/scripts/signal_factor_report.py", line 265, in main
    report(json_out=args.json)
    ~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/home/ubuntu/.hermes/scripts/signal_factor_report.py", line 228, in report
    entry[f"h{h}d"] = _stats(rs, h)
                      ~~~~~~^^^^^^^
  File "/home/ubuntu/.hermes/scripts/signal_factor_report.py", line 186, in _stats
    ic = _spearman(dirs, rets)
  File "/home/ubuntu/.hermes/scripts/signal_factor_report.py", line 155, in _spearman
    from scipy import stats
ModuleNotFoundError: No module named 'scipy'
❌ signal_factor_wrapper.sh: 失败 rc=1 (目标脚本返回非零)
stdout:
回填完成: 成功 0 / 失败 0
❌ signal_factor_wrapper.sh: 执行失败 rc=1
   明细: /tmp/cron_errors/errors.log  (连续3次 → cron_health_watchdog 告警)

📊 因果基因(脚本自证)
- 数据源: ~/stock/data/signal_tracker.db信号台账 + data_hub.get_daily日线(统一数据底座)
- 分析路径: 回填信号后5d/10d收益与止损命中(事件研究法) → 按引擎统计均值/胜率/盈亏比/IC(Spearman) → 引擎×信号类型交叉分层
- 判断: 因子表=各引擎信号质量依据供下游筛选回测;回填或统计出错=on_fail上报留痕