问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

高频交易中 FPGA 的作用及面试指南

创作时间:
作者:
@小白创作中心

高频交易中 FPGA 的作用及面试指南

引用
CSDN
1.
https://m.blog.csdn.net/HackEle/article/details/145293138

高频交易(High Frequency Trading,HFT)是金融市场中最具技术含量的领域之一,而FPGA(Field-Programmable Gate Array)工程师则是这个领域中的关键角色。本文将带你深入了解高频交易的世界,探讨FPGA在其中的重要作用,并提供一份详尽的面试准备指南。

HFT 世界是什么样的

高频交易是算法交易的一种变体,从根本上讲,是由算法而不是人来下订单。在 HFT 中,所有这些都被推向极致,利用可能只持续几毫秒的机会,通常是套利机会。为了有效地利用这样的机会并赚钱,人们需要在极短的时间内消化市场数据、做出决策并下大量订单。

在《Trading at the speed of Light,光速交易》一书中,唐纳德·麦肯齐解释了即使在芝加哥场内交易的日子里,人们也通过创建系统来适应环境,使某些人的交易速度比其他人快得多。这种不对称是套利机会和许多其他可以赚钱的复杂场景的基础。

交易所允许公司在附近的特定建筑物中设置计算机,这称为主机托管。交易所确保从这些机器到交易所计算机的光纤长度对于主机托管中的每个参与者来说都是完全相同的。在这种情况下,再靠近交易所的空间已经不大了。不过,我们可以做的是尽量减少消化数据和发出订单所需的时间。

尽管进行了这些优化,但 CPU 从根本上来说仍存在两个对 HFT 不太友好的”怪癖“:

  • 更高的执行延迟:CPU 需要将算法分解为 ISA 并按顺序执行,尽管速度可能很快,由于关键路径中有几个交互元素,在处理交互元素的过程会产生很大的开销。
  • 不确定的执行延迟:交易算法并不是 CPU 上运行的唯一程序。操作系统同时管理着许多进程和线程。这可能导致同一程序在不同执行中花费的时间不同。

FPGA 如何提供帮助

FPGA 可帮助解决上述两个主要问题。它们能解决不确定性问题。可以预先知道某种操作在 FPGA 中需要多少个时钟周期,并确保在整个操作过程中它不会发生变化。FPGA 还经常(并非总是)帮助解决高处理延迟的问题。在解码市场数据 -> 做出决策 -> 发送订单的整个流程中,多个子功能可以使用基于 FPGA 的加速。

面试准备

作为 HFT FPGA 工程师在日常工作中需要具备的技能:

数字电路和 RTL 设计

精通数字逻辑、Verilog 和微架构开发。应聘者需要具备编写 RTL、调试和在板上部署 RTL 的经验。面试通常要求应聘者当场编写 RTL。问题陈述也可能相当复杂和令人费解,与传统的 FPGA 工作(例如网络或国防工业)不同。这既考验应聘者的智商,也考验应聘者的 RTL 技能。

验证基础知识

FPGA 团队在 HFT 中规模很小,因此单个开发人员必须身兼数职才能完成一个项目。此外,由于交易规模巨大(一次数百万美元),设计中的一个错误就可能导致损失大量资金,损失金额可能相当于几年的年薪。因此验证成为一项非常重要的任务。尽管 FPGA 可以多次重新编程,但风险很高,必须小心谨慎,确保不会出现任何错误。

网络基础知识

工作中实际实施的项目通常围绕网络展开。传入的市场数据通过 TCP 通道传输,交易机器需要维护 TCP 连接,这可能是另一个潜在加速的领域。类似地,可能需要过滤一些数据,并将其打包成数据包发送到不同的地方(通常是另一个交换机)。TCP 或 UDP 可用于通信的这一部分,这也是一种很好的加速方式。掌握以太网协议及其细节的基本知识在竞争中保持领先大有帮助。

实用技巧

  • 静态时序分析(STA)
  • 跨时钟域 (CDC)
  • 区域优化

硬件测试

  • 网络知识
  • 以太网实践知识
  • C++ 和驱动程序

总结

本文是国外的一个朋友在准备相关行业面试的时候总结的一篇文章,和国内可能会有所差异,但是可以作为参考,有从事相关行业的大佬可以在评论区聊聊从事该行业的注意点~

PS:前面提到的《光速交易》这本书非常有趣,即使没有在相关行业工作,它也能让你对这个世界有很深的了解。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号