虚拟货币量化项目
Go to file
blade a12f34e80c invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
__pycache__ support both of Perpetual Swap and Swap Trading 2025-07-22 17:59:18 +08:00
core invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
doc optimize ma long short/ ma cross algorithms 2025-08-06 14:36:22 +08:00
sql statistics period data 2025-08-07 18:09:51 +08:00
.cursorrules first 2025-07-21 13:05:59 +08:00
.gitignore statistics period data 2025-08-07 18:09:51 +08:00
QUICKSTART.md first 2025-07-21 13:05:59 +08:00
README.md first 2025-07-21 13:05:59 +08:00
auto_schedule.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
config.py support output last huge volume record 2025-08-08 14:25:01 +08:00
demo.py first 2025-07-21 13:05:59 +08:00
huge_volume_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
market_data_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
market_monitor_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
metrics_config.py complete market data monitor main logic 2025-08-05 15:30:50 +08:00
monitor_schedule.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
plan.md support get market data 2025-07-24 18:23:00 +08:00
play.py complete market data monitor main logic 2025-08-05 15:30:50 +08:00
requirements.txt invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
statistics_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
test_connection.py first 2025-07-21 13:05:59 +08:00
test_db_huge_volume.py support statistics price-volume relationship 2025-07-31 20:31:22 +08:00
test_db_trade_data.py support statistics price-volume relationship 2025-07-31 20:31:22 +08:00
test_huge_volume.py support statistics price-volume relationship 2025-07-31 20:31:22 +08:00
test_k_shape.py 1. update database and relevant code 2025-08-04 21:07:44 +08:00
test_ma_cross_minimal.py optimize ma long short/ ma cross algorithms 2025-08-06 14:36:22 +08:00
test_ma_cross_optimization.py optimize ma long short/ ma cross algorithms 2025-08-06 14:36:22 +08:00
test_ma_cross_simple.py optimize ma long short/ ma cross algorithms 2025-08-06 14:36:22 +08:00
test_ma_methods.py optimize ma long short/ ma cross algorithms 2025-08-06 14:36:22 +08:00
trade_data_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
trade_main.py invoke python file by schedule directly, instead of import way. The purpose is to make each event to be totally new initialization action. 2025-08-15 11:37:06 +08:00
worklog.md update for more professional data fetch action 2025-07-30 16:11:34 +08:00

README.md

比特币量化交易系统

这是一个基于OKX API的比特币量化交易系统支持多种交易策略。

功能特性

  • 🔐 使用OKX官方Python SDK
  • 📊 支持多种技术指标SMA、RSI等
  • 🤖 三种量化交易策略
  • 🛡️ 沙盒环境测试支持
  • 📈 实时行情数据获取
  • 💰 账户余额查询
  • ⚙️ 可配置的交易参数

支持的策略

1. 移动平均线策略 (SMA)

  • 使用短期和长期移动平均线
  • 短期均线上穿长期均线时买入
  • 短期均线下穿长期均线时卖出

2. RSI策略

  • 基于相对强弱指数(RSI)
  • RSI < 30 时买入(超卖)
  • RSI > 70 时卖出(超买)

3. 网格交易策略

  • 在价格区间内设置多个网格
  • 价格下跌到网格线时买入
  • 价格上涨到网格线时卖出

安装依赖

# 方法1使用requirements.txt
pip install -r requirements.txt

# 方法2手动安装
pip install okx pandas numpy

配置API密钥

  1. 登录 OKX官网

  2. 进入"账户中心" → "API管理"

  3. 创建新的API Key获取以下信息

    • API Key
    • Secret Key
    • Passphrase
  4. 编辑 config.py 文件填入你的API密钥

API_KEY = "your_actual_api_key"
SECRET_KEY = "your_actual_secret_key"
PASSPHRASE = "your_actual_passphrase"

使用方法

1. 演示版本(推荐新手)

如果你还没有OKX API密钥可以先运行演示版本

python demo.py

演示版本功能:

  • 使用模拟数据演示策略逻辑
  • 无需API密钥即可运行
  • 支持策略回测和收益分析
  • 适合学习和测试策略

2. 实盘版本需要API密钥

配置好API密钥后运行实盘版本

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