策略
Howtrader PairTradingStrategy(作者:用Python的交易员)— 冻结版 LTC/BCH Bybit 翻译
结局: 回测
HowtraderFrozenLtcBchPair
Howtrader PairTradingStrategy(作者:用Python的交易员)— 冻结版 LTC/BCH Bybit 翻译
假设
忠实复现所提供的 MIT 许可 PairTradingStrategy,作者为用Python的交易员,提交版本为 fcad8e2d86825506b9d33441ab78be853c2c3bdd。平台映射:LTCUSDT.BYBIT 为腿 1,BCHUSDT.BYBIT 为腿 2;两者均为线性永续合约,账户类型为 NETTING MARGIN,初始权益为 $100,000,配置杠杆为 1.0。保留 price_add=5、boll_window=20、boll_dev=2、fixed_size=1、leg1_ratio=1 和 leg2_ratio=1。关键是,绝不使用 fixed_size:目标仓位是字面上的带符号单单位数量,而非相对于资金的配置。比例只影响价差,绝不影响下单数量。这是源策略复现实验,并非声称存在扣除手续费后仍可行的优势。不要添加对冲估算、价格归一化、过滤条件、止损、动态仓位或优化。
对源代码默认值的明确要求优先于为提升表现而调整机制。Bybit 在 2.7% 的数据占比偏低,支持做空,并避免了 Hyperliquid 的小时内历史数据限制。使用两个非 BTC 资产可降低对已饱和 BTC 序列的依赖;corpus_concentration 为空,因此无法核实它们在实际数据集中的占比。这与失败的 DOGE 跨交易所 OU 交易不同:此策略在同一交易场所使用两种不同资产、原始算术价差和固定滚动区间,但仍面临显著的短周期均值回归手续费风险。没有实证平稳性主张支持这一特定的交易品种映射。
实现
冻结版 LTC/BCH Bybit 翻译,使用对齐的分钟线、按日历时间划分的五分钟价差观测值、基于 20 个观测值总体标准差计算的布林带、方向相反的字面一单位目标、中间价退出,以及先处理腿-1再处理腿-2的限价单对账。
报告中的第 1.5 层失败,是由于冻结计划验证器单独检查 parameters['leverage'](包括其数值类型),且不依据 config.leverage。现在两者都明确设为 1.0;策略逻辑未变,只更新了迭代标题。所有源代码默认值和已登记的研究计划均保持冻结。按明确要求,fixed_size 仍未使用,比例只影响价差。次级 K 线必须与主时间戳完全一致。原生限价单执行仍是有记录的近似处理:可成交订单可能在提交时成交,而不是在后续源 K 线上首次具备成交条件时成交。未进行任何验证。由于此工作区只允许只读文件系统访问,无法写入所需的发件箱文件;此处返回完整的绑定 JSON。
验证结果
在实验报告以及任何与源结果的比较中,保留这一执行限定。
原生可成交限价单可能在提交时成交,而不是像源回测器那样在后续 K 线上成交。代码记录了这一近似处理,但由此产生的成交并不能证明与源回测器的执行完全一致。
截断的沙盒报告显示,已平仓头寸的平均收益率为 -0.473%,手续费和冲击成本贡献显著。这是评估完整历史数据的参考证据,并非正确性方面的问题。
迭代历史
验证失败(第 1.5 层——假设/配置一致性)[类别=hypothesis_mismatch]: - optimization_plan 将杠杆固定为 1.0
分析
PairTradingStrategy
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。