164 lines
3.9 KiB
Markdown
164 lines
3.9 KiB
Markdown
# 比特币量化交易系统
|
||
|
||
这是一个基于OKX API的比特币量化交易系统,支持多种交易策略。
|
||
|
||
## 功能特性
|
||
|
||
- 🔐 使用OKX官方Python SDK
|
||
- 📊 支持多种技术指标(SMA、RSI等)
|
||
- 🤖 三种量化交易策略
|
||
- 🛡️ 沙盒环境测试支持
|
||
- 📈 实时行情数据获取
|
||
- 💰 账户余额查询
|
||
- ⚙️ 可配置的交易参数
|
||
|
||
## 支持的策略
|
||
|
||
### 1. 移动平均线策略 (SMA)
|
||
- 使用短期和长期移动平均线
|
||
- 短期均线上穿长期均线时买入
|
||
- 短期均线下穿长期均线时卖出
|
||
|
||
### 2. RSI策略
|
||
- 基于相对强弱指数(RSI)
|
||
- RSI < 30 时买入(超卖)
|
||
- RSI > 70 时卖出(超买)
|
||
|
||
### 3. 网格交易策略
|
||
- 在价格区间内设置多个网格
|
||
- 价格下跌到网格线时买入
|
||
- 价格上涨到网格线时卖出
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
# 方法1:使用requirements.txt
|
||
pip install -r requirements.txt
|
||
|
||
# 方法2:手动安装
|
||
pip install okx pandas numpy
|
||
```
|
||
|
||
## 配置API密钥
|
||
|
||
1. 登录 [OKX官网](https://www.okx.com/)
|
||
2. 进入"账户中心" → "API管理"
|
||
3. 创建新的API Key,获取以下信息:
|
||
- API Key
|
||
- Secret Key
|
||
- Passphrase
|
||
|
||
4. 编辑 `config.py` 文件,填入你的API密钥:
|
||
|
||
```python
|
||
API_KEY = "your_actual_api_key"
|
||
SECRET_KEY = "your_actual_secret_key"
|
||
PASSPHRASE = "your_actual_passphrase"
|
||
```
|
||
|
||
## 使用方法
|
||
|
||
### 1. 演示版本(推荐新手)
|
||
|
||
如果你还没有OKX API密钥,可以先运行演示版本:
|
||
|
||
```bash
|
||
python demo.py
|
||
```
|
||
|
||
演示版本功能:
|
||
- 使用模拟数据演示策略逻辑
|
||
- 无需API密钥即可运行
|
||
- 支持策略回测和收益分析
|
||
- 适合学习和测试策略
|
||
|
||
### 2. 实盘版本(需要API密钥)
|
||
|
||
配置好API密钥后,运行实盘版本:
|
||
|
||
```bash
|
||
python play.py
|
||
```
|
||
|
||
运行后会显示菜单,你可以选择:
|
||
- 查看账户余额
|
||
- 查看当前价格
|
||
- 执行各种交易策略
|
||
- 运行策略循环
|
||
|
||
### 2. 策略循环运行
|
||
|
||
选择菜单中的"6. 运行策略循环",然后:
|
||
- 选择策略类型(sma/rsi/grid)
|
||
- 设置执行间隔(秒)
|
||
|
||
### 3. 配置交易参数
|
||
|
||
在 `config.py` 中可以调整:
|
||
- 交易数量
|
||
- 策略参数
|
||
- 风险控制设置
|
||
- 时间间隔
|
||
|
||
## 重要提醒
|
||
|
||
⚠️ **风险警告**:
|
||
- 加密货币交易存在高风险
|
||
- 建议先在沙盒环境测试
|
||
- 实盘交易前请充分了解风险
|
||
- 不要投入超过承受能力的资金
|
||
|
||
🔧 **技术提醒**:
|
||
- 默认使用沙盒环境(`sandbox=True`)
|
||
- 实盘交易请将 `sandbox` 设置为 `False`
|
||
- 确保API密钥有交易权限
|
||
- 建议设置IP白名单
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
playground/
|
||
├── play.py # 主程序文件(需要API密钥)
|
||
├── demo.py # 演示版本(无需API密钥)
|
||
├── config.py # 配置文件
|
||
├── test_connection.py # API连接测试
|
||
├── requirements.txt # 依赖包列表
|
||
└── README.md # 说明文档
|
||
```
|
||
|
||
## 策略参数说明
|
||
|
||
### 移动平均线策略
|
||
- `sma_short_period`: 短期均线周期(默认5)
|
||
- `sma_long_period`: 长期均线周期(默认20)
|
||
|
||
### RSI策略
|
||
- `rsi_period`: RSI计算周期(默认14)
|
||
- `rsi_oversold`: 超卖阈值(默认30)
|
||
- `rsi_overbought`: 超买阈值(默认70)
|
||
|
||
### 网格交易策略
|
||
- `grid_levels`: 网格数量(默认5)
|
||
- `grid_range`: 网格范围百分比(默认2%)
|
||
|
||
## 常见问题
|
||
|
||
### Q: 如何切换到实盘交易?
|
||
A: 在 `config.py` 中将 `"sandbox": True` 改为 `"sandbox": False`
|
||
|
||
### Q: 如何调整交易数量?
|
||
A: 修改 `config.py` 中的 `"position_size"` 参数
|
||
|
||
### Q: API调用失败怎么办?
|
||
A: 检查API密钥是否正确,网络连接是否正常,API权限是否足够
|
||
|
||
### Q: 如何添加新的交易策略?
|
||
A: 在 `BitcoinQuantTrader` 类中添加新的策略方法,并在菜单中集成
|
||
|
||
## 免责声明
|
||
|
||
本软件仅供学习和研究使用,不构成投资建议。使用本软件进行交易的风险由用户自行承担。作者不对任何投资损失负责。
|
||
|
||
## 许可证
|
||
|
||
MIT License |