crypto_quant/README.md

164 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 比特币量化交易系统
这是一个基于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