使用硬件加速高频交易算法的软件平台Zynq SoC框架

· 快讯

在当今金融领域,股票市场预测是备受关注的热门问题之一。随着技术的不断进步,交易自动化已经从传统的软件实现逐渐向硬件加速转变,尤其是高频交易(HFT)领域。本文将介绍一种基于Xilinx Zynq-7000可编程片上系统(SoC)的硬件框架,用于实现高频交易算法,重点探讨了三种常用的技术指标:移动平均收敛/发散指标(MACD)、相对强弱指数(RSI)和Aroon指标的硬件实现,并对比了其在比特币和以太坊交易中的性能表现。

研究背景与动机

股票市场预测一直是金融领域的重要课题。传统的软件算法交易虽然具有设计灵活、预测精度较高等优点,但在高频交易场景下,其延迟问题成为制约性能的关键因素。高频交易的核心在于以极低的延迟发送交易指令,而硬件加速技术能够将延迟从微秒级降低到纳秒级,从而实现更高的交易速度和效率。然而,目前关于高频交易硬件架构的研究相对较少,尤其是将技术指标直接在硬件中实现的案例更是寥寥无几。因此,本文旨在填补这一空白,通过硬件实现技术指标,探索其在高频交易中的应用潜力。

研究贡献

本文的主要贡献包括以下几点:

1. 提出了针对MACD、RSI和Aroon三种技术指标的高效硬件架构,通过关键路径分析优化,实现了极低的延迟。

2. 探讨了多种技术指标在硬件中的并发运行策略,通过组合不同指标,提高了预测精度。

3. 提出了基于Zynq SoC平台的硬件/软件协同设计方法,为复杂交易系统的设计提供了优化方案。

设计与算法选择

在设计过程中,我们选择了Xilinx Zynq-7000可编程SoC平台,该平台集成了ARM处理器和可重配置逻辑,能够灵活地实现硬件和软件的协同设计。为了实现低延迟和高精度的技术指标计算,我们选择了MACD、RSI和Aroon这三种常用的技术指标进行硬件实现。这些指标在股票市场预测中被广泛应用,具有较高的实用价值。

在数据集方面,我们选择了比特币(BTC)和以太坊(ETH)这两种主流加密货币的价格数据进行实验。数据涵盖了2021年全年,来源为Dukascopy银行。选择加密货币作为实验对象的原因在于其价格波动主要受市场情绪和动量影响,而非经济变量,这使得技术指标在预测中更具优势。

在设计策略方面,我们提出了四种硬件/软件分区方案,分别对比了纯硬件实现、硬件与机器学习模型结合、硬件/软件协同设计以及纯软件实现的优缺点。最终,我们选择了在硬件中实现所有技术指标的方案,因为它能够在保持高精度的同时,显著降低延迟(图1)。

SOC算法框架

图1.算法框架

硬件实现与优化

MACD算法的硬件实现

MACD是一种动量指标,用于识别市场趋势的方向、动量和潜在反转点。其计算包括两个主要部分:MACD线和信号线。MACD线是12日指数移动平均(EMA)与26日EMA的差值,信号线则是MACD线的9日EMA。在硬件实现中,我们通过关键路径分析优化了MACD算法的延迟。

不同精度下MACD预测的正确数量

图2. 不同精度下MACD预测的正确数量

在传统MACD算法中,每个EMA的计算都需要进行除法运算,这在硬件实现中会导致较大的延迟。为了优化设计,我们提出了一种改进的MACD算法,通过将除法运算替换为常数乘法和右移操作,显著降低了延迟。具体来说,我们将每个EMA的平滑因子从传统的“K”改为“Cm”,并通过2的幂次右移操作来实现除法,从而避免了硬件中的除法运算。

MACD数据通路的块图

图3.MACD数据通路的块图

EMA_N模块的数据路径

图4.EMA_N模块的数据路径

在硬件实现中,MACD算法的计算分为多个阶段,每个阶段的延迟都经过了仔细优化。最终,优化后的MACD硬件架构在计算第一个订单信号时仅需34个时钟周期,相比传统实现大幅减少了延迟。

RSI算法的硬件实现

RSI是一种广泛使用的动量指标,用于衡量资产价格的涨跌幅度。其计算公式为:

其中,RS是平均涨幅(AG)与平均跌幅(AL)的比值。在硬件实现中,我们通过关键路径分析优化了RSI算法的延迟。

