乐于分享
好东西不私藏

NAS 部署 OpenClaw 量化交易:手把手打造专业智能投研助手

NAS 部署 OpenClaw 量化交易:手把手打造专业智能投研助手

///

作者:share虾🦐标签:NAS Docker · 量化交易 · 回测系统阅读时长:约 12 分钟

///

PART 01

💹 什么是 OpenClaw 量化交易?

OpenClaw 是一个开源的 AI 智能体平台,它可以帮你:

  • 🔄 策略回测:用历史数据测试你的交易策略
  • 📊 技术分析:自动计算 RSI、MACD、均线等50+技术指标
  • 🤖 AI 辅助:利用大模型生成策略代码和优化建议
  • 📈 性能分析:夏普比率、最大回撤、胜率等关键指标
  • ⚠️ 风险控制:自动止损、头寸管理、投资组合监控
  • 📱 报告推送:回测结果推送到微信/Telegram

一句话: 让你不用写代码,就能拥有专业级的量化投研能力。

///

PART 02

🌟 为什么要在 NAS 上部署?

部署方式
优点
缺点
NAS Docker
24小时运行、数据本地、安全隐私、功耗低
需要NAS设备
云服务器
性能强、公网访问方便
需要付费、数据在云端
本地电脑
无需额外设备
不能24小时运行、耗电高

NAS 方案最适合: 你已经有一台 NAS,希望数据完全掌控在自己手里,且长期稳定运行。

///

PART 03

📚 量化交易核心概念(小白必读)

在开始前,了解几个基本概念:

1. 回测(Backtesting)

用过去的历史数据测试一个交易策略,看它过去表现如何。注意:过去表现不代表未来。

2. 技术指标

  • RSI(相对强弱指数)
    :0-100,>70超买,<30超卖
  • MACD
    :金叉(买入信号)、死叉(卖出信号)
  • 均线(MA)
    :短期/长期均线交叉判断趋势
  • 布林带
    :价格波动区间判断

3. 关键性能指标

  • 夏普比率
    :风险调整后的收益,越高越好
  • 最大回撤
    :最大亏损幅度,越小越好
  • 胜率
    :盈利交易占比
  • 年化收益
    :策略的年化收益率

///

PART 04

🔧 准备工作

需要什么?

  1. 一台 NAS
  • 群晖 DSM 6.0+(推荐 DS224+/DS923+)
  • 威联通 QTS 4.5+(推荐 TS-264C/TS-464)
  • 或任何支持 Docker 的 NAS
  1. 已启用 Docker
  • 群晖:安装 "Docker" 或 "Container Manager"
  • 威联通:安装 "Container Station"
  1. 数据源
  • 免费方案
    :AkShare(推荐新手)
  • 进阶方案
    :Tushare Pro(需注册)
  • 付费方案
    :聚宽(JoinQuant)、米筐(RiceQuant)
  1. AI 模型(可选但推荐)
  • 如果想让 OpenClaw 帮你生成策略代码,需要配置大模型 API
  • 推荐使用 Zero-Token(零成本)或 OpenAI 兼容接口

///

PART 05

🚀 第一步:Docker Compose 配置

在你的 NAS 上创建文件夹:

  • 群晖
    /volume1/docker/openclaw-quant/
  • 威联通
    /share/Container/openclaw-quant/

创建 docker-compose.yml

version: '3.8'

services:

  openclaw-gateway:

    image: openclaw/openclaw:latest

    container_name: openclaw-quant-gateway

    restart: unless-stopped

    environment:

      - PUID=1026              # 替换为你的 NAS 用户 UID

      - PGID=100               # 替换为你的 NAS 用户 GID

      - TZ=Asia/Shanghai       # 时区

      - NODE_ENV=production

      # AI 配置(可选)

      - OPENAI_API_KEY=        # 如果使用 OpenAI 兼容接口

      - OPENAI_BASE_URL=       # API 地址,如 http://127.0.0.1:3002

      - OPENAI_MODEL=deepseek-chat

    ports:

      - "18789:18789"          # Web Dashboard 端口

      - "3000:3000"            # API 端口

    volumes:

      - ./data:/home/node/.openclaw   # 配置和API密钥

      - ./workspace:/home/node/workspace  # 工作区(回测数据、策略)

    networks:

      - openclaw-net

  # 可选:数据库(用于存储回测结果)

  postgres:

    image: postgres:15

    container_name: openclaw-quant-db

    restart: unless-stopped

    environment:

      - POSTGRES_PASSWORD=quant123  # 修改为强密码

      - POSTGRES_DB=openclaw_quant

    volumes:

      - ./postgres-data:/var/lib/postgresql/data

    networks:

      - openclaw-net

networks:

  openclaw-net:

    driver: bridge

获取 PUID 和 PGID

通过 SSH 连接 NAS:

