算法交易

在算法统治一切的时代,不管愿意与否,算法都在以前所未有的方式在各个领域接管人类的工作,这其中也包括交易领域。

算法交易的概念经过长时间演变,外延不断扩展,如今算法交易的概念与最初的定义已经不太一样。

算法交易(algorithmic trading)是指事先设计好交易策略,然后将其编制成计算机程序。利用计算机程序的算法来决定交易下单的时机、价格和数量等。

算法交易提出之初,仅仅是指为了降低冲击成本,利用特定的计算机算法执行大额订单。但目前算法交易的概念已不仅仅包括订单执行,凡是以“算法的方式”做交易(包括交易策略生成、验证、订单执行等等),都可以称之为“算法交易”。

我们以“算法交易”统称量化交易、程序化交易、系统化交易等概念。这几个概念之间的关系微妙,厘清它们需要花一些时间,我们就以“算法交易”统一指代。

交易网关

交易者往往需要在多个市场交易大量合约,例如Alpha对冲需要同时交易数量众多的股票,套利则需要同时交易不同的合约、或者在不同的交易所之间交易同一合约。
不同的经纪商和交易所往往会提供不同的接入方式,因此市面上存在众多格式不一的交易接口。此外,不同的交易者可能会以不同的技术接入市场,如不同的操作系统、软件平台、编程语言等。

因此,交易者往往面临着需要以不同方式接入不同市场的难题。

交易网关的一个重要功能就是为交易者屏蔽各种交易接口的差异,提供一个统一的API运行他们的交易算法。API为交易者提供所需的实时行情、将交易者的报单递送给不同的经纪商和交易所,同时把报单执行结果反馈给交易者。
交易网关还提供各种语言绑定,让交易者以类似的API接口接入市场。

通过交易网关,交易者只须将精力集中于交易算法的开发,交易的底层细节则由交易网关来处理。

PowerGate

PowerGate就是一款功能强大的高性能交易网关,被设计用于支持复杂的算法交易。PowerGate面向专业的算法交易用户,为他们提供一个功能强大的交易策略运行环境。

  • 支持多种交易通道。
    屏蔽各种交易接口的差异是一个重要的设计目标。PowerGate支持包括CTP、飞马、飞鼠、众信、LMAX、IB在内的众多交易接口,用户可以交易包括股票、期货、期权、外汇在内的各种合约。
  • 支持多账户。
    PowerGate支持同时登录多个交易账户,这样一个交易策略可以同时在多个账户上交易。
  • 高性能。
    PowerGate可以将交易算法运行于网关进程内,该模式下PowerGate可以提供非常高的运行性能。在机器配置允许的情况下,PowerGate甚至可以同时运行数百个策略。
  • SDK支持大部分主流的编程语言。
    PowerGate本身使用C++编写,但提供的SDK支持包括C、C++、Python、JAVA、C#、Matlab、R等在内的主流编程语言。
  • 本地部署。
    交易策略完全运行于用户自己的环境中,无需要任何“云服务”支持就可独立运行。
  • 内置算法交易功能。
    PowerGate提供内置的被动型算法交易功能,用户可以直接利用这些功能完成一些通用的算法交易。
  • 开放架构。
    PowerGate采用开放架构,为专业的算法交易者提供灵活的方式,让他们可以调校系统,以达到他们的性能和功能需求。例如用户可以调整消息队列的运行方式,可以将策略线程绑定在某个CPU内核上。PowerGate的底层SDK可以让用户自己接入特定的经纪商、交易所或数据源。
  • 跨平台。
    PowerGate网关同时支持Windows和Linux平台,SDK也能在这两类平台上运行。