Quant Analyst

Polar Sponsor
爱发电 赞助
.NET 9.0

专业加密货币量化交易系统,支持回测、模拟交易、实盘交易及策略优化

量交易技能:为密码货币市场设计的专业量交易系统,主要包括回试、纸面交易、活贸易以及先进战略优化

功能概述

量交易技能:为密码货币市场设计的专业量交易系统,主要包括回试、纸面交易、活贸易以及先进战略优化是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

量化交易技能

面向加密货币市场的专业量化交易系统,支持回测、模拟交易、实盘交易及高级策略优化功能。

安装

步骤 1:安装技能

clawhub install quant-analyst

步骤 2:克隆并配置项目

# 克隆仓库
git clone https://github.com/ZhenRobotics/openclaw-quant.git ~/openclaw-quant
cd ~/openclaw-quant

# 安装依赖
pip install -r requirements.txt

# 设置 API 密钥(回测可选)
export BINANCE_API_KEY="your-key"
export BINANCE_API_SECRET="your-secret"

步骤 3:验证安装

cd ~/openclaw-quant
python -m openclaw_quant --help

核心功能

  • 回测引擎:基于历史数据进行真实感强的策略测试
  • 模拟交易:使用实时市场数据进行实时仿真
  • 实盘交易:在真实交易所(Binance、OKX 等)自动执行交易
  • 策略优化:采用贝叶斯方法进行参数优化
  • 技术指标:内置 50+ 种常用指标(MA、RSI、MACD、布林带等)
  • 风险管理:仓位控制、止损、止盈
  • 绩效分析:夏普比率、最大回撤、胜率、盈利因子等
  • 多交易所支持:通过 ccxt 库接入 100+ 交易所

适用场景

自动触发(AUTO-TRIGGER) 当用户消息中包含以下内容时:

  • 关键词:backtest、trading strategy、quant、cryptocurrency trading、optimize strategy
  • 请求示例:“测试该交易策略”、“回测均线交叉策略”、“对比特币进行模拟交易”
  • 策略描述:“RSI < 30 时买入,RSI > 70 时卖出”
  • 绩效问题:“夏普比率是多少?”、“计算最大回撤”

触发示例(TRIGGER EXAMPLES):

  • “在比特币上回测均线交叉策略”
  • “针对过去 6 个月优化 RSI 参数”
  • “使用我的动量策略启动模拟交易”
  • “该策略的胜率是多少?”

不适用场景(DO NOT USE):

  • 仅需投资组合追踪(请使用 portfolio-tracker 技能)
  • 仅需价格提醒(请使用 price-alert 技能)
  • 通用加密货币新闻或信息查询

快速入门示例

示例 1:简单移动平均策略

from openclaw_quant import Strategy, Backtest

class MAStrategy(Strategy):
    # 参数(支持后续优化)
    fast_period = 10
    slow_period = 30

    def init(self):
        # 向量化指标计算
        self.fast_ma = self.I(SMA, self.data.Close, self.fast_period)
        self.slow_ma = self.I(SMA, self.data.Close, self.slow_period)

    def next(self):
        # 事件驱动逻辑
        if self.fast_ma[-1] > self.slow_ma[-1]:
            if not self.position:
                self.buy()
        else:
            if self.position:
                self.sell()

# 回测
bt = Backtest(MAStrategy, data, cash=10000, commission=0.001)
result = bt.run()
print(result)
result.plot()

示例 2:RSI 均值回归策略

class RSIStrategy(Strategy):
    rsi_period = 14
    oversold = 30
    overbought = 70

    def init(self):
        self.rsi = self.I(RSI, self.data.Close, self.rsi_period)

    def next(self):
        if self.rsi[-1] < self.oversold:
            if not self.position:
                self.buy()
        elif self.rsi[-1] > self.overbought:
            if self.position:
                self.sell()

bt = Backtest(RSIStrategy, data, cash=10000)
result = bt.run()

示例 3:参数优化

# 自动优化参数
result = bt.optimize(
    fast_period=range(5, 20, 2),
    slow_period=range(20, 60, 5),
    maximize='sharpe_ratio'  # 或 'total_return'、'profit_factor'
)

print(f"最优参数: {result.best_params}")
print(f"夏普比率: {result.sharpe_ratio:.2f}")

示例 4:模拟交易

from openclaw_quant import LiveTrading

# 使用实时数据进行模拟交易
live = LiveTrading(
    strategy=MAStrategy,
    exchange='binance',
    symbol='BTC/USDT',
    paper=True  # 模拟模式
)

live.run()

示例 5:实盘交易

# 实盘交易(请谨慎使用!)
live = LiveTrading(
    strategy=MAStrategy,
    exchange='binance',
    symbol='BTC/USDT',
    paper=False,  # 实盘模式
    api_key=os.getenv('BINANCE_API_KEY'),
    api_secret=os.getenv('BINANCE_API_SECRET')
)

