hft什么是高频交易易是传销吗

人订阅该博客0
10:12:40 | 黄色眼影 |
  和讯期货消息北京时间6月18日凌晨消息,周五路透社分析文章称,基于计算机算法的高频交易是大宗商品价格暴涨暴跌的元凶。
  报道指出,上周某天的亚洲交易时段中,天然气价格在几秒钟之内暴跌了8%,位于纽约的某个对冲基金经理自称,他几乎是毫不犹豫地“奔向,我是说真的奔跑着到我的计算机前面,然后开始买入”,他指出,“非常明显,某个高频交易算法计算机出了问题,我可以毫不费力地从随后的价格回升中获利。”而他也并不是唯一这么做的人。
  自从2010年5月美股市场那次臭名昭著的“闪电崩盘”事件后,所谓高频交易(high-frequency trading,HFT)已经被大家熟知。经验丰富的交易员说,暴力而且莫名其妙的价格波动正在变得越来越普遍,而价格随后的快速回弹也使得那些手脚足够快的人能够轻松获益。
  报道称,在大宗商品市场,过去18个月以来,已经遭到了一系列小规模闪电崩盘的冲击。专家指出,现在这个刀光血影的市场里,高速计算机主导的交易员已经远远超过了崇尚技术和勇气的交易员,使得这一市场成为全球最快速也最电子化的地点。
  越来越多传统交易商开始使用更新更激进的策略,这类高频交易中,机器能够在一次进行数以千计超短期的仓位转换,通过非常小的价格差来建仓并获利。这类交易在过去两到三年从15%的市场规模几乎翻番,使得大宗商品交易所和监管机构只能尽力追赶配合这种趋势。
