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

谁能从程序员的角度解释一下什么是高频交易?为什么计算机/软件在这个领域如此重要?

有帮助吗?

解决方案

要扩大对保罗说:

执行HFT或UHFT服务器几乎在交换的数据中心总是置。这减少了时延,并且还允许交易算法使用Flash命令(其中可能很快会被禁止),以获得先来看看订单流的顺序发射到市场之前。许多算法中的将评估在短短几毫秒的订单,这是一个游戏,毫秒关系。贸易团体已经知道使出浑身解数,包括雇用内核开发人员构建自定义的操作系统组件,以更好地优化时的顺序打NIC和时所采取的行动产生的时间。

有其今天正在常用几个策略大铲斗的:

首先是交易的大块订单前。要使用购买万股IBM的保罗的例子,HFT算法中的将寻找购买压力。在不同的交易所和暗池一公司计算机将需要共享信息,因为订单将被瓜分,通常跨多个交易和暗池执行。一个HFT算法中会使用统计/机器学习模型来预测购买压力的大小,如果确定是够有它也将来自全国各地的市场份额积聚并试图卖给他们的价格略高。

二是流动性回扣交易,其中交易将支付市场参与者补充流动资金。 (参见直接边缘定价)被买入或卖出的可能仅保持极股份短的时间内。我们的目标就是收集回扣和其他一切收支平衡。

在这两种策略类型的想法是要在贸易便士(或部分),在每天做很多次。

正如你可能已经注意到有可用,因此这些交易正变得越来越拥挤了很多HFT工作。我认为这有点像从2000年代初的统计套利,最终的贸易也不会出现因为很多球员都试图使它非常有利可图的。

至于为什么软件是非常重要的:毫秒的事情。延迟是超级重要,代码需要紧张,快速和坚如磐石的稳定。有一个算法中坠毁,并与股被抓,当市场对你的举动是不是很赚钱的。工程于这些需求必然是不同的,需要不同的技能。嘎吱嘎吱实时完整的订单本书确实需要一些马力和良好的算法。这是好玩和有趣,但。

其他提示

任何高频交易系统都有两个部分:

  1. 实时超低延迟交易 - 订阅来自许多不同来源的实时订单簿和价格信息,执行旨在以最小滑点执行大订单的校准算法(即你想在一天结束时购买 100 万股 IBM 股票,但又不想让市场波动太大),或者只是尝试基于短期套利进行统计赚钱。该系统还必须提供良好的风险和位置管理工具,以允许一名或多名操作员有效地监视和控制系统正在执行的操作。

  2. 隔夜/每周等分析大量“报价数据”(价格、时间和订单簿信息,以及系统先前交易活动的历史数据),寻求优化和“搜索”第 1 部分实时执行的最佳算法。IE。“校准”并测试将在#1 中执行的算法。

第一个需要低延迟和极其良好的市场准入(即以最少的跳数直接连接到交换机)。这部分通常必须用非 GC 语言(如 C 或 C++)编写(垃圾收集器停止工作时的半秒延迟可能会非常昂贵)。第二个通常需要一个网格和大量优秀的模拟和统计分析软件、人工智能算法等。

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

如果你想了解的那种技术挑战,我建议首先看这些供应商。他们的营销材料会给你的业务应用的良好意识以及技术挑战。

在某些时候(例如在期货到期),需要做数千笔交易的一分钟 - 显然人类无法做到这一点独立的。这BTW是对程序员非常紧张的时候,仿佛有什么差错,几乎没有机会恢复 - 程序员往往看着自己的日志文件去与他们的心在嘴里有点流通过

您需要跟踪的价格,迅速决定到底是怎么回事上下买入和卖出相应。因为那里有很多不同的位置换了更好的软件使用该分析和执行交易的更多的钱你可以潜在地使。

更好的将意味着频繁更新数据,以这样的方式,你可以给他们快速反应,易于执行经常需要操作时使用见真章有趣的倾向。

  

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

在最高性能和最低的延迟是可取的,因为速度越快,你可以到事情的反应,更多的钱你可以潜在地使。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top