TK 量化交易系统Token KeyTrader · 操作指南
全量交易市场 · 双 AI 自动分析和交易(内置 openclaw / 外置 workbuddy·codex)· 人工引导自动复盘与技能迭代

TK 量化交易系统 Token KeyTrader

一套「AI 大脑(openclaw)+ 量化全自动执行(vnpy)+ 人工引导AI复盘和迭代(workbuddy)」三合一的量化交易系统。同时通过 MCP 工具集对外提供 AI 协作能力,赚钱逻辑:技能实现对全量信息的大盘分析、做多/做空选股、板块轮动调仓,跌了分档加仓摊低成本,涨了逐格止盈收割,趋势和震荡兼顾

策略执行 vnpy 分析大脑 openclaw 复盘进化 workbuddy 外部接口 vnpy_mcp(24 工具) 人工引导 复盘 / 板块调控 / 技能迭代
量化交易终端
量化交易终端 · 行情 K 线 / 资金流 / 技术指标实时呈现 —— vnpy 执行层 5 分钟一 tick 盯盘
PART 01

系统总览

三层 AI 接力干活:执行的手(全量品种市场接入的指标量化自动交易系统)、思考的脑(openclaw 带技能和 MCP)、复盘和监控的双眼(workbuddy/codex 加技能)。你在最顶层拍板和控制技能迭代,让系统越来越聪明。

📡

实时直连

vnpy_mcp 直连量化系统,查询返回实时数据(非缓存),无需用户名参数。

🤖

自动执行

网格每 5 分钟检查触发,自动加仓/止盈/止损,机器人不眨眼。

🧠

AI 决策

openclaw 带技能和 MCP,每 3 小时深度分析行情/新闻/财报/板块轮动,输出策略报告。

🔄

正向循环

复盘 → 老板控制技能迭代 → 分析质量提升 → 交易优化 → 系统越来越聪明。

🎛️

人工引导

你在最顶层通过 workbuddy/codex 引导复盘和板块调控,引导 AI 系统复盘和技能迭代。

💰

赚钱逻辑

趋势+震荡兼顾:单边靠趋势跟随,震荡靠网格收割,暴跌止损兜底。

马丁格尔网格工作原理(GE 实例)
马丁格尔网格工作原理 · 以 GE 为例:跌了分档接、涨了逐格卖;一路加仓摊低价 $380.8 → $364.7,反弹时逐格止盈

一句话看懂赚钱逻辑

网格像一架「阶梯」:股价在台阶间来回震荡,系统就在台阶上反复低买高卖。

  • 震荡市:价格反复穿越网格线 → 逐格止盈落袋(FCX 一轮 +$1,516)
  • 单边跌:阶梯不断下移接货,仓位变重 → 必须靠止损兜底
  • 单边涨:逐格减仓收割,趋势走对了靠移动止盈锁利
PART 02

三层架构

从交易引擎到 AI 大脑到人工复盘,每一层职责清晰、数据单向流动、决策逐级上报。

三层分工,各司其职

执行层是「手」,分析层是「脑」,复盘层是「双眼」——三层通过 vnpy_mcp 数据总线串联,决策权逐级向上报到老板。

  • ① vnpy 执行层:CTA 策略 5 分钟级盯盘,网格自动执行
  • ② openclaw 分析层:每 3 小时深度分析,输出参数建议
  • ③ workbuddy 复盘层:拉真实数据核对,驱动技能进化
三层架构
三层架构 · 执行 → 分析 → 复盘,光柱代表数据与指令的双向流动
③ workbuddy / codex — 复盘层(复盘的双眼)
通过 vnpy_mcp 拉取真实数据,核对 AI 是否乱来、参数是否漂移,发现缺陷改进技能文档。
拉取数据三方核对写复盘报告改进技能只读不写
② openclaw — 分析层(思考的脑)
加载 tiger-stock-strategy-analysis 技能,每 3 小时深度分析,输出策略参数建议与风险判断。
大盘分析选股策略审核持仓风控参数建议
① vnpy — 执行层(执行的手)
CTA 策略按分钟线运行,网格自动加仓/止盈/止损,McpEngine 暴露 27 个 MCP 工具。
账户/持仓委托/成交网格触发止损兜底MCP Server

