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