为了账号安全,请及时绑定邮箱和手机立即绑定

投稿006期|如何成功攻克量化交易面试的心路分享

前言

让我们聊聊面试那些事吧。大多数人大学毕业了就得去找工作,那势必要经过面试这个环节;当然也有小部分人由于在职场上出类拔萃当了领导,那势必也要面试应聘者以选拔合适的人组建自己的团队。

作为经历过面试和被面试的我而言,面试就像一个销售人员带着自己的产品去客户那边推销一样,销售人员介绍产品的价值,想让客户以更高的价钱来买单,此时客户心里也在衡量着这个产品到底值不值得购买。有的销售人员会把产品吹嘘得天花乱坠,但客户购买回去真正使用了才发现这个产品言过其实了。这里我分别站在面试官和面试者的视角来思考过面试这个环节,我认为应聘者可以适当的包装和渲染自己的能力,但千万不要过分夸大,即使能够幸运地被公司录用,但最终能力上的不足仍然会在实际工作中被暴露,而我建议的正能量方式是通过提升自身的能力来满足应聘岗位技能的要求,合适的人去了合适的岗位,这样的结局无疑是双赢效果。

慕课网上的读者多半是IT人士,只会写C语言或者Python语言就要想投身于某个领域那可没这么简单。刚好过段时间本人的量化交易课程就要上线了!那么这里就以量化交易这个岗位为例,介绍下我们应该如何有针对性的去掌握岗位的职能技术,使自身符合应聘岗位的要求,从而成功地通过面试。

分析岗位详情

首先来说,平时要多关注下招聘网站上本行业的企业招聘信息,当然这并不是鼓励大家频繁跳槽,而是想让大家实时关注这个领域需要怎么样的人才、什么样的技术,通过与自身情况的比较来发现提升的空间,否则长时间处于井底之蛙的状态,守着自己的一亩三分地,在这个技术快速更新的时代迟早会被行业淘汰的。

我们可以登录各种招聘网站寻找企业的招聘信息,比如搜索量化交易相关的岗位招聘,可以输入关键字“量化交易”进行搜索,如下图所示可以看到职位、公司、薪资等招聘的概览信息。

图片描述

当然,作为一名高级的Python工程师我当然选择更高效的方式来获取企业的招聘信息——那就是爬虫的方式。这里我使用了urllib2库爬取了招聘网站上量化交易相关的HTML文件内容,经过浏览器的审查元素选项分析网页的内容后,编写正则表达式来匹配查找的我所需要的关键信息,比如职位、公司、薪资等,最后将信息存储在csv文件中以供后续处理和分析的使用。

图片描述

以上的资讯我们可以了解到哪些公司在招聘量化交易相关的岗位?分别是哪些方向?离家近不近?给的薪资有没有诱惑力?等等。但是我们仍然需要近一步获取到这些岗位所要求的具体技能和工作职责。于是我们要再一次爬取每个招聘的职位信息并进行汇总,我们可以统计下所有招聘的职位信息中出现频率最多的关键词,并将它们绘制成词云,然后使用matplotlib将图片展示出来。这样我们就对量化交易这个岗位的招聘情况和职能要求有了一个直观的了解,后续可以选几个感兴趣的公司岗位作为投递简历的目标。

图片描述

图片描述

了解常用技术

有了大致的方向以后,下一步就是充实自己的技能了,首当其冲的是掌握一些最基本的技能和资讯。就像从事linux开发的人员一定知道Torvalds那样,在量化交易这个领域中应该无人不知量化交易之父”詹姆斯·西蒙斯,如果面试官提起了詹姆斯·西蒙斯,而你完全没听说过,那就糗大了。所以我们要在广度上了解这个领域的技能和资讯,通俗地说就是就是即使没吃过猪肉也要看过猪跑。

