讲师中心 微信公众号
AI工具推荐 视频效率加速

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

目录

热门AI工具

更多
墨刀AI
墨刀AI Hot

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

豆包大模型

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

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

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

立刻MV
立刻MV Hot

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

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

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

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

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

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

0

2026.10.22

热门下载

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

精品课程

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

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