SuperAPI AI 工具集

zeberg-salomon-rotator

数据与分析

查看项目

更新于 10-16 07:06

技能介绍

用途

zeberg-salomon-rotator 用领先指标与同时指标建构景气模型,判读景气的两种阶段——景气扩张期(Risk-On)与景气收缩期(Risk-Off),并根据理论给出「撞冰山」与「下沉」事件信号,同时产生两种状态之间的切换事件。

模型逻辑

Zeberg–Salomon 模型将市场简化为两种状态:

  • RISK_ON:持有股票(默认 SPY),对应景气扩张期。
  • RISK_OFF:持有长债(默认 TLT),对应景气收缩期。

切换逻辑基于「领先指标先转弱,同时指标后确认」的景气循环规律。指标分为两类:Leading(预警,典型成分为殖利率曲线、新订单、房市许可,领先时间约 6-12 月);Coincident(确认,典型成分为就业、工业生产、实质收入,同步)。

合成方式:各序列做 transform(yoy/mom/diff)、统一方向(direction +1/-1)、Rolling z-score 标准化、EMA 平滑、加权合成。

事件定义:

  • Iceberg Event:LeadingIndex < iceberg_threshold,属预警,表示景气开始转弱,可搭配「领先指标下降」与可选的「市场亢奋」滤镜。
  • Sinking Event:CoincidentIndex < sinking_threshold,属确认,表示实体经济收缩,通常在 Iceberg 之后数月发生。

状态机逻辑:RISK_ON → RISK_OFF 需 Iceberg 连续确认且斜率为负;RISK_OFF → RISK_ON 需领先指标回升超过 (threshold + hysteresis)。

主要能力

  • 建构指标:从 FRED 数据合成 LeadingIndex 与 CoincidentIndex。
  • 侦测事件:识别「冰山」(领先转弱)与「下沉」(同时确认)。
  • 切换信号:产生 RISK_ON ↔ RISK_OFF 切换事件。
  • 回测绩效:计算累积报酬、MaxDD、CAGR,并与 benchmark 比较。
  • 输出:切换事件清单、指标时间序列、回测摘要、诊断信息。

工作流包括 backtest(完整历史回测)、visualize(生成视觉化图表)、monitor(持续监控状态)、analyze(深度指标分析)。

数据来源

本 skill 使用无需 API key 的资料源:FRED CSV(https://fred.stlouisfed.org/graph/fredgraph.csv?id={SERIES_ID})与 Yahoo Finance(yfinance 套件抓取 SPY, TLT, VIX)。

使用方式

最快的方式是执行预设回测:

cd skills/zeberg-salomon-rotator
pip install pandas numpy yfinance pandas-datareader  # 首次使用
python scripts/rotator.py --quick

输出范例:

{
  "state": "RISK_ON",
  "latest_indices": {"LeadingIndex": 0.41, "CoincidentIndex": 0.22},
  "iceberg_event": false,
  "sinking_event": false,
  "last_switch": {"date": "2023-06-30", "action": "EXIT_LONG_BOND_ENTER_EQUITY"}
}

完整回测:

python scripts/rotator.py --start 2000-01-01 --end 2026-01-01 --output result.json

脚本包括 rotator.py(主轮动脚本,--quick 快速检查当前状态,--start DATE --end DATE 完整回测)、visualize.py(-i result.json -o chart.png 生成视觉化图表)、fetch_data.py(--series T10Y3M,PAYEMS 抓取 FRED 资料)。

核心参数

start_date 默认 2000-01-01;end_date 默认 today;freq 默认 M(月);equity_proxy 默认 SPY;bond_proxy 默认 TLT。门槛参数:iceberg_threshold 默认 -0.3;sinking_threshold 默认 -0.5;confirm_periods 默认 2;hysteresis 默认 0.15。

输出结构

输出包含 skill、as_of、state(RISK_ON 或 RISK_OFF)、latest_indices(LeadingIndex、CoincidentIndex、iceberg_event、sinking_event)、switch_events、backtest_summary(cagr、max_drawdown、turnovers)。

执行成功时应产出:当前状态、LeadingIndex 与 CoincidentIndex 数值、冰山/下沉事件判定、切换事件清单(含日期、原因)、回测绩效摘要(CAGR、MaxDD、换手次数)、与 benchmark 比较(买入持有、60/40)、诊断信息(各指标贡献),以及可选的可视化图表(输出至 output/ 目录)。

目录结构

zeberg-salomon-rotator/ 包含 SKILL.md、skill.yaml、manifest.json、workflows/(backtest.md、visualize.md、monitor.md、analyze.md)、references/(data-sources.md、methodology.md、input-schema.md)、templates/(output-json.md、output-markdown.md)、scripts/(rotator.py、visualize.py、fetch_data.py)。

适用场景与限制

适用于需要依据景气循环进行股票与长债之间轮动判断、并做历史回测与状态监控的场景。资料中未提供收费、价格、平台支持范围、实际投资绩效保证或使用限制的更多细节,暂未提供。