高频交易的特点是低延迟信息,为了达到目的人们使用了一些匪夷所思的科技:
为加快网速:
将服务器放到交易商机房,
花好多亿拉新的光纤线路把弯道取直,
租微波发射塔,
猛干中微子通信。
为加快计算机运算速度:
优化操作系统
GPU并行运算
修改计算机硬件结构,例如,使用特殊的网卡节省信息从网卡到CPU的传输时间
抛弃操作系统,将算法逻辑直接烧进FPGA电路
为加快程序执行速度:
使用脚本语言和函数式语言做策略开发,python,matlab,R等
抛弃脚本语言,使用c++,JAVA,scala等编译语言做交易系统
=======================
个人感觉,网络延迟,计算机硬件延迟,程序执行延迟的等级不在一个数量级上,
那么现在高频交易的延迟瓶颈在哪里?
如果是在网络,那有必要优化编程语言实现低延迟吗?
例如,网络延迟非常大的情况下,你的高频交易系统是用python写的还是用c++写的,节省那点时间有意义吗?
如无意义为何现在的高频系统都用c++或JAVA,不用脚本语言?
能否直接用一种或几种脚本语言例如python把整个软件端从策略研究到交易系统开发全做了?
或者以后想提升高频速度,就猛干网络延迟就行了,硬件延迟软件延迟可以忽略,这是正道?
毕竟其他延迟和网络延迟相比,应该忽略不计吧! |
|