核心业务闭环

定时分析vnpy 按间隔调用 openclaw
AI 决策加载技能 + 拉数据 + 输出建议
参数下发vnpy_mcp 操作工具执行
人工复盘workbuddy 拉数据核对
三层 AI 协作示意图
三层协作示意 · 执行的手(vnpy)↕ 思考的脑(openclaw)↕ 复盘的双眼(workbuddy),老板 = 最终拍板人
PART 03

工具全景

vnpy_mcp 提供 24 个工具、覆盖 8 大类,查询与操作一条龙。

分类工具用途
健康检查ping服务是否正常(返回 pong)
账户 / 持仓get_accounts / get_positions总资产/可用 / 持仓明细(数量/成本/盈亏)
策略状态cta_strategies_get_all / get_status / get_all_reason策略概况 / 单策略状态 / 决策上下文+参数留痕
成交委托get_trades / get_active_orders本次启动后成交 / 活动委托
分析报告cta_report_list / cta_report_get报告目次 / 大盘+选股+策略分析报告
行情合约get_tick / get_history_bars / get_contract / search_vt_symbolTick / K线 / 合约 / conid 查询
操作指令set_target_pos / close / set_parameters / send_notice调仓 / 平仓 / 设参 / 通知
启停增删start / stop / add_and_start / delete策略生命周期管理
PART 04

查询类操作

三大高频查询 + 决策上下文,日常监控与审计全覆盖。

👤

账户查询

get_accounts()
返回 balance(总资产)/frozen(冻结)/available(可用)。
注意:balance 已含持仓市值,勿重复相加。

💼

持仓查询

get_positions()
返回持仓明细:品种/数量/成本价/盈亏。

📊

策略总览

cta_strategies_get_all()
中文键名:持仓/盈亏/网格/止盈止损/亏损加仓/资金占比。

🔍

决策上下文

cta_strategy_get_all_reason(name)
开仓理由 + 最近分析 + 交易历史 + 参数最近修改留痕。

为什么参数会被改?(get_all_reason 四块输出)

持仓上下文

当前持仓 / 方向 / 开仓时间 / 首仓价

AI 分析理由

开仓时 + 最近一次的分析依据全文

交易历史

每笔开/加/减仓:时间/价格/数量/备注

参数留痕

ts / from / to / source(ai|reset) / reason

实盘系统长这样(vnpy CTA 运行面板)

左边是各策略的 K 线与信号状态(AI 分析、信号探针、RSI 阈值),右边是 OpenClaw 执行状态与任务会话——AI 每次分析完,结论就出现在这里。

vnpy CTA 策略运行面板
vnpy CTA 运行面板 · 左:策略 K 线 + 信号状态(MARTIN-GOLD/JPM/INTEL);右:OpenClaw 执行状态 + 大盘分析任务会话
PART 05

openclaw 分析报告

AI 大脑的四种输出,覆盖大盘、选股与策略全维度。

报告类型拉取方式能看什么频率
大盘分析report_kind="美股大盘与板块和资金流向分析"方向 / risk_budget / 板块轮动预测 / 资金流向 / 风险提示定时
做多选股report_kind="美股做多选股结果"候选池 / 评分卡 / 下一轮动预测 / 观察清单每日
做空选股report_kind="美股做空选股结果"做空候选 / 反方审查 / 拒绝原因每日
策略分析strategy_name="MARTIN-XXX"持仓回顾 / 参数核验 / 操作建议 / 参数修改理由每 3 小时

大盘报告核心字段

执行层摘要

direction + risk_budget + max_exposure_pct

板块轮动

主线板块 / 下一棒预测 / 流出板块

宏观 / 信用 / 资金

Fed 立场 / US10Y / OAS / 股基流入 / 货币基金 AUM

风险提示

事件窗口 / 利率 / 拥挤度 / 就业衰退 / IPO 抽血

