Jane Street ETC - 如何玄学地获得第一
上周末参加了Jane Street量化交易比赛(ETC)的hackthon,本来没想着拿奖就是来玩玩,结果玄学地获得了第一……不过有钱拿总是好事,Switch有着落了23333。
签到
本次比赛规定是不允许之前参加过的队伍参加,也不要求有金融知识,我们组4个都是电院的不过有辅修金融的大佬2333。早上过去白嫖一个早饭美滋滋,味道还是不错的(那个冰淇淋慕斯真的好吃,怕早上吃多了肚子疼没敢多吃,枯了)。
预先已经分配好了队名,基本是按漫威人物来的,不过我们这个DRAX是个什么鬼?不看漫威不过据说是个被吊打的……看看隔壁Ironman多吊,哎。
开始前准备
9.30下发密码和Spec,11点正式开始,别看1.5h挺多,那个Spec贼长还是英文的,一堆术语跟做托福阅读差不多。而且比赛开始后的1.5h权重还是挺大的,这是鼓励手速快的队……花了差不多1h读完Spec,其实就和炒股差不多,有个BOND股票市场价格稳定1000元,然后NPC中有智障对价格不敏感,这样我们可以通过挂999元买和挂1001元卖来倒腾。
然而真正搞还是要用程序TCP连,用了10min左右试了下手动nc发命令看看效果,15min左右写了个python,5分钟挂到测试服务器上跑了看看确实是盈利的,正式开始后就直接弄上去一秒都不耽搁。
比赛开始
不是我针对谁,当时在坐的各位能做到我们这样0s上线的没有几个,毕竟整服务器、scp、证书登陆、TCP、nc之类的还是需要很多折腾经验的(笑),比如隔壁某个组过了几十分钟才听到似乎跑起来的欢呼。。。这期间我主要是重构之前那个仅仅能跑的代码,制定策略函数接口,为以后动态添加策略做准备,修了点崩溃的bug。然后发现这样每局只能赚200(最高持仓100),太浪费了于是优化了下,截获售出信息,卖多少添多少,保证我们一直挂着单子,这样每局收益瞬间就到了400-500.一小时后公开前三,WHAT?我们居然是第一…看来大家确实都是萌新…
午饭和新策略
12.30就是午饭,这段时间权重只有5%,大家都去吃饭了(盒饭味道不咋地),回来后金融大佬整出了股票和基金的什么滞后关系,可以利用这个时间差套利。由于没有获取市场价值之类的API,只能得到每次交易价格,所以下面1小时多就是写个parser分析保存各个数据,调BUG啥的,神奇的是这段时间我们还是第一(…)然后就是放到测试环境跑了,这时候某个组居然超过我们了,不过不虚我们新策略也快好了,上线后每轮盈利基本在1000左右,不过之前超越我们的组已经掉出榜单了。。。可能是xjb写策略自爆了吧。
玄学策略上线
接下来他们整出了利用BAT基金和其他4个股票的转换套现(扣掉手续费后转换,那个价格高就转过去卖掉),测试环境很牛逼每轮5000+的收益,当时贼高兴,然而真实环境第一把就亏了几百……第二把亏了2000多,直接掉到了第二还是第三,这时候有人提议撤掉这个策略,但经过投票觉得测试环境都是盈利的,而且反正也是来玩玩的就先这么着吧……结果第三把就赢了5000多,后面也一直保持大几千的收益,立马回到第一。
战狼策略和修不好的BUG
下面就是分析为啥会亏了,因为我们挂出去单子卖掉有延迟,这时候市场就会波动,导致可能卖的时候就不划算了,他们就一直在研究什么时候撤单,结果在测试环境竟然亏得更多反而不赚钱了……这时候上线的策略每轮都有几千的收益,偶尔亏个几百也能接受就没怎么管。
然后有人想着因为市场波动是伪随机数,如果连续跌接下来涨的可能性会比较大,或许可以这么搞。然而测试发现还是亏本,阈值怎么调也不管用,因为测试环境里这个策略都是买的BAT,所以被戏称为战狼策略23333.
这时候可能是其他队策略也开始写了,我们的盈利也不能保证了,有一次居然一轮亏了2W?但是因为想着也没啥好策略能赢回来,BUG也修不掉就先这样看脸了……不过更重要的是我们竟然还是第一23333.
最后半小时惊心动魄
虽然玄学策略会亏钱,但是也有一次赚1W2W的时候,BUG修不好也没力气修了,大家基本都挂机了,所谓赢了会所嫩模,输了下地干活是也。
到最后半小时我们还是第一,这时候公布了详细分数了,前三相差不大还是有被翻的可能,怕啥来啥没多久第二就把我们超了,每轮盈利也在正负3000徘徊,到还有3、4轮就结束时我们还是落后,这时候我们也只是有点遗憾,不过毕竟本来也就是玩玩的没想着要拿奖,就没怎么太难受。不过奇迹出现了,我们的玄学策略突然一轮赢了1W多,分数直接从6位数爆涨到了7位数碾压第二名(最后一小时权重高,大家也是有赢有输),当时就懵逼了。有人提议要不把那些策略都撤了每轮就赚那个基本工资就好起码不亏钱,不过想着不是你的终究不是你的,就看天意了就没管。
最后一局经过粗略计算和第二名差距大概在3-5W资金左右,只要脸不是很黑就可以了,放榜时真的是惊心动魄,第二名啥也没有,第一名就每人6399啊!好在最后虽然亏了几千不过问题不大,侥幸拿到了第一。
总结
高风险高收入果然不假,我们这个玄学算法能赢2W也能输2W,输赢全靠脸,果然玩金融的都胆大心黑。。。