跳至内容

2023 年 10 月机器人交易大赛回顾

cover

2023 年 10 月是一个特别值得关注的月份,因为它标志着正式机器人交易大赛的开启——这是面向 Botcamp 成员的专属月度自动化交易竞赛。大家紧盯奖项,专注于表现,踏上了一段既考验策略能力又检验机器人性能的旅程。

深入探讨 10 月机器人交易大赛

本次比赛从 10 月 27 日开始,持续至 10 月 30 日。我与众多活跃的 Botcamp 成员一同参与了这场充满活力的竞争,旨在将我们的自动化交易策略相互较量。根据规则,我们可以使用任意 Hummingbot 策略或脚本,起始资金不得超过 200 USDT,并且比赛开始后不得追加资金。

Beta 赛况总结

Beta 机器人交易赛中,我使用了带动态偏移中间价的 PMM 脚本的一个修改版本,该策略旨在为单个市场的交易对提供流动性。

这是我的版本。我选择了币安交易所上的 SEI-USDT 交易对,因为它刚上线不久,近期表现出较大的波动性。

注意

在现货做市中,如果没有奖励或返佣机制,再加上没有高等级 VIP 身份而需支付标准手续费,盈利会非常困难。因此,我原本预计该策略在扣除手续费后会亏损,但希望交易本身的盈亏(P&L)能勉强打平。

在两天内共执行了 392 笔交易,我的机器人非常活跃且激进!平均买入价格为出色的 0.1245 USDT,而平均卖出价格为 0.1244 USDT。考虑到市场波动剧烈,这一微小价差体现了机器人能够根据市场波动动态调整挂单价差的能力。

最终结果因手续费影响,总盈亏为-4.84 USDT。虽然这不是我期望的结果,但这是一次宝贵的学习经历,让我深入了解了市场动态和机器人行为的细微之处。

history-sept

10 月份的变化:使用 V2 策略

到了 10 月,我想尝试新的 V2 策略框架,其特点是生成执行器(Executors)而非传统订单。这种创新方法基于马丁·普拉多所著《金融机器学习新进展》一书中提出的三重屏障法

V2 策略在多个关键方面与其前身有所不同:

  • 可组合性:支持模块化的策略构建方式,便于快速修改和增强。
  • 可回测性:可通过历史数据进行全面测试,以评估策略表现。
  • 易于使用:它们可以通过用户友好的仪表板进行部署,满足非技术用户和技术用户的需求。

从架构上讲,V2 策略由可在脚本中定义的组件构成:

  • K 线数据(Candles):这些组件对市场数据进行结构化处理,从而生成更精细的交易信号。
  • 控制器(Controllers):它们根据信号协调策略运行,决定执行器的操作方向。
  • 执行器(Executors):这些是自我管理的组件,负责执行交易、管理订单,并适应市场变化。

我使用了基础 DManV2 脚本的[修改版本]。我的修改主要是减少订单层级并扩大价差,旨在使策略更加保守。

十月表现

history

我决定再次在 SEI-USDT 交易对上使用该策略,但这次是在币安期货市场上。

通过略微调整的方法和精细调优的参数,我的机器人完成了数量相等的买入和卖出交易,总计 186 笔,保持了平衡性和灵活性。此次实现的盈亏为正向的 0.85 USDT,总交易量飙升至 4,071.0092 USDT。

表现非常出色,准确率达到 32.26%,盈利因子为 1.11。三天内的价格变动为 5.67%。

值得注意的是,机器人的平均买入价为 0.1101 USDT,而平均卖出价为 0.1103 USDT,清楚地表明其能够在极窄的市场价差内成功执行交易。

尽管实现的盈亏看似微薄,但产生的总交易量却呈现出另一番成功的景象。总买入量为 2034.62 USDT,卖出量为 2036.8 USDT,显示出交易执行中卓越的一致性和平衡性。

对比分析

将连续两个月的表现进行对比时,十月份的策略相比九月份有明显提升。不仅盈亏从负转正,交易效率和交易量也显著增加。

九月份,机器人的操作最终录得-4.84 USDT 的总盈亏,这一数字反映了尽管机器人积极参与市场,但手续费成本较高。相比之下,十月份实现了完全逆转,实现盈亏达 0.85 USDT,表明策略调整以及向 V2 框架的过渡取得了成效。

这两个月中,买卖成交的平均价格都保持紧密,反映出我的机器人应对市场波动的能力。然而,十月份的机器人对决显示出售价相对于买价的差距有所改善,尽管幅度很小,但仍体现了交易执行效率的提升。

