@Stone141319: 刚搓了一个量化回测工具,开源给需要的朋友,如果能够帮助到大家,欢迎点点关注,感谢支持!!! 交易想法靠谱吗?别靠感觉了,先扔进历史 K 线跑一遍再说!!! 由于我是 Hermes 新手,之前验证交易策略只知道跑模拟盘测试,参加了BG的黑客…
摘要
Stone141319 发布了一个本地的加密货币量化回测工具 Hermes Backtest Lab,支持现货、永续合约和链上代币回测,无需 API Key,并提供了多种预设和自定义参数。
查看缓存全文
缓存时间: 2026/06/16 17:41
刚搓了一个量化回测工具,开源给需要的朋友,如果能够帮助到大家,欢迎点点关注,感谢支持!!!
交易想法靠谱吗?别靠感觉了,先扔进历史 K 线跑一遍再说!!!
由于我是 Hermes 新手,之前验证交易策略只知道跑模拟盘测试,参加了BG的黑客松我才知道,还可以进行数据回测。
所以我开源了一个本地加密货币回测工具:石头量化回测实验室(Hermes Backtest Lab)
开源地址:https://github.com/stong123456/stone-backtest-lab…
它不需要 API Key,也不是交易所机器人,核心就干一件事:把你的交易想法,丢进真实历史数据里跑一遍,看看数据怎么说。
——————————————————
支持的核心能力如下: 1、OKX 现货 + USDT 永续合约回测
2、多币种组合账户回测(模拟真实多标的账户)
3、多空双向(可只做多 / 只做空 / 双向)
4、链上 Token 回测(GeckoTerminal 数据源)
5、完整成本建模(手续费 + 滑点)
6、动态仓位、杠杆、保证金、回撤熔断
7、内置常用因子(趋势、均值回归、ATR、ADX、RSI、EMA、布林、成交量 z-score 等)
8、报告导出,每次回测会生成三类文件: report.md:适合人看的回测报告 metrics.json:适合程序读取的指标 trades.csv:每一笔模拟交易明细
——————————————————
可以用 powershell 跑,或者直接丢给你的AI处理
新手最快上手(推荐): python -m pip install -r requirements.txt python scripts/hermes_backtest_lab.py –preset demo
常用预设直接跑: –preset balanced / conservative / aggressive / spot / onchain-demo
想自定义跑 OKX 永续: python scripts/hermes_backtest_lab.py –symbols BTC,ETH,SOL,SUI –inst-type SWAP –days 180 –bar 1H
想跑现货(禁止做空): –symbols BTC,ETH,SOL –inst-type SPOT –allow-short 0 –days 180
想跑链上 Token: –data-source geckoterminal –symbols base:token:0x… –days 30 –bar 1H
更多用法直接看仓库 README。
——————————————————
为什么我认为回测最有价值? 它不是用来证明你能赚钱的,而是给你一个冷冰冰铁面无私的质检员:
你的策略怕不怕手续费和滑点?
是靠几笔大赚撑起来的吗?
胜率、盈亏比、最大回撤、交易频率是否合理?
换一组币、换一个周期,还能不能活?
连历史数据 + 成本这一关都过不了的策略,上实盘大概率是送钱。
所以这个工具适合三类人:
想验证自己交易想法的人
想系统研究不同币种、周期、参数的人
想做自动化交易,但不想一上来就拿真金白银试错的人
——————————————————
最后提醒:历史回测不代表未来收益,但没有回测,很多时候你连自己亏在哪里都不知道。
欢迎 Star 、直接 clone 跑起来试试,跑完欢迎提 Issue 或反馈建议!
stong123456/stone-backtest-lab
Source: https://github.com/stong123456/stone-backtest-lab
石头量化回测实验室
英文名:Hermes Backtest Lab。
一个不需要 API Key 的本地加密货币回测工具。
它使用 OKX 公开 K 线数据和 GeckoTerminal 公开 DEX 数据,支持现货、USDT 永续合约、多链链上 token、多币种组合账户回测、手续费/滑点建模、动态杠杆、动态保证金、止盈止损、时间退出、因子归因和报告导出。
这不是投资建议。历史回测不代表未来收益。请先用小样本和模拟盘验证。
功能
- 任意 OKX 现货或 USDT 永续合约符号回测
- 任意 GeckoTerminal 支持的链上 token 或 DEX pool 回测
- 单币种回测或多币种组合账户回测
- 支持多空双向、只做多、只做空
- 内置趋势跟踪和震荡均值回归逻辑
- 内置 ATR、ADX、RSI、EMA、布林带、成交量 z-score 等指标
- 支持手续费、滑点、最大持仓、账户回撤熔断
- 输出
report.md、metrics.json、trades.csv - 不读取
.env、交易所账户、私钥、API Key 或 Telegram Token
安装
需要 Python 3.10+。
cd hermes-backtest-lab
python -m pip install -r requirements.txt
Windows 用户也可以直接运行:
.\run_setup.ps1
最快开始
python scripts/hermes_backtest_lab.py --preset demo
如果不知道该用什么命令,先看中文短菜单:
python scripts/hermes_backtest_lab.py
运行后会在 outputs/hermes_backtest_lab/<时间戳>/ 生成:
report.md:适合人看的回测报告metrics.json:适合程序读取的指标trades.csv:每一笔模拟交易明细
常用预设
# 查看所有预设和中文解释
python scripts/hermes_backtest_lab.py --list-presets
# 只看配置,不联网、不回测
python scripts/hermes_backtest_lab.py --dry-run --preset balanced
# 30 天快速检查,适合确认环境是否正常
python scripts/hermes_backtest_lab.py --preset demo
# 180 天均衡组合回测
python scripts/hermes_backtest_lab.py --preset balanced
# 更保守,只跑主流币,降低组合暴露
python scripts/hermes_backtest_lab.py --preset conservative
# 更激进,加入更多高波动标的
python scripts/hermes_backtest_lab.py --preset aggressive
# 现货只做多
python scripts/hermes_backtest_lab.py --preset spot
# 链上 token 回测,自动选择流动性最高的池子
python scripts/hermes_backtest_lab.py --preset onchain-demo
# Base 链 WETH token
python scripts/hermes_backtest_lab.py --data-source geckoterminal --symbols base:token:0x4200000000000000000000000000000000000006 --days 30 --bar 1H
# 直接指定某个 DEX pool
python scripts/hermes_backtest_lab.py --data-source geckoterminal --symbols base:pool:0xPOOL_ADDRESS --days 30 --bar 1H
你可以覆盖预设里的任何参数:
python scripts/hermes_backtest_lab.py --preset balanced --symbols BTC,ETH,SOL --days 90 --max-leverage 8
也可以把币种放进 txt 文件,每行一个,方便普通用户维护:
python scripts/hermes_backtest_lab.py --preset balanced --symbols-file examples/symbols_okx_bluechip.txt
Windows 一键脚本:
.\run_demo.ps1
.\run_balanced.ps1
.\run_onchain_demo.ps1
自定义回测
# 任意 OKX USDT 永续
python scripts/hermes_backtest_lab.py --symbols BTC,ETH,SUI,LINK --inst-type SWAP --days 180 --bar 1H
# 直接传 OKX instId
python scripts/hermes_backtest_lab.py --symbols BTC-USDT-SWAP,ETH-USDT-SWAP --days 90 --bar 4H
# 现货回测
python scripts/hermes_backtest_lab.py --symbols BTC,ETH,SOL --inst-type SPOT --allow-short 0 --days 180
# 链上 token。格式为 chain:token:contract,脚本会自动选择流动性最高的池子。
python scripts/hermes_backtest_lab.py --data-source geckoterminal --symbols eth:token:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48,base:token:0x4200000000000000000000000000000000000006 --days 30 --bar 1H
# 链上池子。格式为 chain:pool:pool_address。
python scripts/hermes_backtest_lab.py --data-source geckoterminal --symbols solana:pool:POOL_ADDRESS --days 30 --bar 1H
# 多币种共享一个账户,不按币种拆分本金
python scripts/hermes_backtest_lab.py --symbols BTC,ETH,SOL,SUI,LINK --inst-type SWAP --portfolio-mode 1 --starting-balance 100000 --min-margin 1000 --max-margin 3000
重要参数
| 参数 | 说明 |
|---|---|
--symbols | 币种列表,支持 BTC,ETH 或 BTC-USDT-SWAP |
--data-source | 数据源,okx 或 geckoterminal |
--inst-type | SWAP 或 SPOT |
--onchain-network | 默认链上网络,例如 eth、bsc、base、solana |
--onchain-id-type | 默认链上地址类型,token 或 pool |
--gecko-currency | GeckoTerminal 计价货币,默认 usd |
--gecko-token-side | 池子里使用 base 还是 quote token 的 OHLCV |
--days | 回测天数 |
--bar | K 线周期,例如 1H、4H、1D |
--portfolio-mode | 是否使用共享组合账户 |
--starting-balance | 初始本金 |
--min-margin | 单笔最低保证金或名义资金单位 |
--max-margin | 单笔最高保证金或名义资金单位 |
--max-leverage | 最高杠杆 |
--entry-score | 入场最低分 |
--fee-bps | 单边手续费,bps |
--slippage-bps | 单边滑点,bps |
--reward-r | 止盈 R 倍数 |
--account-stop-pct | 账户回撤熔断比例 |
--refresh | 重新拉取公开 K 线,忽略缓存 |
查看更多命令
python scripts/hermes_backtest_lab.py
python scripts/hermes_backtest_lab.py --list-presets
python scripts/hermes_backtest_lab.py --examples
python scripts/hermes_backtest_lab.py --advanced-help
结果怎么看
不要只看胜率。优先看:
- 总收益和最大回撤是否匹配
- Profit Factor 是否大于 1
- 平均盈利是否明显大于平均亏损
- 交易次数是否足够,不要被小样本骗
- 盈利是否集中在少数几天或少数币
- 加入手续费和滑点后是否仍然有效
链上数据注意事项
- token 模式会自动选择 GeckoTerminal 返回的最高流动性池子,不一定等于你主观想交易的那个池子。
- pool 模式更精确,适合你已经知道目标池子地址的情况。
- 新币、小池子、低流动性池子的 K 线可能不完整,报告里会显示数据警告。
- 链上回测默认只是价格序列研究,没有模拟 MEV、gas、池子冲击成本、买卖税、黑名单、暂停交易、路由失败等真实链上执行风险。
- Meme 和小盘 token 的滑点建议手动调高,例如
--slippage-bps 30或更高。
开源分享建议
如果你要发到 GitHub,建议只提交这些内容:
README.mdSKILL.mdrequirements.txtscripts/hermes_backtest_lab.pyexamples/commands.md.gitignore
不要提交:
outputs/runtime-logs/cache/.env- API Key、Telegram Token、交易所账户文件
石头 (@Stone141319): 现在很多人聊 AI Web3,都在盯着模型、应用、空投这些地方,但真到了一堆 AI Agent 上链执行任务、调用数据、协同交易、管理资产的时候,问题就会变得特别特别现实: 它的推理能不能被验证?
它调用的数据靠不靠谱?
它的记忆放在哪里?
它和其他 Agent 协作时,出了问题谁来审计?
相似文章
@Stone141319: Hermes 进化日记 · 最新战报来袭!大家好,不知不觉研究 Hermes 已经一个多月了!很多人刚开始玩AI量化的时候,都觉得重点是找高胜率策略,但最容易把账户干废的其实是不会挂止盈止损。今天我把 Hermes 半自动化交易系统目前的…
作者分享了Hermes半自动化交易系统的止盈止损设计,包括三层保护机制(开仓附带、补挂原生保护、软件层兜底)以及现货/合约两套分档节奏,旨在控制风险并优化收益。
@huoshan007: Hermes Skills三件套让我链上Alpha发现效率直接翻倍! 兄弟们,整个人都惊呆!快点进来围观! 说真的,我之前盯盘盯得眼睛都快瞎了——早上刷Polymarket、中午看GitHub Trending、晚上蹲Hyperliqui…
使用Hermes Skills三件套(native-mcp, webhook-subscriptions, hermes-agent cron)自动抓取链上数据并推送Alpha信号,大幅提升加密货币交易效率。
@eastweb3eth: Github 美股量化合集----聪明人必用的工具 自从有了 Github,普通人也能玩量化了。但是别一上来就自己吭哧吭哧写回测引擎,真的,大部分人写的还不如 GitHub 上一个三年前的仓库抗造。 虽然仓库很多,我已经帮你筛选好了,这4…
推荐4个开源量化交易工具/框架(VeighNa、AI-Trader、StockSharp、QuantDinger),强调它们适合普通用户进行美股量化交易,帮助解放双手、将交易交给模型。
@XAMTO_AI: 兄弟们,有个东西我实在忍不住要跟你们念叨一下。 一个开源AI量化交易平台,悄悄就上线了,本地自部署,全链路打通,加密货币、美股、外汇全覆盖,从分析到实盘一条龙——你说气不气,这种东西两年前要么收费贵到离谱,要么根本找不到,现在直接开源扔G…
介绍一个开源的AI量化交易平台QuantDinger,支持本地部署、全链路打通加密货币、美股、外汇,集成AI分析、策略生成、回测与实盘对接。
@CoderDaMing: 10个免费GitHub库,只需100美元和笔记本电脑就能像对冲基金一样交易。 这些是300多家对冲基金在用的工具。收藏这个。 1. OpenBB 免费的彭博终端。股票、期权、期货、加密、外汇。彭博终端年费25000美元,这个免费。 → h…
这篇文章介绍了10个免费的GitHub开源库,涵盖金融数据、回测、交易执行等,让散户能用低成本实现类似华尔街对冲基金的交易工具。