使用姿势:cta_report_list() 看目次 → 再 cta_report_get(report_kind, report_index=-1) 拉最新(-1=最新)。策略分析则用 strategy_name

PART 06

操作类指令

调仓、平仓、设参、启停、增删策略——实时生效,直连量化系统。

🤝 关键:这些代码谁在写?

下面这些调用不是人手敲的。操作入口是外部智能体(WorkBuddy / Codex 等 MCP 客户端)——老板只用自然语言下指令,智能体把它翻译成标准工具调用发给 vnpy_mcp,系统实时执行。

1
自然语言

老板:"把 AMD 减半仓"

2
智能体翻译

WorkBuddy/Codex 解析意图,查当前持仓,生成工具调用(就是下面的代码)

3
vnpy 执行

vnpy_mcp 接收调用 → 实时调仓,立即生效

4
回执核对

智能体拉回 status/持仓确认,报告给老板

所以这页代码的作用是给智能体看的"API 契约":参数名、类型、约束写清楚,智能体才不会拼错 vt_symbol、把百分比当资金量。人全程只说话,不写代码。

🎯

调仓 / 平仓

# 目标仓位是【绝对股数】,不是资金比例;0=空仓,负数=空头
cta_strategy_set_target_pos(
    strategy_name="MARTIN-AMD",
    target_pos=100,
    reason="板块走弱减仓")

# 平仓(等价 target_pos=0)
cta_strategy_close(strategy_name="MARTIN-AMD")
⚙️

修改参数

# 只传需改的参数;值保持原始类型(float 传 0.02 不是 "2%")
cta_strategy_set_parameters(
    strategy_name="MARTIN-AMD",
    parameters={"stop_loss_radio": 0.02,
                 "enable_martin_sub": True})

参数立即写入并保存,重启不丢失;但不主动触发交易动作。

🚀

启停 / 通知

cta_strategy_start("MARTIN-AMD")   # 未初始化先初始化
cta_strategy_stop("MARTIN-AMD")    # 停止不删除
cta_strategy_send_notice(
    "MARTIN-AMD", message="注意风控")  # 仅记录
➕➖

增删策略

cta_strategy_add_and_start(
    class_name="openclaw_martin_Strategy",
    strategy_name="MARTIN-AAPL",
    vt_symbol="265598.SMART",   # 严禁自己拼!
    setting={})

cta_strategy_delete("MARTIN-AAPL")  # 需持仓=0
PART 07

新增策略标准流程

五步走:查类 → 查参 → 查 symbol → 开仓 → 验证。

1
查策略类

cta_strategy_get_classes
确认类型(openclaw_martin_Strategy)

2
查必填参数

get_class_parameters
init_load_days / start_asset / first_part

3
查 vt_symbol

search_vt_symbol("AAPL")
→ 265598.SMART(严禁自己拼)

4
新增并启动

cta_strategy_add_and_start
传 class/name/vt_symbol/setting

5
回拉验证

cta_strategy_get_status
确认持仓/参数/运行状态

先看「策略基座」:四段式组装模板

每个 MARTIN 策略 = 同一段代码 + 不同参数组合。参数面板分四段:策略盘面(资金/首仓/轮动方向)、信号探针(各类指标触发开关)、网格与仓位防御(格数/间距/补仓/亏损加仓)、多种止损止盈(固定/移动/ATR 多层防御)。AI 能做的,就是在这四段里"千变万化"地配参数——这是它可控的基座。

四段式组装策略模板
四段式组装策略模板 · 可被 AI 控制的千变万化的策略基座(MARTIN-GOLD 参数面板实测)

实盘示例:8/29 开 MARTIN-GOLD($10,000)

cta_strategy_add_and_start(
    class_name="openclaw_martin_Strategy",
    strategy_name="MARTIN-GOLD",
    vt_symbol="146266831.SMART",   # search_vt_symbol("GOLD") 返回
    setting={
        "init_load_days": 5,
        "use_1m_5m_15m_30m_60m": 15,
        "start_asset": 10000.0,   # 初始资金 $10,000
        "first_part": 0.2            # 首仓 20%
    })