live.run()

智能体使用指南

命令行接口(CLI)

# 回测策略
openclaw-quant backtest --strategy ma_cross --symbol BTCUSDT --days 365

# 参数优化
openclaw-quant optimize --strategy rsi --symbol ETHUSDT --metric sharpe_ratio

# 模拟交易
openclaw-quant paper --strategy ma_cross --symbol BTCUSDT

# 实盘交易
openclaw-quant live --strategy ma_cross --symbol BTCUSDT --confirm

# 查看结果
openclaw-quant results --backtest-id abc123

自然语言交互(通过 OpenClaw Agent)

智能体可理解如下请求:

  • “在比特币上对均线交叉策略进行为期一年的回测”
  • “优化 RSI 参数以最大化夏普比率”
  • “使用我的动量策略,以 10,000 USDT 启动模拟交易”
  • “展示最近一次回测的绩效指标”
  • “我的实盘账户最大回撤是多少?”

绩效指标

系统自动计算全面的绩效指标:

指标 说明
总收益率 整体盈亏百分比
年化收益率 折算为一年期的收益率
夏普比率 风险调整后收益(越高越好)
索提诺比率 仅考虑下行风险的调整后收益
最大回撤 峰值到谷底的最大跌幅
胜率 盈利交易占总交易数的百分比
盈利因子 毛利润 / 毛亏损
卡玛比率 年化收益率 / 最大回撤
单笔平均盈亏 每笔交易的平均盈利或亏损
期望值 每笔交易的预期收益

内置策略

系统预置多种开箱即用策略:

  1. MA Cross:移动平均线交叉策略
  2. RSI Mean Reversion:超卖买入、超买卖出
  3. MACD Momentum:MACD 快慢线交叉
  4. Bollinger Bounce:布林带触边交易
  5. Breakout:支撑/阻力突破策略
  6. Grid Trading:区间网格交易
  7. DCA (Dollar Cost Average):定投策略
  8. Mean Reversion:统计套利策略

技术指标

通过 self.I() 方法可调用 50+ 种指标:

趋势类指标:

  • SMA、EMA、WMA、DEMA、TEMA
  • MACD、ADX、Aroon、Supertrend

动量类指标:

  • RSI、Stochastic、CCI、Williams %R
  • ROC(变动速率)、Momentum

波动率类指标:

  • 布林带(Bollinger Bands)、ATR、Keltner Channels
  • 标准差、历史波动率

成交量类指标:

  • OBV、Volume SMA、MFI、VWAP
  • 累积/派发指标(Accumulation/Distribution)、CMF

风险管理

内置风险管理功能示例:

class MyStrategy(Strategy):
    def init(self):
        # 设置风控参数
        self.risk_per_trade = 0.02  # 单笔风险 2% 资金
        self.stop_loss = 0.05       # 止损 5%
        self.take_profit = 0.10     # 止盈 10%

        self.ma = self.I(SMA, self.data.Close, 20)

    def next(self):
        if self.ma[-1] > self.data.Close[-1]:
            if not self.position:
                # 根据风控参数计算仓位
                size = self.calculate_position_size(
                    risk=self.risk_per_trade,
                    stop_loss=self.stop_loss
                )
                self.buy(size=size)
                self.set_stop_loss(self.stop_loss)
                self.set_take_profit(self.take_profit)

数据源

支持多种数据源:

  1. 交易所 API:Binance、OKX、Bybit 等(通过 ccxt)
  2. CSV 文件:从本地文件加载历史数据
  3. 数据库:PostgreSQL、SQLite(用于缓存)
  4. 实时 WebSocket:获取实时行情数据
# 示例:从 Binance 加载数据
from openclaw_quant import DataFetcher

fetcher = DataFetcher('binance')
data = fetcher.fetch_candles(
    symbol='BTC/USDT',
    timeframe='1h',
    since='2023-01-01',
    limit=1000
)

配置

配置文件示例(config.yaml):

backtest:
  initial_capital: 10000
  commission: 0.001  # 0.1%
  slippage: 0.0005   # 0.05%

strategy:
  name: ma_cross
  parameters:
    fast_period: 10
    slow_period: 30

exchange:
  name: binance
  testnet: false

risk:
  max_position_size: 0.1  # 仓位上限为资金的 10%
  max_drawdown: 0.2       # 回撤达 20% 时停止
  daily_loss_limit: 0.05  # 单日亏损达 5% 时停止

notification:
  telegram:
    enabled: true
    bot_token: "your-token"
    chat_id: "your-chat-id"

项目结构

