这是一个基于Python的自动化交易机器人,专门用于在币安交易所执行资金费率套利策略。资金费率套利是一种在加密货币永续合约市场中利用不同交易对之间资金费率差异的策略。
资金费率套利策略的基本原理是:
- 做多资金费率为负(或较低)的永续合约
- 做空资金费率为正(或较高)的永续合约
- 持有这些对冲头寸直到资金费率支付时间
- 从资金费率差异中获利
本机器人会自动监控币安交易所上的资金费率,识别套利机会,并在适当的时机执行交易。
- 自动获取币安交易所的资金费率数据
- 分析资金费率数据,识别套利机会
- 自动执行交易(开仓和平仓)
- 风险管理(止损、最大回撤控制)
- 性能监控和报告生成
- 详细的日志记录
- Python 3.8+
- 币安账户和API密钥
-
克隆或下载本项目到本地
-
安装依赖包
pip install -r requirements.txt- 创建
.env文件并设置API密钥(参考.env.example)
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_api_secret_here
在config.py文件中可以修改以下配置:
TRADE_SYMBOLS: 要监控的交易对列表MIN_FUNDING_RATE_DIFF: 最小资金费率差异阈值POSITION_SIZE_USD: 每个交易对的仓位大小(美元)MAX_LEVERAGE: 最大杠杆倍数MAX_DRAWDOWN_PCT: 最大回撤百分比STOP_LOSS_PCT: 止损百分比CHECK_INTERVAL_MINUTES: 检查资金费率的时间间隔(分钟)LOG_LEVEL: 日志级别
# 正常模式(持续运行)
python main.py
# 测试模式(只运行一次)
python main.py --test
# 监控模式(只监控不交易)
python main.py --monitor
# 查看当前持仓与资金摘要
python main.py --positions
# 结合模拟模式
python main.py --simulate --positions
# 自定义模拟初始资金
python main.py --simulate --capital 20000 --positions
# 循环展示,指定间隔秒数
python main.py --positions --positions-interval 5
# 结合模拟模式与自定义资金
python main.py --simulate --capital 20000 --positions --positions-interval 5
可以使用data_analysis.py模块分析历史资金费率数据:
from data_analysis import FundingRateAnalyzer
from binance_client import BinanceClient
# 获取资金费率数据
client = BinanceClient()
funding_df = client.get_funding_rates()
# 分析数据
analyzer = FundingRateAnalyzer(funding_df)
stats = analyzer.calculate_statistics()
print(stats)
# 找出最佳套利对
pairs = analyzer.find_best_pairs()
print(pairs)
# 绘制资金费率走势图
analyzer.plot_funding_rates(save_path='charts/funding_rates.png')- 加密货币交易存在高风险,请谨慎使用本机器人
- 建议先在测试模式下运行,确认策略有效后再使用真实资金
- 永远不要投入超过你能承受损失的资金
- 本项目不提供任何投资建议,使用者需自行承担所有风险
crypto_arbitrage/
├── main.py # 主程序入口
├── config.py # 配置文件
├── binance_client.py # 币安API客户端
├── arbitrage_strategy.py # 套利策略核心逻辑
├── data_analysis.py # 数据分析模块
├── risk_management.py # 风险管理模块
├── performance_monitor.py # 性能监控模块
├── logger.py # 日志模块
├── requirements.txt # 依赖包列表
├── .env.example # 环境变量示例
└── README.md # 使用说明
- 启用模拟:
python main.py --simulate,无需设置BINANCE_API_KEY/SECRET - 设置初始资金:
python main.py --simulate --capital 20000或在config.py设置INITIAL_CAPITAL_USDT - 费用参数:在
config.py设置SPOT_FEE_RATE、PERP_FEE_RATE - 行为说明:仅使用公开行情接口;现货与永续下单、平仓、余额在内存中仿真,日志包含
[模拟]标记 - 与真实模式切换:移除
--simulate或将config.SIMULATION_MODE=False - 注意事项:模拟不包含交易规则限制、滑点与深度影响,结果仅供策略验证