crypto_quant/README.md

164 lines
3.9 KiB
Markdown
Raw Permalink Normal View History

2025-07-21 05:05:59 +00:00
# 比特币量化交易系统
这是一个基于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