智能体技能

PyBroker 内置了 智能体技能,为编程智能体提供编写策略、指标、模型和回测的工作流程。

安装

公开技能位于 PyBroker Git 仓库 中的 skills/ 目录下。每个技能都存放在各自的文件夹中,并由标准的 SKILL.md 文件定义。

推荐使用 Skills CLI 来安装它们,该工具支持 Claude Code、OpenAI Codex、Cursor 以及许多其他编程智能体:

# Inside your own working project directory:
npx skills add edtechre/pybroker

该命令会询问要安装哪些技能,以及为哪些智能体安装,然后将每个技能复制到相应智能体的技能文件夹中。添加 --all 即可为检测到的所有智能体安装全部技能,无需任何交互提示。

手动安装

你也可以克隆 PyBroker 仓库,自行将技能软链接过去:

git clone https://github.com/edtechre/pybroker.git

# Inside your own working project directory:
mkdir -p .claude/skills

# Symlink all PyBroker skills into your local Claude config
for skill in /path/to/pybroker/skills/*; do \
    ln -s "$skill" .claude/skills/; \
done

请将 .claude/skills 替换为你自己的智能体所读取的文件夹。

Claude Code

Claude Code 会发现放置在项目根目录下 .claude/skills/ 文件夹中的技能。安装完成后,每个技能及其对应的命令都将在终端中可用。

OpenAI Codex

OpenAI Codex 会在 .agents/skills/ 中发现技能。

Cursor

Cursor 会在 .cursor/skills/ 中发现技能。

Claude Agent SDK

Claude Agent SDK 会从上面安装的 .claude/skills/ 文件夹中发现技能,因此它可以按需加载这些技能,并自动调用它们,无需任何提示词拼装:

pip install claude-agent-sdk
import asyncio
import os

from claude_agent_sdk import ClaudeAgentOptions, query

options = ClaudeAgentOptions(
    cwd=os.getcwd(),
    setting_sources=["user", "project"],
    skills="all",
    allowed_tools=["Read", "Write", "Bash"],
)


async def main():
    async for message in query(
        prompt="Create a mean-reversion PyBroker strategy on AAPL",
        options=options,
    ):
        print(message)


asyncio.run(main())

Pydantic-AI

Pydantic-AI 使用纯 Python 构建智能体。它不会自动搜索技能目录,因此你需要将其 Skills 能力指向上面安装的 .agents/skills 库:

pip install "pydantic-ai-harness[skills]"
from pydantic_ai import Agent
from pydantic_ai_harness.skills import Skills

agent = Agent(
    'anthropic:claude-opus-5',
    capabilities=[Skills('.agents/skills')],
)

result = agent.run_sync("Create a mean-reversion strategy on AAPL")
print(result.output)

可用技能

pybroker-strategy-creator

根据用户意图生成实用的 PyBroker 策略代码,同时保持良好的回测规范,包括无前视泄漏、明确的仓位规模、清晰的风险控制,以及符合规范的 PyBroker API 用法。

在 GitHub 上查看完整的 SKILL.md

pybroker-indicator-creator

编写快速、正确的 PyBroker 指标,方法是使用 pybroker.indicator 注册向量化的 NumPy/Numba 函数,将其接入策略执行函数和模型,并确保每个值都不含前视偏差。涵盖内置指标工厂和向量辅助函数、自定义 Numba @njit 内核、封装 TA-Lib 和 pandas-ta 等第三方技术分析库、使用 IndicatorSet 进行独立计算、由超参数驱动的指标,以及多时间框架区间指标。

在 GitHub 上查看完整的 SKILL.md

pybroker-model-trainer

将机器学习模型接入 PyBroker 回测,方法是使用 pybroker.model 注册训练和预测函数,为其提供指标特征,并通过向前分析对其进行评估,同时确保训练/测试流程不含前视泄漏。涵盖按品种独立训练、多品种联合训练、逐 K 线时间序列模型、滞后特征模型,以及基于 scikit-learn、XGBoost 和 arch 等常用库的预训练模型。

在 GitHub 上查看完整的 SKILL.md

pybroker-optimize

使用 Strategy.optimize 调优 PyBroker 策略超参数,方法是使用 pybroker.hyperparam 声明可调值,将其接入指标和执行函数,并在训练窗口上为每个候选组合评分,然后将胜出的取值在留出的测试数据上重放。涵盖通过集成的 Optuna 后端进行网格、TPE 和随机采样,自定义 Optuna 采样器和 study,跨多个窗口的向前优化,以及从 OptimizeResult 和底层 optuna.Study 中读取结果。

在 GitHub 上查看完整的 SKILL.md

pybroker-multi-interval

构建多时间框架的 PyBroker 策略:在基础时间框架上交易,同时在严格更粗的压缩区间(例如周线和月线)上确认市场状态和趋势。涵盖三种区间格式,通过 add_execution(intervals=...) 提供压缩 K 线,通过 .intervals(...) 绑定来按区间计算指标和训练模型,通过 ctx.interval(...) 读取已完成的 K 线,以及使用 compress_bars 进行独立压缩。策略代码只会看到已完成的压缩 K 线,从而使更高时间框架的逻辑不受未完成 K 线的前视偏差影响。

在 GitHub 上查看完整的 SKILL.md

pybroker-rotational-trading

构建轮动型 PyBroker 策略,持有品种池中排名最高的品种,并轮出失宠的品种。执行函数使用 ctx.long_scorectx.short_score 为品种评分,使用 Strategy.set_max_long_positionsset_max_short_positions 限制仓位,Strategy.enable_rotation(worst_rank_held=...) 会在每根 K 线清仓并从排名最高的候选品种中补充仓位,还可通过 RotationContext 上自定义的 sizer 指定规模。此外还涵盖更简单的排名限仓模式,以及通过 SymbolSelector 选择的动态品种池。

在 GitHub 上查看完整的 SKILL.md