标星★公众号 爱你们♥
作者:Nathan Doromal、1+1=6
各位读者,如果让你回答这个问题:高频交易:数学重要?还是技术重要?你觉得哪个重要呢?在这里。我们给大家普及一些涉及高频交易的专业术语:
速度游戏
在高频交易(HFT)中,技术几乎是关键。当你在这场玩速度的游戏中,你需要接近主机(Proximity)、靠谱的硬件和高效的算法。
▍Proximity
很重要!因为正如你想的那样,你离交易所越近,你就能更快地接收到最新的波动并对其做出反应。
巴黎证券交易所几年前搬到了伦敦,更准确地说搬到了巴塞尔登,搬进了一个巨大的仓库。你想知道为什么要这样做吗?因为巴黎证券交易所的主要赞助者都是英国人。在高频交易中,地理位置的临近是至关重要的:事实上,离金融中心越近,交易的流通速度就越快(是的,所有交易仍在纳米级上进行)。这就是托管的重要性。
例如,有了MoonX的托管服务,高频交易将受益于30纳秒的优势:在高频交易中,计算机以异乎寻常的速度买卖股票。一些市场,比如纳斯达克,通常会在向这些“交易员”展示订单之前,让他们以30毫秒(0.03秒)的时间快速浏览一下订单。这使得他们能够很快下订单,而且他们知道不久后需求将会强劲。每次操作可以赚几美分,有时一天能赚几百万次。一只行动缓慢的共同基金下了一份购买5000股XYZ股票的订单。
在30毫秒时间内:
▍硬件
非常重要!而且往往是HFT策略面临的一个非常复杂的问题。
在国内,每快一毫秒(ms)就意味着能够比别人获得更多的机会,同时意味着在这场“负和”的游戏中有更高生存下去的可能。所以这个领域需要的不仅仅是写过几万行高性能C++编程的人,整个流程还需要很多hardcore的IT知识和经验,例如linux kernel tuning,网络硬件延迟的优化,对于海量数据的接收、存贮和读写,并行算法,嵌入式系统,而且越来越多的shop采用定制的硬件,因此对于非x86系统和处理器的深入了解也是非常有帮助的,比如懂FPGA的人(因为要用到低延迟技术):
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
不同体系结构性能和灵活性的比较
▍FPGA 为什么快?
CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。FPGA 之所以比 CPU 甚至 GPU 能效高,本质上是无指令、无需共享内存的体系结构带来的福利。
冯氏结构中,由于执行单元(如 CPU 核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此 GPU 使用 SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU 也支持 SIMD 指令。
而 FPGA 每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。
冯氏结构中使用内存有两种作用。一是保存状态,二是在执行单元间通信。
由于内存是共享的,就需要做访问仲裁;为了利用访问局部性,每个执行单元有一个私有的缓存,这就要维持执行部件间缓存的一致性。
对于保存状态的需求,FPGA 中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。
对于通信的需求,FPGA 每个逻辑单元与周围逻辑单元的连接在重编程(烧写)时就已经确定,并不需要通过共享内存来通信。
▍微波塔
它们已经变得越来越重要,特别是在跨国交易中。信号不是通过地下光缆发送,而是从一个塔发送到另一个塔,数据包在空气中的传播速度比光纤快(大多数情况下)。
举一个欧美竞争白热化的例子:GetCo是跟Citadel一样在高频领域少林武当级别的公司,他们有一块业务每年稳定盈利50+ million,突然有段时间这块业务赚不到钱了,这是为什么呢?原来有家公司花重金铺设了从芝加哥到纽约的微波塔,而微波在空气的转播速度快过光纤传输信号的速度,就这看似微乎其微的差别影响了一大块业务线。
此外,操作速度也是原始机器温度的函数,这一点也很重要!
▍算法效率
它是一个深层次的问题。你需要知道简单操作(如乘法和加法)的确切处理速度(除法非常昂贵,应该不惜一切代价避免)。此外,每个操作的累加意意味着你希望你的模型非常简单。一个使用500个特征的模型常常会比一个只使用3个特征的模型表现得差,即使这个模型“更具预测性”。这是因为,如果你不能成功地根据这些预测采取行动,可预测性就没有任何意义。
数学游戏
高频交易中有大量的数学运算。请注意,复杂的数学通常包括研究和创建策略。虽然算法需要简单,但研究不必如此(可以很深入)。
在基础层面上,有古典统计学,你需要对所有假设进行彻底审核。金融数据噪声非常大,在前期研究分析时,需要非常小心!
▍机器学习(Machine Learning)
通常,机器学习应用高频交易意味着线性模型上运行复杂的静态拟合。比如支持向量机(SVM)和神经网络通常很难应用,很大程度上是因为市场噪声太大。在样本内/样本外方法之外,围绕目标函数有很多可以研究的地方。
▍目标函数
几乎所有的机器学习算法最后都归结为求解最优化问题,以达到我们想让算法达到的目标。为了完成某一目标,需要构造出一个“目标函数”来,然后让该函数取极大值或极小值,从而得到机器学习算法的模型参数。如何构造出一个合理的目标函数,是建立机器学习算法的关键,一旦目标函数确定,接下来就是求解最优化问题。
关于目标,你必须知道你要预测什么。你是否选择在未来5分钟后买进某一期货合约?下1笔交易单,还是10笔?使用当日成交价格还是其他?等等······
目标函数是用于优化的函数。在经典OLS中,目标函数很简单:
然而Lasso(回归模型)最后使用了这个目标函数:
目标函数在拟合、过拟合和欠拟合方面都非常重要。Lasso很好,是因为它只能从你的特征集中挑出少量的特征,所以,如果你有500多个特征,也许返回5个返回非零值(这是因为绝对值在0时不可微)。然而,如何处理离群值(Outliers)和高度相关的变量,也是我们需要面临的困难。
▍风险管理
在数学中,另一部分主要是涉及风险管理。风险管理通常可以分解为一个线性代数问题。作为一名交易员/量化研究员,你的目标不仅仅是最大化PnL,还要确保你的投资组合在任何一天都不会爆仓。一个有用的策略是使用常见的市场指数对冲你的投资组合。
其他的游戏
市场上许多参与者的目标是利用各种各样的技术操纵市场。例如,一些经验丰富的投资者可能会意识到市场“过于脆弱”,因此买入一些股票,看到市场反应过度,然后以更高的价格卖出。更复杂的策略包括使用交易所提供的多样化订单类型,利用交易所的微观结构等。
在这个微观结构里面,包括你的交易过程怎么做,交易成本,还有交易价格的发现,交易量的流动性等等,当然你还可以看出一些交易行为,包括内部交易、操作市场,另外是交易的监管信息披露。比如利用交易所的微观结构数据(每一次下单、执行和取消,从而可以基于历史数据做到几乎完全重建整个订单)、基于机器学习的订单簿高频交易策略等等。
总结
高频交易策略包括一定程度的速度、数学模型和市场博弈。一些策略是高度专注于快速交易,而另一些策略则利用了市场的特征,但总体而言,成功的高频交易机构对在些方面都非常精通。
看完此文,此刻,你有你心中的答案了吗?欢迎留言!