: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

一个高频交易程序员的成长经历:一天赚以前一年的钱

一个高频交易程序员的成长经历:一天赚以前一年的钱

转自微信公众号 交易门(tradingmen) 作者 春晓

2002年,19岁的李奥在西安一所重点大学读大二。虽然专业是环境工程学,李奥喜欢捣鼓电脑,打游戏,写代码。很快,他就成功教会了自己用C# 和Visual Studio 编程。不久后,他接了学校附近一个小IT公司的外包活,挣到了人生第一笔“可观”的收入——2000多元人民币。

“2000多在当时不算少了,在学校里吃顿饭也就五六块。”李奥回忆起十多年前的第一笔外快,依然难掩激动。

李奥在江苏农村出生长大,家里的经济条件并不宽裕。从小他跟弟弟和爸妈住在一栋红砖砌成的平房里。他对童年最深刻的回忆是:下雨时,屋顶漏水,雨水嘀嘀答答打在地上,他和弟弟就赶忙用水桶在屋里接水。

2000年,当他考上远在西安的这所重点大学时,他的父母喜忧参半——喜的是儿子有出息,愁的是每年光是学费就要一万多。两人四处奔走,从亲戚朋友那里帮李奥借齐了第一年的学费。李奥弟弟比他小六岁,当时还在读初中。

当李奥发现帮人编程每个月可以稳定地赚到两三千的时候,他心中升起一丝淡淡的自豪。

“从那之后,我大学就再也没有找家里要过生活费。”他说。

今年3月的一天,李奥请我在香港中环一家米其林餐厅吃午餐时,离李奥靠写代码挣外快的青葱岁月已经过去十余年了。

现在的李奥,虽然头发比以前少了几根,皱纹比以前多了几条,但笑起来眼睛眯成一条线,似乎还是那个无忧无虑,在陕西郊外爬山露营、保护大熊猫、通宵打游戏、早上5点爬起来编程的大男孩。

李奥在骨子里依然是个有点宅的程序员。他坚信程序员用代码改变了这个世界,而李奥也一直在用代码敲打自己的人生:

十多年前,写代码给了李奥走出校园、在社会立足的一技之长;再后来,写代码给了他事业进阶,打进国际投行的契机;也正是那一串串代码,赋予李奥转型自立门户、打开交易这片天的勇气和力量。

码农的意义

李奥的职业生涯,可以总结为他不断探索自己作为一个程序员的“意义”和“成就感”的过程。

大学毕业后,李奥前后待过不少名头响亮的公司:微软亚洲研究院、迅雷、穆迪(Moody)、香港富达基金、摩根士丹利(香港)。这些都是竞争激烈,不少人梦寐以求、削尖脑袋要挤进去的企业。然而拿着稳定的收入,待在高大上的写字楼,李奥却始终没有感受到跟自己价值相匹配的成就感。

“在投行做程序员成就感很低,交易员要求写什么就写什么,写完他们愿意用就用一下。而即便程序最终挣了钱,跟程序员也没有多大关系。”他说。

2012年,李奥加入摩根士丹利香港,在衍生品部门做定价。跟所有投行一样,发年终奖时,用他程序交易的交易员可以拿很高的奖金,但李奥和其他程序员不管程序写得好还是差,奖金都很平。

投行的程序员担当着做牛做马、任劳任怨的角色。在摩根工作时,因为工程比较大,李奥有时光是编译程序往往就要花上一个小时(通常简单的程序几秒钟就跑完了)。这还不算什么,如果程序慢了或者发现bug,李奥需要从十几万行、几百万行里的代码去排错——有时一排就是两三个小时。

“做销售的、做服务的,你得经常给他打气,跟他K歌什么的。程序员不一样,程序员如果解决一个bug,他自己就满足了,负能量就消失了。”李奥笑着说。

成就感的缺失促使李奥不断在跳槽,而不断的跳槽并没有停止他内心的躁动。

在加入摩根前,李奥开始琢磨着把写程序和做交易结合起来。他认为这摊事如果做起来,不仅能让他发挥自己技术和策略的长板,还能避开他跟人交往的短板。

加入摩根之后,李奥的这个想法更加强烈。

其实为了走出这一步,李奥一直在努力,之前的不同工作让他在不同的领域得到积累:微软给了他数据挖掘的经验,Moody的风险评级工作把他从一个什么都不懂,只会写代码的人带入行,李奥学会了看财报、建模、做数据分析,也树立了风险管理意识。摩根士丹利的衍生品定价经验,为李奥将来往期权定价等数量化方向发展奠定了基础。

这几年,上班之余,李奥也没闲着。他一直在狠下功夫补充自己的短板:金融专业知识。他花三年时间考下了特许金融分析师(CFA),并主动学习公司财务报表、股票、衍生品定价、风险管理等方面的知识。

