跳到主要内容
项目档案应用项目

Dynamic Grid Trading (DGT) 策略Python实现 - 加密货币动态网格交易回测系统安装与使用指南

本页面详细介绍Dynamic Grid Trading策略的Python实现,一种通过动态重置网格边界适应市场变化的交易方法。提供完整安装步骤、使用指南、项目结构解析,适用于BTC/ETH等加密货币的历史回测与量化策略研究。

37PythonStar 于 2026年1月19日2026年9月20日 更新

AI 总结

Dynamic Grid Trading (DGT) 策略的Python实现,通过动态重置网格边界适应市场变化,在BTC/ETH等加密货币回测中显著优于传统网格策略,提供完整回测框架以复现论文实验。

中文项目介绍

本项目基于学术论文《Dynamic Grid Trading Strategy: From Zero Expectation to Market Outperformance》实现了一种创新的动态网格交易策略。 传统固定网格交易在理想市场假设下期望收益为零,DGT策略通过动态重置网格边界机制,使策略能够自适应价格趋势与波动,从而在不同市场阶段保持盈利能力。 项目提供完整的回测框架,支持比特币(BTC)和以太坊(ETH)等加密货币的分钟级历史数据回测(2021年1月至2024年7月),并包含数据获取、参数配置、核心交易逻辑与绩效评估模块。 技术架构采用模块化设计,分离配置管理、网格逻辑、回测引擎与数据获取层,便于研究者复现论文实验、进行参数敏感性分析或扩展新的交易逻辑。

详细信息与使用说明

1. 项目定位与用途

本项目是动态网格交易(DGT)策略的官方Python实现,源自arXiv:2506.11921论文。核心用途是提供可复现的回测框架,用于验证DGT策略在加密货币市场(如BTC、ETH)上的表现。项目包含数据获取脚本、参数配置文件、核心交易逻辑模块和回测引擎,支持用户调整网格大小、数量、本金与费率等参数,执行历史回测并计算内部收益率(IRR)与最大回撤等绩效指标。适用于量化研究者、交易策略开发人员及学术复现需求。

2. 解决的问题

传统网格交易策略在简单市场假设下被证明期望收益为零,无法长期盈利。DGT策略通过引入动态重置机制,当价格突破预设阈值时自动调整网格边界,使策略能够跟随市场趋势并适应波动率变化。该机制解决了固定网格策略在趋势行情中持续亏损的问题,回测显示DGT在BTC和ETH上均显著跑赢静态网格和买入持有策略,同时控制了最大回撤。项目通过代码实现这一理论创新,将数学证明转化为可执行的回测系统。

3. 适用场景

主要适用于加密货币(如BTCUSDT、ETHUSDT)的分钟级历史数据回测与策略评估,时间范围覆盖2021年1月至2024年7月。适合量化交易研究者进行网格策略的参数优化与对比分析,学术人员复现论文实验,或开发人员在此基础上扩展新的动态网格逻辑。项目不涉及实盘交易接口,当前版本聚焦于历史回测与绩效研究,数据源为交易所K线,需先通过fetch_candlestick.py获取。

4. 安装方式

项目依赖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包即可运行回测与数据获取脚本。

5. 使用方式

使用流程分三步:首先,运行 `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` 启动回测。回测结果将输出绩效指标,具体输出格式与保存路径需查看代码实现,仓库中未明确给出可视化脚本。

6. 补充说明与实现特点

项目架构清晰,核心逻辑集中于src/grid_logic.py,实现网格重置、利润计算与结算函数;回测引擎src/dgt_backtest.py协调数据加载与策略执行;grid_trading.py处理订单模拟与持仓更新。动态重置机制是策略核心,当价格突破当前网格边界时触发重置,重新计算网格区间。仓库欢迎贡献,建议方向包括添加新资产数据源、开发参数优化仪表盘、绘制收益曲线与热图、实现模拟交易 wrapper等。注意:当前版本仅支持回测,未提供实盘交易接口或Web界面。

思维导图

Dynamic Grid Trading Project
配置管理
src/config.py: 全局参数(交易对、时间、网格、本金、费率)
网格逻辑核心
src/grid_logic.py: 动态重置、利润计算、结算
回测引擎
src/dgt_backtest.py: 回测驱动、绩效评估
数据获取
fetch_candlestick.py: 下载分钟级K线数据
交易执行
grid_trading.py: 订单模拟、持仓更新

常见问题

DGT策略与传统网格策略的核心区别是什么?

传统网格策略在理想市场下期望收益为零,且无法适应趋势行情;DGT策略通过动态重置网格边界,当价格突破阈值时调整网格区间,从而自适应市场趋势与波动,实现长期盈利。回测显示DGT在BTC/ETH上显著跑赢静态网格和持有策略。

项目支持哪些交易对和时间范围?

README示例使用BTCUSDT_spot,时间范围为2021-01