RSI数据通路的块图

图5.RSI数据通路的块图

RSI算法的硬件实现包括两个主要模块:涨幅模块和跌幅模块。这两个模块同时工作,计算连续两天收盘价的差值,并分别计算涨幅和跌幅的累积值。通过优化设计,我们减少了关键路径上的延迟,提高了RSI算法的计算速度。

Aroon算法的硬件实现

Aroon是一种趋势跟踪动量指标,用于评估股票价格走势的强度和持续可能性。Aroon指标包括两个部分:Aroon Up和Aroon Down。其计算公式为:

其中,X表示自最高价以来的天数,Y表示自最低价以来的天数。在硬件实现中,我们通过优化关键路径,减少了Aroon算法的延迟。

Aroon数据通路的块图

图6.Aroon数据通路的块图

Aroon算法的硬件实现同时处理最高价和最低价数据,通过计算当前价格与之前最高/最低价的比较,生成Aroon Up和Aroon Down的值。优化后的Aroon硬件架构在计算订单信号时的延迟显著降低。

实验结果与性能评估

在实验中,我们对MACD、RSI和Aroon三种技术指标的硬件实现进行了性能评估。所有设计均在Xilinx Zynq-7000可编程SoC上实现,并通过Vivado Design Suite进行了验证。

关键路径分析与优化

通过对MACD、RSI和Aroon算法的关键路径分析,我们优化了硬件架构,显著降低了延迟。例如,MACD算法的优化版本(x2)通过在减法器输入端增加流水线寄存器,将关键路径延迟从14 ns降低到7.7 ns,从而提高了吞吐量。

MACD的关键路径分析

图7.MACD的关键路径分析

对于RSI算法,我们实现了三种不同类型的除法器,包括基本迭代组合设计(d1)、两阶段流水线结构(d2)和完全流水线设计(d3)。通过优化,RSI算法的延迟显著降低,其中完全流水线设计(d3)表现最佳。

RSI的关键路径分析

图8.RSI的关键路径分析

Aroon算法的优化版本(x2)通过将关键路径上的计算替换为ROM和计数器,减少了延迟。

Aroon的关键路径分析

图9.Aroon的关键路径分析

性能对比

在性能对比中,我们发现硬件实现的技术指标在延迟和吞吐量方面均优于软件实现。优化后的MACD硬件架构(x2)具有最低的延迟(2.84微秒)和最高的吞吐量(7 Mbits/s)。RSI的优化版本(ppl-d3)在延迟(3.22微秒)和吞吐量(6.2 Mbits/s)方面表现次之。Aroon的优化版本(x2)在延迟(36.683微秒)和吞吐量(0.6 Mbits/s)方面相对较弱,但仍然优于其软件实现。

软件与硬件实现的准确性对比

图10.软件与硬件实现的准确性对比

不同硬件架构的吞吐量对比

图11.不同硬件架构的吞吐量对比

硬件设计相对于软件实现的速度提升

图12.硬件设计相对于软件实现的速度提升

所有三个指标方面,最高性能的软件和硬件体系结构

图13.在所有三个指标方面,最高性能的软件和硬件体系结构

总体而言,硬件实现的MACD、RSI和Aroon指标在速度上分别比软件实现快30倍、52倍和32倍。这些结果表明,硬件实现能够显著提高交易算法的效率,尤其是在高频交易场景中。

结论

本文提出了一种基于Xilinx Zynq-7000可编程SoC的高频交易算法硬件框架,实现了MACD、RSI和Aroon三种技术指标的硬件加速。通过关键路径分析和优化,我们显著降低了算法的延迟,提高了吞吐量。实验结果表明,硬件实现的性能远优于软件实现,尤其是在高频交易中。未来,我们将进一步扩展该平台,探索更多技术指标的硬件实现,并将其与机器学习算法结合,以进一步提高交易预测的准确性。

参考文献:

Abbas Ali, Abdullah Shah, Azaz Hassan Khan, Malik Umar Sharif, Zaka Ullah Zahid, Rabia Shahid, Tariqullah Jan, Mohammad Haseeb Zafar. Speed vs. efficiency: A framework for high-frequency trading algorithms on FPGA using Zynq SoC platform. Alexandria Engineering Journal 96 (2024) 1–14