1. 项目定位与用途
本项目是动态网格交易(DGT)策略的官方Python实现,源自arXiv:2506.11921论文。核心用途是提供可复现的回测框架,用于验证DGT策略在加密货币市场(如BTC、ETH)上的表现。项目包含数据获取脚本、参数配置文件、核心交易逻辑模块和回测引擎,支持用户调整网格大小、数量、本金与费率等参数,执行历史回测并计算内部收益率(IRR)与最大回撤等绩效指标。适用于量化研究者、交易策略开发人员及学术复现需求。
本页面详细介绍Dynamic Grid Trading策略的Python实现,一种通过动态重置网格边界适应市场变化的交易方法。提供完整安装步骤、使用指南、项目结构解析,适用于BTC/ETH等加密货币的历史回测与量化策略研究。
Dynamic Grid Trading (DGT) 策略的Python实现,通过动态重置网格边界适应市场变化,在BTC/ETH等加密货币回测中显著优于传统网格策略,提供完整回测框架以复现论文实验。
本项目是动态网格交易(DGT)策略的官方Python实现,源自arXiv:2506.11921论文。核心用途是提供可复现的回测框架,用于验证DGT策略在加密货币市场(如BTC、ETH)上的表现。项目包含数据获取脚本、参数配置文件、核心交易逻辑模块和回测引擎,支持用户调整网格大小、数量、本金与费率等参数,执行历史回测并计算内部收益率(IRR)与最大回撤等绩效指标。适用于量化研究者、交易策略开发人员及学术复现需求。
传统网格交易策略在简单市场假设下被证明期望收益为零,无法长期盈利。DGT策略通过引入动态重置机制,当价格突破预设阈值时自动调整网格边界,使策略能够跟随市场趋势并适应波动率变化。该机制解决了固定网格策略在趋势行情中持续亏损的问题,回测显示DGT在BTC和ETH上均显著跑赢静态网格和买入持有策略,同时控制了最大回撤。项目通过代码实现这一理论创新,将数学证明转化为可执行的回测系统。
主要适用于加密货币(如BTCUSDT、ETHUSDT)的分钟级历史数据回测与策略评估,时间范围覆盖2021年1月至2024年7月。适合量化交易研究者进行网格策略的参数优化与对比分析,学术人员复现论文实验,或开发人员在此基础上扩展新的动态网格逻辑。项目不涉及实盘交易接口,当前版本聚焦于历史回测与绩效研究,数据源为交易所K线,需先通过fetch_candlestick.py获取。
项目依赖Python 3.x及指定库版本。安装步骤为:克隆仓库后,在项目根目录执行 `pip install -r requirements.txt`。requirements.txt明确列出依赖:pandas>=1.5、numpy>=1.23、requests>=2.28、matplotlib>=3.6。安装前请确保已安装Python及pip。仓库中未提供Docker或Conda环境配置,也未提及系统级依赖,仅需上述Python包即可运行回测与数据获取脚本。
使用流程分三步:首先,运行 `python fetch_candlestick.py` 下载或更新BTC/ETH分钟级K线数据;其次,编辑 `src/config.py` 配置关键参数,如交易对symbol、起止时间、网格大小列表grid_sizes、半网格数量列表grid_numbers_half_list、本金grid_principal和手续费费率fee_pct;最后,在项目根目录执行 `python -m src.dgt_backtest` 启动回测。回测结果将输出绩效指标,具体输出格式与保存路径需查看代码实现,仓库中未明确给出可视化脚本。
项目架构清晰,核心逻辑集中于src/grid_logic.py,实现网格重置、利润计算与结算函数;回测引擎src/dgt_backtest.py协调数据加载与策略执行;grid_trading.py处理订单模拟与持仓更新。动态重置机制是策略核心,当价格突破当前网格边界时触发重置,重新计算网格区间。仓库欢迎贡献,建议方向包括添加新资产数据源、开发参数优化仪表盘、绘制收益曲线与热图、实现模拟交易 wrapper等。注意:当前版本仅支持回测,未提供实盘交易接口或Web界面。
传统网格策略在理想市场下期望收益为零,且无法适应趋势行情;DGT策略通过动态重置网格边界,当价格突破阈值时调整网格区间,从而自适应市场趋势与波动,实现长期盈利。回测显示DGT在BTC/ETH上显著跑赢静态网格和持有策略。
README示例使用BTCUSDT_spot,时间范围为2021-01