大家都在关注
成功率100%
成功率100%泻药。&br&&br&日常工作:&br&1. coding,数据落地清洗;&br&2. coding,基于清洗过的数据进行策略挖掘和回测; &br&3. coding,对策略发单、撤单等环节进行测试;&br&4. coding,利用CTP、恒生、IB等接口对策略进行实盘回测,接口来自于it部现成的coding;&br&5. coding,对实盘绩效进行自动统计,生成绩效报表;&br&6. coding,基于第5部的结果决定是否回到第2步;&br&7. coding,老的策略不断的挂掉,为了继续盈利,无限循环进入第二步;&br&&br&经历:&br&1. 和各种学霸一起刷工作技能;&br&2. coding;&br&3. 技术宅;&br&&br&体验:&br&1. 精神压力无比巨大;&br&2. 钱多;&br&3. 钱多;&br&4. 钱多;&br&5. 钱多;&br&6. 白头发,生孩子只能生女儿;
泻药。日常工作:1. coding,数据落地清洗;2. coding,基于清洗过的数据进行策略挖掘和回测; 3. coding,对策略发单、撤单等环节进行测试;4. coding,利用CTP、恒生、IB等接口对策略进行实盘回测,接口来自于it部现成的coding;5. coding,对实盘绩效进…
楼主如果是考虑回国发展,个人建议再等等看。海归回来,抛开归属感这些不谈,一是为了更大的向上空间,二是为了更好的钱景,这两条国内目前都不太容易。&br&&br&1. 如果回到大型的金融机构,公募基金、券商、保险资管等等,可能在职位和薪水上起点会好一些,但做事情阻力太大,而且高频交易在未来很长一段时间都注定是非主流,强烈不建议。国内投资界,90%是看基本面的,量化充其量有10%,这10%里还有9%是做因子模型的。高频交易首先政治上就不正确,不仅监管不支持,大机构永远是不出事第一位,业务第二位,尤其去年光大出事以后,好多券商自营的程序化交易都停了;其次,高频策略目前的市场容量确实太小,难以在公司有话语权,你和领导说最多就能管几个亿,估计这块业务就直接砍掉了;最后,对于这类新业务,内部的政治斗争是不可避免的,光大策略部那位老大当年就和我们抱怨过,基本上大部分精力都花在和各个部门斗争上,这还是在公司力挺的环境下。总而言之,海归在体制内走仕途,成功的我没看到几个,最普遍的是被架空,无所事事。&br&&br&2. 如果回私募,那你就要做好准备,放弃你海外经验背景的一切光环,与草根选手们在一条起跑线上竞争。这是个只看业绩的战场,you are as good as your last trade。大点的私募不建议去,和公募文化差不多,老大都是搞价值投资的,道不同不相与谋;小点的私募,朝不保夕,几个月不出业绩,关门是分分钟的事情。但往好的方面看,现在私募的募资环境确实不错,信托里大量的资金要出来,股市不管靠不靠谱反正欣欣向荣,如果能有较稳定的10%-15%的收益,募资不是太难。另外私募里就得做好自己单打独斗的准备,国内能拿Matlab写点策略的小孩一抓一把,但同时能拿工业级语言刷行情、写交易接口、做策略、读数据库的,基本找不到,很多事情都得自己干,国内要的是多面手而不是精细化分工的专业人才。&br&&br&3. 其它需要高频交易人才的地方,比如期货、软件公司等等,不太适合你,落差会太大的。&br&&br&具体业务需求方面,一楼那位老大已经总结得很全面了,知乎还是有高人。补充一两点,现在国内谈得上高频的就是期货市场,商品期货那边水太深,也容纳不了多少资金,所以现在国内的高频团队基本都扎堆在股指期货这边,就这么点肉一群狼围着,真心不好做。期权上了能好点,但国内的事情,你懂的,不确定性太多,据传期权和新期货品种没能过得了分管金融老大那一关,待议。&br&&br&个人建议可以先搞点国内的高频数据,自己跑一跑,有信心了,国内品种也出来了,直接杀回来开个私募。回大公司还有个卡位先后的问题(其实好点的坑早就没了),要是回来自己干,无所谓早晚的,几万亿的资管市场,有策略还怕圈不到几个亿了。Good luck!
楼主如果是考虑回国发展,个人建议再等等看。海归回来,抛开归属感这些不谈,一是为了更大的向上空间,二是为了更好的钱景,这两条国内目前都不太容易。1. 如果回到大型的金融机构,公募基金、券商、保险资管等等,可能在职位和薪水上起点会好一些,但做事…
这个说法比较片面。HFT(High-Frequency Trading)有其存在的意义,不创造流动性的只是HFT的一部分策略,而不是其所有的行为。&br&&br&高频交易里主流策略分为以下几种:&br&做市性策略(常可从交易所赚取回扣) -- 这个策略提供流动性。&br&套利性策略 -- 跨产品、跨市场的套利,以统计套利为主 -- 也能提供流动性&br&方向性策略 -- 新闻交易、流动性探测、势能交易等&br&结构性策略 -- 延时套利、闪电交易&br&&br&其中前三者都能提供流动性,而最后的结构性策略基本不提供流动性,甚至会伤害到其他交易者的利益。来自结构性策略的利润占公司利润的比重是最大的,其后是统计套利、做市商交易…&br&&br&有人认为做市、套利、方向性交易原本就存在,HFT只是从其他金融中介手里抢过了这部分利润。但不可否认的是他们的先进设备与技术使这些过程更加迅速,一定程度上降低了买卖价差并使市场有了比以前更高的流动性。&br&&br&高频交易的结构性策略基本思想是借助它更快的信息传输速度来达到“抢跑”(front-running)。美国SEC在05年通过07年实施的Regulation National Market System中强制规定broker们要为客户找到最有利于客户的“交易所”,有时候为了让客户的订单可以得到最优的价格,订单会被拆分成不同的部分发送到不同交易所。比如10000股苹果股票,在NYSE有100股是全国最低只需要400块钱,在BATS有1000股是全国第二低400.01块钱,那么10000股的订单就会被拆成100股送到NYSE,1000股送到BATS,剩下的8900股再发送到其他交易所。这样HFT公司就可以在经纪商的订单群到达的第一个交易所那里得到市场上有买卖的信号(有很多方式可以得到,比如HFT在该交易所挂单),并借助这些信号瞬间做出判断市场上会否继续有这样的订单,然后通过自身的速度优势,在其他交易所赶紧先买入苹果股票,瞬间提高苹果股价以后,再以这个略高的价格 配对给 经纪商那些姗姗来迟的订单。这个过程提高了市场的波动性却并没有为市场创造流动性,所以应该被禁止或限制。比如监管机构可以规定订单最短存续期限、征收撤单手续费来防止flash order。&br&&br&最近红遍业界和学界的畅销书Flash Boys里比较详细地描述了HFT如何通过“速度”来抢夺其他交易者的利益(它也是一本了解当前美国市场微观结构的一本好书)。由于Lewis并非HFT方面的专家学者,而更是以一个畅销书作家的身份在叙述事情,所以里面漏洞难免。很精明的一点是,关于一些比较暧昧、未得到证实的观点,他都是借用书里各个“主角”的嘴说出来的。据说最近Lewis收到很多来信电邮指出他书里的漏洞,所以他打算酝酿第二版。对Flash Boys的内容在此不做引用。&br&&br&参考文章&br&[1] US Equity Market Structure - BlackRock (2014)&br&[2] IBIS High Frequency Trading Industry Report (2013)&br&[3] Flash boys (2014)
这个说法比较片面。HFT(High-Frequency Trading)有其存在的意义,不创造流动性的只是HFT的一部分策略,而不是其所有的行为。高频交易里主流策略分为以下几种:做市性策略(常可从交易所赚取回扣) -- 这个策略提供流动性。套利性策略 -- 跨产品、跨市场的…
正好昨日,国内CTA这块最强的私募富善投资(&b&Foreseefund&/b&,他们家的微信公众号也是这个)发了这样一个PPT,还是很适合大家了解现在这个市场的,经林总同意,我把相关内容贴上来供大家参考。&br&&br&交易性能速度的决定性因素有以下几点:&br&&b&一:交易服务器是否靠近交易所机房?&/b&&br&国内四大期货交易所都有自己的机房,其中中金在数讯,上期主要在张江,大商和郑商在本地也有相应的机房,另外期货公司有自己的服务器托管中心。&br&&b&二:期货公司托管机房条件如何?&/b&&br&主要就是硬件投入情况,包括服务器硬件和网络硬件还有带宽等,是不是比较新的或者几个大硬件商的设备,系统版本如何等等,都会影响速度。&br&&b&三:网络环境如何?&/b&&br&一个是你到相应的机房是走公网还是走专线。二是如果做跨市场比如说外盘,黄金T+D等等,到交易所之间的连接速度。&br&&br&以下两张图可以清楚的说明各个系统间的关系:&br&&img src=&/eb8e0a55c2ce8e903012_b.jpg& data-rawwidth=&550& data-rawheight=&707& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&/eb8e0a55c2ce8e903012_r.jpg&&&br&在大家都采用服务器托管的模式下,各个期货公司之间的差别并不特别大。&br&&br&硬件完毕以后开始说说交易平台的差别。首先是CTP是比较标准的程序化交易接入平台,也是绝大多数人采用的。其次上面图中可以看到各个交易所有自己的交易所系统,那么在自家领域都或多或少有一些速度上的优势,比如说飞马交易股指期货就比CTP快,但是飞马只能用来交易股指期货。另外还有一些第三方公司部署在期货公司的针对高频的交易平台,比如说恒生的UFT,金飞鼠。还有CTP的简易版本MiniCTP速度也比CTP来得快。&br&&br&说完软件以后,开始说一个概念就是席位的概念,比较偷懒就直接上富善的图:&br&&img src=&/5b18aaed2c442eed955c_b.jpg& data-rawwidth=&554& data-rawheight=&708& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/5b18aaed2c442eed955c_r.jpg&&&br&具体来说主席相对来说人比较多,所以在高峰的时候可能速度会比较慢。对于大的期货公司一般都会有N套席位,次席相对来说人少速度上可能就快。但是以上不绝对,最好是和期货公司实际测试一下。当然如果有专用席位就更好了,前提是你的money足够多。
正好昨日,国内CTA这块最强的私募富善投资(Foreseefund,他们家的微信公众号也是这个)发了这样一个PPT,还是很适合大家了解现在这个市场的,经林总同意,我把相关内容贴上来供大家参考。交易性能速度的决定性因素有以下几点:一:交易服务器是否靠近交易…
1. 整个讨论的框架不在于该不该监管, 而在于强度以及如何监管. 整个问题其实是个剂量与毒性的问题: 主要的利(增加交易的流动性)vs. 主要的弊(HFT公司赚取交易成本)&br&&br&2. 我不觉得知乎上有人能客观完整地评价HFT, 保守派(温和监管)和激进派(严厉监管)都是相对的.&br&&br&3. 刘先生(Lewis)作为一个&b&完美主义者&/b&, 基本属于最激进的那一方, 这也是他直接声称&Market is rigged&的原因。他认为HFT能赚取riskless profit是系统不完美的结果。虽然他不能否认现在电脑取代以前的floor specialists对于交易成本已经大大的减少,但是他还是认为在这个如此&高科技&的年代, 交易成本为嘛不完全避免呢。&br&&br&4. 今晚正好和两个RBC的人吃饭, 他们告诉我一些&无关紧要的八卦&: &br&
1& Katsuyama是一个非常nice和funny的人. RBC的trading platform叫Thor. &br&
2& Katsuyama和他的team之前就在Thor上成功做了他现在正在做的事(slowing down the order), 所以这事根本不复杂&br&&b&
3& RBC其实是IEX的最早投资者, 不夸张地说, RBC孵化了这个项目&/b&&br&
4& 大家都知道Einhorn投资了IEX, 但没有人知道刘先生有没有投资, 但RBC的两个人都觉得即使确实有, 以刘先生和艾先生的身家, 这个投资根本对他们来说也只是精神上的意义。说到底,刘先生只是想传播一种理想 (虽然和艾先生比起来, 刘先生实在是穷人, 但这不妨碍刘先生直接叫艾先生&Dumb Tourist&)&br&&br&5. HFT这事其实很早就开始讨论了, 但刘先生一本书才真正把它放在了聚光灯下. 估计他自己都没想到他现在已经有如此的影响力:Moneyball虽然也掀起了一股革命, 但那只是棒球界。这次可是华尔街。相比起来影响力, 那些穷的只剩下钱的对冲基金经理们可差远了(艾先生)。 &br&&br&6. 刘先生本来只是给Vanity Fair写专栏文章, 写到了Sergey被Goldman&迫害&的文章: &a class=& wrap external& href=&/business/2013/09/michael-lewis-goldman-sachs-programmer& target=&_blank& rel=&nofollow noreferrer&&Michael Lewis: Did Goldman Sachs Overstep in Criminally Charging Its Ex-Programmer?&i class=&icon-external&&&/i&&/a&于是对HFT产生了兴趣, 开始了全方位的调查. 那篇文章去年9月贴出来, 今年3月出版了自己300页的新书。&br&&br&7. 最后关于这本书: 专业的评论我写不出来。但作为很早以前被刘先生的Liar's Poker开了眼界的非脑残粉, 我想说刘先生作为一个记者兼&侦探&兼作家, 能把这本non-fiction写实作品写得如fiction般有趣真不容易.&br&(等下, 他每本书不都这样的吗?) &br&&b&此书确实不适合且仅不适合一类人: HFT从业者。&/b&&br&&br&不想告诉你我是谁, 匿了.
1. 整个讨论的框架不在于该不该监管, 而在于强度以及如何监管. 整个问题其实是个剂量与毒性的问题: 主要的利(增加交易的流动性)vs. 主要的弊(HFT公司赚取交易成本)2. 我不觉得知乎上有人能客观完整地评价HFT, 保守派(温和监管)和激进派(严厉监管)都是相对的…
高频交易用的方法很多,我是做CTA的,对HFT不算特别了解,但由于公司有专门的高频团队,所以对市面上若干种高频的做法还是略微有所耳闻的。国外的很多高频的做法其实由于手续费、点差过大和非做市商等原因,很多国外传统的高频做法没法做。目前国内高频最主要都是集中在股指期货上面,做法主要以微观结构分析为主,主要包括如下3种:1. LEVEL2五档行情的撤挂单分析;2. Book订单流的分析;3. 还有做价量的time series的短期趋势。你提到的HMM和ES其实都是具体的算法,这种算法在2和3中都有较多的应用,尤其是对book订单流的分析中,目前国内用HMM和SVM的是主流。另外就是不得不提的一点是目前国内股指期货的微观结构变化很大,高频模型失效的速度极快无比,很多高频算法一上线短短1-2个月就开始打平或者微亏。&br&&br&赚钱无非三种方式:be the first,be smarter或cheat。哈哈,这话是真理。高频交易,其实是3者的结合。Be the first,其实是追求下单速度上的极致;Be smarter,其实就是更复杂和精准的模型;Cheat,其实高频里面也有一种高空挂单诱使对手以更优的价格bid的做法。&br&&br&目前国内的高频交易、算法交易、CTA等各种领域,正是各方势力积粮、屯兵和广纳人才,准备群雄逐鹿的时代。相信在不久的将来,国内的环境绝对有能力孕育出如Getco、twosigma、BridgeWater和Winton这类各领域的大佬。
高频交易用的方法很多,我是做CTA的,对HFT不算特别了解,但由于公司有专门的高频团队,所以对市面上若干种高频的做法还是略微有所耳闻的。国外的很多高频的做法其实由于手续费、点差过大和非做市商等原因,很多国外传统的高频做法没法做。目前国内高频最主…
美国证券交易委员会(SEC)2010年给出的这份报告 &a href=&http://www.sec.gov/rules/concept/58.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Concept Release on Equity Market Structure&i class=&icon-external&&&/i&&/a& 中定义了这几种类型:&br&&ol&&li&&b&被动做市(Passive Market Making)&/b&,这种策略是在交易所挂限价单进行双边交易以提供流动性。所谓双边交易,是指做市商手中持有一定存货,然后同时进行买和卖两方交易。这种策略的收入包括买卖价差(spread)和交易所提供的返佣(rebate)两部分。这个模式我在专栏文章&a href=&/silicontrader/& class=&internal&& 交易所风云 &/a&中有详细的介绍。&/li&&li&&b&套利(Arbitrage)&/b&,这个策略应该是大家比较熟悉的,就是看两种高相关性的产品之间的价差。比如说一个股指 ETF 的价格,理论上应该等于组成该 ETF 的股票价格的加权平均(具体计算方式按照此 ETF 定义来看)。但因为种种原因,有时我们会发现市场上这两种价格并不一致,此时即产生套利机会,可以买入价低一方同时卖出价高一方,赚取其间的差价。随着市场流动性的增强,这种机会发生的次数和规模会越来越小,并且机会往往转瞬即逝,因此往往需要借助高频交易的技术来加大搜寻的规模和把握交易时机。&/li&&li&&b&结构化(Structural,这里翻译或许不当)&/b&,这是最恶的,也是公众视角中最能引人对高频交易诟病的策略。简单说就是利用技术手段,比如高速连接和下单,来探测其他较慢的市场参与 者的交易意图并且抢在他们之前进行交易,将利润建立在他人的损失上。这种策略到底有多少人在用,报告中没有指明。我个人的看法是这种短视的策略或许能帮你赚一点快钱,但从任何角度看都是一种饮鸩止渴的行为。高频交易本身有远超于此的价值,实在不值得为此浪费精力。&/li&&li&&b&趋势(Directional)&/b&,这个策略本身在中低频也存在,简言之就是预测一定时间内的价格走势,顺势而为。这种策略在高频的玩法不同之处在于,高频交易的主要数据源是比 tick 更低一级的 order book events,所以可以在委托单的粒度上进行分析和预测,来抓大单的动向(具体算法可以看我在&a href=&/question//answer/& class=&internal&&高频交易都有哪些著名的算法?&/a&这个回答中给出的例子)。另外此报告中还提到一种操作手法,和中低频类似的,所谓“拉高出货”,即自己先下点单快速推高或拉低价格,人为制造一种趋势,来吸引其他人入场。这个方面相信有中低频或日内经验的高手们更清楚该如何做,我就不多说了。&/li&&/ol&以这四种策略而言,我个人认为被动做市是最有正面意义且可持续发展的策略,事实也证明这种策略是目前高频玩家的主流选择。被动做市背后的动机和成因也与其他几种不同,具体分析还是请移步我的专栏文章 &a href=&/silicontrader/& class=&internal&&交易所风云 &/a&(这几天有空时我会再加入一些新内容)。
美国证券交易委员会(SEC)2010年给出的这份报告
中定义了这几种类型:被动做市(Passive Market Making),这种策略是在交易所挂限价单进行双边交易以提供流动性。所谓双边交易,是指做市商手中持有一定存货,…
应该主要是 Quant 们用来开发策略。Scala 的好处是直接编译成 Java bytecode,跑在 JVM 上所以性能有一定的保证,对于速度要求不高的策略是可以做 Production 级开发的。其他的例子还有著名的 Jane Street 用 OCaml 做主流开发语言。&br&&br&Functional 一般来说是对 Quant 很友好的开发语言,使用方便,思维贴近数学而不是底层机器。尤其对金融或数理背景的人来说是个福音。对于这些人来说,如果要他们去学习 C++ 或者 Java 的各种奇技淫巧,不仅学者效率低下,从公司的角度看也是对人才的浪费。指针,位运算或者面向对象代码写多了你会忘掉数学推导和建模技巧。Functional 算是针对这种问题的一个比较好的方案。像 Scala/OCaml 甚至 Python/Javascript 之类带点 Functional 特性,又能一定程度上兼顾性能的通用语言都可以作为备选。这种情况下一般还会有专门的计算机研发人员做性能上的开发,比如用 C++ 写底层的高速实现,或者做专门的编译器把 Quant 的代码翻译成快速的版本。&br&&br&纯研究的话用这些其实不一定有什么好处。因为研究工作更需要的是数学方面的功能(而不仅仅是编写时的思维模式)。所以这方面还是 Matlab/R 之类的天下。当然神奇的 Python 在这方面也能占据一席之地,所以如果没有历史包袱其实是非常理想的语言。&br&&br&最后一提的是,人在江湖,讲究的是拿人钱财,与人消灾。具体用什么语言,肯定是公司说了算,我们要做的就是不要进了公司再说这个我不会,那个学起来太费劲。不管是 C++ 还是 Functional,甚至公司跟你说我们自己开发了一个独门语言跟市面上的长得都不一样,你能说我不想用这个么?为了做到这点,重要的是学会编程的思想和基本功,而不要拘泥于某一种语言。C/C++/Java 一系因为一般大学都会教,所以大家应该都有点基础;而 Functional 是一种和它们的思维模式差别很大的路数,如果没学过,临时上手会比较吃亏,所以建议大家自己找机会了解一下。
应该主要是 Quant 们用来开发策略。Scala 的好处是直接编译成 Java bytecode,跑在 JVM 上所以性能有一定的保证,对于速度要求不高的策略是可以做 Production 级开发的。其他的例子还有著名的 Jane Street 用 OCaml 做主流开发语言。Functional 一般来说是…
第一次被邀好激动。。。\(≧▽≦)/&br&&br&具体的对高频交易的争论非常多,高频交易本质是利用数学统计逻辑,利用IT技术实现超高速度的交易方法。市场上总是有着各种各样的机会,因为人在里面交易,所以必定会留下来各种人的交易痕迹。高频交易是在捕捉这种转瞬即逝的交易机会,快进快出,获得稳定的小额收益。很多高频交易者都自称是在市场弯腰捡硬币的人。他们更快、算法更强、IT更强大。&br&&br&打个比方来说,19世纪末20世纪初的交易市场,交易信息很多情况都是靠马车或汽车在城市间传递,如果你是个有电话的交易员,跨交易所进行套利,那你就是市场的高频交易者了。&br&&br&至于高频交易给市场带来了何种影响,这个问题已经有无数的论文、报道在讨论,至今也未得出一个合理统一的答案,我这里就不冗述了。&br&&br&所以事情就变成了你是在何种角度的问题,如果你是高频交易者或者IT创新前沿的人,你当然不希望禁止高频交易;而普通投机者而言,高频交易其实是向你收取了第二道手续费,但同时也为你提供了所需的流动性;对于监管层而言,高频交易在带来成交量的同时,又因为其快速而又难以预测的算法给市场带来了更大的不确定性。&br&&br&因此这个问题是没有确定答案的,或者我们可以从另外一个角度看这个问题:限制高频交易最好的市场其实是国内市场,A股T+1制度、做空困难的制度、交易所垄断的制度,股指期货大合约、点数差价较大、交易信息截片提供而非连续提供,这些其实对高频交易限制非常有效。。。&br&&br&那你们是如何看待国内市场的呢?
第一次被邀好激动。。。\(≧▽≦)/具体的对高频交易的争论非常多,高频交易本质是利用数学统计逻辑,利用IT技术实现超高速度的交易方法。市场上总是有着各种各样的机会,因为人在里面交易,所以必定会留下来各种人的交易痕迹。高频交易是在捕捉这种转瞬即逝…
趋势策略简单有效。回撤有时候的确很大,但是抗一抗总能过去了。因此很多专业机构都用趋势跟踪策略。我敢说,国内“只用&趋势跟踪策略的期货私募应该一抓一大把。&br&&br&但是,期货趋势跟踪策略确实是量化领域的屌丝。&br&&br&资金容量比不过做股票量化选股的,不管风云变幻,人家每天坐收管理费。风险收益比不过做高频的,国内青骓有个阳光高频产品,大家可以去围观,简直就是印钞机啊。做趋势跟踪策略的就像农民伯伯,靠天吃饭。赚钱了,大家都知道你只是暴发户。亏钱了,只能喝西北风。&br&&br&从方法上来讲,不管你趋势策略画一条线,两条线,三条线,N条线,输入只是价格数据,几十行代码就能解决了,用到的无外乎价格的加减乘除,高中学历足够了。再复杂点就是过度优化啊。做多因子选股需要一个巨大的财务行情数据库吧,最简单也要做个回归吧。高频要用到tick啊盘口啊,怎么交易几个人知道啊?为什么国内很多私募只做趋势跟踪?因为其他策略怎么做啊不知道。。。。&br&&br&再说趋势跟踪策略值得讨论的问题确实不多。策略相对简单,实施方便,经典书籍一大堆。好吧,国外的书不接地气,那么券商研究报告层出不穷啊。复制一下券商的结果,该明白的就都明白了。&br&&br&另外,趋势跟踪策略也没有什么好研究的,好创新的。只要有趋势,不管你一条线,两条线,三条线,N条线,开仓都在一起开。最多频率上铺一铺,品种上铺一铺。开发了几个基本的趋势跟踪策略后,就没有必要投入大量精力研究了。&br&&br&总结一下,趋势跟踪策略的比重取决于你能够在趋势跟踪策略以外走多远。为什么讨论少?一是没有什么好问的,没有什么好答的。二是不好意思问,不好意思答。
趋势策略简单有效。回撤有时候的确很大,但是抗一抗总能过去了。因此很多专业机构都用趋势跟踪策略。我敢说,国内“只用"趋势跟踪策略的期货私募应该一抓一大把。但是,期货趋势跟踪策略确实是量化领域的屌丝。资金容量比不过做股票量化选股的,不管风云变…
你需要学习如何提问。你的问题里,很多内容在知乎上已经有非常多讨论了,如果你做好功课的话,是不应提出这些问题的。&br&&br&举例来说:&br&&blockquote&像MFE,MMF毕业生找的工作是什么?是投行,基金公司的associate么?工作内容是什么(风控,定价,套利?)算quant么,还是只是去run那些幕后phd制作的模型?跟自己master学到的东西关系大么?在buy side(想blackrock)和sell side(投行)的工作内容有区别么?&br&&/blockquote&这几个问题我个人就已经在“&a href=&/question//answer/& class=&internal&&P Quant 和 Q Quant 到底哪个是未来?&/a&”这个回答中给出解释了,而且在最后还附赠了其他几个相关回答的链接。&br&&br&&blockquote&最后想问下mfe毕业生有可能从事hft么?(看了下北美学校的curriculum,关于algo trading或者HFT都只有一门选修课)&br&&/blockquote&如果你看过我关于高频交易的几个回答,“&a href=&/question//answer/& class=&internal&&什么是高频交易系统?&/a&”,“&a href=&/question//answer/& class=&internal&&高频交易都有哪些著名的算法?&/a&”,也是不应该问出如此笼统的问题的。我如果要回答你的问题,也无非是把我已经写过的东西复制粘贴一遍过来,实在是浪费时间的事情。&br&&br&而更加让人感觉没有诚意的是,我上面举的几个回答,并不是冷门需要挖掘才能找到的。只要你点进“&a href=&/topic/& class=&internal&&宽客 (Quant)&/a&”,“&a href=&/topic/& class=&internal&&高频交易(HFT)&/a&”这几个话题的精华区,这些都是排在前面的高票回答。&br&&br&一个比较好一点的提问方法是一次提问只针对一个具体问题,然后可以在问题内给出原文的引用,针对性的解释你对哪里感到疑惑,想得到什么样的答案。只有展示出一个清晰的思考过程,才更容易吸引别人的注意力。这一点上,特别推荐参考 &a data-hash=&d6dce93a3e06e& href=&/people/d6dce93a3e06e& class=&member_mention& data-editable=&true& data-title=&@Vas Brandon& data-tip=&p$b$d6dce93a3e06e&&@Vas Brandon&/a& 的提问方式。比如:&br&&a href=&/question/& class=&internal&&暗池交易一般都有哪些复杂的交易规则和定价规则使得其能保证交易的公平性?&/a&&br&&a href=&/question/& class=&internal&&Quant 的整体就业处于下滑状态吗?为什么?&/a&&br&&a href=&/question/& class=&internal&&并购时不同行业分析公司经营状况使用的指标都有什么不同?原因是什么?&/a&&br&&br&最后说点题外话。与本题类似的,我也收到一些年轻的朋友关于选课或是作业方面的求助。如果你们看到本篇回答的话,请以后不要再来咨询类似问题。第一是因为针对个人的建议事关重大,谨慎起见在彼此不了解的情况下,我很难给出确切的回答。第二是这些咨询非常个人化,如果是私信联系的话更是完全服务于发信人本人的,从道理上讲这种咨询服务是需要付费的,但这即非我的主营业务也无有效的交易手段,所以我本人没有任何兴趣回答此类问题。&br&&br&如果确实有疑惑该怎么办呢?把你的问题整理好,直接在知乎上提问,感兴趣的人自然会给出回答。&b&任何专业问题,一定不会是只有你自己有疑问&/b&,所以在提问时,尽量整理成“所有可能对此有疑问的人都想要问的问题”的形式。你提问的方式越具有普适性,越有可能得到深入详细的回答。
你需要学习如何提问。你的问题里,很多内容在知乎上已经有非常多讨论了,如果你做好功课的话,是不应提出这些问题的。举例来说:像MFE,MMF毕业生找的工作是什么?是投行,基金公司的associate么?工作内容是什么(风控,定价,套利?)算quant么,还是只是…
高频交易并非只拼速度就可以。 数据流上有很多东西需要处理,交易所发给你的一团乱麻似的玩意里面有不少信息是需要自己提取的。速度水平相近的情况下,比拼的就是谁能更好地理解数据。机器学习等技术在这方面也有用武之地,比如可以看 Michael Kearns 的这篇三合一论文:&a href=&http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCMQFjAA&url=http%3A%2F%2Fwww.cis.upenn.edu%2F~mkearns%2Fpapers%2FKearnsNevmyvakaHFTRiskBooks.pdf&ei=hyhGVLniK5Lg7Qb334HIDQ&usg=AFQjCNHdP1QZOpb70dDUApniySBU2z63wQ&sig2=hLg3qjHb9mjw5M84VdZy5A&bvm=bv.,d.ZGU& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning for Market Microstructure and High Frequency Trading&i class=&icon-external&&&/i&&/a&&br&&br&现阶段大家对高频的光速小子印象,主要是因为在速度方面有很多容易做的工作(比方说凿个山洞让通信线路变直来缩短距离省上几个微秒,是不是比绞尽脑汁搞模型更简单粗暴?),既然这块大矿还没采完,自然对其他智能化模型的需求不高。但是在可见的将来,当系统速度达到性能瓶颈的时候,肯定是会需要更多智能方面的研发,对此有兴趣的朋友不用着急。&br&&br&至于挖掘机技术哪家强,我的看法是理解业务始终是第一位的。我们需要清楚的知道自己在做什么,技术性能等无非是为解决问题的手段,而非问题本身。而理解业务找到核心问题所在,往往才是最困难的部分。&br&&br&做 Quant 如果不好好学习,和拍脑袋拼直觉的 Trader 有什么区别?(开个玩笑,大家莫怪。)
高频交易并非只拼速度就可以。 数据流上有很多东西需要处理,交易所发给你的一团乱麻似的玩意里面有不少信息是需要自己提取的。速度水平相近的情况下,比拼的就是谁能更好地理解数据。机器学习等技术在这方面也有用武之地,比如可以看 Michael Kearns 的这…
我对 Python 不算熟,不过可以提供一些思路。&br&&br&首先做一个最基本的测试,连续取两次系统时间,精度在纳秒,看看延迟如何。先来看一段纯 C 代码:&br&&div class=&highlight&&&pre&&code class=&language-text&&#include &sys/time.h&
uint64_t nanotime(const struct timespec *ts)
return (ts-&tv_sec * kT_ns_in_s) + (ts-&tv_nsec);
latency=0;
for (i = 0; i & i++) {
clock_gettime(CLOCK_REALTIME, &start);
clock_gettime(CLOCK_REALTIME, &end);
sum += nanotime(&end) - nanotime(&start);
printf(&Latency: %d ns\n&, sum / n);
&/code&&/pre&&/div&这段代码在我的一个小弱 EC2 云主机上跑出来的结果是:&br&&blockquote&Latency: 1101 ns&br&&/blockquote&这个结果给我们提供了一个基准线,作为在这个硬件配置下的最优值。它说明取一次系统时间大概需要1101纳秒,即1.1微秒。这个值是对50000次运算取平均的结果,这样做是为了避免一些随机的干扰(比如进程切换之类)。&br&&br&现在来看看 Python 的表现。我使用 &a href=&/jbenet/nanotime/tree/master/python& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&nanotime&i class=&icon-external&&&/i&&/a& 这个模块来取纳秒级的时间。&br&首先看普通版 Python:&br&&blockquote&-& % python&br&Python 2.6.6 (r266:84292, Sep 11 :23)&br&[GCC 4.4.6
(Red Hat 4.4.6-4)] on linux2&br&Type &help&, &copyright&, &credits& or &license& for more information.&/blockquote&&div class=&highlight&&&pre&&code class=&language-python&&&span class=&o&&&&&&/span& &span class=&k&&def&/span& &span class=&nf&&test&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&p&&):&/span&
&span class=&o&&...&/span&
&span class=&n&&start&/span& &span class=&o&&=&/span& &span class=&n&&nanotime&/span&&span class=&o&&.&/span&&span class=&n&&now&/span&&span class=&p&&()&/span&
&span class=&o&&...&/span&
&span class=&k&&return&/span&&span class=&p&&((&/span&&span class=&n&&nanotime&/span&&span class=&o&&.&/span&&span class=&n&&now&/span&&span class=&p&&()&/span& &span class=&o&&-&/span& &span class=&n&&start&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&nanoseconds&/span&&span class=&p&&())&/span&
&span class=&o&&...&/span&
&span class=&o&&&&&&/span& &span class=&nb&&sum&/span&&span class=&p&&(&/span&&span class=&nb&&map&/span&&span class=&p&&(&/span&&span class=&n&&test&/span&&span class=&p&&,&/span&&span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&50000&/span&&span class=&p&&)))&/span&&span class=&o&&/&/span&&span class=&mi&&50000&/span&
&span class=&mi&&5708&/span&
&/code&&/pre&&/div&同样的算法,得到结果是5708纳秒,即5.7微秒。比纯 C 版本慢了 500%。&br&&br&这个结果不算出乎意外,我们知道 Python 是运行在虚拟机上,中间夹了一层字节码,必然损失一些效率。对这种情况,要追求性能就需要祭出大杀器 JIT,Python 世界的代表是 &a href=&http://pypy.org& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyPy&i class=&icon-external&&&/i&&/a&,它的性能数据可以在这里看到:&a href=&http://speed.pypy.org/timeline/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyPy's Speed Center: Timeline&i class=&icon-external&&&/i&&/a&。遗憾的是没有提供高精度的纳秒级测试。我们用上面的程序来简单测试一下:&br&&blockquote&-& % pypy&br&Python 2.7.3 (fb26a5c73e4cc95ddf, Jul 30 :06)&br&[PyPy 2.0.2 with GCC 4.4.7
(Red Hat 4.4.7-3)] on linux2&br&Type &help&, &copyright&, &credits& or &license& for more information.&/blockquote&&div class=&highlight&&&pre&&code class=&language-python&&&span class=&o&&&&&&/span& &span class=&k&&def&/span& &span class=&nf&&test&/span&&span class=&p&&(&/span&&span class=&n&&i&/span&&span class=&p&&):&/span&
&span class=&o&&...&/span&
&span class=&n&&start&/span& &span class=&o&&=&/span& &span class=&n&&nanotime&/span&&span class=&o&&.&/span&&span class=&n&&now&/span&&span class=&p&&()&/span&
&span class=&o&&...&/span&
&span class=&k&&return&/span&&span class=&p&&((&/span&&span class=&n&&nanotime&/span&&span class=&o&&.&/span&&span class=&n&&now&/span&&span class=&p&&()&/span& &span class=&o&&-&/span& &span class=&n&&start&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&nanoseconds&/span&&span class=&p&&())&/span&
&span class=&o&&...&/span&
&span class=&o&&&&&&/span& &span class=&nb&&sum&/span&&span class=&p&&(&/span&&span class=&nb&&map&/span&&span class=&p&&(&/span&&span class=&n&&test&/span&&span class=&p&&,&/span&&span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&50000&/span&&span class=&p&&)))&/span&&span class=&o&&/&/span&&span class=&mi&&50000&/span&
&span class=&mi&&3614&/span&
&/code&&/pre&&/div&有了很大改进,得到3614纳秒(3.6微秒),但比起纯 C 仍有很大不足。&br&&br&以上是一个非常简单的小测试,可以看到没有涉及任何复杂的操作,得到的数据给我们的感觉是 Python 大概比纯 C 慢 2~3 倍。如果这个测试中没有特别严重的原则问题,那么可以推断核心函数用 CPython 或纯 C 来编写并不会带来更进一步的性能提升。目前&a href=&/questions//how-fast-is-state-of-the-art-hft-trading-systems-today& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&江湖传言&i class=&icon-external&&&/i&&/a&,如果换成高配置的实体主机,纯软件的 C/C++/Java 实现(不涉及 FPGA 等定制硬件),一般 Tick-To-Trade 可以做到10微秒以下的延迟水平。以此估算,Python 应该至少能够做到30~40微秒的水平。&br&&br&当然,受限于我的 Python 水平,这是一个非常粗糙的估算。欢迎对 Python 性能调优有经验的朋友指正。&br&&br&对性能有重要影响的还有内存模型。Python 也是自动管理内存,需要 GC 的语言,对延迟敏感的话需要做这方面的工作。另外为了能精确控制内存结构,还需要能直接读取内存的方法(Direct Memory Access)。简单的调查之后,以下的一些资料应该会有帮助:&br&&a href=&/wiki/developer/index.php/Python_Garbage_Collection& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python Garbage Collection&i class=&icon-external&&&/i&&/a&&br&&a href=&http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCMQFjAA&url=http%3A%%2Fquestions%2FFaccess-memory-address-in-python&ei=LT4EVNSALKrn7AawzIBw&usg=AFQjCNF6CddD5ZBT-HfZWlwQQANONlkqVg&sig2=0hKwNRoFUFBdY4i7E2yypA&bvm=bv.,d.ZGU& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Access memory address in python - Stack Overflow&i class=&icon-external&&&/i&&/a&&br&&a href=&http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=0CF4QFjAG&url=http%3A%2F%2Fmax.cs.kzoo.edu%2Fcs495%2FDMAPython.doc&ei=LT4EVNSALKrn7AawzIBw&usg=AFQjCNFz4gPWQhuTM--SBL7ru_FKRWmNEQ&sig2=PD9jCXvfb7DMkXLWmotD3w&bvm=bv.,d.ZGU& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DMAPython: Direct Memory Access Parsing for Python&i class=&icon-external&&&/i&&/a&&br&&a href=&http://sociograph.blogspot.co.uk/2011/11/fast-io-and-compact-data-with-python.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Fast I/O and compact data with python / numpy's memmap&i class=&icon-external&&&/i&&/a&&br&&a href=&https://wiki.python.org/moin/PythonSpeed/PerformanceTips& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PythonSpeed/PerformanceTips&i class=&icon-external&&&/i&&/a&&br&&br&综上,我的结论是,Python 做到几十微秒级的延迟应为问题不大。但这个数据对于真正的 HFT 来说是远远不够的,另外考虑到系统复杂度增加以后,Python 语言本身的特性(弱类型,Scope等)会给高性能算法的编写埋下很多隐患,所以不推荐使用 Python 做低延迟系统的开发。
我对 Python 不算熟,不过可以提供一些思路。首先做一个最基本的测试,连续取两次系统时间,精度在纳秒,看看延迟如何。先来看一段纯 C 代码:#include &sys/time.h&
uint64_t nanotime(const struct timespec *ts)
return (ts-&tv_sec * kT_ns_in_s) + …
首先,我不是专业搭这个的……所以我基本都是瞎猜的……&br&&br&其次,不太清楚这一大段问题具体是在问什么……&br&&br&您是不相信latency能做到1ns?我也不信。如果收发buffer的latency是1ns,假设光纤上跑的是数据包,响应的时候接收器会把整个包存下来,再发一个响应包(store and forward)。那么,40G的光纤,1ns就只有是5个Byte。如果传输latency是1ns,光才跑30厘米……&br&&br&也就是说,如果你的电脑离交易所的数据中心有几千米远(比如你在东单而它在西单),那么传输的latency也有几个ms,给你一个700ns就能响应的交易系统也帮不了你很多忙,更简单的办法是把电脑搬到交易所旁边去。&br&&br&不知道问题里说的硬实时是什么……一般说硬实时是说deadline是死的,系统必须在deadline之前完成任务,没有通融。理论上说,deadline在一小时之后的硬实时也是硬实时……&br&&br&数学模型很少是高度变化的……就是一交易程序,都是人写的,其变化的速度取决于人认识问题和写代码的速度,不取决于计算性能(除非程序是计算机自己写的,而且计算机已经智能到可以在毫秒之内自己写出新的程序,并立刻跑几个毫秒,然后几个毫秒过去之后再写一个新的……不是不可能,但是目前还比较科幻……)。所以短时间内,程序基本是不变的,模型框架基本是不变的,变化的只是输入的数据和模型参数,理论上没什么不能用FPGA实现的。&br&&br&最后说说现在商用硬件的性能。&br&&br&首先,你随便找两个机器,网线直连,ping一下,RTT也就200us左右。&br&&br&如果要更快更稳定呢?&br&&br&假设你跑Linux,从网络走,10G的光纤接进来,网卡插在PCIE bus上,网卡直接接入user space (比如用类似 &a href=&http://dpdk.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DPDK&i class=&icon-external&&&/i&&/a& 的东西),或者直接写个kernel module,bypass掉整个linux的network stack,关掉网卡的interrupt coalesing,pin到一个core上,latency其实挺小的。整个东西warm起来之后,除了接收的数据之外基本不会有cache miss,收发包都没有memory copy,PCIE bus可能会有一些不确定的latency,但总的latency可以做到绝大多数情况下都小于20us。这是全在商用的PC上做,而且完全不用给linux kernel打patch,kernel module都可以搞定。&br&&br&如果你告诉我这帮做事没什么底线的人完全不走PCIE,自己订做了自己的DMA接口,我也不会很惊讶……那就基本只剩memory了。memory其实还是挺快的。一个cache miss不会多于1us。&br&&br&如果还要更快的turn-around,那就把memory也省掉,比如可以弄NetFPGA(价钱就贵很多了,但这帮搞金融的可能根本不在乎……),省掉PCIE bus和memory,基本只有调制和解调的latency,响应逻辑做到cut-through也是可能的。700ns在一个200MHz的clock上有140个cycle,parallel起来还是能做很多事情的。&br&&br&FP是什么?&br&&br&----&br&针对更新&br&----&br&(我感觉您心里是早就已经有答案了,觉得注定达不到,新闻就是扯淡……所以这时候别人都像是在要说服你,而不是在回答问题。如果不做实验,靠嘴说服是一件很难的事情……所以下面的答案更多的意义是我自己的装逼,您心情不好就别看了……)&br&&br&我听说的结果是至少在throughput上DPDK可以很轻松地把40G的link用MTU塞满……不知道您那个结果很不妙指的是什么……&br&&br&10G link上一个1500B的MTU从开始收到检查完CRC,都要1.2us,这基本是速度的下限了。实在不知道为什么还要追求ns级别……&br&&br&Linux scheduler的overhead,在发送端,在CPU上跑的kernel thread(不自己主动调用schedule())只会被interrupt打断,在一个空闲的机器上,除了网络IO interrupt之外的其他interrupt密度是极其稀疏的,所以基本上就是dedicated core。没有interrupt时,scheduler根本都没有被执行,哪儿来的overhead?在接收端,NAPI接收到interrupt之后就把interrupt关掉改pulling了,把coalescing关掉之后在10G nic上接受line rate平均5个MTU packet就会pull一次(查interrupt counter能查出来),也就是irq context switch的开销(因为都在kernel里,所以不用刷TLB,只存一下断点就可以了)顶多是6us,平摊到每个packet的接受的latency是3us。几周前自己刚测的。So,您的第一手资料是?&br&&br&1000个cycle够做一个相当规模的并行FFT的了(并行是O(logn)的,如果没记错的话)……从来没玩过HFT,但我能想象的HFT需要实时响应的也就是到了某个时间点/成交量/价格/指标值的时候赶紧买进/卖出。具体的各种trigger值应该都是早就准备好了并且是随时间连续变化的。另外,NetFPGA的FPGA会放在网卡上,就不走CPU了……&br&&br&为什么functional language就不会用SIMD?难倒不是该用啥用啥?&br&&br&总结一下:&br&(1) 10ns以下或左右的wire-to-wire latency不现实也不需要。10Glink上20个Byte都不到,header还没看全呢,光才跑3米。&br&(2) 其实没人刻意宣传ns级别的latency(700ns四舍五入一下也应该算1us了吧),ns latency其实是问题作者自己假想的……&br&(3) 对于其他东西的描述,问题作者很多认识都不是很靠谱。但由于(1)已然成立,所以这些其他东西本来也不怎么相关,所以认识靠谱与否其实是无所谓的事情。
首先,我不是专业搭这个的……所以我基本都是瞎猜的……其次,不太清楚这一大段问题具体是在问什么……您是不相信latency能做到1ns?我也不信。如果收发buffer的latency是1ns,假设光纤上跑的是数据包,响应的时候接收器会把整个包存下来,再发一个响应包(…
如果通讯方式一样,比如都用共享内存,那么多线程和多进程间的主要区别就只有程序崩溃时的隔离特性,多线程一崩溃就全完蛋,多进程只会影响一部分。&br&&br&如果还考虑软件工程意义,不同进程通常意味着不同的程序,甚至不同的项目,操作风险会降低,这是很多交易系统做两个进程而不是一个进程的重要原因,风控进程和策略进程软件工程意义上隔离,改策略不会增加乱报单的可能性。&br&&br&这两点考虑到了之后,进程数越少越好。不同逻辑流(线程)间的同步越少越好。低计算量下,最低延迟通常是单线程逻辑得到的。&br&&br&做低延迟都需要考虑I/O blocking到被唤醒执行所耗费的时间,用Socket等需要syscall和context switch的当然更应该能避免则避免了。&br&&br&当然这一切都是基于高频交易,更准确的说是低延迟交易领域。不是所有电子交易系统都处于这一领域,其他领域的架构根据不同的需求可能完全不同。
如果通讯方式一样,比如都用共享内存,那么多线程和多进程间的主要区别就只有程序崩溃时的隔离特性,多线程一崩溃就全完蛋,多进程只会影响一部分。如果还考虑软件工程意义,不同进程通常意味着不同的程序,甚至不同的项目,操作风险会降低,这是很多交易系…
开发自己算法的在香港比比皆是。我所知道的如Nomura, Morgan Stanley, Epoch, Cash等,还有大量的量化对冲基金,没有自己的算法在香港活不下去。在大陆我相信原创的算法肯定有,但是了解到多数机构还是以“借鉴”+修改+试错为主。但是你要说高频交易算法,那就是另一个问题了。&br&&br&大陆市场做高频的,据我所知没有(那些几分钟一个委托的所谓“高频”策略在美国成熟市场一千个每秒的策略面前连个玩具都算不上),FPGA就更不要说了。最重要的原因是,交易所本身不具备支持高频交易的技术条件,而且在大陆高频交易仍然存在争议(散户太多,特指股票市场)。而香港市场,可能有一些人在做,但是受限于交易所的性能,还远远达不到美国市场的频率。&br&&br&香港证券交易所最新的系统升级正在为高频交易进行铺垫。它们将系统吞吐量提高了10倍,每条交易连接最高1000委托/秒,而行情则可以达到最高每秒六万次更新,而香港衍生品交易所的行情更新速度更是达到了每秒20万次(交易连接吞吐量没有具体数字,但是肯定会高于证券交易所),基本具备了进行高频交易的物理条件。&br&&br&所以即使目前还没有高频交易,不远的将来肯定会出现。&br&&br&相比于国内,各期货交易所每秒2次的行情更新以及证券交易所每3秒一次的更新,真正高频交易基本上还望不到头。&br&&br&所以总结一下,自己开发算法的有不少,HFT的香港有一些玩家,大陆没有,FPGA想都不敢想
开发自己算法的在香港比比皆是。我所知道的如Nomura, Morgan Stanley, Epoch, Cash等,还有大量的量化对冲基金,没有自己的算法在香港活不下去。在大陆我相信原创的算法肯定有,但是了解到多数机构还是以“借鉴”+修改+试错为主。但是你要说高频交易算法,…
不了解美股市场,不过从每笔8-10刀这个量级来看,说的应该是从 Broker 的角度来看对个人用户的收费。HFT 因为直连交易所(Direct Market Access)的缘故,收费是从交易所的角度来看的。&br&&br&现代交易所一般用 Order Book 来进行交易(参见我在“&a href=&/question//answer/& class=&internal&&高频交易都有哪些著名的算法?&/a&”中的解释)。Order Book 由 Limit Order 组成,比如买方出价 99,卖方出价 100,就会有两个对应的订单挂在 Order Book 上,挂单的人我们叫做 Maker,这时是没有交易发生的。&br&&br&当有人发起交易的时候,一般是发出 Market Order,比如买方发一个 Market Order 就会以价格 100 买到卖方挂在 100 上的单。这种交易发起者我们叫做 Taker。&br&&br&现在可以解释交易所的收费规则。一般而言,交易所是用给 Maker 以 rebate,而对 Taker 收费的方式来获利。比如上述例子中,作为 Taker 的买卖双方(99 和 100 的挂单者),假定 rebate 是0.1,那么当有对应的成交时,实际的成交价格会是 98.9 和 100.1。而作为 Maker 的交易发起者,如果交易所对其收费 0.2,那么他的成交价会分别是 99.2 和 99.8。这样当一笔交易发生时,交易所净赚 0.2-0.1=0.1 差价,这是他们的生财之道。&br&&br&通过这个分析可以看出,Limit Order 是一种成本远低于 Market Order 的下单方式,所以如有可能大家会尽量使用 Limit Order,这是很多高频策略的核心原则。&br&&br&但的确有一种情况是,交易所会反转 rebate 模式,对 Maker 收费而对 Taker 发 rebate。这样做的目的是减少 Spread(最佳买卖价间的差)。以上例而言,如果对 Maker 收费,那么 Order Book 上挂单的交易成本将变为 99.1 和 99.9,这样 Spread 就从原来的 100.1-98.9=1.2 变成了 99.9-99.1=0.8(当然相应的付给 Taker 的钱会比 0.1 少)。Spread 减少意味着流动性增强,更容易发生交易(Taker 因为成本降低而更愿意主动出击,类似于我们在商场里见到买100返50的促销,总会凭空生出一些购物欲望),交易所因此达到一种薄利多销的效果,也可以增加收益。(这个例子也是《Flash Boys》一书中用来攻击 HFT 的一个戏码,但显然作者完全没有搞清楚 Spread 和流动性之间的关系。因为他是记者出身,我们原谅他。)&br&&br&具体采用哪种模式要根据证券本身的特性 (价格,Spread 等)来决定。
不了解美股市场,不过从每笔8-10刀这个量级来看,说的应该是从 Broker 的角度来看对个人用户的收费。HFT 因为直连交易所(Direct Market Access)的缘故,收费是从交易所的角度来看的。现代交易所一般用 Order Book 来进行交易(参见我在“
没用。&br&&br&以我有限的了解,博弈论首先研究的是定性的问题,比如是否存在均衡?交易机制是否有利于参与者互动?这方面和金融交易比较相关的是机制设计,简单说就是交易制度该怎么确定,研究者比较关心的问题是能不能保证市场参与者的出价能够反映他的真实需求(private information),而不会作弊(参见&a href=&http://en.wikipedia.org/wiki/Mechanism_design& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Mechanism design&i class=&icon-external&&&/i&&/a&)。这个问题对交易所还比较有意义,对trader来说,只需要知道具体的机制是什么样的就够了,不关心为什么这样设计。&br&&br&其次在一些具体的机制(比如Google在关键词拍卖中用的&a href=&http://en.wikipedia.org/wiki/Vickrey_auction& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Vickrey auction&i class=&icon-external&&&/i&&/a&)中,可以在理论上给出每个拍卖者的最佳出价策略。这仍然是离金融交易非常遥远的理论,因为大多数情况下(尤其是高频交易),买卖一只股票并不是为了得到所有权,而是希望通过投机来获利,所以trader更关心的是价格相对位置(或者叫头寸),关注点不一样。&br&&br&也有定量的研究是关于计算方面,比如计算在一个game里达到均衡状态需要多少时间。这仍然是一种上帝视角的问题,HFT们不会关心整个市场是不是达到一个理想中的均衡点,所以这种信息也是没什么帮助的。&br&&br&另外还有一些做agent的是对市场参与者建简单的模型,通过模拟大量这样的agent模型来分析一些市场性质,也是更偏向一种思维实验,对HFT业务没有任何指导意义。&br&&br&如果对我提到的这几点博弈论话题感兴趣,可以参考这本学术著作:&a href=&http://www.cambridge.org/journals/nisan/downloads/Nisan_Non-printable.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Algorithmic Game Theory&i class=&icon-external&&&/i&&/a&
没用。以我有限的了解,博弈论首先研究的是定性的问题,比如是否存在均衡?交易机制是否有利于参与者互动?这方面和金融交易比较相关的是机制设计,简单说就是交易制度该怎么确定,研究者比较关心的问题是能不能保证市场参与者的出价能够反映他的真实需求(…
&p&下图来自Virtu公司IPO的招股说明书,日至日,Virtu每日调整后净交易利润的统计图: 1238 个交易日中只有 1 天亏损。&/p&&img src=&/045a7edf5811db7eae3c0_b.jpg& data-rawwidth=&752& data-rawheight=&493& class=&origin_image zh-lightbox-thumb& width=&752& data-original=&/045a7edf5811db7eae3c0_r.jpg&&&p&搬运,from
&a href=&/node/80208& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&战绩显赫的高频交易公司申请IPO,究竟有多牛?&i class=&icon-external&&&/i&&/a&&/p&&p&&b&Virtu公司是如何达到这个战绩的呢?&/b&&/p&&p&Virtu公司自称,如此骄人的战绩是基于风险控制策略和技术。&/p&&p&美国财经博客Zerohedge表示:&/p&&blockquote&他们应该是利用速度以及交换系统方面的优势,比市场超前交易,每笔挣一点点,几十亿次下来,年度净利润就有几亿美元。这基本是没有风险的&strong&。&/strong&&/blockquote&&p&下面我们来分析下Virtu公司的盈利趋势。公司将每日调整后净利润分成不同的区间,其中每日130~150万美元净利润的频数最高。2013年有57天落入该区间,2012年有85天落入该区间。2013年,公司净利润没有以往那么集中,有许多天数落入更高利润区间,这是非常厉害的。这或许是改变了交易策略。&/p&&p&Zerohedge称,&/p&&blockquote&高频交易从定义上看是在低利润区间不停地赚钱,但Virtu的利润区间提升了,可能是公司通过某种方式,从其它公司那里分得了一杯羹,短期看这是可行的,长期看维持不下去,特别是考虑到当前市场成交量在萎缩。&/blockquote&&p&&strong&还有一个值得思考的问题,Virtu作为高频交易公司,原本应倾向于保密的,为什么选择IPO呢?&/strong&&/p&&p&下图为Virtu公司2013年按交易种类划分的盈利增长情况。大宗商品为负增长,新兴市场为负增长,美股增长仅约5%,外汇交易业绩增长近70%!&/p&&p&Zerohedge认为,&br&&/p&&blockquote&Virtu选择此时IPO,也许与全球加强外汇监管有关,这或许是公司创始人准备套现了。&/blockquote&&p&&img src=&/d054b4fcde011d701cf2d_b.jpg& data-rawwidth=&672& data-rawheight=&464& class=&origin_image zh-lightbox-thumb& width=&672& data-original=&/d054b4fcde011d701cf2d_r.jpg&&参考:&a href=&/node/65152& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&孤独的高频交易监管者&i class=&icon-external&&&/i&&/a&&/p&
下图来自Virtu公司IPO的招股说明书,日至日,Virtu每日调整后净交易利润的统计图: 1238 个交易日中只有 1 天亏损。搬运,from Virtu公司是如何达到这个战绩的呢?Virtu公司自称,如此骄…
答案是&b&会&/b&。提问问题是“股指、商品期货日内交易会不会越来越难做”,一般理解下,日内交易只有趋势和反转两种逻辑。&br&&br&对于趋势逻辑来说,趋势类程序化交易的增多会使得趋势波动速度加快。过去可能需要一小时或者半天完成的涨幅,现在的股指行情可能在20分钟内甚至更短时间就已经涨完开始反转,速度的加快意味着市场效率的增高和赚钱难度的增大,之前交易可以观察20分钟到半小时来决定趋势是否形成,现在只有几分钟,稍有不慎就会被吊死在顶部或谷底。&br&&br&对于反转类策略来说,本质是抢帽子游戏。发现市场偏离合理价位过大的点,入场获得利润。但程序化里面同样有这样类型的策略,他们下单、交易会更快,数学分析工具更先进,打的价位会更准,本质上就是抢走了属于原先日内反转类交易者的一部分利润。&br&&br&市场随着游戏参与者增多,参与者人数、数学统计水平、IT技术、信息全面性等进步,市场的复杂性会越来越大,市场的有效性会越来越高,过去那种单纯追涨杀跌就能赚大钱的日子会越来越少。
答案是会。提问问题是“股指、商品期货日内交易会不会越来越难做”,一般理解下,日内交易只有趋势和反转两种逻辑。对于趋势逻辑来说,趋势类程序化交易的增多会使得趋势波动速度加快。过去可能需要一小时或者半天完成的涨幅,现在的股指行情可能在20分钟内…

我要回帖

更多关于 高频交易策略 的文章

 

随机推荐