2009-07-24 84 views
56

在过去几周里,我遇到了很多关于高频交易的文章。他们都在谈论计算机和软件对此有多重要,但是由于它们都是从财务角度编写的,因此没有关于软件的详细信息。高频交易

任何人都可以从程序员的角度解释什么是高频交易?为什么电脑/软件在这个领域如此重要?

+0

最近有一些关于这个话题的(非技术性的)文章,我想知道完全一样的东西。 +1 – 2009-08-24 15:44:51

+9

请考虑投票定量金融stackexchange网站的想法:http://meta.stackexchange.com/questions/5786/proposal-for-quantitative-finance-stackexchange-site。这对于这类问题来说是一个非常合适的地方。 – Shane 2010-04-28 18:02:45

+0

除非你有很多钱或者在金融机构工作,否则你不能去这里。 – KJW 2011-06-19 00:48:12

回答

58

为了扩大对保罗说:

执行HFT或UHFT服务器几乎都是在交易所的数据中心搭配。这最大限度地减少了等待时间,并且还允许algos在订单被广播到市场之前使用Flash订单(可能很快被禁止)来首先查看订单流。许多算法会在几毫秒内评估一个订单,这是一个毫秒级的游戏。据了解,交易团队将全力以赴,包括聘请内核开发人员构建自定义操作系统组件,以便更好地优化订单到达NIC之间的时间以及执行最终操作的时间。

有一对夫妇的战略大桶这是目前被普遍使用:

首先是在大块订单前交易。为了用保罗的例子来购买IBM的100万股股票,HFT algo's将寻求购买压力。不同交易所和暗池的公司计算机将需要共享信息,因为订单将被分割并且通常在多个交易所和暗池中执行。 HFT算法将使用统计/机器学习模型来预测购买压力的大小,如果它确定了足够多的话,它也将累积来自不同市场的股票并试图以略高的价格出售它们。

第二个是流动性回扣交易,交易所将向市场参与者支付流动性。 (See Direct Edge Pricing)买入或卖出的股份只能在很短的时间内持有。我们的目标只是收取回扣,并在其他所有方面都实现收支平衡。

在这两种策略类型中,想法都是在交易中制造便士(或分数),并每天多次执行此操作。

正如你可能已经注意到有很多HFT工作可用,因此交易变得越来越拥挤。我认为这有点类似于21世纪初的统计数据,并且最终这种交易将不会很有利可图,因为有那么多球员正在努力实现这一目标。

至于软件为什么重要:毫秒重要。延迟是非常重要的,代码需要紧密,快速和稳定。当市场违背您的行为时,发生阿尔戈崩溃并被股票陷入困境并不是很有利可图。针对这些要求进行工程设计是必然的,需要不同的技能实时查看完整订购书确实需要一些功能强大的算法。虽然这很有趣也很有趣。

1

为什么电脑/软件在这个领域如此重要?

最高的性能和最低的延迟是可取的,因为您可以对事物做出更快的反应,您可以赚更多的钱。

3

您需要跟踪价格,快速决定什么是上涨和下跌,并相应地进行买卖。由于有很多不同的职位交易,所以用于分析和执行的更好的软件可以为您创造更多的收益。

更好意味着经常更新数据,以这种方式确定有趣的趋势,以便您可以快速对它们做出反应,在执行频繁需要的操作时易于使用。

7

在某些时候(例如期货到期),有必要每分钟进行数千次交易 - 显然人类无法独立完成这些交易。对于程序员来说,这个BTW是一个非常紧张的时刻,因为如果出了什么问题,几乎没有恢复的机会 - 程序员倾向于观察他们的日志文件在他们的嘴里流动。

19

有两个部分,以任何HFT系统:

  1. 实时超低的延迟交易 - 订阅来自许多不同来源的实时订单和价格信息,执行设计用来进行校准算法一个大订单,滑动最小(即你想在一天结束的时候购买100万股IBM的股票,而不会过多地移动市场),或者只是试图根据短期套利在统计上赚钱。该系统还必须提供良好的风险和职位管理工具,以便一个或多个人类操作员有效监控和控制系统正在执行的操作。

  2. 过夜/每周等大量“时间点数据”(价格,时间和订单书信息,以及系统上一次交易活动的历史数据)等分析,希望优化和“搜索”最佳算法由#1部分实时执行。即“校准”并测试将在#1中执行的算法。

第一个需要低延迟和非常好的市场准入(即以最小的跳数直接与交换机进行网络连接)。这部分通常必须用C或C++之类的非GC语言编写(半秒延迟,而垃圾收集器阻止世界可能会非常昂贵)。第二,通常需要一个网格和许多很好的模拟和统计分析软件,人工智能算法等

8

我只想补充一点,在这种交易中最流行的应用往往是CEP(复杂事件处理)。一些例子是Streambase,Apama和Aleri。另一方面,为了处理大量的数据,人们使用高速数据库,如KDB,OneTick和Vhayu。

如果您想了解技术挑战的种类,我建议先看看这些供应商。他们的营销材料将让您对商业应用以及技术挑战有一个很好的理解。