1 为什么你得学习编程
1.1 编程可能是一个你绕不开的坎
果仁网、优矿、京东量化平台、聚宽这些平台会提供一些现成的量化指标,方便初学量化的人使用。
但是,随着对量化的逐渐深入,不可避免地你会发现这些现成的指标,不能满足自己的使用要求。
这时候想要进一步地研究,编程语言就是一个绕不开的坎。
我之前写了一篇文章,介绍了一些常见的一些量化平台:
优矿、聚宽、米筐、京东量化平台、掘金。
这些量化平台,都支持Python。
所以,如果你要学习编程语言,Python就是首选。
原因很简单,这是一个各平台都支持的语言,即使其中一个平台垮了,也不需要你进行二次学习。
1.2 不用担心花费的时间没有价值
有朋友看过我的文章《投资10年300倍,你也可以。》后,发现回测收益挺不错的,很想深入研究一下。
但是看着那整个屏幕都装不下的代码,就开始迟疑了。
很多人担心,学习编程需要花费巨额的时间,并且不一定能产生相应的价值,因此望而却步。
就像学习英语一样,学了十几年,跟“歪果仁”交流起来,依然结结巴巴,甚至脑子空白。
这样的担心其实大可不必。
我们之所以学不好英语,是因为用不上,如果学习Python,会用不上吗?
显然不可能。
想当初,我刚开始学习Python不到一天,立马就开始使用了:从社区中拷贝其他人的策略,调整一些参数,然后进行回测。
这个过程中,我既然得到了想要的结果,也学习了编程语言。
在学习的过程中,就产生了价值。
2 编程应该如何学
2.1 编程的“速成”方法
这里的“速成”并不是迅速学会,而是指迅速入门。
之前看李笑来的专栏,提到想要快速入门,需要在知道“最少必要知识”,简称为MAKE(Minimal Actionable Knowledge and Experience)。
掌握一门编程语言,最少必要的知识有哪些呢?
- 懂得基本语法
- 会用搜索引擎
怎么才算懂得基本语法呢?
以聚宽为例:
我觉得将这几个入门级别的文章看一看,在“投资研究”中运行一下代码,看看得到结果和过程,就差不多了。
或许做完这些,你依然对语法不是很理解,这没有关系,只要你一些基本印象就够了。
然后你就可以尝试去理解那些让你感兴趣的策略了。
在理解策略额过程中学习编程,在学习编程的过程中理解策略。
我在《投资10年300倍,你也可以。》中分享的策略,实际的编程时间只有半天左右。
为什么可以这么快?因为里面大量地复用了别人的代码。
首先是回测部分,如果你看前面几行,还能发现别人的版本标识:
其次是研究部分,代码也是来源于别人的文章《【研究】量化选股-因子检验和多因子模型的构建》。
老实说,在一开始的时候,文章的很多内容,我都看不懂。
但没有关系啊,我逐行去执行代码,把每一个疑问都研究清楚。
最终,我在别人代码的基础上,进行了一些微调,得到了自己想要的结果。
不用强求自己一开始就能做得很好,日拱一卒就够了。
2.2 使用使用再使用
实际上,我只是代码的搬运工。
所以,你会看到策略的代码比较凌乱,可读性也不好。
不过没有关系啊,我又不靠Python吃饭,不需要和别人协作。
我的目的是能用,自己能够看懂就好。
学习一门编程语言,毕竟是苦差事。
还记得我们学习了多少年英语吗?
我们没有将英语学好的原因,就是因为没有使用好它。
如果你发现自己也存在类似的情况,那么建议你一开始就将自己的目的放在使用上。
根据自己的需要,不断地去使用就好。
一开始我对DataFrame一窍不通,因为数据统计的需要,就学会了数据的批量操作,周二到周六分享的基金回测数据,就是使用得到的结果。
一开始我对matplotlib一窍不通,因为曲线展现的需要,就学会了如何绘图,周二到周六分享的上证指数温度计图片,就是使用得到的结果。
如果你想要学习编程,却不知道怎么入手,那就用吧。
使用的需求,会指引我们前进的方向。