金融与投行 markov-chainregime-detectionhidden-markov-modelyfinancewalk-forward-backtestpine-scriptquant-tradingrisk-filter

马尔可夫对冲基金法(Regime 市场状态检测)

为任意资产检测牛/熊/震荡三种市场状态,输出可交易的信号或风险过滤层,直接嵌入你已有的交易策略。

FollowSkills 评估 · FSRS-2.0
不推荐
45/ 100 五分制 2.3 / 5
1 2 3 4 5 6
1信任安全14 / 25 · 2.8/5

只读数据分析,无需API密钥或账户,明确披露数据流(yfinance或用户CSV),HMM优雅降级,免责声明清晰,MIT许可与框架归属(Roan)明确。扣分:实际脚本未提供,无法验证其确实做到最小权限与输入校验;依赖通过uv从PyPI动态解析,无锁定清单,未声明依赖审计;无回滚机制。

2可靠稳定8 / 20 · 2.0/5

文档自洽:JSON契约逐字段定义、失败时输出{"error}并退出非零、HMM降级路径、walk-forward无前瞻声明均一致。扣分:脚本源码不在评审范围内提供,关键路径(矩阵估计、NaN处理、CSV列自动检测)无法静态复核,测试与边界用例未见。

3适用触发7 / 15 · 2.3/5

触发语义清晰:明确列举适用场景(regime检测、确认层、风险门控、仓位过滤)与输入(ticker或CSV),参数默认值与非适用情形有说明。扣分:中文支持未提及;yfinance在中国大陆网络可能不可达,核心功能依赖外部服务;对短历史数据的行为仅在walk_forward NaN处部分披露。

4规范维护8 / 15 · 2.7/5

文档分层良好(README→SKILL.md→JSON契约表→组合模式),许可文件完整(MIT),归属清晰,提供zero-trust手动安装路径。扣分:仓库许可元数据为NOASSERTION;SKILL.md无版本号或变更日志;维护责任与更新路径未明确(个人YouTube频道链接不构成维护承诺)。

5有效结果5 / 15 · 1.7/5

声明能力完整且组合模式给出可直接套用的代码片段,边际价值(信号/风险过滤层)表述具体。扣分:静态评审无法验证输出确实可直接使用;walk-forward回测的正确性与Sharpe数值无从核对;金融收益声明按锚点需执行证据,未达标。

6证据核验3 / 10 · 1.5/5

有可审计的一手材料:完整的JSON契约、参数默认值、与视频演示一致的复现参数(--threshold 0.02),并引用原始文章。扣分:无测试套件、无提交的第三方执行证据、回测结果无样本输出可交叉核对,事实与推断的区分依赖作者自述。

证据充分度: 评估于 2026年9月10日 审查版本 fe24cf942687
使用前请注意
  • 本次为静态评审,未执行任何代码;脚本逻辑、回测数值与JSON输出均未经独立验证。
  • 依赖由uv在首次运行时从PyPI动态解析且无锁定版本,存在供应链风险;建议审查PEP 723内联依赖并固定版本。
  • yfinance在中国大陆网络可能不可达,核心ticker路径或无法使用;可改用--csv自备数据。
  • 输出为交易信号,仅供教育用途;使用前务必用walk-forward Sharpe与最大回撤自行验证,勿直接用于实盘仓位。
  • 仓库许可元数据为NOASSERTION,发布者未经验证;SKILL.md无版本号与变更日志,更新时请核对差异。
评估证据 [1][2][3]
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是 Quant 系列视频第一集的配套技能,框架来自 Roan(@RohOnChain),由 Lewis Jackson 重构为插件。它通过滚动收益率规则给任意资产生成 Bull/Bear/Sideways 标签,用最大似然法构建 3×3 转移矩阵,并通过 Chapman-Kolmogorov 方法进行 n 步前瞻预测,同时输出长期平稳分布和无前视偏差的 walk-forward 回测指标(Sharpe、最大回撤)。输入可以是 yfinance 的任意代码(股票、ETF、加密货币、外汇、期货)或用户自己的 CSV 价格文件。设计目标是作为一层叠加到现有交易代理或策略上,而不需要重写原策略。

运行 scripts/markov_regime.py 脚本:接收 --ticker(经 yfinance 拉取价格)或 --csv(仅需日期列和收盘列,自动识别常见列名);按默认参数(20 日窗口、±5% 阈值、10 年历史)标记每个交易日的市场状态;用历史数据估计 3×3 马尔可夫转移矩阵;计算下一步状态概率和平稳分布;输出信号 = bull_prob − bear_prob(范围 [-1, 1]);执行逐步重新估计、无前视偏差的 walk-forward 回测并报告 Sharpe 和最大回撤;可选地用 hmmlearn 拟合隐马尔可夫模型(编译失败时优雅降级)。加 -- 时输出一个结构化的 JSON 对象,字段包括 current_regime、signal、transition_matrix、stationary_distribution、walk_forward 等。

  1. 已有动量策略的交易者,想在入场前加一道市场状态确认:只有策略方向与 regime 信号一致时才开仓
  2. 风险管理场景:用平稳分布中的熊市占比作为仓位缩放或硬性闸门,熊市基线过高的资产直接不交易
  3. 想快速评估某个资产(如 BTC-USD、AAPL)当前处于什么状态、粘性多强、方向概率如何的个人投资者
  4. 手上有自己的价格数据(CSV)的量化研究者,想在任意资产或时间周期上跑同一套状态检测
  5. TradingView 用户,想用配套的 Pine Script v5 指标在图表上直观看到状态色带、实时转移矩阵和平稳分布表

这个 Skill 有哪些优点和局限?

优点
  • 零信任友好:保留原始构建提示词,可本地逐行审查后再安装
  • 无前视偏差的 walk-forward 回测,逐步重新估计转移矩阵
  • 资产无关:任何 yfinance 覆盖的代码或自有 CSV 均可,输入要求极低(一个日期列加一个收盘列)
  • HMM 编译失败时优雅降级,其余字段仍然有效;JSON 输出契约清晰,易于程序集成
  • 附赠 TradingView Pine Script 指标,可视觉化验证框架
局限
  • 回测是历史数据,不构成前瞻性预测,仓库自己也声明了这一点
  • 许可在 GitHub 元数据中标记为 NOASSERTION,仅 README 声称 MIT(指向仓库上层目录的 LICENSE),需要自行核实
  • 未见独立的测试套件或第三方审计;README 缺少 topics 且无正式版本发布信息
  • walk-forward 的 Sharpe/最大回撤在历史过短时可能为 NaN;HMM 状态按平均收益排序标注,"熊市"状态也可能为正收益,解读时需注意
  • Pine 指标基于 TradingView v5,与 Python 端的默认参数一致但属于独立实现,二者的一致性无测试佐证

如何安装这个 Skill?

在 Claude Code 中执行两条命令即可:/plugin marketplace add jackson-video-resources/markov-hedge-fund-method 然后 /plugin install markov-hedge-fund-method@markov-hedge-fund-method。无需 API 密钥、无需账户、无需 sudo,依赖由 uv 在首次运行时自动解析(PEP 723 内联元数据,约 10-20 秒)。如果不想从市场安装,仓库中的 markov-hedge-fund-method.md 是录制视频时的原始一次性构建提示词,可粘贴到 Claude Code 让它现场从零构建同样的逻辑,作为零信任的替代路径。

如何使用这个 Skill?

安装后用 /markov-hedge-fund-method:regime 调用,或直接用自然语言提问,例如「检测 BTC-USD 的市场状态」「给我的 SPY 动量策略加一个状态确认过滤器」「AAPL 的长期状态分布是否熊市占比过高」。程序化调用示例:uv run ${CLAUDE_PLUGIN_ROOT}/scripts/markov_regime.py --ticker BTC-USD --,或用 --csv ./my_prices.csv 替代自己的数据。去掉 -- 可看到格式化的终端输出(矩阵、对角粘性、walk-forward 指标、HMM 曲线)。所有默认参数(--window 20、--threshold 0.05、--years 10、--min-train 252)均可覆盖。

这个 Skill 与同类方案有什么区别?

仓库本身没有列出竞品。其定位是通用的市场状态检测层(马尔可夫转移矩阵 + 可选 HMM),与将 regime 作为内置特征之一的量化回测框架相比,本技能刻意保持轻量、可组合,不要求替换你现有的策略或回测栈。

常见问题

需要付费或 API 密钥吗?
不需要。README 明确说明无 API 密钥、无账户、无 sudo;依赖由 uv 在首次运行时自动解析。yfinance 拉取公开数据本身免费。
fail 时会发生什么?
加 -- 时失败只输出 {"error": "..."} 并以非零码退出。HMM 若无法编译(如无 MSVC 的 Windows)会优雅降级,hmm.available 为 false 并给出原因,其余字段照常有效。
信号可以直接拿来下单吗?
SKILL.md 建议先用不带 -- 的输出检查 walk-forward Sharpe 和最大回撤做合理性验证,再考虑用真实资金。仓库反复强调回测是历史性质,不代表未来表现。
我自己的数据能用吗?格式有什么要求?
可以,用 --csv 传入。只需一个日期列和一个收盘列,脚本会自动识别常见列名(date/time/timestamp、close/adj close/price/last);若只有一个数值列则直接使用,无需重新排版。

相关 Skills