openclaw-quant/
├── src/
│   ├── openclaw_quant/
│   │   ├── __init__.py
│   │   ├── strategy.py         # 策略基类
│   │   ├── backtest.py         # 回测引擎
│   │   ├── live.py             # 实盘交易引擎
│   │   ├── broker.py           # 订单执行模块
│   │   ├── data.py             # 数据获取模块
│   │   ├── indicators.py       # 技术指标模块
│   │   ├── optimizer.py        # 参数优化模块
│   │   ├── metrics.py          # 绩效指标模块
│   │   └── risk.py             # 风险管理模块
│   └── strategies/
│       ├── ma_cross.py
│       ├── rsi.py
│       └── ...
├── examples/
│   ├── backtest_example.py
│   ├── optimization_example.py
│   └── paper_trading_example.py
├── tests/
├── docs/
├── requirements.txt
└── README.md

运行要求

Python >= 3.9
pandas >= 2.0.0
numpy >= 1.24.0
ccxt >= 4.0.0
optuna >= 3.0.0
matplotlib >= 3.7.0
pydantic >= 2.0.0

故障排查

问题 1:API 连接错误

错误:ccxt.NetworkError 或连接超时

解决方案:

# 检查网络连接
# 确认 API 密钥正确无误
# 测试阶段建议使用测试网:
exchange = ccxt.binance({'enableRateLimit': True, 'options': {'defaultType': 'future', 'testnet': True}})

问题 2:数据不足

错误:策略所需 K 线数量不足

解决方案:

# 增加预热周期(跳过前 N 根 K 线)
bt = Backtest(strategy, data, warmup=100)  # 跳过前 100 根 K 线

# 或获取更多历史数据
data = fetcher.fetch_candles(symbol='BTC/USDT', limit=5000)

问题 3:参数优化耗时过长

解决方案:

# 缩小搜索空间
result = bt.optimize(
    fast_period=range(5, 20, 5),  # 增大步长
    slow_period=range(20, 60, 10),
    max_tries=50  # 限制迭代次数
)

安全准则

回测阶段

  • 务必优先在历史数据上测试
  • 使用符合实际的手续费与滑点设置
  • 警惕过拟合风险
  • 推荐使用滚动向前验证(Walk-forward Validation)

模拟交易阶段

  • 至少持续测试 1–2 周
  • 监控滑点与成交情况
  • 验证策略在不同行情下的表现

实盘交易阶段

  • 初始资金应尽量小额
  • 设定严格的风控限额
  • 首周需持续监控
  • 必须配备紧急熔断机制
  • 切勿投入无法承受损失的资金

性能优化建议

  1. 向量化计算:使用 self.I() 计算指标(一次性完成,避免重复)
  2. 数据缓存:缓存历史数据,减少重复 API 请求
  3. 优化算法:优先选用贝叶斯优化,而非穷举式网格搜索
  4. 并行回测:同时对多个交易对执行回测
  5. WebSocket 接入:使用 WebSocket 获取实时行情(比 REST 更快)

文档资源

  • GitHub 仓库:https://github.com/ZhenRobotics/openclaw-quant
  • 快速入门指南:~/openclaw-quant/QUICKSTART.md
  • API 参考文档:~/openclaw-quant/docs/API.md
  • 策略开发指南:~/openclaw-quant/docs/STRATEGIES.md
  • 完整 README:~/openclaw-quant/README.md

路线图

版本 0.1.0(当前)

  • 基础回测引擎
  • 简易策略(MA、RSI)
  • Binance 支持

版本 0.2.0

  • 模拟交易功能
  • 参数优化模块
  • 新增技术指标

版本 0.3.0

  • 实盘交易功能
  • 多交易所支持
  • 高级风险管理

版本 1.0.0

  • 生产就绪版本
  • Web 仪表盘
  • 策略市场(Strategy Marketplace)

成本说明

  • 开发成本:免费开源(MIT License)
  • 数据成本:免费(使用交易所公开 API)
  • 交易费用:依交易所而定(通常为 0.1%)
  • API 成本:主流交易所均提供免费额度

许可证

MIT License —— 个人与商业用途均免费

技术支持

  • 问题反馈(Issues):https://github.com/ZhenRobotics/openclaw-quant/issues
  • 社区讨论(Discussions):https://github.com/ZhenRobotics/openclaw-quant/discussions
  • ClawHub 页面:https://clawhub.ai/ZhenStaff/openclaw-quant

智能体行为规范

使用本技能时,智能体应遵守以下原则:

应当(DO):

  • 使用前检查项目是否已安装
  • 在实盘交易模式下明确提示相关风险
  • 校验策略参数的有效性与合理性
  • 清晰展示关键绩效指标
  • 解释参数优化结果及其含义

禁止(DON'T):

  • 未经用户明确确认即执行实盘交易
  • 主动推荐特定交易策略
  • 承诺或保证任何盈利或收益
  • 忽略或绕过风险警告提示
  • 提供任何形式的金融投资建议

状态:开发中(Alpha 版本)

作者:@ZhenStaff

最后更新日期:2026-03-05

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习