讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

剧云
剧云

中文短剧剧本制作平台

updream

一键生成高质量推广成片

Quant Trader

Polar Sponsor
爱发电 赞助
.NET 9.0

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

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

功能概述

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

核心要点

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

使用与执行

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

结果检查与注意事项

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

量化交易技能

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

安装

步骤 1:安装技能

clawhub install quant-trader

步骤 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
  • 请求示例:“测试该交易策略”、“回测 MA 交叉策略”、“对比特币进行模拟交易”
  • 策略描述:“RSI < 30 时买入,RSI > 70 时卖出”
  • 绩效相关问题:“夏普比率是多少?”、“计算最大回撤”

触发示例(TRIGGER EXAMPLES):

  • “在比特币上回测移动平均线交叉策略”
  • “对过去六个月的 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()

Agent 使用指南

命令行接口(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)

Agent 可理解如下请求:

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

绩效指标

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

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

内置策略

系统预置多种即用型策略:

  1. MA Cross:移动平均线交叉策略
  2. RSI 均值回归:超卖买入、超买卖出
  3. MACD 动量:MACD 线与信号线交叉
  4. 布林反弹:交易布林带触碰点
  5. 突破策略:支撑/阻力位突破
  6. 网格交易:在震荡区间内低买高卖
  7. DCA(定投):定期定额累积
  8. 均值回归:统计套利策略

技术指标

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

趋势类指标:

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

动量类指标:

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

波动率类指标:

  • 布林带、ATR、Keltner 通道
  • 标准差、历史波动率

成交量类指标:

  • OBV、Volume SMA、MFI、VWAP
  • 累积/派发线、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
  • 完整说明文档:~/openclaw-quant/README.md

路线图

版本 0.1.0(当前)

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

版本 0.2.0

  • 模拟交易
  • 参数优化
  • 更多技术指标

版本 0.3.0

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

版本 1.0.0

  • 生产就绪版本
  • Web 仪表盘
  • 策略市场

成本说明

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

许可证

MIT License —— 可免费用于个人及商业用途

技术支持

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

Agent 行为准则

使用本技能时,Agent 应遵循以下规范:

应做(DO):

  • 使用前确认项目已正确安装
  • 在实盘交易模式下明确提示风险
  • 校验策略参数的有效性
  • 清晰展示各项绩效指标
  • 解释参数优化结果及其含义

禁止(DON'T):

  • 未经用户显式确认执行实盘交易
  • 推荐具体交易策略
  • 承诺收益或盈利保证
  • 忽略风险警告
  • 提供金融投资建议

状态:开发中(Alpha 版本)

作者:@ZhenStaff

最后更新:2026-03-05

目录

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

0

2026.11.12

Go-Zero安装与goctl环境配置教程
Go-Zero安装与goctl环境配置教程

本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

0

2026.11.12

Go-Zero零基础入门教程
Go-Zero零基础入门教程

本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

0

2026.11.12

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn