关于 vike-cli
vike-cli 是 Rust 交易平台的命令行工具,面向策略研究、回测和交易执行。它集成历史数据服务、多个交易场所桥接与 Agent 工作流;交易调用通过双次调用预览门控。
主要功能
- 01回测与参数优化
- 02历史数据获取和查询
- 03连接多个交易场所
- 04通过预览门控执行交易
- 05为 Agent 提供操作技能
适用场景
- 01研究并回测交易策略
- 02获取历史行情数据
- 03在节点上预览并执行交易
- 04让 Agent 按技能操作交易工具
MCP 相关
Agent 可通过 `vike-cli mcp` 驱动项目,并可使用仓库内的 skills 指导回测、策略编写、数据导入和交易。项目面向 MCP 客户端提供预览门控的交易操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
vike
一个 Rust 交易平台:实时执行核心、回测与研究工具集、桌面图表界面,以及连接 14 个交易场所的桥接程序。
此仓库是源码镜像。这里只包含代码,不包含其他内容——没有 CI 工作流、运维手册,也没有历史记录。每次发布都是一个提交。开发仓库为私有仓库;你在这里看到的,就是构建已发布二进制文件所用的源码。
包含内容
实时守护进程(vike-tradehub) | 无头执行:挂载一个交易场所、运行策略、与交易场所核对,并在收到 SIGTERM 时妥善停止,同时处理静息订单簿 |
回测 + 研究(backtesthub、vike-study、tearsheet) | 条形图/逐笔数据工具集,支持参数扫描、连续减半优化和 TPE 优化器;报告以运行清单的形式持久化 |
桌面界面(vike-desktop) | 基于 egui/wgpu 的图表、订单录入、数据管理器和连接编辑器——它是守护进程的客户端:自身不挂载交易场所 |
数据(vike-datahub、vike-recorder) | Parquet/DataFusion 历史数据存储、实时记录器和查询服务 |
| 交易场所 | binance、bybit、okx、deribit、hyperliquid、aster、alpaca、ctrader、ig、oanda、polymarket、dukascopy、fxcm、ibkr——每个都是 crates/bridges/ 下的一个 crate |
Agent 技能(skills/) | 供 Agent 使用 vike-cli mcp 的操作流程——回测、编写策略、导入数据,以及通过预览门控在节点上交易;每项技能各有一个 SKILL.md,并在 skills/README.md 中编入索引 |
运行方式
容器镜像将每个无头工具都打包为一个二进制文件,并为每个工具创建一个符号链接:
docker pull vikeio/vike-tradehub:latest # Docker Hub
docker pull ghcr.io/vike-io/vike-tradehub # GHCR
命令行工具可直接从发布版本安装,无需工具链(适用于 Linux 和 Windows;其他目标平台需从克隆的仓库编译——crates/vike-cli/Cargo.toml 中的 [package.metadata.binstall] 说明了原因):
cargo binstall --git https://github.com/vike-io/vike-trader vike-cli
在没有安装 Rust 的 Windows 系统上,可从发布版本下载可执行文件——无需安装任何内容,也不需要工具链:
curl.exe -L -o vike-cli.exe https://github.com/vike-io/vike-trader/releases/latest/download/vike-cli.exe
.\vike-cli.exe --version
运行前,请使用发布版本自带的清单进行校验:
curl.exe -L -o SHA256SUMS https://github.com/vike-io/vike-trader/releases/latest/download/SHA256SUMS
(Get-FileHash vike-cli.exe -Algorithm SHA256).Hash.ToLower() # compare with the vike-cli.exe line
⚠ 这两种方式都不会自动更新。cargo binstall 会将安装记录在一个永不变更的 crate 版本下,因此重新安装时需要使用 --force;下载的可执行文件则需要再次下载来替换。
⚠ Windows 上不会发布独立的回测引擎,因此在自行构建之前,data hist fetch --source demo|starter 和 backtest run --local 都不可用。远程方式无需引擎:vike-cli backtest run --addr HOST:PORT 会改为在 vike-datahub 服务上运行。
从源码构建:
cargo build --workspace # no native dependencies on default features
cargo run -p vike-desktop # the desktop shell (charts stay empty with no backend)
对于 Agent(Claude Code、Cursor,以及任何 MCP 客户端),可直接从此仓库安装技能:
npx skills add vike-io/vike-trader # every procedure under skills/, one SKILL.md each
全新安装没有市场数据——按以下步骤解决
vike-cli init # example strategies, indicators and run profiles under user_data/
vike-cli data hist fetch --source demo # a SYNTHETIC demo tape, written under the venue id `demo`
vike-backend datahub & # serves this project's store: key-less, loopback only
vike-cli backtest run --local --profile user_data/profiles/backtest.toml \
--script user_data/strategies/rhai/sma_cross/sma_cross.rhai
datahub 不可省略:所有历史数据读取都要经过它,包括 --local 运行——--local 只会将回测引擎移到本机,历史数据仍不会移动。若启动时没有配置环境变量,它会提供 seeding 命令写入的同一目录 <project>/market_data/hist;若没有 hub 密钥,它不会进行身份验证,并且只绑定到回环地址,这也是 --local 的默认访问地址。如果数据写入了其他位置,请指定该目录:
vike-backend datahub --store DIR # DIR: where the tape went
演示磁带是一个封闭形式的曲线,不是市场数据;它的作用是让工具有内容可供绘制和运行,并且会写入独立的交易场所 ID 下,因此绝不会与真实数据行混淆或聚合。获取真实条形数据:
vike-cli data hist fetch --source starter # the published dataset, over plain HTTPS
vike-cli data hist fetch binance:BTCUSDT:1h --days 180 # public history, no credentials; asks the datahub
凭据,以及让你停留在模拟交易状态的门槛
凭据存储仅有一个,即设置数据库 <project>/settings/db/vike.db,而缺少凭据就是实际运行门槛——没有密钥的 demo 或 live 账户不会运行。每个账户仅在其 account 行处于激活状态时,才会按自己的层级(paper、demo 或 live)交易,否则不会运行:没有对应行、行未激活,或密钥无法与某个层级精确匹配,都意味着什么也不会运行——绝不会以 paper 代替。vike-cli secrets accounts
会列出这些行,而 vike-cli secrets account activate|deactivate|set-tier --id <N> 会修改其中一行。
⚠ 凭据属于其账户,存储凭据绝不会创建账户或选择其层级:vike-cli secrets account add --venue <VENUE> --tier <paper|demo|live> --no-label 会创建一行,且该行创建时即为激活状态,因此,之后存入密钥的 live 行会在实时守护进程下次启动时启用该账户。
在全新环境中,vike-cli secrets init 会创建空存储;vike-cli secrets set --account <ID> <FIELD> 会添加该账户的一项凭据(值通过标准输入提供,绝不要放在命令行上);vike-cli secrets path 会显示实际使用的存储位置;vike-cli secrets list 会按账户显示其中保存的密钥。
此工作区中的任何操作都不会删除、移动或重写整个数据库。
许可证
FSL-1.1-ALv2 — 源码可用,每个版本会在发布两周年时转为 Apache-2.0。你可以阅读、修改、自行托管和运行它,包括用于商业用途,也可以收费提供支持和咨询服务;但不得将其作为竞争产品或托管服务提供。两年的期限意味着每个版本最终都会采用宽松型许可证。
提交错误、提问,或者什么也不提交
本页面中的错误或不实描述应提交到问题跟踪。问题公开可见且会有人阅读。请说明你运行了什么、发生了什么、你预期发生什么,以及 vike-cli --version 的输出。
关于如何使用它的问题应发到讨论区。
本仓库无法接受的是拉取请求,原因在于其结构,而非针对贡献者的政策:这个镜像是一个 SNAPSHOT——每个版本只有一个提交,会被强制推送,且不保留历史记录——因为保留历史记录的镜像会交出早期版本中未提供的每个文件。此处的分支会被下一次发布替换。因此,欢迎以包含差异内容的问题形式提交补丁,之后由我们手动将其应用到上游。
不会得到答复的内容:要求我们运行你的策略、判断某个优势是否真实,或支持某个分支。此代码树中的测试和决策记录是它所有声明的依据;请从那里开始。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。