我的业务最初是一个激情项目。当时我在卡内基梅隆大学读大一,正在上一门叫做软件工程基础的课程。我刚刚完成了一份我们称之为“架构俳句”的文档,这份文档概述了我们在课堂上构建的系统的架构,包括技术限制、功能和非功能需求以及我们将使用的设计模式。就是在这一刻,我说出了“去他的!”我复制了这份文档,擦掉了标题,然后将其命名为“算法交易系统”。
“算法交易系统”的早期架构成果之一
从那时起,我一直在过去的3年里改进这个系统。我发布了一个早期版本的平台,NextTrade,它已经开始在开源社区中获得关注。我还继续迭代并添加新功能,并发布了新版本的工具,NexusTrade.io.
NexusTrade - AI驱动的金融研究平台最佳的AI驱动的金融研究平台。使用我们的无代码UI创建和优化您的交易策略……nexustrade.io
使用NexusTrade,我经常大胆地宣称——一个非技术投资者可以配置任何他们能想象到的交易策略。
我之所以这么说,是因为在交易时,我倾向于执行买入和卖出的决定。例如,当NVIDIA的价格低于其30日简单移动平均线时,我可能想要买入500美元的NVIDIA。或者,当谷歌股价上涨10%时,我可能想要卖出我持有的50%的谷歌股票。
然而,我意识到有些人执行的是另一种操作——再平衡。Composer 是一个无代码算法交易平台,其核心功能就是再平衡操作。它允许你指定股票列表以及你投资组合中各资产之间的相对权重。
这与NexusTrade的方法完全不同,但非常有用。虽然Composer无法表达你在NexusTrade中可以配置的大多数复杂想法,但如果NexusTrade无法在Composer中配置每一个想法,我认为这是它的失败。
这正是本文的目的——概述在NexusTrade平台上执行再平衡操作的设计。我的目标很简单——在NexusTrade中表达任何你能想象的想法,特别是那些其他平台允许你创建的想法。
这里就是创建一个优于市场的交易策略的秘密及其部署算法交易策略的影响medium.com这篇文章会有一些技术性内容。不过,如果你是非技术背景但对算法交易感兴趣,你应该也能跟上。本文还假设你对交易有一定了解。如果你有不明白的地方,欢迎留言。
在解释 NexusTrade 如何执行再平衡操作之前,我首先想介绍一下每个算法交易平台允许你创建交易规则的不同方式。
NexusTrade中的交易策略
在 NexusTrade 中,配置的动作会在“条件”为真时执行买入预设数量的股票。条件本质上是对市场的一种布尔观察。这些观察可能与某个 ETF 的价格或特定股票的营收变化有关。这种架构类似于一个自主交易者在现实生活中进入市场的方式。
你可以想象这样一个场景:如果市场崩溃,购买NVIDIA股票。或者,如果通货膨胀增加,购买SQQQ。这包括为你的投资组合中的资产设置适当的止损和止盈。
然而,Composor 采取了一种完全不同的方法。它不是根据市场状况执行操作,而是为你投资组合中的所有资产定义一组相对权重。
一首 Composor 的交响曲
这在保持市场全面配置和在投资组合内调整资产方面非常有用。但它也非常有限和限制性强。这并不是真正的交易者在市场中执行决策的方式。然而,为了表达 任何投资者可能想象出的交易策略 ,我必须能够表达出与我的最接近的竞争对手可能实现的想法。
我的首要任务是重构NexusTrade策略,以支持其他类型的行动。此前,NexusTrade中的策略具有以下接口:
interface IStrategy { _id?: Id; name: string; action: ActionEnum; // 买入或卖出 targetAsset: AbstractAsset; amount: PurchaseAndSaleAllocation; condition?: CompoundCondition; }
通过此接口,目标资产和数量与策略绑定在一起。这在“买入操作”和“卖出操作”中是有意义的。然而,“再平衡操作”将会完全不同,既没有目标资产,也没有数量。
为了支持再平衡操作,我不得不更新我的模式为以下内容:
interface Action { type: ActionEnum; // 买入、卖出或再平衡 targetAsset?: AbstractAsset; amount?: PurchaseAndSaleAllocation; // 最终包含再平衡操作所需的参数 } interface IStrategy { _id?: Id; name: string; condition?: CompoundCondition; action: Action; }
因此,我不得不更新我在 NexusTrade 平台中的所有“策略”提示以使用这个新界面。
在 NexusTrade 中显示“策略”提示
我也需要运行多个数据库迁移,并将所有现有策略更新为使用新方案。
我完成了这些任务,并为在 NexusTrade 中创建平衡奠定了基础。
现在 NexusTrade 的架构可以支持不同类型的动作,我可以创建一个新的再平衡动作。然而,我的愿景与 Composer 的工作方式略有不同。
就像在 NexusTrade 中的买入和卖出操作一样,当某个“条件”评估为真时,再平衡操作仍将被触发。一些常见的预配置条件可以简单到自上次再平衡以来已经过去了 7 天。
就像“买入”和“卖出”操作依赖于目标资产和数量一样,再平衡操作也将有其依赖项。作为最小可行产品(MVP),我希望允许用户指定他们感兴趣的资产列表以及这些资产在投资组合中的权重。
权重可以明确指定(如40%),也可以是等权重,或者按某个指标(如价格、市值、自由现金流或其他指标)成比例分配。
为了增加配置的灵活性,用户可以选择对列表进行排序,并设置他们将拥有的资产数量的限制。
这个想法在Composor中的工作原理
通过实现这些功能,NexusTrade 将具备与 Composor 相同的能力,尽管配置性更强。然而,通过执行此操作,我们确实会遇到一些潜在的问题。
此功能将显著增加您在NexusTrade中可以表达的想法范围,并使创建一个超越市场的独特策略变得更加容易。然而,NexusTrade的灵活性也是其最大的缺点之一。
在我的架构中,没有任何东西阻止某人创建相互矛盾的再平衡操作。例如,用户可能会配置两个具有再平衡操作的策略,而这些策略配置的资产却大不相同。
NexusTrade 中多个策略的示例
此外,用户可能会配置一个买入操作和一个再平衡操作,这两个操作同时执行。这些操作的执行顺序对投资组合有着广泛的影响。
虽然最佳解决方案是允许用户配置所需的执行顺序,但这会导致功能蔓延,并且对于 MVP 实现来说工作量太大。更重要的是,这将显著增加系统的复杂性,并使新用户难以理解如何创建这些类型的策略。
因此,为了解决这些矛盾,NexusTrade 平台将有以下规则:
通过建立这些规则,我们消除了行动矛盾的问题,并为我们的投资组合创建了一套确定性的规则。
NexusTrade 的故事不同于任何其他算法交易平台。我不是由风投支持的,也没有团队合作。我根据自己的目标,即创建世界上最好的算法交易平台,自行实现新功能。
创建重新平衡操作是一个巨大的进步。这使得 NexusTrade 能够与 Composer 一决高下,而 Composer 是目前最受欢迎的无代码算法交易平台。
具体来说,它实现了功能对等,并允许用户创建在其他任何无代码交易平台上根本无法实现的策略。
这只是一个开始。每一个与我共事过的人对我执行力出色这一点都赞不绝口。
而且我知道凭借我的动力,我对AI的热情以及我对交易的热爱,我将创造出世界上最好的无代码算法交易平台。
探索我们的预配置算法交易策略集合。分析性能,启动回测,查看……nexustrade.io](https://nexustrade.io/library?source=post_page-----d5fc5bd24658--------------------------------)
访问 DataDrivenInvestor.com 查看更多信息
订阅 DDIntel 此处。
特色文章:
新加坡的雄心在于引领全球基金资产管理平台的发展……
加入我们的创作者生态系统 here。
DDI 官方 Telegram 频道: https://t.me/+tafUp6ecEys4YjQ1
关注我们在 LinkedIn,Twitter,YouTube,和 Facebook。