# → {"success": true, "message": "策略 MARTIN-GOLD 已添加、初始化并启动成功"}

⚠️ 开仓前必查:标的画像交叉核对!8/29 GOLD 案例:选股报告按「金矿商」评分,外部数据显示是「贵金属交易商」——同一 ticker 两种画像,开仓前必须核实标的真实身份,否则基本面逻辑不成立。

PART 08

组合技法实战

单工具是「零件」,组合技法才是「完整任务」。五个高频组合拳,点击查看工具链。

高频
每日全景复盘

账户 + 策略 + 报告全貌

选股
小盘价值挖掘

报告 → 调研 → 开仓流水线

风控
事件窗口核查

财报/CPI/FOMC 前检查

审计
参数变更审计

留痕 + 报告反推来龙去脉

调仓
板块轮动调仓

对照轮动方向调整持仓

① 每日全景复盘 高频

晨间/收盘快速掌握账户与策略全貌,产出当日复盘报告。

1
拉账户

get_accounts

2
拉持仓

get_positions

3
拉策略

cta_strategies_get_all

4
拉报告

大盘 + 各策略 -1

5
三方核对

trades + 报告 + 持仓

② 小盘价值股挖掘流水线 选股

做多选股报告 → 锁定目标 → 交叉核验 → 开仓 → 验证。实盘:8/29 GOLD($10,000)。

1
选股报告

做多选股结果

2
锁目标

评分过线+板块轮动

3
查 symbol

search_vt_symbol

4
交叉核验

外部数据防张冠李戴

5
开仓验证

add_and_start + get_status

实盘截图:老板一句话,流水线自动跑完

左边:「挑一个价值投资类型的小盘股,机会大的,推荐给我」→ AI 拉选股报告 + 外部数据交叉核验,推荐唯一过线的 GOLD(附评分卡与画像)。右边:「第一个,投入 1 万美金,开一个策略」→ 自动建 MARTIN-GOLD 并回验。

小盘股选择实盘截图
① 小盘股选择 · 自然语言选股 → 评分 4.02 唯一过线 → 市值/板块/增长/技术面画像卡
小盘股自动建立策略和开仓实盘截图
② 自动建策略开仓 · 10 秒完成:MARTIN-GOLD + conid 确认 + $10,000 + 首仓 20% + 回验运行中

③ 事件窗口风控核查 风控

重大事件(财报/CPI/FOMC)前逐持仓检查风控参数。实盘:8/26 NVDA 财报前查"接刀四件套"。

1
确认事件

大盘报告风险等级

2
筛持仓

事件相关标的

3
查参数

移动止盈/亏损加仓

4
对照模板

TSLA 全开 vs NVDA 全关

5
授权调参

set_parameters

④ 参数变更审计 审计

参数"莫名"变了?查是谁/何时/为何。实盘:JPM 8/18 正文有理由、结构化字段空。

1
查留痕

get_all_reason

2
翻报告

-1/-2/-3 逐份

3
找跳变

比对参数快照

4
核字段

参数修改理由

5
比对实际

get_status 确认

⑤ 板块轮动调仓 调仓

大盘报告说"下一棒是金融/材料/能源",对照自己持仓是否站对方向。实盘:8/28 工业流出、金融接棒。

1
轮动预测

大盘报告

2
目标板块

做多/做空选股

3
对照持仓

流出 vs 流入

4
决策

减流出/加流入

5
授权执行

set_target_pos / add

PART 09

复盘操作

复盘 = 通过 workbuddy/codex 连接实盘系统,定期检查交易与分析的好坏,持续改进技能。

每日标准流程

1
拉全景

strategies + accounts + positions

2
拉报告

大盘 + 各持仓策略分析

3
三方核对

trades + 报告 + 持仓变化

4
找问题

参数漂移?建议落地?接刀?

5
出报告

复盘记录/YYYY-MM-DD/

6
改文档

授权后走技能迭代流程

复盘结果改进三能力

📈

分析能力

大盘与板块分析、策略分析的准确性与稳定性。

🎛️

参数设置能力