关于我体验的其他思考

在仪表板中分析性能

Dashboard Performance

在整个机器人对决期间,我高度依赖 Hummingbot 仪表板来跟踪我的表现。仪表板中的“策略表现”页面起到了关键作用,使我能够直接上传 sqlite 数据库,并深入查看交易的细节。这一功能让我可以深入分析哪些部分有效、哪些无效,从而全面细致地了解我的策略执行情况。

尽管仪表板界面是一个出色的工具,但我发现使用 Docker 直接连接到我的实例更为高效。这种方法让我无需离开命令行界面即可启动和停止机器人,从而简化了整个流程。

执行器便于轻松进行盈亏分析

Executor Status

V2 执行器的一个显著优势是其透明的生命周期,能够清楚地显示每个执行器是如何关闭的以及处于何种状态。这种清晰度不仅方便实时分析,也使回测变得轻而易举。通过评估每个执行器的表现,我可以进行精确调整来优化策略,从而在未来交易中实现更好的盈亏比率。

例如,观察到期的执行器数量与触发止损或移动止损的执行器数量之比,可以为调整策略参数提供直接的反馈机制。通过分析以止盈价格平仓的执行器与未达到止盈的执行器之间的差异,我可以调整止盈阈值,以更好地捕捉市场波动。

V2 PositionExecutor 的生命周期是 Hummingbot V2 策略的核心组成部分,它提供了更高水平的透明度和控制能力,显著增强了战略决策过程。

Lifecycle of a V2 PositionExecutor

理解执行器的生命周期对于优化 V2 策略至关重要:

  1. 未激活(订单):旅程始于订单的创建,该订单在满足特定市场条件之前保持未激活状态。此阶段对于设定策略参数至关重要,这些参数将定义执行器如何参与市场。

  2. 激活(持仓):一旦订单被激活,它就成为一个由执行器管理的持仓。这一转变是关键节点,意味着市场条件已符合策略的入场规则,执行器开始接管操作。

  3. 已关闭:持仓可根据多个预设条件关闭:

    • 止盈:当价格达到预设盈利目标时,执行器通过关闭持仓来锁定利润。
    • 止损:为了降低风险,执行器会在预设的亏损阈值处关闭持仓。
    • 时间限制:持仓可在一定时间后关闭,以避免在不利市场条件下持续暴露。
    • 移动止损:随着价格向有利方向变动,该功能会动态调整止损水平,使持仓受益于价格波动。
  4. 已过期:如果在指定时间内未满足任何关闭条件,执行器将使该持仓过期。此状态确保持仓不会无限期保持开放,从而避免不必要的风险。

这种结构化的方法带来了多项优势。它有助于清楚理解持仓开仓和平仓的原因,使策略微调更加容易。不同的状态也有利于回测,因为可以分析每个执行器的结果,了解策略在不同市场条件下的有效性。

在 V2 策略中引入执行器不仅仅是一项技术更新;它代表了向更严谨、更数据驱动的算法交易方式的转变。通过提供从订单创建到关闭的清晰路径,交易者获得了执行更明智、更具战略性的交易所需的工具,为在这个充满变数的交易世界中提升表现铺平了道路。

正是这种细致入微的分析能力,使 V2 框架脱颖而出。它使我这样的交易者能够深入剖析并全面理解策略表现的各个方面,并将这些洞察转化为切实可行的优化措施。展望未来的比赛,我期待充分运用这一强大功能,在接下来的 Bot Battle 中追求更大的成功。

继续前行

每一次对战都让我对市场复杂性的理解更加深入,从而提升我微调机器人以适应这些动态的能力。Botcamp 社区内部持续的思想交流,尤其是在 #bot-battle Discord 频道中的互动,已被证明是不可或缺的资源。在这里体验到的友谊与共同学习,其价值丝毫不亚于交易本身。

随着我们为未来的比赛做准备,我仍致力于策略开发的迭代过程。从九月到十月所取得的进步成为一种激励力量,凸显了在快速变化的算法交易世界中适应性与持续学习的重要性。敬请关注我的下一次更新,届时我将深入探讨我的 V2 策略在即将到来的 Bot Battle 中的表现细节。

在下一场 Bot Battle 中,我计划在现货交易所市场部署一个 V2 策略,因为 V2 框架的目标是让交易者能够在现货和永续合约交易所上运行相同的策略。我一定会分享我的策略和结果,延续 Hummingbot 社区内透明化和共同成长的传统。

想要参与其中并学习如何掌握 V2 策略,请注册 Botcamp!