读《R的极客理想——量化投资篇》

吴诗涛 2021-07-28 [读后感]

[1]张丹著.数据分析与决策技术丛书 R的极客理想量化投资篇[M].北京:机械工业出版社.2018.

第一部分 金融市场与金融理论

第1章 金融市场概述

R语言与其他编程语言的最大不同在于,R语言是面向数据的,这一点很重要,甚至影响了我们的思维模式。我写了10多年的Java程序,程序员的思维模式在我的脑子里根深蒂固。我习惯用面向对象的思想来建模,把现实世界中的物体、行为、连接都用面向对象的方法来表达。我也习惯了IT项目的开发模式,从架构设计到开发的自上而下的设计思路,再到完全有需求驱动的敏捷开发,以及为业务随需而变的开发路径。作为程序员,我有理想,我自认为技术能改变世界,而这一切都是程序化的思维在影响着我。

后来,当我接触了R语言,通过另一扇门理解世界的时候,我发现世界是不一样的。在没有程序的世界里,你可以通过文字来表达你做事的方法,你可以感性地认识世界,也可以让数据来说出这个世界的意义。你可以天天看新闻联播,了解国家大事;也可以看微博、朋友圈的爆料,及时了解身边的消息。这并不是程序员的思维,而是大众化社会的想法。在这个社会里,程序员只是小众群体。

改变世界的方法,除了技术还有别的,比如,政策、资本、市场、法律、人事等,从公司运作的层面看,似乎哪个都比技术更重要。也许程序员并不关心这些,但面对市场时,再牛的技术也会被其他因素所制约。

我经历过创业,一个很深刻的教训就是,要让自己跳出原有的思维定式,通过多维的视角看世界、看自己。R语言帮我打开了通过数据看世界的窗口。我的能力提升不再局限于如何把程序写得多么漂亮,或是在时间复杂度上用$O(\log(N))$解决$O(N^2)$​的问题,而是开始关注怎么收集数据,怎么提高数据质量,来解决实际的业务问题。当然,由于程序员与生俱来的职业强迫性,我也会要求自己熬夜一晚上把50行代码优化成40行。

问题被转化了,虽说术业要有专攻,但作为一个有理想的极客,全面掌握领域的知识才是我们的目标。我创业时经常被投资人问到,做量化投资的项目有多难?招几个金融背景的人才,再招几个IT背景的人才,捣鼓个项目,不是很快就做出来了吗?其实不然,不同行业背景的人是很难交流和沟通的,尤其是金融和IT行业;一种是封闭不愿意分享,一种是开放毫无保留;一种是先把话说出来,一种是先把事情做起来;一种是所有人都要为我服务,一种是只专注于自己的兴趣。所以,如果不是能够跨界通吃的人,是做不好量化项目的。

我们要立志做个跨学科的人,这才是最核心的点,是不可被替代的。从IT技术出发,你需要扎实的编程功底及架构思想、科学的项目管理方法、严谨的产品设计逻辑;你还需要具备统计、数学等基础学科的知识,以及数据挖掘与机器学习的数据处理经验;最重要的,不管是量化投资或其他的领域,你要能结合业务,理解市场的规则。这听起来很难,实际上也确实很难!虽然很难,但不光是对你,对所有人都是这么难。只要你能坚持下来,一定能够通过知识改变命运。

当数据积累得越来越多,就需要算法来挖掘出数据的价值。特别是进入大数据时代后,算法显得越来越重要。让死的数据变得有价值,就是算法的力量。进入全民大数据的时代后,数据已经不再是门槛儿,最重要的是算法,算法才能真正创造生产力。相应的,算法工程师的价值也会越来越大,但是你们真的发掘到自己的价值了吗?

从大学毕业到现在,我做了10年IT编程的工作,从程序员到架构师,一路走来感触颇多,但我一直坚持用程序改变世界的想法。虽然自己对于编程的理解有一定深度,但随着年龄的增长,越来越觉得力不从心。从早起的Java变成,1天写5000行的代码还精神头十足,到现在用R语言,1周写500行代码,更多会用来思考。代码虽然越写越少,但知识却得以积累。

