在《量化入门:凭什么从市场赚钱》中我聊了对量化的思考,这篇记录实际搭建过程。
我的技术选择
| 选择 | 我选了 | 为什么 |
|---|---|---|
| 交易机器人 | Freqtrade | 开源、流程完善、能专注于策略本身 |
| 运行方式 | Docker | 环境隔离,换电脑也能快速复现 |
| Docker 工具 | OrbStack | macOS 上的 Docker 管理器,轻量且 UI 好看 |
| 交易所 | Binance | 第一大交易所,数据质量有保障 |
| 运行模式 | dry-run | 不拿真金白银冒险 |
搭建过程
整个过程出奇顺利——Claude Code 帮我完成了几乎所有操作。
我只需要描述想做什么,它就会生成命令、执行、处理报错。具体安装步骤不赘述,问 AI 就能得到答案。
踩坑记录
虽然整体顺利,但踩了两个坑,记录下来供后来者参考。
1. stake_currency 选错了
我想拉取 BTC 的数据,于是把 stake_currency 设成 BTC。结果下载数据时找不到交易对。
后来才理解:stake_currency 是你用来交易的「本金货币」,不是你想交易的标的。
- 选 USDT → 用 USDT 买卖其他币 → 交易对是 BTC/USDT、ETH/USDT
- 选 BTC → 用 BTC 买卖其他币 → 交易对是 ETH/BTC、XXX/BTC
Binance 上 USDT 交易对最多、流动性最好。想交易 BTC,正确做法是:
stake_currency: USDT
交易对: BTC/USDT
2. Telegram Bot 获取 chat_id
创建 Bot、拿 Token 不难,跟着 BotFather 走就行。
麻烦的是获取 chat_id。网上很多教程说调用 API,其实有个更简单的方法:
- 打开 Telegram Web 版(web.telegram.org)
- 点进你和 Bot 的对话
- 看 URL,格式类似
web.telegram.org/k/#-1234567890 - 那串数字就是 chat_id
小结
环境就绪。下一步:读懂 SampleStrategy,理解策略的基本结构。