OpenClaw Agent Integration

OpenClaw Agent 集成方案

基于 MiniMax M2.5 的自动化策略生成与模拟盘验证 — 每周自动生成、回测并优化恒生科技成分股交易策略

Role Positioning

OpenClaw 在量化架构中的 角色定位

OpenClaw + MiniMax M2.5 在现有架构中扮演'自动化策略工程师'的角色,将高层次交易信号转化为可执行的 NautilusTrader 策略代码。

与 TradingAgents 的多智能体辩论决策不同,OpenClaw 专注于将高层次的交易信号和市场分析转化为可执行的 NautilusTrader 策略代码, 并自动完成回测验证。这形成了一个完整的闭环:

THGNN 模型预测信号
TradingAgents多维分析
OpenClaw编码策略
NautilusTrader执行交易
Hardware Deployment

硬件 部署方案

设备新增服务职责
5080 主机OpenClaw Agent (MiniMax M2.5)策略代码生成、回测执行、结果分析
Mac Mini Pro云端存储代理 (S3/OSS)策略文件和回测结果的云端持久化
联想 4070无变化继续负责 THGNN 模型训练
Weekly Automation Workflow

每周自动化 工作流

每周日 20:00 自动启动,从数据准备到策略生成、回测验证、结果保存,形成完整的闭环。

Step 1数据准备联想 4070

从数据源拉取恒生科技 30 只成分股最近一周的小时级 K 线数据,计算 14 维特征,更新邻接矩阵,生成最新的 THGNN 输入数据。

Step 2模型推理5080 主机

加载最新的 THGNN 模型,对下周的价格走势进行预测,生成每只股票的方向概率和置信度评分。

Step 3策略生成5080 主机 — OpenClaw

n8n 触发 OpenClaw Agent,传入 THGNN 预测结果、上周回测表现、NautilusTrader 开发规范和市场环境摘要。OpenClaw 基于 MiniMax M2.5 自动生成完整的 NautilusTrader 策略 Python 文件。

Step 4模拟盘回测5080 主机

OpenClaw 自动将生成的策略加载到 NautilusTrader 的 Sandbox 环境中,使用最近 4 周的历史数据进行回测验证,提取年化收益率、最大回撤、夏普比率、胜率等关键指标。

Step 5结果评估与保存5080 → Mac Mini → 云端

策略通过预设质量门槛(夏普比率 > 1.5,最大回撤 < 15%)后标记为'候选策略',打包上传至云端存储,并通过 n8n 触发 MiniMax TTS 生成语音摘要推送。

Step 6反思与迭代闭环

OpenClaw 将本周策略表现与历史策略对比分析,生成改进建议,作为下周策略生成的参考输入。形成持续学习和优化的闭环。

策略生成上下文输入

>THGNN 模型的预测结果(JSON 格式)
>上周策略的回测表现报告
>NautilusTrader Skill 知识库(策略开发规范)
>当前市场环境摘要(TradingAgents 分析师团队提供)
Synergy with TradingAgents

与 TradingAgents 的 协同机制

TradingAgents — 负责'做什么'

分析市场环境,确定交易方向和风险偏好。通过多智能体辩论系统形成深思熟虑的投资观点,发布 TradeDecisionEvent。

OpenClaw — 负责'怎么做'

将交易决策转化为精确的可执行代码。订阅 TradeDecisionEvent,据此调整策略参数,自动生成完整的 NautilusTrader 策略文件。

Executable Strategy

可执行的 成熟策略代码

基于恒生科技成分股小时级数据的 THGNN 动量策略,每周建模,自动排名并做多 Top N 股票。

Universe30 只恒生科技成分股
Signal1H小时级 THGNN 预测
RebalanceWeekly每周组合再平衡
thgnn_hourly_strategy.py — 核心策略类
class THGNNHourlyMomentumStrategy(Strategy):
    """
    恒生科技小时级 THGNN 动量策略
    - 消费 THGNNSignalEvent 获取预测信号
    - 每周排名并做多 Top N 股票
    - 固定比例仓位管理 + 百分比止损
    """
    def __init__(self, strategy_id, venue, instrument_list,
                 bar_type, trade_size_usd=10000.0,
                 top_n_long=5, stop_loss_pct=0.05):
        super().__init__(strategy_id=strategy_id)
        self.venue = venue
        self.instrument_ids = [InstrumentId.from_str(s)
                               for s in instrument_list]
        self.bar_type = bar_type
        self.trade_size = Money(trade_size_usd, "USD")
        self.top_n_long = top_n_long
        self.stop_loss_pct = Decimal(str(stop_loss_pct))
        self.latest_signals = {}
        self.stop_loss_prices = {}

    def on_start(self):
        for inst_id in self.instrument_ids:
            self.subscribe_bars(self.bar_type, inst_id)
        self.register_handler(THGNNSignalEvent,
                              self.on_thgnn_signal)

    def on_thgnn_signal(self, event: THGNNSignalEvent):
        self.latest_signals = {
            InstrumentId.from_str(k): v
            for k, v in event.predictions.items()
        }

    def rebalance_portfolio(self):
        sorted_signals = sorted(
            self.latest_signals.items(),
            key=lambda x: x[1], reverse=True
        )
        target = {id for id, _ in sorted_signals[:self.top_n_long]}
        current = {p.instrument_id for p in self.portfolio.positions()
                   if p.is_open}
        for id in (current - target):
            self.liquidate_position(id)
        for id in (target - current):
            self.open_position(id)
恒生科技 30 只成分股代码
HSI_TECH_STOCKS = [
    'HK.00700',  # 腾讯控股      'HK.09988',  # 阿里巴巴
    'HK.03690',  # 美团          'HK.01810',  # 小米集团
    'HK.09618',  # 京东集团      'HK.01024',  # 快手
    'HK.00241',  # 阿里健康      'HK.02015',  # 理想汽车
    'HK.09888',  # 百度集团      'HK.00941',  # 中国移动
    'HK.01211',  # 比亚迪电子    'HK.09999',  # 网易
    'HK.06060',  # 众安在线      'HK.02382',  # 舜宇光学
    'HK.00388',  # 香港交易所    'HK.00857',  # 中国石油
    'HK.01357',  # 美图公司      'HK.01833',  # 平安好医生
    'HK.02628',  # 中国人寿      'HK.03968',  # 招商银行
    'HK.00939',  # 建设银行      'HK.06881',  # 中国银河
    'HK.01928',  # 金沙中国      'HK.02333',  # 长城汽车
    'HK.01299',  # 友邦保险      'HK.03333',  # 中国恒大
    'HK.00285',  # 比亚迪电子    'HK.00669',  # 创科实业
    'HK.00175',  # 吉利汽车      'HK.00272',  # 瑞声科技
]
Cloud Storage Structure

云端 存储结构

cloud-storage/ — 策略与模型的持久化目录
cloud-storage/
├── strategies/
│   ├── 2026-W10/
│   │   ├── strategy_v1.py          # 策略代码
│   │   ├── backtest_report.json    # 回测报告
│   │   ├── performance_metrics.csv # 性能指标
│   │   └── summary.md             # 策略摘要
│   ├── 2026-W11/
│   └── ...
├── models/
│   ├── thgnn_latest.pth           # 最新模型
│   └── training_logs/             # 训练日志
└── reports/
    ├── weekly_review.md           # 周度回顾
    └── monthly_analysis.md        # 月度分析

质量门槛

> 1.5夏普比率
< 15%最大回撤
4 周回测数据窗口
SuperAgentG

事件驱动型量化交易 Agent 系统

技术栈

TradingAgents + NautilusTrader + THGNN + OpenClaw

System Online