空仓→开仓→持仓→加减仓→平仓各阶段参数准确性。

🕹️

干预能力

用 vnpy_mcp 参数设置与下单能力干预策略运行。

复盘产出长这样(workbuddy 实盘截图)

老板一句「复盘昨天的情况」,workbuddy 自动拉全景数据、生成结构化复盘报告:一句话结论 → 核心判断 → 账户还原 → 逐笔解读,全程只读不写。

workbuddy 每日复盘实盘截图
workbuddy 每日复盘 · 自然语言下指令 → 自动拉数据 + 交叉核对 → 输出复盘报告(含账户/持仓/成交还原)

统计分析:持仓全景一张图

复盘数据还能直接出统计图:持仓规模占比($50,291 / 32%)、板块分布、市值规模分层、个股持仓市值排序——板块集中度、大小盘结构一眼看清,为板块轮动调仓提供依据。

复盘统计分析可视化
复盘统计分析 · 持仓 $50,291(占比 32%)· 12 只 · 板块分布 + 市值分层 + 个股市值排序
PART 10

技能迭代操作

复盘发现问题 → 深度反思找根因 → 备份 → 最小变更 → 写 CHANGELOG,让 AI 越来越聪明。

五层深度反思思维链

L1
事实还原

发生了什么?逐策略还原完整交易生命周期

L2
根因穿透

为什么?连续追问 5 次「为什么」

L3
高度归纳

共性?抽象为模式(输出不落地/参数裸奔)

L4
逆向思维

反过来想:失败反做=机会?共识哪里出错?

L5
机会发现

提炼可验证改进方向(数据佐证+可映射条款)

迭代五步流程

1
提炼改进项

读复盘报告 + 反思备忘录

2
定位文档

docs/ 下具体章节

3
备份

History/ 同构目录 + 日期后缀

4
最小变更

只改相关条款 + 标注来源

5
写 CHANGELOG

改进项 + 变更详情 + 未完成项

PART 11

铁律与红线

八条操作者必读,违反任何一条都可能造成不可逆损失。

01
vt_symbol 必须是 conid.SMART
IB 合约如 "265598.SMART",严禁 ticker.SMART 自行拼接。
02
target_pos 是股数,不是资金比例
0=空仓,负数=空头;传 100 表示 100 股。
03
参数值保持原始类型
float 传 0.02,不要传 "2%"。
04
操作前提:量化系统必须运行中
操作类工具直连量化系统,系统停了会失败。
05
删策略需持仓为 0
运行中会自动先停止;pos≠0 会拒绝删除。
06
AI 只建议,处置必须老板拍板
改参数/开仓/砍仓前必须等明确授权。
07
复盘只读不写
复盘过程不修改任何 vnpy 数据,问题整理成建议。
08
参数修改理由必须填结构化字段
仅写在正文长文本不算数,留痕靠 get_all_reason 追溯。
PART 12

常见问题 FAQ

为什么 get_trades 查不到某笔成交?
get_trades 只返回「本次 vnpy 启动后」的成交,重启即丢失。历史成交需结合策略 AI 报告(持仓回顾/加仓时间点)+ 持仓变化三方核对还原。
为什么策略的"参数最近修改"是空的?
该字段只记录「本次启动以来」的变更,重启清零;且 AI 常把理由写在正文、漏填结构化字段。审计时以留痕工具为准,正文兜底。
止损 0.18 和 0.12 哪个合理?
马丁公式:止损 = 间距 × 格数 × 0.6(如 0.03×10×0.6=0.18)。但格数越多止损越宽的"倒挂"结构是已知缺陷,建议按"一级支撑下方 2~3%"设固定止损。
什么情况下网格会自动加仓?
价格每跌破一格(网格间距)自动加仓一格(等距/金字塔)。亏损时加仓开关 enable_martin_add_loss 决定是否在亏损状态继续加。
AI 报告说"维持参数不变"但参数变了?
可能是系统"低置信度兜底"或"分层复位"改了参数(source=reset),AI 报告没回填。用 get_all_reason 查留痕确认变更来源(ai/reset/manual/mcp)。