李奥知道,一旦要走这条路,他会面临各种挑战和巨大的不确定性,但他暗自已经下定了决心。他想得很明白:自己做交易、自己做主,让自己的代码真正产生价值,这才能解决他终极的焦虑,这才是他想要的人生。

挣一天管一年

2014年,李奥离开摩根,加入香港一家互联网金融公司,开始做高频交易。

互联网公司的老板最开始承诺注入1000万给李奥交易,并让他搭建团队。

虽然还是在帮人打工,但李奥很快在新工作中感到了本质改变:“今天优化几行代码,明天就可能多挣点,这是非常直接的回报。”

李奥记得刚开始上实盘交易时自己的惴惴不安:“不是说每行代码都要看过去,至少你要知道你的程序是在做什么。”

刚开始交易时,一手股指一二十万保证金,但李奥的账户里可能有一两百万。为了保险,李奥会把多出来的钱划走到银行卡里面,以免实盘时下错单——“要是开成十张合约怎么办?程序有Bug不停开仓怎么办?”

这个把多余的钱取走、划到银行卡里的谨慎习惯,李奥一直保持到他后来离开、独立交易的时候。

在互联网公司,李奥操作一两百万的资金,每天能挣个一两万。初期试跑后,他开始慢慢增加合约,同时不断优化策略,调整参数。

有一次,李奥想测试一个新的逻辑,结果一测试就亏了四五万,“把前几天的盈利都亏完了”。这让他十分沮丧,几乎“不想做交易了”。

在不断的挫折和试验中,李奥的交易能力开始得到提升。而同时,他跟老板的分歧也愈发明显。

首先,老板承诺的1000万只到位了一两百万。其次,李奥感到对方对自己的信任度并不高。“如果哪天亏了一两万,老板就要来找我谈话,对于硬件和数据上比较大的初始投资(几十万)也是一直没有争取到。”

最重要的是,老板始终想做P2P业务,认为交易这摊事“太小”,而李奥一心一意只想做交易。

2015年春节后,李奥跟互联网公司分手,开始自己做交易。

他投入了几百万的起始资金,在家里想了几个简单的策略开始跑。让他欣喜的是,他的策略很快开始赚钱了。最开始,李奥每天能赚三四万,到后来,盈利稳定提高。

“刚开始一天赚的钱是(以前)一个月赚的钱,后来有一天赚的钱相当于(以前)一年的收入。”

这对李奥来说是极大的鼓励。“我当时想,我很快就可以自己建团队了。”

李奥认为,交易的挑战第一是风控——风险控制比盈利重要。“程序化交易玩不好是很危险的。几十分钟、个把小时就可以搞垮一家公司。”

李奥的第二大挑战,是不停研发新的、赚钱的策略。

“我发现(一个策略)波动一大就亏钱……那我写个策略,波动大的时候赚钱,波动小的时候不怎么赚钱。互补一下。就这样,新策略就来了。”

微秒级的竞争

一直到现在,“高频交易”并没有一个很明确的官方定义。不过我们可以看看在高频交易最先被发明、也最发达的美国,监管机构怎么说。美国证监会在2010年的一份文件中,提出“高频交易”往往会同时满足以下特征:

1. 使用超高速的复杂计算机系统下单

2. 使用 co-location 和直连交易所的数据通道

3. 平均每次持仓时间极短

4. 大量发送和取消委托订单

5. 收盘时基本保持平仓(不持仓过夜)

高频交易复杂的性质决定了它只能由专业的交易员发起。正如美国作家Michael Lewis 在他的非虚构畅销书《高频交易员》(Flash Boys)所说,数据传输的速度决定着交易的价格。交易员们不顾一切,拼的就是速度。而在美国,这个竞争已经到了微秒的级别。

李奥几年前就读过《Flash Boys》,书中描述的华尔街对速度的渴求给他留下了深刻的印象。但是等到自己开始做交易时,李奥才开始对交易速度有直观的体会。

李奥最开始在互联网金融公司做交易时,用“很烂”的系统、机器和数据。在测试时,哪怕把滑点等因素考虑进去也是赚钱的。但是到了实盘就不挣钱。“后来看,就是慢了。”

“再加上程序里很多bug,一个bug(会亏)几千块钱,多几个bug几万块钱就没了。加上资金量很小,一两百万,赚也赚不了多少钱。”他补充道。

2015年,等到李奥自立门户开始交易时,他再次认识到了硬件和系统对交易速度的致命影响。

那时,李奥的程序已经稳定运行了半个月,结果有一天突然开始亏钱了。他一检查,才发现自己前一天有个程序没关,占用了CPU。李奥平时开两个程序,那天开了三个,没想到两个程序开始互相竞争CPU。

“我X,我第一次意识到(硬件)居然会有这么重要。”他说。