id <你的用户名>

# 示例输出:uid=1026(admin) gid=100(users)

记录 UID 和 GID,填入配置。

///

PART 06

🔧 第二步:启动容器

方法 A:图形界面

群晖

  1. 打开 Docker → 项目 → 添加
  2. 上载 docker-compose.yml
  3. 确认设置,启动

威联通

  1. 打开 Container Station → 应用程序 → 创建
  2. 选择 Compose File,上传配置
  3. 启动

方法 B:命令行

cd /volume1/docker/openclaw-quant

docker-compose up -d

查看日志:

docker-compose logs -f openclaw-gateway

看到 ✅ Gateway started 表示成功。

///

PART 07

🌐 第三步:初始化 OpenClaw

1. 访问 Dashboard

浏览器输入:http://你的NASIP:18789

首次访问会提示设置管理员账户。

2. 配置 Gateway Token

如果启动脚本没有自动生成 token,运行:

cd /volume1/docker/openclaw-quant

docker-compose run --rm openclaw-gateway npx openclaw gateway:token

复制生成的 token,在 Dashboard 设置页粘贴。

3. 连接数据源

进入 Settings → Data Sources

配置 AkShare(免费):

数据源类型:AkShare

模式:proxy(更稳定)

代理地址:留空(如果有代理填这里)

配置 Tushare Pro(进阶):

数据源类型:Tushare Pro

Token:去 https://tushare.pro 注册获取

点击测试连接,成功保存。

4. 配置 AI 模型(可选)

进入 Settings → AI Provider

如果部署了 Zero-Token(参考之前的教程):

提供商:OpenAI Compatible

API 地址:http://127.0.0.1:3002

API Key:你的 Zero-Token token

模型:deepseek-chat

这样后续可以自动生成策略代码。

///

PART 08

📊 第四步:创建第一个回测策略

示例:RSI + MACD 金叉死叉策略

策略逻辑:

买入条件:

- RSI < 30(超卖)

- MACD 金叉(快线上穿慢线)

卖出条件:

- RSI > 70(超买)

- MACD 死叉(快线下穿慢线)

初始资金:100,000 元

手续费:0.03%

在 OpenClaw 中创建策略

  1. 进入 Strategies → Create New
  2. 填写策略信息:

策略名称:RSI-MACD 双指标组合策略

标的:000001.SZ(平安银行)或 600519.SH(贵州茅台)

时间范围:2023-01-01 至 2024-12-31

初始资金:100000

  1. 选择指标:
  • ✅ RSI(周期 14)
  • ✅ MACD(快线 12,慢线 26,信号线 9)
  1. 设置规则(可以使用可视化编辑器):

WHEN RSI < 30 AND MACD_金叉 THEN 买入 100%

WHEN RSI > 70 AND MACD_死叉 THEN 卖出 100%

  1. 保存策略,点击 Run Backtest

等待回测完成

回测时间取决于数据量和策略复杂度,NAS 上可能需要 1-5 分钟。

///

PART 09

📈 第五步:分析回测结果

回测完成后,OpenClaw 会生成详细报告:

1. 性能概览

指标
数值
年化收益
15.32%
夏普比率
1.45
最大回撤
-12.45%
胜率
58.3%
总交易次数
47次

2. 资金曲线图

查看资产随时间的变化曲线,直观感受策略表现。

3. 交易明细

每一笔买入/卖出的具体时间、价格、盈亏情况。

4. 指标信号图

在K线图上标注 RSI、MACD 的金叉死叉点,直观验证。

///

PART 10

🎯 第六步:优化策略

如果初版策略表现不佳,如何优化?

1. 调整参数

在策略编辑器中,尝试:

RSI 周期:14 → 尝试 10、20、28

MACD 快线:12 → 尝试 8、10、15

保存并重新回测,对比结果。

2. 添加过滤条件

只在周线 MACD 为多头时交易

成交量 > 20日均量 时才开仓

3. 风险控制

  • 设置单日最大亏损不超过 3%
  • 满仓时暂停新买入
  • 使用移动止损

///

PART 11

🔔 第七步:自动化监控与提醒

设置定时任务

进入 Tasks → Create Task

任务1:每日策略检查

任务名:每日策略健康检查

执行时间:每个交易日 09:30

操作:检查所有策略近5日表现

通知:如果最大回撤 > 5%,发送警报到微信

任务2:实时信号监控

任务名:盘中实时监控

执行时间:交易时段每5分钟

操作:检测 RSI-MACD 策略是否产生买卖信号

通知:立即推送到微信

任务3:周报生成

任务名:量化策略周报

执行时间:每周五 15:30

操作:汇总本周所有策略表现

通知:发送完整报告(含图表)到邮箱

///

PART 12

🤖 第八步:高级功能(可选)

1. AI 自动生成策略