不知不觉地就过了30岁,也经历过一些事,开过公司,拉过风投,出了几本书,在大学里教过课,带过自己的团队,也在家里做过饭。创业最后虽然失败了,但失败的根本原因并不在技术,而在于对一个领域的认知和“人性”的理解。

所有面向C端用户的互联网通道都已经被行业大佬封死了,创业公司很难再有突破。目前形成了几大格局,包括原有的BAT阵营,以及京东、小米等第二梯队。依托于互联网创业已经有越来越难的趋势,创业的方向已经不再是原来单打独斗的模式,你要依靠大的平台,为平台提供个性化的服务。未来会越来越生态化,也就是各行各业都术业有专攻。

虽然,2016年整个大环境不好,但是从心态上大家都在积累修炼内功,坚持把寒冬抗过去,这需要我们有更理性的定位需求,耐心做技术的积累,提高人员的认知能力,特别是让技术人员去理解金融。理解金融非常重要,这不是“互联网+金融”,而是“金融+互联网”,即用互联网的技术提高金融的效率,用互联网的连接打通与客户的沟通,从而加速金融的创新。

不仅是银行,蚂蚁金服、京东、腾讯、百度,还有更多的互联网创业公司都在向这个方向发展。对于创业的风口来说,当大的机构进入时,创业公司根本没有拼的能力。如果我们换一个思路,当大的机构都在抢一个方向时,toB业务就是创业公司的机会。有句老生常谈的话:“你是想做淘金的,还是卖水的?”看准机会,认清自己,找到目标,努力一把,我们还年轻,还有机会。

一旦我们获得了标准化的市场数据,后面就好办了。我可以用R做个回归分析,或者做个基于MACD的趋势分析,再设计一个alpha的对冲策略,想怎么干都行了。这种方式是最灵活的,你不需要受到市场或者工具的限制,完全自己掌握。我觉得随着量化的成熟度越来越高,这种通过数据自建交易平台的模式会越来越多,这才是核心知识、核心技术。而且平台化的通用策略模型,最终可能会在完全竞争的市场中成为历史。当然,这会需要很多年的时间!

第2章 金融理论模型

资本资产定价模型反应的是资产的风险与期望收益之间的关系,风险越高,收益越高。当风险一样时,投资者会选择预期收益最高的资产;而预期收益一样时,投资者会选择风险最低的资产。

简单一句话概括,资本资产定价模型的核心思想:资产价格取决于其获得的风险价格补偿。

用方差来刻画风险,建立收益和风险的一元线性关系:$E(r_m)-r_0=A\times \sigma_m^2$​。

第二部分 R语言数据处理与高性能计算

第3章 R语言数据处理

apply 函数族是R语言中数据处理的一组核心函数,通过使用 apply 函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。

第4章 R语言高性能计算

由于R语言内核的单线程设计,使得通过解决方案让R本身的性能有飞跃式的提升是困难的。

第三部分 金融策略实战

第5章 债券和回购

企业债(Enterprise bond)是由中央政府部门所属机构、国有独资企业或国有控股企业发行的债券。企业债是从事生产、贸易、运输等经济活动的企业发行的债券。在西方国家,由于只有股份公司才能发行企业债券,所以在西方国家企业债券即公司债券。在中国,企业债券泛指各种所有制企业发行的债券。

公司债(Corporate bond)是由股份有限公司或有限责任公司发行的债券,证券法对此做出了明确规定,因此,非公司制企业不得发行公司债券。

在中国市场,可转债是T+0交易,并且没有涨跌停的限制,所以可转债比股票有更多的可操作性。

第6章 量化投资策略案例

在股票市场中有两种典型的投资策略:趋势追踪(Trend Following)和均值回归(Mean Reversion)。趋势追踪策略的特点在大行情的波动段找到有效的交易信号,不仅简单而且有效。均值回归策略则是一种反趋势策略,一波大幅上涨后容易出现下跌,而一波大幅下跌后容易出现上涨,其特点在震荡的市场中非常有效。

本节同时用到了计算机、金融、数学、统计等多学科知识的结合,我认为这是技术复合人才未来的发展方向。