这次教训后,李奥花了一两个月的时间去研究CPU和系统。他慢慢领悟到,高频交易拼速度,写代码可能占50%,但外围因素很关键:机房,机器,对各种系统要求都很高。

“有时候你自己优化C++,搞半天优化一个毫秒,很开心。买个好的CPU,可能就优化五毫秒。(这些事)别人不会出来跟你说的,你得自己去琢磨。”他说。

在上海某期货公司为李奥提供技术支持的L对李奥的自学能力赞叹不已。“通常在高频领域,做策略的不懂技术,做软件的不懂硬件,他一个人就搞定了。”L说,“有次调整服务器,我们期货公司的运维工程师都没搞定(我找了两个人来看),结果他自己搞定了。”

对于李奥爱钻研的精神,他的太太R深有体会。她告诉我,李奥平时在家,哪怕是跟她一起看电视时,基本都是电脑不离手地在写代码。

R告诉我,大学时代,李奥迷上写程序的时候,会早上5点就爬起来写代码;迷上打游戏的时候,会从大清早打到半夜——R常去实验室给他送饭。

一个高频交易程序员的成长经历:一天赚以前一年的钱

2015年上半年的一个夜晚,李奥在家左手玩DOTA,右手交易。

“他要是想做什么,就很容易钻进去那种。”R说。

对游戏的执着让李奥一度严肃地考虑走职业玩家的道路,他最终还是放弃了这个念头:“那条路战线太长。”

不过,李奥始终还是为自己的激情付出了代价。因为打游戏耽误了功课,他大四挂科,推迟了一年才毕业。

交易这条路

2016年初,交易门在香港举办新春烧烤会。其实户外烧烤这个点子,是李奥提议的。他不仅主动提出要包揽全部费用(我后来提议AA进行),还自告奋勇要帮我组织。

烧烤当天,李奥不仅开车载了我和好几位素未蒙面的交易门读者去烧烤地点,还主动购买烧烤的工具和食材,整个烧烤过程也一直忙前忙后,自己没吃上几口肉。

李奥对户外活动的热情可以追溯到大学时期。那时,他经常跟女友和一帮朋友去爬山、露营。有时爬完一座山,前后要三四天。

李奥和太太青梅竹马,一路走来。大学时,她跟他一起爬山、参加公益活动(两人都是世界自然基金会的会员),李奥打游戏时,R就在实验室陪他,帮他分析战术、装备和路线,给他送饭。多年后,当李奥提出要自己出来创业时,R也毫不犹豫地支持:

“我说,咱家那点钱, 给你个止损线, 玩到了就停下来好了—— 不赚钱的话我还上班赚钱不至于没饭吃。”

一个高频交易程序员的成长经历:一天赚以前一年的钱

2003年,李奥和当时的女友、现在他的太太在西安郊外爬山。

2015中国金融市场发生的一切,让创业不久的李奥深深体会到了“计划总是赶不上变化”这老掉牙的说辞。

去年7月,李奥开始搭建自己的交易团队。他的团队有10个人,分别在香港、深圳和西安办公。7月初,李奥的第一个同事办完入职。

他说:“那位同事入职后第三四天我账户就被封过了。9月份等公司所有人入职完,这个市场就基本被关掉了。”

中金所去年夏天为了打击市场的“投机氛围”,采取了包括调高交易保证金、提高手续费、调低日内开仓限量标准等一些列严格的管控措施。从9月7日起,沪深300、上证50、中证500股指期货客户在单个产品、单日开仓交易量超过10手的,中金所表示即构成“日内开仓交易量较大”的异常交易行为。

这一限制意味着股指期货失去了99%的流动性,这对于对于李奥的团队来说无疑当头一击。

市场关了,但李奥的公司不能关。李奥对自己的团队承诺过,公司至少要坚持三年。现在,虽然顶着每年几百万的开销成本,他也要咬牙坚持着。国内市场不能做了,李奥就跟同事开始研发海外市场的策略。

“海外市场战线长、门槛高,花费也很高,相当有挑战。完全是摸着石头过河,前路未知。”他说。

李奥的同事很多是有才华的程序员。李奥喜欢程序员的单纯。他们可以花很多时间啃骨头,一个细节一个细节地抠,一行一行地看程序。但同时,他们也很“闷”,李奥在香港办公室的一位同事,可以坐一天一句话都不说。

李奥最渴望的事之一,是等自己公司走上轨道之后,他可以抽出时间,去拍一部关于程序员的纪录片,真实地去记录和反映这个少有人理解的码农群体。

作为公司的掌舵人,李奥试着去了解每个人,发掘他们的驱动力, 尽量让所有人都能做跟他们的兴趣更匹配的事。

李奥的目标是把交易做成一份稳定的事业,最终做成一个比较成功的私募基金公司,同时让更多有能力的人和自己一起成长。

他说:“我希望更多有才华的勤奋的程序员,跟着我做也能实现财务自由。”

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表