比如你是否真正去思考过量化交易到底是什么?如果面试官试探你对量化交易的理解,你是否可以一针见血的说清楚?这里我归纳的内容可供大家参考下。“确切地说量化交易属于人工智能的一个应用分支,它利用计算机强大运算能力,用数学模型来模仿人的思维作出决策,通过数据建模、统计学分析、程序设计等工具从股票、债券、期货的历史数据分析中得到大概率下获利的交易策略。”这么说听起来有些绕口,其实往简单地说就是如何管理输赢的概率,像玩德州扑克牌那样,当你持有的牌可以掌握胜算时便跟进,否则便盖牌。而所谓的利用计算机、数学建模、程序设计这些只是一种手段,目的是为了高效快速地获得胜算的概率,并依据概率去做出决策。

比如你是否了解过与量化相关的软件包有哪些?它们分别的用途和特点是什么?整体而言,与量化相关的软件包有zwQuant、Pandas、Tushare、Ta-Lib、Zipline等。Pandas是Python环境下最有名的数据统计包,是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。TA-Lib是一套被业界广泛应用的开源技术分析库,一共包含大约125个技术指标的计算函数。。。。。。

这里我列举了一些面试者需要关注的框架、策略等等,比如国内外主流Python量化网站包括quantopian、Wilmott、极宽量化、掘金、聚宽、RichQuant等;经典的量化策略包括Alpha、Beta、海龟交易法则、ETF套利策略、VWAP动量策略、布林带策略等;常用的策略指标包括KDJ、MACD、RSI、SMA、OBV等;数学相关知识包括随机变量、期望值和方差、二项分布、正态分布、回归分析、蒙特卡洛分析、夏普比率等。这些不一定全部都要很深入去研究,但至少需要达到了解的程度,以便于在后续的实战项目中能够根据方案需求快速择优选用。

领悟行业核心

我们在广度上了解量化交易领域的技能和资讯后,接下来要在深度上去领悟到量化交易的真正的核心。试想一下,如果面试者只会使用工具,而不会从更高层次去优化工具让它发挥最大的功效,那在面试官心中的定位可能只是一个码农而已。

那么我对量化交易核心的理解可以用一段话概括,“不管多么复杂的模型,没有一个能长期不变地一直赚钱,因为市场在变化,信息在变化,我们不是机器的奴隶,只有通过不断学习,持续不断的更新自己的模型和策略,寻找市场上的规律,让你的交易系统跟上变化本身,才能在交易市场中立于不败之地。”

这里其实包含了两部分深层的含义,一部分是指既然市场在变化,信息在变化,那么过去并不代表未来,用历史数据作检验是否有意义?另一部分是指为什么交易策略在实际交易中的表现远不如历史模拟的结果?对于第一个问题的回答可以举个高考相关的例子,在正式高考前学校都会定期组织模拟考来评估下自己的能力,最终的高考题目不会和模拟考一摸一样,但在模拟考发挥的水平基本和高考发挥的水平相差不会太大。所以用历史数据作检验是把过去的经验作为一种参考指南,通过对过去的解读发掘出蕴藏盈利机会的重复性模式。而历史测试结果和实际结果的差异主要是这几个因素引起的:交易者效应,其他交易者注意到了这个策略方法并开始模仿它,导致这种方法效果下降;随机效应,历史测试的结果可能是一种随机性的现象;最优化矛盾,选择特定的参数降低了事后测试的价值;过度拟合,与历史数据的吻合度太高,市场行为轻微的变化造成效果的恶化。这些就是我想表达的对于真正领悟一个行业核心的程度。

总结

我们了解了量化交易岗位的招聘情况后,对感兴趣的一些岗位所要求的职能技术进行分析,并从技术的广度和深度两个方面针对自己的不足付诸于努力,逐渐地成长起来。当有一天我们认为可以胜任这个岗位的时候,可以尝试地去投递简历,这个时候可以把精力转向于多了解一些面试的技巧,最后祝愿大家都能通过自己心仪岗位的面试!

点击查看更多内容
21人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Python工程师
手记
粉丝
1.8万
获赞与收藏
1563

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消