May 20 (edited) in 📚知识分享
【向量化 (Vectorization) x 事件驱动 (Event-Driven)】
在交易策略回测中,有多种方法可以选择,其中向量化和事件驱动是两种流行的方法。选择它们取决于你的交易策略和回测环境的具体需求。以下是为什么在某些情况下更推荐使用事件驱动的方法。
➡️向量化 (Vectorization)
向量化是指对整个数据数组或向量进行操作,而不是使用循环。对于数值计算和数学操作,这种方法非常快速和高效。
🟢优点:
  1. 速度快:对数组的操作可以高度优化和并行化,计算时间更快。
  2. 简洁:熟悉向量化后,代码可以更加简洁和容易编写。
🔴缺点:
  1. 处理交易复杂:向量化不太适合处理复杂的交易逻辑,如止损单、追踪止损等,这些依赖于顺序决策的规则。
  2. 灵活性差:难以实现依赖特定事件触发的策略,如财报发布或市场新闻,因为这些事件不易向量化。
  3. 可扩展性差:涉及大量资产或资产间复杂互动的策略,向量化操作会变得繁琐且不透明。
⚡何时使用向量化回测:
  1. 简单策略:如果您的策略相对简单,主要依赖于数学计算和指标,向量化非常适用。
  2. 高性能要求:当性能是关键因素,且策略不涉及复杂逻辑时,向量化能大幅提高计算速度。
➡️事件驱动 (Event-Driven)
事件驱动的方法是对每个数据或事件(如新价格点或交易信号)进行逐个处理,允许更复杂和灵活的逻辑。
🟢优点:
  1. 灵活性强:更容易处理复杂的交易策略,包括条件逻辑、顺序决策和不同组件之间的互动。
  2. 真实感:更准确地模拟真实世界的交易,基于输入的数据和事件做出决策,使回测更真实。
  3. 模块化:事件驱动系统更模块化,具有不同组件处理策略的各个方面(如信号生成、订单执行、风险管理),代码库更易于维护和扩展。
🔴缺点:
  1. 速度较慢:逐个处理每个事件可能比向量化操作慢,特别是在高频数据下。
  2. 复杂度高:编写和管理事件驱动代码更复杂,需要良好的结构和事件处理知识。
⚡何时使用事件驱动回测:
  1. 复杂策略:如果您的交易策略涉及复杂的决策过程、交易之间的相互依赖或复杂的风险管理规则,事件驱动方法更合适。
  2. 现实执行:对于时序和事件顺序非常重要的策略,事件驱动回测提供更准确的市场条件模拟。
  3. 离散事件:如果你的策略依赖于外部事件(如新闻或财报)或有不易向量化的条件触发,事件驱动是最佳选择。
34
9 comments
Ryan Tan
5
【向量化 (Vectorization) x 事件驱动 (Event-Driven)】
TheTradveller | Crypto Trading
skool.com/the-tradveller-6517
TRADVELLER [Crypto Trading 学习平台]
手动交易 ➡️ 职业级量化交易!
🌐 加入我们的加密货币知识社群! 🌐
Leaderboard (30-day)
powered by