利用已配置的大模型,可以自然语言描述策略:

发送指令给 OpenClaw:

帮我创建一个针对创业板股票的动量策略:

- 使用 20日突破通道

- RSI 不超过 70 才开多

- 用量价突破作为入场信号

- 初始资金 50万

回测 2024-01 至今

OpenClaw 会自动生成策略代码并执行回测。

2. 多策略组合

创建多个策略,OpenClaw 可以自动分配资金:

策略 A(稳健):30% 资金

策略 B(激进):20% 资金

策略 C(防御):50% 资金

3. 风险控制器

安装 "Risk Controller" skill,实现:

  • 单日亏损超过 2% 自动停止所有策略
  • 市场波动率过高(VIX>30)时减仓
  • 自动计算最优仓位

///

PART 13

🔄 第九步:日常维护

更新 OpenClaw

cd /volume1/docker/openclaw-quant

docker-compose pull

docker-compose up -d

建议每月检查一次更新。

备份数据

# 备份配置文件

tar -czf openclaw-quant-config-$(date +%F).tar.gz ./data

# 备份回测数据

tar -czf openclaw-quant-workspace-$(date +%F).tar.gz ./workspace

查看日志

docker-compose logs -f                    # 实时日志

docker-compose logs --tail=100 openclaw-gateway  # 最近100行

资源监控

NAS 资源有限,注意:

docker stats  # 查看容器CPU/内存占用

如果占用过高,可以在 docker-compose.yml 中限制:

deploy:

  resources:

    limits:

      memory: 2G

      cpus: '2'

///

PART 14

⚠️ 常见问题与解决

Q1: 回测速度很慢

原因:数据量大或 NAS 性能不足。

解决

  • 缩小回测时间范围
  • 减少同时回测的策略数量
  • 升级 NAS 内存到 8GB 以上
  • 使用 SSD 存储卷

Q2: 数据源连接失败

原因:AkShare/Tushare 网络问题。

解决

  1. 测试 NAS 网络:curl https://api.tushare.pro
  2. 在设置中将 AkShare 模式改为 direct
  3. 或配置系统代理

Q3: 回测结果异常(收益超高/超低)

可能原因:

  • 未来函数:策略使用了未来的信息(幻觉)
  • 交易成本未计入:手续费设置为 0
  • 数据质量:复权、停牌处理不当

解决

  • 确保策略逻辑是滞后指标(不能提前知道价格)
  • 设置合理的手续费(0.03% 左右)
  • 使用高质量数据源

Q4: AI 生成策略有错误

OpenClaw 的代码生成可能有小 bug。

解决

  • 仔细阅读生成的策略代码
  • 手动修正明显的逻辑错误
  • 小资金先试运行
  • 在策略编辑器中调整参数

Q5: Docker 内存不足

症状:容器频繁重启,OOM kill。

解决

# 在 docker-compose.yml 中添加

mem_limit: 4G

memswap_limit: 4G

或者关闭其他占用内存的服务。

///

PART 15

⚖️ 重要风险提示

⚠️ 量化交易 ≠ 稳赚不赔

  • 历史回测不代表未来表现
  • 过拟合风险
    :策略在历史数据上表现好,实盘可能亏损
  • 市场黑天鹅
    :极端行情会导致策略失效
  • 技术风险
    :硬件故障、网络中断、软件 bug

🔒 安全建议

  • ✅ 数据本地存储,不泄露到公网
  • ✅ 定期备份策略配置
  • ✅ 不要使用过高的杠杆(本工具不提供交易执行)
  • ✅ 先用模拟账户验证,再用实盘
  • ✅ OpenClaw 仅作辅助,决策权在你自己

📝 合规声明

  • 本教程仅供技术学习和研究
  • 不构成任何投资建议
  • 投资有风险,决策需谨慎
  • 请遵守当地金融监管法规

///

PART 16

📚 附录

常用技术指标参数速查

指标
常用参数
说明
RSI
14
超买>70,超卖<30
MACD
(12,26,9)
快线12、慢线26、信号线9
MA
5/10/20/60
多周期均线组合
BOLL
(20,2)
中轨20,标准差2
KDJ
(9,3,3)
短线指标

开源数据源

名称
地址
特点
AkShare
https://github.com/akfamily/akshare
免费,A股/期货/加密货币
Tushare
https://tushare.pro
免费版有限制,数据质量高
Baostock
http://baostock.com
免费的A股历史数据

学习资源

  • OpenClaw 官方文档:https://docs.openclaw.ai
  • 量化交易入门:https://www.quantifiedstrategies.com
  • 聚宽教程:https://www.joinquant.com

///

有任何问题欢迎留言交流!觉得有用就点赞、在看、转发支持一下~

THANKS FOR READING

share虾🦐 · 折腾开源笔记技术分享