高频交易用的方法是简单的还是复杂问题简单化的呢

高频交易用的方法是简单的还是复杂的呢? - 知乎1953被浏览72565分享邀请回答1.0K62 条评论分享收藏感谢收起一楼讲的还是有点偏差。中文不太容易分得清,还是看英文吧。&br&&br&1. 程序化交易:program trading&br&很简单的字面意思,意味着你利用程序(program)进行交易。具体的交易时机,交易仓位,止损止盈获利标准可能包含在程序本身,也可能独立于程序之外,程序本身只是执行的方式。与程序交易对应的是人工交易。一般利用程序交易有几大优势,比如说较快的速度,脱离了人为情绪的影响,执行力有保证等等。&br&&br&同时也应注意交易程序和交易系统的区别。交易系统是一个完整的系统,具体执行的程序可能只是其中的一部分。一个良好的交易系统应该还有风险控制,资金利用,仓位管理等方面的内容,而不仅仅是买卖信号的产生。&br&&br&2. 算法交易:algorithm trading&br&意味着你的交易决定是根据一条或多条算法 (algorithm) 进行的,算法即是你交易的基础(trading logic)。算法本身千差万别,难以一概而论,常见的有以均价为基准的VWAP,通过固定时间间隔执行的TWAP, 趋势跟随的momentum trader等等,如果你自己编一个根据MACD,RSI什么的产生指标的东西,也可以勉强称为algorithm的。算法交易的执行可以是手工的,也可以是纯自动化的。如果利用交易程序来执行的话,就是程序化算法交易。现在大部分的算法交易都由程序化来实现,原因在上一条最后有提到。&br&&br&3. 量化投资:quantitative investment&br&一般概指通过概率,微积分等数学工具去研究金融市场各种资产价格的结构性原因来决定的投资。最有代表性的就是曾经盛极一时的Long term capital management,题主可以自行google之。进行量化投资对投资者的数学能力要求很高,所以一般专门进行量化投资的基金和投资公司都喜欢招数学,物理等理科的phd。一般的量化投资都涉及到比较复杂的数学模型,至于是否有效则仁者见仁智者见智。&br&&br&4. 高频交易:high frenquency trading&br&意味着每次交易从开仓到平仓只有很短的时间间隔,一般从十几分钟到几微秒不等。主要目的是通过市场短暂的价格波动而获利。无论是趋势追随交易还是套利交易,只要速度达到了都可以被称为高频交易。人工达到高频交易的标准很难,所以一般都是通过程序交易:设置好算法,策略之后由下单软件执行。为了达到有竞争力的速度还需要软硬件共同配合。现在高频交易大概占美国市场电子交易的60%-70%。这是一个winner takes all的游戏,所以到最后大家都在比拼硬件设施,比拼跟exchange的co-location以获得几微秒的优势。&br&&br&5. 统计套利: statistics arbitrage&br&统计套利是套利交易的一种,意味着通过历史数据统计来发现套利机会并试图从中获利。比如历史上玉米与大豆的价格比率(玉米价格除以大豆价格)一直维持在某个区间,假设这个区间为1到5。以往的历史数据显示至今为止只有两次玉米与大豆的价格比率突破了5,而且在突破后迅速回落至正常的区间。现在市场上玉米与大豆的比率突然再次突破了5达到了6,作为统计套利者,你很可能就会想要卖出这个比率(卖玉米买大豆),期待比率迅速回归正常区间。如果比率真的迅速回落至4或者3,这时你再平仓(买回玉米卖出大豆)就可以获得可观利润。&br&&br&当然这只是个粗浅的比方,实际市场比这个复杂的多。如何确定正确的套利区间,如何决定最佳套利比(几手对几手),有没有季节性影响,有没有可能的突发事件影响等等,都需要纳入考虑的范畴。&br&还有就是要注意套利与对冲的区别,套利一般意味着零风险或者很低的风险,比如你同时买卖一个在不同交易所交易的同一产品,举个例子,买上海铜卖伦敦铜,或者买近月大豆,卖远月大豆。对冲则意味着你只是通过关联性降低了风险敞口,举个例子,你买了橡胶之后又卖了铜进行对冲,因为这两者的关联性相当高。&br&&br&希望对题主有所帮助,还有什么遗漏的欢迎各路大神继续补充。
一楼讲的还是有点偏差。中文不太容易分得清,还是看英文吧。 1. 程序化交易:program trading 很简单的字面意思,意味着你利用程序(program)进行交易。具体的交易时机,交易仓位,止损止盈获利标准可能包含在程序本身,也可能独立于程序之外,程序本身只是…
我知道大家想听的故事是这样的:&br&&img src=&/a73eea6449efc2e0e6a54db_b.jpg& data-rawwidth=&506& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&506& data-original=&/a73eea6449efc2e0e6a54db_r.jpg&&&br&或者是这样的:&br&&img src=&/fc9fc06e568493_b.jpg& data-rawwidth=&454& data-rawheight=&261& class=&origin_image zh-lightbox-thumb& width=&454& data-original=&/fc9fc06e568493_r.jpg&&&br&但是很遗憾,今天我带来的故事是这样的:&br&&img src=&/a4dbf99ef2_b.jpg& data-rawwidth=&400& data-rawheight=&264& class=&content_image& width=&400&&&br&没有错。每天的工作都是默默地在电脑前写代码。&br&&br&那么,身为一个码农,我为什么不去一家有前途的移动……互联网公司呢?&br&&img src=&/4c7e20cc167c72f7acac926f11d666c6_b.jpg& data-rawwidth=&630& data-rawheight=&354& class=&origin_image zh-lightbox-thumb& width=&630& data-original=&/4c7e20cc167c72f7acac926f11d666c6_r.jpg&&&br&当然是因为他们给的屏幕不够多啦:&br&&img src=&/b548a1ed8e0b0f7a093d7b8ba5bdf30d_b.jpg& data-rawwidth=&985& data-rawheight=&737& class=&origin_image zh-lightbox-thumb& width=&985& data-original=&/b548a1ed8e0b0f7a093d7b8ba5bdf30d_r.jpg&&&br&开玩笑的。暖场时间结束。真实的办公室其实是这样的:&br&&img src=&/7ba8df9eb541f89ae9b0ee_b.jpg& data-rawwidth=&2592& data-rawheight=&1936& class=&origin_image zh-lightbox-thumb& width=&2592& data-original=&/7ba8df9eb541f89ae9b0ee_r.jpg&&&br&乱吗?别怕,很快你就不会在意这些事情了。无数艰难的任务等待着你。&br&&br&套用狄更斯名言:这是最好的工作,这是最坏的工作。&br&&br&好处:&br&&ul&&li&工作超级有挑战。每天换新难题,绝不带重样的。调硬件,架网络,刷系统,优化数据结构,分析交易数据,末了再写个网页程序做展示,全都得自己来。&/li&&li&同事各个能力逆天,责任心强,信得过。干这行平均年龄偏大,活下来的都是硬汉。四五十岁的上司懂你不懂的金融,数学,计算机,任何一项基本技术能力都甩你几条街。&/li&&li&接触的业务面广,交易所,网络供应商,硬件供货商,都要挨个打交道。能看到整条产业链是活的,做的久了能够感受到其内在的商业逻辑。果然感觉自己是被需要的呢。&/li&&/ul&坏处:&br&&ul&&li&有时候特别孤独,每个人的任务都很重,自己的活只能靠自己,别人帮不上什么。&/li&&li&接不上新人。入行几年,亲眼见过很多新招来的同事承受不了压力退出了。&/li&&li&业内阻力大,老派的trader们抵触技术更新,合作一个项目时不待见你。&/li&&/ul&&br&入行以来,眼见很多比自己年龄大,资历老,能力强的人比自己更努力,开始挺绝望的,后来觉得挺踏实,有榜样。很多人都拖家带口了,家里好几个孩子,工作忙的时候睡不上几个小时,但都身体健康,家庭和睦。所以自己也依样学习,坚持锻炼身体,健康生活,和家人保持高效沟通,努力成为更优秀的人。我很幸运,没有见过纯为钱卖命的,也不建议大家这么做,不值得。&br&&br&说钱么,我是没有其他哥们那么乐观。发不出工资的时候倒是挺多,来这行学到一个说法,工资发不上的时候不叫没钱,叫没有流动性。所以有时候有同事会说,我的电脑好慢,等我有了流动性就换一台。是不是景气好的时候就发一笔大的呢?反正我还没见过。和那些在互联网的小伙伴们比,我是绝对不敢说钱多的。那为什么还干这行呢?参见上面列的好处。&br&&br&在这行,大家形容优秀的人像这样:&br&&img src=&/c70fdb3b8f7f6b4cd7e4f20b_b.jpg& data-rawwidth=&750& data-rawheight=&928& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/c70fdb3b8f7f6b4cd7e4f20b_r.jpg&&带了眼罩的赛马,眼中只能看到前方,所以只会发力向前,无视困难,直奔目标。&br&&br&所以学的更多的是做人呢。&br&&br&最后,建议大家入行需谨慎,这是一条不归路。
我知道大家想听的故事是这样的: 或者是这样的: 但是很遗憾,今天我带来的故事是这样的: 没有错。每天的工作都是默默地在电脑前写代码。 那么,身为一个码农,我为什么不去一家有前途的移动……互联网公司呢? 当然是因为他们给的屏幕不够多啦: 开玩笑的…
刚刚bing到Georgy Zarya的linkedin,这哥们做了蛮久的高频交易的。不过呢,这哥们可不是什么华尔街大鳄,而是一个俄罗斯玩家。(另外确切的说,他并不是策略方,而是渠道,帮助高频交易客户链接到俄罗斯,可能客户也有需求连接到中国,就搞了这么个如此接中国地气的法子)新闻报道里说这哥们是欧洲的,其实是引导舆论,毕竟咱们和毛子连着油管子,是穿一条裤子的感情。&br&&br&&img src=&/caef49a27cdde9ccb983_b.png& data-rawwidth=&644& data-rawheight=&791& class=&origin_image zh-lightbox-thumb& width=&644& data-original=&/caef49a27cdde9ccb983_r.png&&&img src=&/8f9b09fb845b359c658c5e351d149d67_b.png& data-rawwidth=&626& data-rawheight=&287& class=&origin_image zh-lightbox-thumb& width=&626& data-original=&/8f9b09fb845b359c658c5e351d149d67_r.png&&&br&&br&高频交易是个高度竞争的市场,简单来说美国市场水平最高,加拿大欧洲次之,俄罗斯水平再次之。中国嘛,这个领域积累还非常少,多数还是手动操作的高频人工炒单手。这家公司赚钱,就好比,洋鬼子拿着枪炮到了天津,发现沿途抵抗的只有挥舞大刀的义和团,笑着沿路抢劫过来。就像当年,不仅英法过来分一口,二流帝国和很多殖民地也都觊觎着中国这块肥肉。水平不如人,就只能任强者鱼肉嘛。&br&&br&另外呢,从新闻描述来看,这哥们用的方法有spoofing,这种交易方法在欧美全是明令禁止的。&br&&img src=&/6c7502bab9579ec45041_b.png& data-rawwidth=&677& data-rawheight=&139& class=&origin_image zh-lightbox-thumb& width=&677& data-original=&/6c7502bab9579ec45041_r.png&&&br&所以呢,抓丫的洋鬼子,这招不敢在欧美玩,跑中国来撒野,该抓。&br&&br&_____________________________________&br&&br&注:此文艺复兴可不是“文艺复兴科技”,大家看清楚,注册在塞浦路斯&br&&br&—————————————————————&br&感谢 &a data-hash=&cedca0be349a86535c2ccdac& href=&///people/cedca0be349a86535c2ccdac& class=&member_mention& data-editable=&true& data-title=&@MB MA& data-hovercard=&p$b$cedca0be349a86535c2ccdac&&@MB MA&/a&,又去看了一下新闻中另一个人Anton的简历。&br&发现可能的策略方公司,&a href=&///?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&Anton这哥们居然也是利率期货出身,还好我一心拥护国家 - - ||&br&&img src=&/6f539c2d062b9e3efc867b5b29654c91_b.png& data-rawwidth=&621& data-rawheight=&550& class=&origin_image zh-lightbox-thumb& width=&621& data-original=&/6f539c2d062b9e3efc867b5b29654c91_r.png&&&br&&br&————————————&br&欢迎访问&a href=&/zhi/people/839616& class=&internal&&值乎 - 说点儿有用的&/a&
刚刚bing到Georgy Zarya的linkedin,这哥们做了蛮久的高频交易的。不过呢,这哥们可不是什么华尔街大鳄,而是一个俄罗斯玩家。(另外确切的说,他并不是策略方,而是渠道,帮助高频交易客户链接到俄罗斯,可能客户也有需求连接到中国,就搞了这么个如此接中…
市场就是江湖,买卖双方永远在博弈, 这是交易过程中永恒的主题。买方也就是所谓的buy-side, 而做市商是sell-side, 因此我们不仿把高频(HFT)策略分为买方策略和做市商策略。从名子也能看出来这两方互为对手。&br&&br&先说买方吧, 这个买方当然就是指prop trading, HF之流。买方常见的高频策略有以下几种:&br&&br&Market Order&br&以最高速下市价单(market order)是买方最基本的策略&br&&br&Looking for Price Discrepancies &br&这个就是高频统计套利(high frequency statistical arbitrage)&br&&br&Indulging in Momentum Ignition&br&人为制造价格上的spike诱使其它算法交易策略下单&br&&br&Poke for Bargains&br&发不同的Immediate Or Cancel Order来试探市场, 反制做市商的Hide Your Best Prices策略 &br&&br&Join the Makers&br&买卖两边下限价单(limit order)&br&&br&Reserve Orders/Iceberg Orders/Time Slicing&br&隐藏真实交易量&br&&br&有矛就有盾,我们再来看看做市商怎么接招:&br&&br&Wait for the Other Side&br&被动等待单子成交是做市商最基本的策略&br&&br&Lean Your Market&br&主动变更报价以消化库存(inventory)&br&&br&Scratch for the Rebate&br&提供流动性(liquidity),拿回扣&br&&br&Hide Your Best Prices&br&隐藏最佳报价&br&&br&Take Out Slow Movers&br&仗着速度快吃掉其它做市商的错价&br&&br&Penny Jump&br&微量加价&br&&br&Push the Elephant&br&跟踪巨量订单,一路拉升价格从巨量订单上赚钱&br&&br&Tow the Iceberg&br&探测市场交易意图, 这个直接反制买方的Iceberg Orders.&br&&br&Jump the Delta&br&期权做市商用动态Delta Hedging对冲风险&br&&br&&u&&b&最后提一句, 不论你身处买卖双方的哪一边,你都该牢记,HFT是一种生意,而做生意的目的就是谋利,如果你真想make the world a better place,还是去Silicon Valley吧! &/b&&/u&:)
市场就是江湖,买卖双方永远在博弈, 这是交易过程中永恒的主题。买方也就是所谓的buy-side, 而做市商是sell-side, 因此我们不仿把高频(HFT)策略分为买方策略和做市商策略。从名子也能看出来这两方互为对手。 先说买方吧, 这个买方当然就是指prop trading, H…
这个问题非常值得思考。&br&&br&首先回答问题本身:在很多做市类的东西里面,交易决策和交易执行已经自动化程度非常高了,程序完全取代人只是时间问题。&br&&br&这里面最纯粹的例子是基于三角套利的外汇做市,差不多10年前就是纯自动化了,现在应该连写代码的都没有了,全是硬件在参与。其他自动化程度极高的东西包括:基于硬套利和统计套利的Delta1(Basket, ETF, Single stock, Index future, 各种多维度衍生品中Delta大的那些),各种基于统计的配对类交易,当然还有期权做市。&br&&br&这些东西的共同点:成交量大,成交频繁,参与者分散,(杠杆后)波动不低。任何产品的市场只要达到这几个标准,人工交易员都会很快被程序取代。逻辑也很简单,这样的市场里靠纯定量,100%明确的逻辑就可以很好的描述市场行为,只需要在一个封闭式的框架里有可靠性极高的执行就行了。都是计算机擅长的事情。剩下的差不多就是性能问题了。&br&&br&&b&趣闻One:&/b&&br&&br&&i&有个在自动化程度方面一直走的很靠前的公司叫Timberhill, -哪怕业内听说过的人恐怕也不多。但母公司就比较有名了: Interactive Brokers. 不少微信公众号也都转发过这公司老板的传奇,什么用文字识别+机械手绕过Nasdaq对他程序化交易的限制什么的,真假不知道。&br&&br&但Timberhill确实很偏执的追求自动化程度,这公司的交易员10年前就改名叫Pilot了,非常明确的只是监控机器运行。Timberhill的背景导致这公司在liquidity provider的世界里是个异类:因为要吸收Interactive Brokers千奇百怪的retail flow,Timberhill是出了名的什么东西都能quote,虽然什么quote的量都没有很大,定价也经常跟其他整齐划一的做市商朋友们不太一样。&br&&br&能quote各种奇怪的、流动性不怎样的东西,其实是个很惊人的能力,尤其是10年前,服务器的运算能力跟今天根本没法比。然后出了一件事情,让大家些许了解了一些Timberhill的做法:&br&&br&Timberhill告了两个瑞典还是挪威的散户,说他们操纵市场,在一个从来没人听说过的瑞典小股票上击败了Timberhill的做市程序。击败的方法让人不知道说什么好:例如这个票价格100左右,这两个散户发现Timberhill的程序每买入一次就调低bid/ask各1块,每卖出一次就调高bid/ask各1块,而且不论买入或者卖出了多少量。。。于是他们先在100/101的价格上花101万买1万股,然后隔几秒就market order买一股,重复个10次Timberhill的quote就变成了111/112了。。。然后卖出1万股。。。比国内的黑平台随便造个假行情宰客户还简单粗暴。。。&br&&br&最后Timberhill胜诉。其他做市商都觉得Timberhill是逗逼。虽然再仔细想想,这里面也不是完全没有道理在。&/i&&br&&br&当然同样的市场里,比如期权做市商,自动化程度也有不同。行情处理+定价+执行肯定全是100%自动化了,周边很多工作就不一定了,业界自身偏好也不一样。共同的认知差不多是”越自动越好,无非是个边际效益的问题“,具体每家能做到什么程度受核心团队构成以及资金规模影响。自然资金规模越大的,越有提高自动化程度的诉求。&br&&br&具体的效果,一般是这样:人工程度高一点的,在单一市场里能挖到的钱略多一点;但要算交易员人均产生的交易收入,自动化程度高的会高不少,毕竟一个交易员可以cover的市场多。但其实算上developer和quant,又都差不多了。&br&&br&这背后的取舍,其实是人脑和计算机在所有”有完整逻辑体系可循,但还有一点模糊的因素“的领域里的竞争。计算机的优势上面讲过了,性能和简单重复工作上的可靠性。但计算机有两个问题:”猜“的能力不强;没有”常识“。&br&&br&人脑有很强的”猜“的倾向,往坏了说是对结论过分自信,往好了说是在数据和信息完全不够的情况下能做出个还算靠谱的估计。这方面计算机在高速的追上,靠的是神经网络相关技术的成熟,其实就是把人脑强大的估计引擎的估计过程抽象出来。&br&&br&而没有常识,其实更根本的看是从对于高频交易团队的成本角度来说,人更便宜。每一个合格的交易员都附带了大量的预置信息(常识),例如永远不应该用负价格offer股票,或者13.5Call永远比14Call要贵。这些东西交易员们都是在大学或者培训的时候就会的了,虽说花费了大量时间积累,积累的效率很低,但并不需要花公司一分钱。而让程序都具备所有这些所谓常识,开销大到根本不现实。这其实也是各种天方夜谭式的程序错误导致巨额亏损的根本原因。&br&&br&&b&趣闻Two:&/b&&br&&br&&i&在电子化时代之前,交易都是在pit里完成。就是大家都在电视上看过的那种,几百个穿着鲜艳马夹的男人挤在一个大厅里,疯狂的互相打手势,写纸条,从人群里递出去。&/i&&br&&br&&br&&i&Pit trading是地球历史上,人类依靠自身力量做过的最高级,最重要,最激烈也最浪漫的事情。Pit trader们完成的工作,除了今天trader们所有的工作以外,还包括交易所的matching engine, 你的pricing engine, 策略和order manager的所有功能。还有最重要的一点,交换机和网线的功能。&/i&&br&&br&&br&&i&今天所有的信息都以光的速度在传递,而在pit里,物理距离要靠肌肉的力量来覆盖。行情稍激烈的一天结束后,每个pit trader都会全身青一块紫一块。要提高自己抢到好单的概率,需要的不是一条拉直的网线和一块破FPGA,而是日复一日的训练和钢铁一样的意志。所以pit trader们很多都是NCAA美式足球运动员。&/i&&br&&br&&br&&i&有本书被称为Option trader的圣经,叫做Options, Volatility and Pricing. 这本书是圣经的原因不是因为严密全面,而是因为作者连个数学公式都懒得写。作者Sheldon Natenburg早年在芝加哥做pit trader的时候,没有电脑,没有计算器,没有打印出来的pricing table。其实那时候BS公式都没什么期权交易员了解的。所有好的交易员依靠的,无非是一些朴素的non-arbitrage pricing理念,和非常简单有效的收窄估计上下限的技巧。&/i&&br&&br&&br&&i&据说第一个试图把这个雄性斗兽场变成技术宅乐园的,(又)是InteractiveBrokers。当他们的交易员拿着掌上电脑出现在pit里的时候,所有人都觉得他们脑子进水了。当然不长的一段时间以后,技术宅们就完全统治了这一切。&/i&&br&&br&&br&&i&然而pit trader里也出过很多大神,比如Sheldon Natenburg,另外还有很多技术宅们的老板。在任何事情里,老一代接受新事物的速度都不可能快过一张白纸的年轻人们。Pit trader们会一直聚在pit里流连。所以pit消亡的速度,比合理的速度要慢很多。&/i&&br&&br&&br&&i&直到今天,pit trading仍然在进行着。除了每个人手里已经变成了Android系统的平板电脑。也许有天直接微信扫码就可以撮合。&/i&&br&&br&&br&&i&---------------------------------------------------------------------------------------------------&/i&&br&&br&&br&其实这个问题,反过来问更好:证券的电子交易市场中,有没有计算机取代不了的工作?&br&&br&当然有。计算机其实只擅长非常特定的一件事情:在&u&封闭框架&/u&里,按照&u&完全明确的逻辑&/u&,&u&高速高可靠性地重复&/u&完成同一个任务。只不过历史上这件事情在市场里需要由大量的人工完成的,而这些工作在大量被计算机接管,给人一种错觉是所有从业人员都要被取代了。&br&&br&所以这样看,计算机永远取代不了的工作有哪些就也很明显了:&br&&br&策略开发:因为不在封闭框架里。策略开发本身就是建立框架的过程。说什么大数据+深度学习自动开发策略的都是regression monkey, optimization monkey, 自己骗自己。&br&&br&风控经理:因为没有完全明确的逻辑。每个交易主体的风险偏好形态都是不一样的,而且很大程度上是主观的。&br&&br&Pilot: 因为机器只要还是为人类服务的,就少不了和人类交互。具体到电子交易这件事,至少需要有人保证计算机的运行是正常的(自体能鉴别出来并解决的问题都不叫问题)。Pilot需要对所有的业务逻辑有了解,包括通讯软件硬件策略交易风控,不然无法有效辨识出问题。所以Pilot这个职责应该是一个团队在完成。&br&&br&Trader: 因为不是所有任务都是重复的。总有那么一些时刻,常识会告诉你,过去的统计经验无法给计算机足够信息处理当下的情况。甚至逻辑框架都不再适用。好的自动交易程序应该也能做出决策,该关闭相应功能了。好的Trader应该知道,还有哪些工具是可用的,哪些已经不适用了。运用任何还可以用的工具,做出相对最准确的决策。市场在短期剧烈波动中很显然是零和的,如果对自己的能力有自信的trader当然必须留在市场中交易,不然就是在犯罪,和在一个交投稳定活跃的交易日把交易程序关掉是一样严重的犯罪。&br&&br&&b&趣闻Three:&/b&&br&&br&&i&2011年,那是一个春天。&/i&&br&&br&&i&福岛核电站进水,据说爆炸的可能性不低,据说后果很严重。欧洲是唯一一个在日间交易时段的市场,成交量放大了10倍,波动率也是10倍。&/i&&br&&br&&br&&i&但同一时刻的日经225指数期权夜盘非常平静,-所有做市商都知道该关闭自动做市程序了,市场里没有任何报价,只有一些离合理价值十万八千里的零散order留在市场里。&/i&&br&&br&&br&&i&当时指数期货的价格大概8800点。在日本接近午夜的某个时刻,一个深度价外认沽权上出现了一个大买单,bid报9000,没有ask. 无论按照什么波动率参数,这个期权的价值也很难超过100块。而且日本交易所是没有无效价格规则的。&/i&&br&&br&&br&&i&这个报价还是一个iceberg单,在市场中前后存在了有两分钟左右才陆陆续续被成交完。我的desk在伦敦,通过远程登录到一台在悉尼的电脑,手动报单到日本,拿到了这个单子总和的差不多一半,价值300万美金。&/i&&br&&br&&br&&i&具体操作的那位这辈子最值钱的一次 双击-回车 操作的价值恐怕会永远留在这个数字。这对人来说是再简单不过的一件事情,对计算、决策和执行速度的要求都低到不能再低。但似乎全世界没有一个交易系统能完成这次抢单,因为没有系统的设计需求中包含处理这种情况的要求。投入回报完全不值得。&/i&&br&&br&最后再说一些看似和我结论站在同一边,但我完全不认同的说法:&br&交易是一门艺术,机器永远不能替代人。(故弄玄虚,毫无信息含量)&br&人的经验是机器无法取代的。(机器最擅长取代的就是经验)&br&计算机会出错,所以不应该一位追求自动化。(人的可靠性和机器比根本不值得一提,只不过因为操作逻辑也没那么明确,很难定义失误,容易蒙混过去而已)
这个问题非常值得思考。 首先回答问题本身:在很多做市类的东西里面,交易决策和交易执行已经自动化程度非常高了,程序完全取代人只是时间问题。 这里面最纯粹的例子是基于三角套利的外汇做市,差不多10年前就是纯自动化了,现在应该连写代码的都没有了,全…
&p&作为期货公司的从业人员,股票交易中的高频我不懂,股指期货的高频相对了解一些。我对zjh这一个多月以来的种种行动是极为反感的。个人认为这是开倒车,破坏市场机制,破坏市场信心的行为。&/p&&p&前面看了一下,有一位张叉叉是持支持zjh立场的,先试针对他提出的几点先做质疑:&/p&&p&1. “你知不知道被查的那几个账号的一日之内下单超过10个亿,其中99.8%的单子在几毫秒内被撤回了,再做空股指期货,这就是恶意操纵股价”&/p&&p&我想请问,一日之内下单超过10亿是指交易金额超过10亿还是报撤单次数超过10亿?如果是指交易金额超过10亿,究竟是股票账户上超过10亿还是期货账户上超过10亿?交易金额超过10亿的话那要看他的体量多大,期货账户上超过10亿其实根本不算什么,你这话说的根本没意义。&/p&&p&关于几毫秒撤回一说,以国内目前的期货交易水平,行情只有半秒一个tick,如果如你所说在几毫秒内就撤回的话也起不到影响价格的作用,因为根本没法看到,事实上期货高频报撤单主要还是探测市场深度的作用,并非恶意引导市场,而股票方面我是不知道几毫秒内撤回报单有什么意义。&/p&&p&2. “目前大多数量化交易的策略是基于动量的策略,在流动性及其匮乏的条件下(目前就是),会吸干股市的流动性,提高了股市的波动率,特点就是暴涨暴跌。看看SP500,很少出现5个点以上的涨跌幅,相比之下,上证?呵呵。”&/p&&p&照这个说法,真正的问题是出在“基于动量的策略”上了。这点就更加站不住脚。动量策略,追涨杀跌,古已有之,干量化交易何事?天天跌停那一阵,换你是基金经理你会不想着赶紧逃命?&/p&&p&市场之所以有序,是因为在一个公开公正的框架下有各种不同类型的交易者存在,有动量交易,有价值投资,有套利者,有啥也不懂的散户。照这么说,那还真就应该在下跌的时候把顺势卖股票的都给赶出市场了咯?只许大胆逆势操作的策略存在?&/p&&p&-----------------------------------------------------------------------------------------------------------------&/p&&p&接下来说说我自己的看法。&/p&&p&1. 高频交易者的具体策略思想我难以一一总结,但就我了解的信息而言,在股指期货上进行高频交易的一般都还是以套利思想为主,结合波动率的预测等统计手段进行,频繁报撤单主要是为了探测市场深度(因为半秒一个tick的行情不能完全揭示交易的实际情况),还有就是抢单不成要马上撤掉。高频交易者的资金容量都很小,一般最多也就1000万左右,很难说如何影响市场。频繁报撤单和大额报撤单是两个不同的异常交易情形,不应该混淆。&/p&&p&2. zjh把操纵市场归罪于高频交易、程序化交易,我不知道有何依据。毕竟硬生生把几万亿交易资金赶出市场的是zjh,而不是其他人。就算高频可以一天内来回交易1000次,用100万资金做出10亿的交易额,你也不能光看到他卖出了10亿的金额,也得看到他买入了10亿啊。高频在市场中不停的有买有卖,这操纵市场从何而来?&/p&&p&3. 程序化有很多不同的level,有最简单的将原有的主观交易法则固化而形成的程序化,有利用各种酷炫的模型对市场的特定参数作预测的程序化,也有高频这样利用市场微观结构进行套利的程序化。但不管哪种策略,我认为都很难有操纵市场的能力,尤其是中国A股这么大体量的市场。zjh对配资的一刀切已经让这个市场损失了好几万亿的市值了,希望之后不要再对程序化搞一刀切。&/p&&p&-------------------------------------------------------------------------------------------------------------------&/p&&p&最后我要大力吐槽一下zjh和交易所这样的规则制定者对于规则的漠视。&/p&&p&7月31日中国金融期货交易所出台了对股指期货交易的新的监管办法,其中规定一天之内报撤单数量达到400次的,认定是异常交易行为。&/p&&p&然后到礼拜一,有投资者在报撤单量还远没到规定的时候,就被关闭了交易权限。&/p&&p&这是怎样的一个信息?“我们是监管者,所以我们想干嘛就干嘛,我们看你不爽的时候不要拿监管规定来当挡箭牌”&/p&&p&这次流动性引发的股灾的根本是什么?是信心。&/p&&p&国家队真金白银的救市暂时把市场稳住了,希望zjh不要把投资者对于市场本身的信心给打没了。&/p&
作为期货公司的从业人员,股票交易中的高频我不懂,股指期货的高频相对了解一些。我对zjh这一个多月以来的种种行动是极为反感的。个人认为这是开倒车,破坏市场机制,破坏市场信心的行为。前面看了一下,有一位张叉叉是持支持zjh立场的,先试针对他提出的几…
国内,网易可下载,包括分笔数据。&br&&br&------------以下是更新()------------&br&为啥会有人说找不到呢?以工商银行为例的URL:&br&&br&日内实时盘口(JSON):&br&&a href=&///?target=http%3A//api.money.126.net/data/feed/CCCCmoney.api& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&api.money.126.net/data/&/span&&span class=&invisible&&feed/,0601398,money.api&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&历史成交数据(CSV):&br&&a href=&///?target=http%3A//quotes./service/chddata.html%3Fcode%3Dstart%3Dend%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./se&/span&&span class=&invisible&&rvice/chddata.html?code=0601398&start=&end=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&财务指标(CSV):&br&&a href=&///?target=http%3A//quotes./service/zycwzb_601398.html%3Ftype%3Dreport& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./se&/span&&span class=&invisible&&rvice/zycwzb_601398.html?type=report&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&资产负债表(CSV):&br&&a href=&///?target=http%3A//quotes./service/zcfzb_601398.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./se&/span&&span class=&invisible&&rvice/zcfzb_601398.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&利润表(CSV):&br&&a href=&///?target=http%3A//quotes./service/lrb_601398.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./se&/span&&span class=&invisible&&rvice/lrb_601398.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&现金流表(CSV):&br&&a href=&///?target=http%3A//quotes./service/xjllb_601398.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./se&/span&&span class=&invisible&&rvice/xjllb_601398.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&杜邦分析(HTML):&br&&a href=&///?target=http%3A//quotes./f10/dbfx_601398.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&quotes./f1&/span&&span class=&invisible&&0/dbfx_601398.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
国内,网易可下载,包括分笔数据。 ------------以下是更新()------------ 为啥会有人说找不到呢?以工商银行为例的URL: 日内实时盘口(JSON):
历史成交数据(CSV):
财务指标(CSV): …
&p& 作为两家量化交易巨头,收购可以说是抱团取暖,也可以说是无奈之举,但无论如何,VIRTU这波不亏的。&/p&&p& 因为现在不同于金融危机的时候,全球的波动大幅度减小,高频交易利润也出现了历史上最低的水平,导致不管是VIRTU还是KCG的营收缩水。&/p&&p&对于VIRTU来说,花14亿美金收了KCG,这波不亏,KCG 主要业务是给机构客户提供电子交易平台和为经济商户提供订单执行等,而VIRTU呢, 是全球几个规模最大的高频交易公司之一,给金融市场供应他们的产品,涉及商品、期权和股票、外汇等多个领域。收购了KCG,VIRTU 能够从经纪商那里获取销售“流量”,然后直接交易订单 , 在成本上节约了非常多。&/p&&p&不过也不仅仅是VIRTU,双方其实还算是双赢,收购当天KCG的股价为19.73美元,涨幅超过11%,创了历史新高;同时Virtu的股价也大幅上扬10%,达到16.45美元。 &/p&
作为两家量化交易巨头,收购可以说是抱团取暖,也可以说是无奈之举,但无论如何,VIRTU这波不亏的。 因为现在不同于金融危机的时候,全球的波动大幅度减小,高频交易利润也出现了历史上最低的水平,导致不管是VIRTU还是KCG的营收缩水。对于VIRTU来说,花14…
高频数据大多“罔不因势象形,各具情态”,其中就包括题主所提到的数据非等间距问题。我们为了克服这些irregularities,我们就要对数据重新表示(re-representation)。&br&&br&高频价格数据的非等间距问题是首当其冲要解决的。解决的办法一般就是resampling。&br&比如可以自己定义一个时间间隔(segment),重新抽样。这时候的抽样可以直接取用截点的数据(如图1),或者取每个间隔内数据的均值(如图2),根据你的具体情况而定。还有也可以使用线性插值法(linear interpolation)。&br&&img src=&/daacb5c0ac48cba1ec3fc2_b.png& data-rawwidth=&654& data-rawheight=&181& class=&origin_image zh-lightbox-thumb& width=&654& data-original=&/daacb5c0ac48cba1ec3fc2_r.png&&图1&br&&img src=&/03fcdc227bfc83f0acc39533_b.png& data-rawwidth=&660& data-rawheight=&183& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&/03fcdc227bfc83f0acc39533_r.png&&图2&br&&br&上面提到的方法还仅限于高频时间序列在时域(time domain)中的重新表示,但哪怕我们使用的是等间隔的高频收盘价数据,如果间隔做得比较小,数据的噪声仍然是不可避免的,这就涉及一个频域(frequency domain)的问题。那么对数据做去噪(de-noisying)或者平滑(smoothing)是一个很直接的做法。比如小波去噪(wavelet de-noising)后再做协整检验。或者更学术的做法是使用离散小波变换(DWT)把低频方差和高频方差分解开来,然后把低频和高频的&b&小波系数&/b&留下来,将其纳入到协整检验中来,成为一个专用于高频数据协整检验的算法。&br&&br&&br&其实,高频数据更有利用价值的还是order book。这类数据要是不去研究利用就太可惜了。与价格、成交量之类的time-series不同,order book这类sequence数据并不需要设置抽样点,而是直接把每个时间点上的数据当作一个事件,设定或者拟合一个针对这些事件序列(event sequences)的概率分布。比如著名的Rama Cont[注2]就把order arrival设定为服从泊松分布,每次order arrival都是独立的,order arrival rate则服从指数分布。&br&当然如果你有简化数据的需要,也可以提取关键数据点,只是这些关键数据点不需要是等间隔的。(如图3)&br&&img src=&/1fe7dede8e41707ca3dd_b.png& data-rawwidth=&661& data-rawheight=&179& class=&origin_image zh-lightbox-thumb& width=&661& data-original=&/1fe7dede8e41707ca3dd_r.png&&图3&br&&br&按照上述方法处理好高频数据后,将协整[注1]的配对股票构建一个contingent order,以两者的mid-price之差作为spread,触发交易信号的阈值也可以沿用你习惯的方法来计算。总之,在中低频统计套利中常用的entry-exit strategy都可以作为一个框架拿过来使用,无需赘言。&br&&br&但任何高频的交易环境下的问题都可以成为这个高频统计套利策略的问题,其中最突出的问题之一就是滑点。我听说有人做过测试,如果每次成交都增加一个tick的滑点,全年的收益就没了。&br&&br&那么这时候我们可不可以再研究研究order book的变化规律,特别是其中bid/ask的变化规律,摸索出一种计算在mid-price变动之前,配对股票的bid/ask上的orders得到执行的概率,然后根据这些概率判断刚刚触发的交易信号能否得到执行。这样也同时可以规避那些bid-ask价差过大的情况。&br&&br&我们知道order book的变化就来源于每个价位上的市价单、限价单和撤单指令的flow,每个flow都可以看作一个counting process。有很多实证研究表明,order arrival rate与之到bid/ask的距离有关。Rama Cont[注2]把每个价位上的未成交订单的数量的变化规律看作一个birth-death process,其中每一个event(包括市价单、限价单和撤单指令)都是独立泊松过程:&br&&br&&img src=&///equation?tex=X_%7Bt%2B1%7D%5Csim+x_%7Bt%7D%2BD%5Cleft%28+x_%7Bt%7D%5Ctheta+%28p%29%2B%5Cmu+1_%7Bp%3Dp_%7Ba%7D%7C%7Cp%3Dp_%7Bb%7D+%7D+%5Cright%29_%7Bt%2B1%7D%2BB%28%5Clambda+%28p%29%29_%7Bt%2B1%7D++& alt=&X_{t+1}\sim x_{t}+D\left( x_{t}\theta (p)+\mu 1_{p=p_{a}||p=p_{b} } \right)_{t+1}+B(\lambda (p))_{t+1}
& eeimg=&1&&&br&&br&其中D(·)为death process,xt*θ(p)代表order cancellation rate,u代表market order arrival rate,B(·)为birth process,λ(p)代表limit order arrival rate,p代表对应的价格。为了建模的简便,我们假设每一个未成交订单被取消的概率都是相等的,也是独立的。&br&&br&然后就可以用Monte Carlo模拟出在mid-price变动之前,配对股票的bid/ask上的orders得到执行的概率。与此同时,因为这个birth-death process是可以有解析解的,所以Rama Cont用拉普拉斯变换求逆推导出这个概率。推导过程比较复杂,就不写出来了。做个回测,两种方法得到的结果相近(详见[注2])&br&&img src=&/3b2e7062adb68f61f1e24_b.png& data-rawwidth=&735& data-rawheight=&225& class=&origin_image zh-lightbox-thumb& width=&735& data-original=&/3b2e7062adb68f61f1e24_r.png&&(数值模拟得到的结果)&br&&img src=&/0e3c4e8e181bf479d9df7a_b.png& data-rawwidth=&356& data-rawheight=&226& class=&content_image& width=&356&&(拉普拉斯变换得到的结果)&br&&br&分别对你的配对股票求取这个概率。当概率高于你预设的阈值时,这次交易可以认定为在mid-price变动之前,bid/ask order可以得到执行,故以限价单分别以bid/ask价位执行建仓。平仓同理。&br&&br&Rama Cont的模型见仁见智。有的人认为太复杂,也有的人觉得太粗糙。譬如Rama Cont把order arrival看作泊松过程,order duration服从指数分布。但泊松过程太粗糙了,随便拿出一个log化的概率分布根本不成线性的,而且如果对log(duration)做一个自相关系数图,你会发现是拖尾的,也就是个AR过程。另外,等概率的马尔科夫链的假设也很粗糙,与现实的拟合不足,模拟出的概率可信度不足。而且为了追求有解析解而搞这么复杂的数学推导又显得有点没必要,毕竟Monte Carlo模拟在这里也不难实现。&br&&br&其实沿着Rama Cont的思路,你完全可以将模型简化成一个在技术上没有难度的线性模型,最多加一个时变特征。比如你掌握着order book的当前状态&img src=&///equation?tex=%5Cmathbf+%7BX%7D_%7Bt%7D& alt=&\mathbf {X}_{t}& eeimg=&1&&,并且知道下一状态&img src=&///equation?tex=%5Cmathbf+%7BX%7D_%7Bt%2B1%7D& alt=&\mathbf {X}_{t+1}& eeimg=&1&&有固定且有限种可能,那么&img src=&///equation?tex=%5Cmathbf+%7BX%7D_%7Bt%2B1%7D& alt=&\mathbf {X}_{t+1}& eeimg=&1&&仅取决于哪一种order会先到。所以直接对order arrival rate建模,也就是λ(·),比如像这样一个加入时变特征的线性模型:&img src=&///equation?tex=%5Clambda+_%7Bt%7D%28p%29+%3D+%7B%5Crm+exp%7D%5Cleft%28+%5Cbeta+%5E%7BT%7D+%5Cmathbf+%7Bx%7D_%7Bt%7D+%5Cright%29+& alt=&\lambda _{t}(p) = {\rm exp}\left( \beta ^{T} \mathbf {x}_{t} \right) & eeimg=&1&&,分别按照limit/market/cancel、buy/sell、每个quote的价格到当前bid/ask的距离建模。然后计算λ(·)就变成一个工程问题了,无论是怎样做特征工程,还是选择怎样的回归算法。因子可以有arrival rate的滞后项,波动率因子如VIX指数,动量因子如过去若干的tick/second的涨幅,还可以有微观结构因子如bid-ask imbalance,如此等等。回归算法可以先选择线性回归,主要就看Lp regularization的设置了。&br&&br&&br&最后总结一下吧:&br&1)拿高频数据做协整,肯定要先做预处理,主要思路就是本文前半部分所说。但这不是难点;&br&2)难点之一还在于构建统计套利的协整组合,无论是把小波系数纳入协整检验,还是用合适的生成模型或者manifold做个映射什么的,总之要做好你的仿射变换,这就要考察你对策略的理解和设计了;&br&3)对统计套利这种交易时机敏感型的策略,高频环境下指令的执行就是难点之二。解决这个问题可以有非常多的算法和技术,比如很多人着急他们的机器学习怎么用在交易上,这不就是个好去处嘛。Rama Cont的模型只做个参考就好。但不妨可以把Rama Cont的模型作为一个发凡起例的入门思路,多发掘order book里面新的stylized facts。借助你对市场的观察,开发你的交易执行模块,才是坠吼的。&br&&br&----------------------------&br&&br&注1:我这里所指的“协整”,不一定是时间序列教材里看到的若干种协整检验。在统计套利的语境下,协整有着更严格的内含和更丰富的外延。总之,你可以根据你对模型和数据的探索,做出某种仿射变换,构建你的协整组合。具体可参考 &a href=&/question//answer/& class=&internal&&统计套利中的「协整」是什么意思? - 郭小贤的回答&/a&&br&&br&注2:来自于 Cont, Stoikov and Talreja, A stochastic model for order book dynamics
高频数据大多“罔不因势象形,各具情态”,其中就包括题主所提到的数据非等间距问题。我们为了克服这些irregularities,我们就要对数据重新表示(re-representation)。 高频价格数据的非等间距问题是首当其冲要解决的。解决的办法一般就是resampling。 比…
泻药。&br&&br&自动化交易可以,高频交易A股暂时不行,因为是T+1的市场。(补充:A股中相对高频的交易是可以做的,因为“相对”嘛。但是有的人说那就是高频交易,我只好尊重他们的意见了,毕竟我不是业内人士)。&br&&br&A股的自动化交易平台数量很少,大体分为两类:&br&1. 传统券商提供的行情、下单API&br&据我所知如华宝证券,支持个人量化API的互联网接入。意思就是他们给你提供一套SDK,你写你的策略,直接连上去他们的服务器就可以交易了。这一类的并不多,另一个是华西证券,但是我不确定他们是否支持个人的量化接口。&br&&br&2. 新兴的在线量化交易平台&br&这一类平台在去年年底到今年逐渐兴起,但是还没有看到可以支持实盘交易的产品。我重点罗列一下这一类产品,因为相比传统的平台来说,它们更加适合个人使用。&br&&br&国内起步比较早的有通联数据旗下的优矿平台&a href=&///?target=http%3A//uqer.io& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&优矿 - 通联量化实验室&i class=&icon-external&&&/i&&/a&。顾名思义,他们的强项在于数据,关于数据的API也非常丰富。当然部分得益于Python的科学计算工具栈(NumPy, SciPy, Pandas, StatsModel等),以及令人瞠目的&a href=&///?target=http%3A//ipython.org/notebook.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The IPython Notebook&i class=&icon-external&&&/i&&/a&。另外他们也举办过一次模拟交易比赛,在高校中也有一定的知名度。( 补充:优矿开通了分钟线回测和每日数据的仿真交易,并且正在举办仿真交易联赛,还有不少奖金,学生党可以去玩玩)。&br&&br&另一家平台是今年上半年刚出现的创业公司米筐量化平台&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RiceQuant - Beta&i class=&icon-external&&&/i&&/a&。他们的API是用Java设计的,对于个人来说Java的入门门槛比Python要略高一点。当然如果你用惯了Java,应该也很容易上手的。他们的策略界面几乎是完全照搬了&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Quantopian&i class=&icon-external&&&/i&&/a&(来自美国的首个在线量化交易平台,起步于2012年,是这一类公司的模仿对象),如果你曾经用过quantopian,应该会很熟悉。他们的好处是给出的参数比较多,比如风险指标的Grid,每一笔成交及持仓细节。另一个好处是,如果未来他们做了高频交易,Java语言的天然优势就立即显现出来了。缺点是Java语言中没有Python的科学计算工具栈,不过看招人广告他们好像已经在做Python的接口了。( 补充:已经支持了Python的接口,体验速度略慢于Java,毕竟是Python嘛。并且Research平台已经向公众开放了)&br&&br&还有两个平台:Keystone(&a href=&///?target=http%3A//%3A8080/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&KeyStone technology&i class=&icon-external&&&/i&&/a&)和知象科技(&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&知象科技&i class=&icon-external&&&/i&&/a&)。他们正处在刚融到钱正在招兵买马(或者已经有了demo,如Keystone)的阶段,值得关注。尤其是知象科技,创始人的背景实在是牛逼,当然缺点是现在还没有成型的产品。&br&&br&另有一个平台必须提一下的是掘金量化(&a href=&///?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&)。虽然他们似乎还没有正式推出A股交易,但肯定是在开发中了。他们的好处是支持多种语言,不太清楚他们是否支持个人使用,不如让我们请 &a data-hash=&404c027be4c8fdb2dd6fad5f13d53f35& href=&///people/404c027be4c8fdb2dd6fad5f13d53f35& class=&member_mention& data-editable=&true& data-title=&@李波文& data-hovercard=&p$b$404c027be4c8fdb2dd6fad5f13d53f35&&@李波文&/a& 来补充一下吧 ;) ( 补充:李波文已经补充过了,他们的确支持A股交易,但是因为政策门槛高暂时个人还比较难上手。不过提供研究功能大家都可以用,不过不是类Quantopian的平台,需要下载客户端和SDK。希望没理解错)&br&&br&补充:忽然出现了另一个类似平台JoinQuant(&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&聚宽,人人皆为宽客&i class=&icon-external&&&/i&&/a&),中文名叫聚宽。它们和Quantopian长的不能说非常相似了,简直完全一样……不过他们平台有目前唯一能用的分钟回测(优矿虽然也有,然而实在是等不起……)。只是其他功能还没有出现,毕竟刚放出不久,值得关注一下。似乎创始人也在玩知乎
&a data-hash=&edfff0c9bfcfb0aa6dd3540& href=&///people/edfff0c9bfcfb0aa6dd3540& class=&member_mention& data-hovercard=&p$b$edfff0c9bfcfb0aa6dd3540&&@高斯蒙&/a&
泻药。 自动化交易可以,高频交易A股暂时不行,因为是T+1的市场。(补充:A股中相对高频的交易是可以做的,因为“相对”嘛。但是有的人说那就是高频交易,我只好尊重他们的意见了,毕竟我不是业内人士)。 A股的自动化交易平台数量很少,大体分为两…
Virtu是一家高频做市商。他们的主要策略是为各大机构提供流通性并赚取买卖价差。这种公司很多,骑士资本、Getco, GSA, Lucid Markets都是其中佼佼者。这些机构都有一个共同特点,就是几千天里面只有一两天亏钱。其中秘密说简单也简单说难也难。&br&&br&简单来说,这类自营交易或者基金其实并未参与投资。他们的社会作用主要是为买家、卖家提供买入、卖出的机会。在他们出现之前,买家和卖家在市场里都需要等待对方的出现才能完成交易。而他们的作用就是能让买卖双方都能在另一方缺席的情况下完成自己的交易。从这个意义上来说这类公司是在为市场提供一种服务,而其赚取的买卖价差就是其服务的酬劳。这就好像做餐馆的,如果不算房租水电人工,肯定大多数时间都赚钱。&br&&br&但高频做市商并不是一个简单的生意。正如刚所说,餐馆要不算水电房租人工才能天天赚钱,而高频做市商的所谓“天天都赚”其实也是这个道理。高频交易的固定花销很大,比如Getco的外汇部门,在和骑士合并前他们一天能赚10万到15万美金,但他们一年的机房、数据、员工工资等固定开销加在一起就有三千多万,所以年底常常是收支持平。更别说高频交易的运营风险巨大,稍一不小心就出现巨额亏损。最著名的就是骑士资本因为一个很简单的由于部门间沟通不足引起的失误导致其在不到一小时亏损4.5亿美元。此事发生时我已离开骑士资本,但每次想起,总有如履薄冰之感,而在现在的工作里更是千查万细,不敢有一丝怠慢。&br&&br&总的来说,自动交易的种类很多,人们常常不加区分就相互比较,如同梨子比苹果一般可笑。而别有用心者往往也利用人们的不了解来造成很多听上去乍舌的效果,比如几千天不亏损、比如夏普率二三十等等。其实在了解了本质之后这些神秘的机构都没有那么神秘。这个世界上没有捷径、勤奋踏实,好学上进才是我们成功的法宝。&br&&br&&a href=&/zhi/people/590592& class=&internal&&来值乎问我问题&/a&
Virtu是一家高频做市商。他们的主要策略是为各大机构提供流通性并赚取买卖价差。这种公司很多,骑士资本、Getco, GSA, Lucid Markets都是其中佼佼者。这些机构都有一个共同特点,就是几千天里面只有一两天亏钱。其中秘密说简单也简单说难也难。 简单来说,…
占个坑。&br&&br&入行时间不长。公司开了很多年了,创始人是个老爷子,70年代开始在芝加哥做交易员的,先在美国开公司,后来思乡心切回老家以色列开了我们现在的分公司。&br&&br&从趋势类cta到外汇到股票,公司折腾了不少。AUM一直在一个到几个billion徘徊。整体还是个对冲基金吧,并非是个纯高频的公司。&br&&br&说出来也惭愧,毕竟和众多华尔街传奇同时间出道的,人家成了传奇我们却默默无名。&br&&br&但我们猥琐的混了这么多年也没倒闭,也不算炮灰,假如桥水城堡是大炮,我们就算个歪把子机枪吧,多少能赚点钱养家糊口。。。&br&&br&老爷子偶尔跟我们讲讲他三四十年前拿技术分析走天下的故事,让一直认为技术分析是神棍的我有了另一番认识。&br&&br&公司里人都挺nice, 现在的掌门是个程序员,也50几岁了,所以公司里不少科技行业转过来的。研究部门的老大做金融前做了十年的传感器算法,但由于公司人员平均年龄偏大,从硅谷出来的其实不多。&br&&br&公司混了这么多年,多少有点积累,就干了高频自营。团队里哈佛,普林的数学博士还是有的,但是这几位大哥从来都不说话,不知道他们在搞什么。&br&&br&技术部门的人都是geek, 负责基础设施的老大最喜欢玩螺丝刀,拿螺丝刀当飞镖扔的很准,他也不怎么会写程序,但是调服务器神马的是一把好手。&br&&br&研究总监人特别nice, 进公司第一天就说有什么问题只管问,随时问,stupid 问题也不要紧。然而我到现在为止都不知道问他啥好。。。&br&&br&公司工作时间不长,每天下午到点准时被领导说 you should go home now. 想加班都没地方加班,一直担心哪天会不会被开了。。。。。&br&&br&由于以色列周五周六是休息日,周日上班又很多时候不交易,他们就在网上讨论吃啥喝啥,也不管策略了,就让机器自己运行,周一我在中国上班发现周日他们一直在讨论中国妹子和中东妹子哪个更好看。。。。&br&&br&公司的curve还是可以的,高中低频都有,乌七八糟全算下来一年30%几吧,高频肯定比这个高,但是量做不大。&br&&br&覆盖的市场哪里都有吧,最近中国不好,领导又对印度市场有了兴趣,不知道能鼓捣出来啥名堂。&br&&br&系统都是C#写的,据说原型是现掌门人十年前从小黑屋里撸出来的,我也不懂低延迟是咋解决的,以后慢慢体会吧。&br&&br&之前在内资私募干过,单单对比一下基础设施就明白了内资和外资的差距,我们这里集群有一千个cpu, Hadoop和spark什么的也都有。&br&&br&由于技术人员的鼎力支持,给matlab和python开发了大量的api, 所以刚来的数学大牛,教一下就能很轻松的上手并行计算等等基础设施。&br&&br&底层的解释器和编译器公司也进行了重新开发。所以用matlab也能很轻松的开发并很快速的回测策略。我相信大多数国内私募都没有这样的技术环境,或许不是能力不行,但是没有时间去开发也没钱去维护这些基础设施。&br&&br&至于哈佛普林剑桥毕业的员工,国内也不少了,就不做比较了吧。&br&&br&以色列和美国的办公条件好到令人发指,所有人都有独立办公室,吃吃喝喝都免费不说。公司还给每个员工一张周围餐厅随便吃的卡。以色列那边从公司走五分钟就有地中海白色沙滩,窗外也能看见蔚蓝的地中海。&br&&br&好多员工早上先去地中海游个泳,晃晃悠悠十点上班,牛奶面包咖啡早餐后干干活,一两点再拿着公司的卡出去胡吃海塞,晚上再胡吃海喝一通,有的再去沙滩喝两杯游个泳然后回家。&br&&br&我们在上海的办公环境虽说也是文艺小清新外加人体工程学座椅,但没法和蔚蓝地中海海边比啊呜呜呜。。。。。&br&&br&美国那边我交流不多,以色列办公室在以色列西部,离前线很远,所以加沙那边怎么打这边人不怎么关心。每次打仗的时候都是波动率很大的时候,靠波动率吃饭的策略打仗的时候都很赚钱。。。所以出现冲突的时候大家都很亢奋,一边开着机器赚钱一边看以色列节节胜利。。。老板有时候还开玩笑说仗应该多打几天,这样多赚点钱多交点税给政府下次可以接着打。。。。&br&&br&世界上多数对冲基金的老板都是犹太人,所以每次以色列卷入冲突我估么着都给吃波动饭的犹太老板们送了不少钱,然后回以色列捐坦克飞机,难怪以色列越来越猛。。。。。
占个坑。 入行时间不长。公司开了很多年了,创始人是个老爷子,70年代开始在芝加哥做交易员的,先在美国开公司,后来思乡心切回老家以色列开了我们现在的分公司。 从趋势类cta到外汇到股票,公司折腾了不少。AUM一直在一个到几个billion徘徊。整体还是个对…
作为一个从业者,我觉得,这本书特别“真实”。&br&&br&我的意思是说,整本书弥漫着的,那种上个时代手动操盘挂单的基金经理们,在电脑时代的冲击下,对于数字化的东西完全摸不到头绪的那种绝望感和由此而来的抵触情绪,跟我在业界内观察的完全一致。&br&&br&书里面特别生动地描写了一个人眼盯着屏幕上说有个价格,鼠标点过去结果成交价和那个不一样,然后破口大骂。这情形我见过很多次了。一个从来没有学过任何计算机知识的人,完全无法想像他手里点一下鼠标到成交价格回显到屏幕上,这个过程里都发生了什么事情,他永远不会想到这个过程是由千千万万次的计算组成的。这是一种特别富有“无知者无畏”气味的场景。而且注意我说的不是别人,恰恰是在操作高频系统的交易员,就算是这种直接利益相关的从业者也很难理解这种业务。那种特别想显示自己的力量(跟电脑比速度)和对局面的把控但完全失控的无力感,其实挺可悲的。&br&&br&跟这种文学描写功底相对应的,是书里的技术性错误实在是不忍卒读。举个例子,书里面重点描写/批判的一个例子,说一个人想买1000手股票,指令发过去就被HFT的flash order发现,然后HFT就能预测到有个大单来了,这个逻辑简直像神话一样美好。首先这么大的交易量,任何脑不残的trader都不会一次下掉所有单的。大规模买卖股票大家都会把单拆开,一点一点的执行的,为了减少market impact。你要是那么实在一个大单直接挂上,就算没有HFT一样被人草割啊。而如果你说你看到一个小单过来hit了你的flash order,然后你就预测了这后面跟着好大一单然后赶紧囤货,我只能说,祝你好运。。。&br&&br&这种春秋笔法当娱乐看看也就算了,千万别当真。事实上,一个HFT的竞争对手一定是另一个HFT。他所说的这种flash order当诱饵的情况的确有,但不是为了对付低频的机构者的进攻性武器,而是作为一种防守道具来使用。比如说现在市场上的最佳买入价100,后面在99,98,97的位置上各有若干单,你可能在97上挂了2000单,在98上挂1单作为flash order。注意这里97上的那2000单你不一定是真想买,可能只是为了提高流动性挂的,那么当你发现98上的那1单被成交了,接下来很可能97的这2000单也要成交,而这显然不是你希望的,所以你拿到98那单的成交确认就要赶快撤单(当然这里的2000单流动性是虚的,但这就是另一个问题了)。注意这里flash order只是用来防止自己不受到意外的伤害,即使它实际上可能造成了对方因为这2000虚单而交易了差一点的价格,但那笔交易的对手盘也已经不是flash order所属的HFT了,这一点不搞清楚就开喷绝对是耍流氓。&br&&br&HFT赚的只是价格浮动的那一分两分钱,或者是因为提供了流动性(即使是虚的)而获得的酬金,没有人有能力跟低频大单对赌,大家也没这个兴趣。因为你要这么干,就意味着超长的持仓时间和复杂的分析预测技术,这都是直接和HFT那种拼速度模式背道而驰的。拿HFT和低频机构来对比,就好像比较百米短跑和马拉松运动员谁的速度更快一样,完全没有意义。&br&&br&这本书基本上立场是站在那些跟不上时代的手动交易员一方的,我觉得这些人的确挺值得同情的,属于被产业革命端了饭碗的一批人,这就好比汽车时代来临的时候那些马车主们一样。但是大家都知道顺势而为,科技发展的大趋势不是人的意志可以阻止的,历史上类似的情况太多了。&br&&br&这本书我觉得最大的价值是做一个备忘录,过上几十年整个交易行业更新换代后可以拿出来看一看,还是能帮助大家回想起曾经有那么段时间有一批因为产业革命而失业的基金经理和trader们还是发出过悲鸣的。
作为一个从业者,我觉得,这本书特别“真实”。 我的意思是说,整本书弥漫着的,那种上个时代手动操盘挂单的基金经理们,在电脑时代的冲击下,对于数字化的东西完全摸不到头绪的那种绝望感和由此而来的抵触情绪,跟我在业界内观察的完全一致。 书里面特别生…
谢邀。&br&&br&(更新)&br&&br&Quant有很多分支,不知道题主主攻哪一块?根据本屌浅薄的经验给题主稍微说一下吧。&br&&br&衍生品定价:MATLAB,C++。&br&这里说的定价包括场外期权设计和定价,本屌目前所处的小组负责这个事情,用的是MATLAB和C++。MATLAB做定价的优势在于,蒙特卡罗模拟搞起来比较省心。&br&&br&交易策略开发:MATLAB、PYTHON。&br&之前做过的量化相关的实习,其实都不限定用什么工具,不过交易策略开发的话MATLAB和Python用得比较多(根据我的观察)。原因可能是由于MATLAB处理矩阵的能力和Python做回测的方便性较好。&br&&br&风控:MATLAB、R&br&风控的实习本屌也做过(不好意思本屌做的有点杂……),风控用的是R语言。估计是由于工作量太大(风控IT框架的搭建),R的包比较多,办起事来快捷又方便。&br&(有没有发现三个方向都有MATLAB?对的,本屌是个MATLAB控……)&br&&br&高频交易:Linux、C++&br&高频没做过,不熟悉。不过曾经接触过做高频的朋友,用的是C++,同时需要Linux系统开发的能力(别问我为什么,我也不懂)。&br&&br&数学:&br&关于数学在量化中的地位的讨论已经很多,很多人都说实际上好像用不着太高深的数学。其实嘛,数学就是内功(气宗),编程这个东西就是外功(剑宗)。在量化领域,没有气宗却能把剑宗玩得出神入化的人,我暂时没有见过。&br&举例:本屌目前在搞一个课题,是波动率曲面相关的。在构造波动率曲面的过程中有很多关于随机过程的东西,因此本屌最近一直在处于恶补随机微积分的知识的阶段中…………&br&&br&其实工具只是工具啦,关键在于,解决问题的能力。实务问题千差万别,举个例子吧,假如最近公司准备发一只挂钩白银的产品(可理解为要设计一款场外的奇异期权),作为研究员,你要想:从行情走势来看,发什么产品比较好卖?(市场需求),资金成本如何?规模多大?预期盈利?怎么对冲?对冲的难度?……这些都是要考虑的。&br&&br&手机码字不易,看完的话请给个赞满足一下本屌的虚荣心。&br&&br&以上。
谢邀。 (更新) Quant有很多分支,不知道题主主攻哪一块?根据本屌浅薄的经验给题主稍微说一下吧。 衍生品定价:MATLAB,C++。 这里说的定价包括场外期权设计和定价,本屌目前所处的小组负责这个事情,用的是MATLAB和C++。MATLAB做定价的优势在于…
谢邀。&br&热度差不多过了,可以写点留存的东西了。首先推荐 &a data-hash=&223c3fc09ac95aa& href=&///people/223c3fc09ac95aa& class=&member_mention& data-editable=&true& data-title=&@董可人& data-tip=&p$b$223c3fc09ac95aa& data-hovercard=&p$b$223c3fc09ac95aa&&@董可人&/a& 董大 和 &a data-hash=&63cdb218db32b51e1ee4da& href=&///people/63cdb218db32b51e1ee4da& class=&member_mention& data-editable=&true& data-title=&@腾天& data-tip=&p$b$63cdb218db32b51e1ee4da& data-hovercard=&p$b$63cdb218db32b51e1ee4da&&@腾天&/a& 梅大的答案。&br&&a href=&/question//answer/& class=&internal&&高频交易犯法吗? - 董可人的回答&/a&&br&&a href=&/question//answer/& class=&internal&&如何评价 “上海破获特大操纵期货市场犯罪案 非法获利20亿”的新闻? - 腾天的回答&/a&&br&&br&我自己的几点看法如下。&br&1. Georgy Zarya是一个prime brokerage的头,不是什么大鳄,他很可能只是前台代开户的,而不是策略所有人和主要获利人。&br&2. 在中国spoofing是很难的。spoofing的要点是使用小成本传播错误的诱导信息。中金所切片是500毫秒,而不是委托单流驱动,这就意味着你必须非常精准的在人们看到行情之后,但在下单之前把自己spoofing的单撤掉,否则自己的诱骗单都成交了也就算不上诱骗了。&br&3. 自成交肯定是违规,而且在任何市场包括成熟市场大量的自成交都是很有嫌疑的,这没有问题。但由于中国行情没有market trade信息,last price意义有限。使用上一tick volume-weighted trade price的人很少,自成交即使能误导那些少量的电子交易者,好处也有限。&br&4. 6月26日IC1507行情中单tick有超过10%,大概3000多次是没有交易的,卖开成交量有1200次在该秒中排第一实在不能说明什么。&br&5. 国内的报道首先专业性不高,很多东西说不到点,也说得不清楚。另一点是报道会省略一些对我国形象不利的消息。我们最多只能假定报道没主动说假话。事实上,报道中暗示的sponsored access,也就是自己写柜台用期货公司的会员席位太普遍了,合法的经过报备过的,不合法的伪装成已报备的比如CTP和飞马,都有。这些本身并不算多大优势,也不可能光因为这个达到几百倍的收益率。我听到的他们的做法比这个严重得多,而且这个做法真正算得上不公平和作弊,想象空间极大,完全有可能实现几百倍的收益率。不过因为牵扯过大,这篇报道里面没有提及。这是我认为的最有可能的解释,但同时也是没法明说和得到验证的。如果这是真的,那么这样的作弊是绝对需要严打的。&br&&br&最后,大众对真相都没有特别多的兴趣。高频会被继续妖魔化。
谢邀。 热度差不多过了,可以写点留存的东西了。首先推荐
梅大的答案。
我自己的几点看法如下。 1. Georgy Zarya…
谢邀。&br&别以为那些亏好几万的人真的没有感觉。&br&交易中任何一个负面反馈积少成多都会变成一种伤害,这种伤害是心理和生理上都会存在的。&br&&br&如果感受到了伤害,就停下来,慢一点,做些别的事情去拓展一下思路。而不是“硬抗”。我就是硬抗的受害者,有时候大亏也会假装跟没事儿人似的,其实这种事情发生几次,累积下来是很折寿的。&br&&br&真正能够提高心理承受能力的,是让你的交易策略、你的每一次操作都完成在你的预期之内。这和你亏多亏少并没有太多的关系,有些人亏了一百就疯了,可能并不是他的本金承受不了,只是这个亏损超过了他的亏损预期而已。有些人亏个几万也还能交易,也许因为这是他进场前就预想到的回撤幅度,是他的策略决定的。(当然了,此处排除各种缺心眼儿的神经病)&br&&br&尽量让你的亏损,在你的预期内,挣钱,也在你的预期内。这样才能有一个良性循环,交易的信心是在这种保护机制的良心循环下建立的。&br&&br&至于那些超出预期之外的情况,我的方法是:气急败坏的去GTA里屠城抢车烧人砍人,然后流着泪复盘找错误找问题。
谢邀。 别以为那些亏好几万的人真的没有感觉。 交易中任何一个负面反馈积少成多都会变成一种伤害,这种伤害是心理和生理上都会存在的。 如果感受到了伤害,就停下来,慢一点,做些别的事情去拓展一下思路。而不是“硬抗”。我就是硬抗的受害者,有时候大亏…
&p&这个问题肯定是见仁见智的,没有什么定论。我这里给出两个分享和讨论,一个是自己的一点思考,另一个是MATLAB技术论坛会员fosu_cdm(论坛ID)陈道民(Chandeman)以前就我的这几个问题发过的一个文章。两个分享供大家参考,见仁见智,没有定论,欢迎斧正、讨论、交流。大家互相学习。&br&&/p&&p&&b&1.
&/b&&b&参数优化、过拟合问题刍议(&/b&&b&by&/b&&b&李洋&/b&&b&faruto&/b&&b&)&/b&&/p&&p&在量化投资中,定量投资模型的设计好坏无疑是成功的关键,单纯从数学角度来看,一个交易系统(交易模型)仅仅是一个从行情序列到资金曲线的映射:&/p&&p&f(ts, para) = E&/p&&p&其中f是一个交易系统,ts是某一个投资标的(股票、期货、期权、外汇等等)的行情时间序列,para是交易系统的参数组,E是资金曲线。&/p&&p&任何一个模型几乎都会有参数(包括所谓的自适应模型)。&/p&&p&有参数的话,那么就会碰到参数寻优、过拟合等问题。&/p&&p&参数优化基于历史数据进行的策略优化。而历史并不能完全重演。历史中表现优秀的参数,在未来交易中未必会表现很好。&/p&&p&先来看下几种常见的参数优化的方法:&/p&&p&&b&(&/b&&b&1&/b&&b&)&/b&&b&In
Sample-Out Sample &/b&&b&法&/b&&/p&&p&分割回测分析区间,将In Sample 区间的优化参数应用于Out Sample区间,分析收益、风险是否稳定的回测分析法。具体形式见下图:&/p&&img src=&/f4815a90dcbb5dccae78cfcd1b247d1f_b.jpg& data-rawwidth=&578& data-rawheight=&249& class=&origin_image zh-lightbox-thumb& width=&578& data-original=&/f4815a90dcbb5dccae78cfcd1b247d1f_r.jpg&&&br&&p&这种来源于数据挖掘中的方法,看起来很美,但在量化投资中应用会碰到一堆的实际问题:In Sample和Out Sample样本大小的确定,合理有效地确定,针对不同的模型,日内、隔夜模型;长、中、段线模型。&/p&&p&&b&(&/b&&b&2&/b&&b&)&/b&&b&Forward
Test &/b&&b&前进分析法&/b&&b&Walk
Forward Analysis (WFA)&/b&&/p&&p&具体形式见下图:&/p&&img src=&/961cb23c5ab061ebbaf8eac7d5c485e5_b.jpg& data-rawwidth=&594& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&594& data-original=&/961cb23c5ab061ebbaf8eac7d5c485e5_r.jpg&&&br&&p&WFA与DataMining中的CV过程本质是一样,但DM中CV方法很有效,可以在一定程度上避免over fitting问题,但是DM中的数据形式算是比较固定化的,CV折数的确定也可以进行可列的尝试。&/p&&p&但在量化中,情形却大不通,策略类型的多样化(主要是长、中、短周期的不通导致不通模型的平仓持仓周期不通),那么问题就来了,在使用WFA的过程中,无法有效的给出针对不同类型的模型的一个合理的滑动窗口的确定方案,所以WFA仅仅是看上去很美。&/p&&p&到具体测试环节,以前针对一些常见的模型(ORB,均线等等),我系统性的详细做过一些WFA的测试,结果也不尽人意,由于金融市场中的行情都是人交易出来的,所以量化交易系统要比DM中的模型复杂很多,参数的分布区域也是随时间变化的一个函数,WFA并不能非常有效的避免过拟合 和
选出合理参数区间。&/p&&p&anyway,WFA作为参数鲁棒性的辅助测试方法工具还是可以使用。&/p&&p&在最后交易层面,在最终确定实际交易参数(组)时,可能可能好多团队或Quant会选择那些所谓的“参数平原”,来避免“参数孤岛”。比如下面的参数分布的某些区域。&/p&&img src=&/08d68ea177ef16fff9e6_b.jpg& data-rawwidth=&712& data-rawheight=&376& class=&origin_image zh-lightbox-thumb& width=&712& data-original=&/08d68ea177ef16fff9e6_r.jpg&&&p&但实际上这种方式也是有指的商榷和思考的地方,我做过相关测试,如果把时间参数看出自变量,把参数的稳定区域看出因变量,你会发现:不同模型的参数稳定区域会随着时间的变化发生迁移,即那些我们曾笃信的参数稳定区域会随着市场节奏和市场参与主体的变化而变化,那些在过往测试中稳定的区域,未来也非常有可能变得极其不稳定。&/p&&p&或者换句话说,如果你的目标函数不是个稳态函数,你找到的参数分布区域也不一定是稳态的,那么什么样的目标函数是稳态函数呢?理论层面可以根据泛函分析进行相关的分析和验证,但在实战层面这个没有定论,哪怕是看起来很好的sharpe ratio指标。&/p&&img src=&/4fa1aec6f3789d11bba6fe1c91465d39_b.jpg& data-rawwidth=&319& data-rawheight=&297& class=&content_image& width=&319&&&p&那么到最后在实战层面,参数的选择有可行且有效的解决方案吗?这个我也仍然在思考,我当下能给大家分享的解决方案是:&/p&&b&&u&参数分散化、在盘子足够大的情况下尽量将参数打散,不要单纯笃信那些所谓的历史参数稳定区域。&/u&&/b&&p&&b&2.
&/b&&b&关于参数优化的一些肤浅认识(&/b&&b&by&/b&&b&陈道民&/b&&b&Chandeman&/b&&b&)&/b&&/p&&p&难得周末,DOTA打得多也厌烦,还是写点什么吧,免得大学浪费掉了。&br&最近李洋兄(@faruto)又发起了一次关于参数优化的相关问题的探讨,我也来凑合凑合吧。&/p&&p&一,关于参数问题&/p&&p&参数问题可以描述为:f(M,S,P)=Output ,即对于M(或者是品种及品种组合),使用S交易策略(或组合),采用P参数(或组合),得到output输出(包括收益、胜率、盈利因子等等)。由于M是历史数据,S是你所使用的交易策略,那么在给定的M和S下,output就依赖于P的输入。&/p&&p&在此基础上,那么过度拟合就表现为,&/p&&p&f(Mi,S,P)=f(Mj,S,P)+e
,即在给定的策略S和最优化参数P下,不同的M(对于同一个市场或同一个品种,Mi 和Mj 我们也可以理解为训练集合测试集。 )有不同的output,并且其误差 e 趋于正无穷或超过我们可接受的范围。&br&二,关于模式问题&br&讨论参数优化问题,其实可以在一定程度上理解为希望在给定的S和P下,在不同的M下测试得到的output具有一致性,即把M给常数化。我们的解决方法是把M给抽象掉,引进模式识别,从而跳出M的视野,找到不同M的共性,然后从pattern的角度来考量参数优化的问题,即f(S,P;pattern(i))=output
。这样一个好的策略S或者参数P在不同的pattern中所得到的output应该是相对稳定的(或者至少在有利的pattern中表现出色,在不利的pattern其风险(最大资金回撤深度和长度)应该是在我们的控制范围之内的,并且基于历史统计的有利pattern发生的概率要显著大于不利的pattern发生的概率),我们可以用标准差std(output(i))
(实际中,我们往往只需要output中的某些信息而已,例如收益、盈利因子或者最大资金回撤等等)来描述其稳定性程度。因此,参数的寻优就表示为在参数Pj下,&/p&&p&Min(std(output(i,j))) 。 我们在实际中往往需要对原始样本进行随机化处理,然后进行大量的模拟和比较。&br&&/p&&img src=&/b05e44ee4be184a58f7beac_b.jpg& data-rawwidth=&299& data-rawheight=&123& class=&content_image& width=&299&&&p&这时我们还需要关注ei,sum(ei)应该落在我们可接受的范围之内,并且奇异的ei越少越好。&/p&&br&&p&当然在实际操作当中,有很多细节需要处理:&/p&&p&(1)如何定义pattern,这个依赖于各自的交易理念、规则和交易级别等等;&/p&&p&(2)如何识别你定义的pattern,大家需要去看看神经网络算法和模式识别方面的东西,强烈建议看看faruto在MATLAB论坛录的一个关于SVM神经网络的视频(好像是09年录的,当时我还在念高中啊...);&/p&&p&(3)行情的随机化处理,可以参考一下钱德的超越技术分析一书当中介绍的几种方法;三,一些问题的初步回答&br&&b&1.&/b&&b&有没有最完美的参数寻优方式?有没有最完美的参数选择方式?&br&
2.有没有最完备的参数寻优方式?有没有最完备的参数选择方式?&/b&&br&我们使用的参数寻优和选择的方式,是基于pattern比较下的寻优和选择方式,当然这种方法也不尽完善,还有很多问题,就当作是一种交流吧。&br&&b&
3.&/b&&b&参数寻优时对于不同的时间周期,多长的回测数据具有说服力?&/b&&br&我们并不关心回测样本的大小,而更关心样本所包含的pattern的数量,一个能够在更多的pattern中存活的参数或者策略,我们更放心去使用它,因为它可以适应未来行情的变异,即pattern的转换。&br&&b&4.对于整体样本,是否有必要区分样本内和样本外,若有必要,那么样本内和样本外的长度分别是多少合适?&/b&&br&我们一般并不直接从整体样本中划分训练集和测试集,而直接把原样本作为训练集,并将其随机化处理后的数据作为测试集,我们可以随机构造巨量的行情数据。&br&&b&5.如何避免过度优化?&/b&&br&这个问题我觉得要先对过度优化进行定义噢,一般情况下把训练集的测试结果和测试集的测试结果不一致认为是一种过度优化的结果。但我们的作法是在pattern条件下考虑两者是否一致。举个例子说,如果某个策略S对某一类的行情有很好的表现,但也有它的软肋时,那么当样本内和样本外的pattern不一致时,很可能它的最优参数的差异可能很大。这时的结果不一定是过度拟合的结果,只不过是遇上不利的行情而已,当然这个问题不仅仅是个参数优化的问题,还是个策略设计的问题。&br&&b&6.给出不同参数下的资金曲线,选取什么目标函数来进行参数选择?为什么选择该种目标函数,是否有更加有效的目标函数?&/b&&br&这应该是个参数优化目标的选择问题,我们一般用的主要评价指标是Min(MaxDrowDownDuration),当然也可以给定一定限制条件,例如盈利因子大于2,等等。&br&&b&7.给定目标函数的情况下,如何选取最稳定的参数(参数区间),选定参数的过程能否量化? &/b&&br&我们往往是直接选择最优的那一个,当然这个与我们的事前的参数控制工作有关。&br&&b&8.外推时,参数表现不好怎么办?再重新改进参数、调整策略?&/b&&br&(1)不改变参数下,重新校验前面的pattern的识别&br&(2)在(1)校验后如果效果仍然不行,则对参数重新调整&br&(3)前面工作仍然无法奏效时,需要对策略进行修改&br&(4)来论坛抛砖引玉,学习别人的思想和方法&br&&b&9.有没有不依靠参数的策略?或参数自适应的策略?可否实战?靠谱否?&/b&&br&其实不依赖参数的策略不一定好吧,一个策略的生命和灵活性就体现在参数的调整过程中,当然这也涉及策略类型的相互转换问题,一下子讲不清楚,建议看一下Browm的Technical Analysis For the Trading
Professional一书,好像有中文版的。&br&&b&10.参数寻优的本质到底是什么? 直观解释是什么?&/b&&br&这个问题还真不好回答啊......&/p&
这个问题肯定是见仁见智的,没有什么定论。我这里给出两个分享和讨论,一个是自己的一点思考,另一个是MATLAB技术论坛会员fosu_cdm(论坛ID)陈道民(Chandeman)以前就我的这几个问题发过的一个文章。两个分享供大家参考,见仁见智,没有定论,欢迎斧正、讨…
从交易所的数据发出到你的电脑上能看到发生了很多事,如何判断数据的好坏是一个复杂的事情。&br&作为曾经写过不少交易所的tick数据的处理程序的人,可以解释下为啥复杂:)&br&&br&Tick Data本身并不神秘,就是交易所把每只股票(亦或是futures options)的active order book(就是你的order还存在在交易所里面,并且没有被撮合成交。)里面的买、卖的单的情况发给你,但是每个市场的规定都不同,举个栗子:&br&&br&最真实的order book是这样的,一天的市场一开始的时候苹果股票的order book清空(这里不进行auction period的探讨):&br&&img src=&/39cceef0e3cfc80f58fb6d8a_b.jpg& data-rawwidth=&394& data-rawheight=&57& class=&content_image& width=&394&&&br&1. 接着来了第一个卖家: :&br&&img src=&/ad184fdaf541c608fa8939_b.jpg& data-rawwidth=&414& data-rawheight=&58& class=&content_image& width=&414&&&br&&br&这时候交易所会发给你一个message,告诉你是苹果股票有人想以100块钱买1000股,那么这个order就先挂在了order book上。&br&&br&2. 第二个卖家来了,他想卖得更高: :&br&&img src=&/1c43ccf42c_b.jpg& data-rawwidth=&378& data-rawheight=&88& class=&content_image& width=&378&&&br&这时候交易所会发给你另一个message,告诉你是苹果股票有人卖的价格比你差,于是排序在下面。&br&&br&3. 刚才的第一个卖家后悔了,cancel了他的order: 撤消了,那么交易所会有message告诉你,但是你需要自己编程处理这种remove掉一个tick的情况:&br&&img src=&/e0bd694b2e9cf7b33b3e43_b.jpg& data-rawwidth=&409& data-rawheight=&65& class=&content_image& width=&409&&&br&4. 终于有买家来了... 500@90 , 这个价格是不会成交的,因为买家低于现在的最佳卖价:101,那么order book里面会继续存着这个order,同时会发送一个tick告诉市场上的其他人:有买单了:&br&&img src=&/cacac94d0d9694dacddf4e_b.jpg& data-rawwidth=&369& data-rawheight=&58& class=&content_image& width=&369&&&br&5. 继续,接着有一位买家以101块钱买入1000股,等于要把目前的best offer 给match - 撮合了,那么你是不会收到这个最新的bid: 101@1000 的,因为它会进入matching engine的瞬间跟对面的best offer 撮合了,tick table的一个规则: bid offer 永远不会cross,否则要么是数据商的bug,要么是交易所的bug。现在,你只会收到一个告诉你delete the best offer的message,那么tick table长这样:&br&&img src=&/213ddce66a10ca4b518079febbf26904_b.jpg& data-rawwidth=&397& data-rawheight=&61& class=&content_image& width=&397&&&br&Tick数据就是这么简单,市场上会重复这个过程。&br&但是比较麻烦的是:&br&&ol&&li&很多时候tick的数据会以UDP发送,想象股市上如果交易非常活跃,那么数据量会非常大,UDP会存在丢包情况,如何处理。曾经遇到过很疯狂的tick update但是还要保持在x micro second的更新cache,可能要排序(看交易所protocol),以及发送出去给前端。&/li&&li&如何更快的处理实时的tick数据,否则数据量如此大,一旦延迟,以后就再也跟不上“实时”的节奏了,直到你的程序挂掉。&/li&&li&如何避免一些特殊情况造成bug,一旦一个tick没有算对,那么后面的tick table全是错的:)&/li&&/ol&同样,还有对tick的理解问题:不同市场的tick还有不同点,上面所说的是发达国家的股票市场,以实时情况推送(有新的order并且在tick的发送level以内,比如东京交易所只发送8个tick level,那么你看不到整个full tick的,因为可能会有100多个level,如果很多人交易的话)。&br&&br&但是国内是多少个milli second截取一个快照(snapshot),然后发送给你,兴许是国内交易系统已经非常古老,跟不上IT的发展了。那么这个tick数据并不是“real time”的,你只知道“哦!在前100 millisecond和现在的tick 变化是这样的”,可能中间已经成交了数千单。
从交易所的数据发出到你的电脑上能看到发生了很多事,如何判断数据的好坏是一个复杂的事情。 作为曾经写过不少交易所的tick数据的处理程序的人,可以解释下为啥复杂:) Tick Data本身并不神秘,就是交易所把每只股票(亦或是futures options)的active ord…
两种思路。&br&&br&第一个是对数据进行 down sample,原始的高频数据虽然是非等间距的,你可以自己定义一个时间间隔重新抽样。这个时候需要注意的是在抽样的时候需要仔细设计方法来计算抽样点的各项数值(价格,成交量等)。简单的做法是用原始数据 fit 出一条曲线,然后按照新的时间点取曲线上对应的值,或者算抽样时间间隔内数据点的加权平均,权值可以是数据点之间的时间差,或者成交量之类。这种方法做完之后就可以用常用的时序模型的技术了。&br&&br&第二个就是所谓的 Point Process,直接对时间点进行建模(而非像时间序列模型是对抽样点的数据进行建模)。最简

我要回帖

更多关于 简单与复杂的作文素材 的文章

 

随机推荐