策略
用Python的交易员提供的 Howtrader DualThrustStrategy:忠实移植为AVAX上的 Bybit 日内多空策略
结局: 回测
HowtraderAvaxBybitDualThrust
用Python的交易员提供的 Howtrader DualThrustStrategy:忠实移植为AVAX上的 Bybit 日内多空策略
假设
具体交易思路:使用AVAXUSDT.BYBIT的一分钟K线,复现归功于用Python的交易员提供的 DualThrustStrategy。来源:https://github.com/51bitquant/howtrader/blob/fcad8e2d86825506b9d33441ab78be853c2c3bdd/examples/strategies/dual_thrust_strategy.py。保留源代码中的精确默认值fixed_size=1、k1=0.4、k2=0.6和exit_time=14:55。本实现使用前一个日历日的最高价减最低价,而非传统的多日 Dual Thrust 区间公式。保留字面固定数量:每次入场或反向止损订单均为一个AVAX。这是为忠实复现而明确采用的资本比例仓位规模例外;改为按权益比例计算会改变提交的策略。使用MARGIN账户,配置杠杆=1.0。平台每次成交的手续费为 maker 0.020%、taker 0.055%;全按 taker 成交的往返成本为名义价值的0.110%。源代码没有业绩证据。由于来源未提供时区,使用UTC作为明确选择的平台日历时区。保留一分钟K线的开盘时间戳以进行日期/时间比较:根据平台收盘时间戳推导开盘时间戳;只有在K线可用后才提交订单。
用户要求本实验忠实复现单一交易品种的突破策略。Bybit 在2.5%的覆盖不足,而做多和做空可应对投资组合偏向仅做多的82.8%集中度。Hyperliquid 分钟K线无法提供充分的历史验证。语料集中度为空,因此无法验证AVAX在历史实验中的占比。不要添加指标、市场状态过滤条件、止盈目标或优化后的阈值来制造新意。
实现
将 howtrader 的 DualThrustStrategy 忠实移植到AVAXUSDT.BYBIT的1分钟K线上:区间 = 前一个UTC日历日的最高价减最低价;收盘价 > 当日开盘价时,多头止损单设于当日开盘价 + 0.4*区间,否则空头止损单设于当日开盘价 - 0.6*区间;相反方向的止损单用于止损并反手;每天每侧入场一次;从14:55 UTC起,使用激进限价单(close*0.99 / close*1.01)平仓。固定数量按字面值设为1 AVAX。
第2次迭代固定了第1.5层“optimization_plan将杠杆固定为1.0”:每个固定的计划参数(k1、k2、杠杆=1.0,类型为浮点数、exit_hour、fixed_size、exit_minute、calendar_timezone='UTC'、initialization_days、bar_interval_minutes)现在都以准确的类型和值列于参数中;config.leverage=1.0,代码将`leverage`读取为镜像值(在1.0时无操作;按假设中的明确例外,仓位规模仍为字面值1 AVAX)。交易逻辑与第1次迭代一致。注意:假设要求在$100k权益下使用1 AVAX,因此相对于资本而言回报很小。
验证结果
冒烟测试报告了三笔已平仓交易,平均净回报为-0.2862%,盈利因子为0.323。这个小型且截断的样本无法证明其经济可行性;应使用完整历史结果对照所述的全按 taker 成交往返成本0.110%进行评估。
迭代历史
验证失败(第1.5层——假设/配置一致性)[类别=hypothesis_mismatch]: - optimization_plan将杠杆固定为1.0
分析
DualThrustStrategy
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。