新手用Python做量化投资需要注意哪些?

新手自学python做量化投资需要注意些什么?量化金融其实是一个交叉复合学科,需要掌握数学、计算机、金融等方面的知识。显而易见,对于金融学背景的同学来说,就需要另外学习计算机编程的知识,而计算机背景的同学则需要补充金融知识。由于是24K纯金融学专业背景,所以金程AQF小编就跟大家分享一下,作为一个零编程基础的金融小白,是如何入门量化金融的。

一、量化工具

1、编程语言Python

工欲善其事,必先利其器。想要入门量化,学会一门编程语言是必不可少的。对于量化金融来说,主流的编程语言有Python、MATLAB、Java、C++等。

从开发难度而言,Python和MATLAB比较容易,而Java和C++比较难;从运行速度来说,C++是最快的,因此常用于高频交易。不过对于大部分量化投资者而言,尤其是初学者,开发占用的时间远远大于运行时间,如果追求运行速度的话,也可以先将策略开发出来,再使用C/C++重写高性能代码段。

另外,从量化资源而言,Python资源更多,而且MATLAB是商业软件,Python是开源免费的。所以综上所述,如果是编程零基础的同学,入门量化的编程语言毋庸置疑是选择Python。

至于Python的学习,网上资源就很多了,在这里推荐几个Python教程:

https://python.quantecon.org/ 该教程不仅介绍了Python,而且介绍了NumPy、Pandas、Matplotlib、Scipy等数据分析常用第三方库。不过是全英文的,如果英文比较弱的同学可能看起来比较吃力。https://www.bilibili.com/video/av27789609...

B站上关于Python的教学一搜一大堆,但是水平参差不齐,个人比较推荐鱼C小甲鱼的《零基础入门学习Python》,在B站播放量排名第一,比较浅显易懂,适合入门。缺点是内容局限于编程基础,而不是针对量化金融,没有NumPy、Pandas等数据分析常用第三方库的内容;https://wxb84a237c3cb414e2.h5.xiaoe-tech.com/...

提到量化金融必备的Python技能当然是要王婆卖瓜自卖自夸啦,金融都会量化团队精心研发的《Python量化投资与金融实战应用》包含了Python基础入门知识,以及量化金融涉及的常用数据分析第三方库NumPy、Pandas、Matplotlib等,此外还通过量化金融应用实战案例帮助大家实操练习。平心而论,这个课程是当前市面不说最好也是极好的量化金融Python入门课。

2、数据获取:Tushare & BaoStock

关于数据获取,如果能有Wind那就再好不过啦,但是Wind很贵,如果没有条件的同学可以使用免费的数据源,比如Tushare和BaoStock。

Tushare是一个比较老牌的数据接口,包含沪深股票、指数、公募基金、期货、期权、债券、外汇等非常多的金融数据,现在老版Tushare已经不在维护,转移到新版TusharePro了,使用方法依旧非常简单,缺点是部分数据需要一定积分才可以获取。而BaoStock是2018年的新数据接口,口碑也不错,缺点是只针对股票市场,期货等市场还没有涉及。不过对于入门选手来说,这两个接口都是绰绰有余啦。个人用的比较多的是TusharePro,导入数据直接是DataFrame格式,非常方便。

附上TusharePro和BaoStock的链接:TusharePro:https://www.waditu.com/BaoStock:http://baostock.com/baostock/

3、量化平台

量化平台可以看成是一个已经搭建好的框架。用户只需添加一些自己的买卖条件,即可进行策略回测,免去了自己从无到有搭建基础框架的过程。

目前国内比较主流的量化平台有掘金量化、优矿、聚宽、米匡等。不过对于策略回测来讲,仅使用Python就完全可以实现了,使用第三方平台的缺点就是你得先琢磨好一阵子如何使用这个平台,而且最重要的是很难摸清平台所有细节,难以把控。

附上常用量化第三方平台的链接:掘金量化:https://www.myquant.cn/ 优矿:https://uqer.io/聚宽:https://www.joinquant.com/米匡:https://www.ricequant.com/welcome/

4、其他工具

以上是做量化的一些基础工具。另外根据策略类型的不同,也会用到一些其他Python第三方库。

数据库推荐:SQLite

如果所做的策略需要存储很多数据,那么就需要一个数据库配合使用。Python自带sqlite3库,可以在python中方便的操作SQLite数据库。

附上教程:SQLite 教程 | 菜鸟教程:https://www.runoob.com/sqlite/sqlite-tutorial.html机器学习:Scikit-learn(sklearn)

Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、分类(Classfication)、降维(Dimensionality Reduction)、聚类(Clustering)等方法。网上搜学习资源、学习笔记的话也有非常多。

5、技术分析:TA-Lib

TA-Lib,全称“Technical Analysis Library”, 即技术分析库,涵盖了150多种股票、期货交易软件中常用的技术分析指标,如MACD、RSI、KDJ、动量指标、布林带等等。附上TA-Lib公式大全:http://mrjbq7.github.io/ta-lib/funcs.html爬虫推荐:Beautifulsoup

BeautifulSoup4是爬虫必学的技能。BeautifulSoup最主要的功能是从网页抓取数据。附上中文文档:Beautiful Soup 4.4.0 文档

二、量化策略

掌握了量化金融的基本工具之后,令量化投资者最头大的就是量化策略的灵感了,对于初学者而言,肯定是先从经典策略比如双均线、配对交易、动量反转等开始。众所周知,经典的不一定是最好的,但是是必学的。在掌握了经典策略之后,可以通过阅读券商研报、国外量化论文,或者根据自己对金融理论的理解,编写自己的策略。

01、经典策略

量化交易经典策略主要有择时策略如双均线模型、动量反转、配对交易等,选股策略如最主流的多因子策略,技术分析指标如MACD等。在量化平台比如聚宽社区、优矿社区等都会有涉及,在网上随便搜搜也能搜出一堆。但是这些资源有个问题就是很不适合初学者,比如说优矿社区的策略,即便是提供源码,初学者也是很难看懂的。

我个人是学习纪老师的《量化金融分析师AQF实训项目》入门的,很多经典策略都有非常详细的理论讲解及Python实操,是非常适合入门学习的。当然你也可以阅读一些相关的书籍,书籍推荐在之后会提到,不过看书也有同样的问题就是,如何使用Python将策略实现,自学还是比较困难的。

在这里附上有可能帮到大家的一些学习链接:《量化金融分析师AQF实训项目》https://www.gfedu.cn/class/aqf/aqf/c223.html《JoinQuant-量化交易零基础入门教程》https://www.joinquant.com/view/community/detail/8ec7aaaa899cf928550f89a104637f22

02、券商研报券商研报虽然经常会比较水,但是还是有很多不错的文章可以借鉴的,推荐可以看券商金工部门的研报。我个人用得比较多的是慧博,可以在【系列专题】-【金融工程】里面找研报看。另外,在经管之家也可以搜到一些券商研报资源附上链接:https://bbs.pinggu.org/

03、海外文献量化投资在国内发展时间其实很短,而在海外已经有了几十年的积累沉淀,所以海外量化相关文献也是一个很好的资源,推荐可以参考AQR网站的论文资源:https://www.aqr.com/

04、金融理论顾名思义就是凭借自己的金融知识,深入领会金融资产定价的无套利原则,灵活运用各类金融工具进行投资啦。所以这就靠大家聪明的头脑,以及金融理论储备了,我这里就没什么好说的。

三、量化推荐书籍

作为一个不爱读书的学渣,这个部分就太难为我了,如果是爱读书的好同学,可以参考知乎问题:学习量化交易如何入门?@杨博理的回答,写的非常全面。这里将该答案整理如下:

01、第一部分:预备知识【1】《投资学》作者:博迪,凯恩,马库斯【2】《Trends in Quantitative Finance》by Frank J. Fabozzi, Sergio M. Focardi, Petter N. Kolm【3】《计量经济学》【4】《漫步华尔街》作者:麦基尔

02、第二部分:择时策略【1】《海龟交易法则》作者:柯蒂斯·费思【2】《交易策略评估与最佳化》作者:罗伯特·帕多、【3】《量化交易——如何建立自己的算法交易事业》作者:欧内斯特·陈【4】《Building Reliable Trading Systems: Tradable Strategies That Perform As They Backtest and Meet Your Risk-Reward Goals》by Keith Fitschen

03、第三部分:选股策略/投资组合策略【1】一篇论文:Eugene F. Fama, Kenneth R. French. The cross-section of expected stock returns. Journal of Finance, 47 (1992), pp. 427–465.【2】《Quantitative Equity Investing》by Frank J. Fabozzi, Sergio M. Focardi, Petter N. Kolm【3】《积极型投资组合管理》作者:格里纳德,卡恩

04、第四部分:进阶【1】《统计套利》作者:安德鲁·波尔【2】《走出幻觉走向成熟》作者: 金融帝国【3】《信号与噪声》作者:纳特•西尔弗【4】《失控》作者:凯文·凯利

四、实践出真知

纸上得来终觉浅,绝知此事要躬行。对于金融行业来说,实践当然是非常重要的。对于在校大学生来说,最好的机会就是找到量化相关的实习,比如去券商基金的金工部门、量化部门等,真正操作一些具体的量化项目,同时也正好检验自己是否是真的对这方面感兴趣。

如果实习暂时难以找到,也可以在学校寻找是否有一些课题机会,或者参加一些量化方面的比赛,都是很好的实践机会。

01、实习大部分券商基金都有金工或者量化部门,是非常好的实习选择。但是如果是之前没有实习经历,可能会比较难获得机会,这时候动用亲戚朋友的力量也是非常可以的。

02、比赛由于量化金融变得越来越火爆,目前针对大学生额量化比赛也是举办得越来越多了,比如量子金服主办的“量子杯”全国高校量化大赛,瑞银集团主办的全球量化大赛等,大家可以多多留意。参加比赛一来可以给自己一个学习研究的动力,二来如果获奖了可以写在简历上,给自己的经历贴上一朵小红花。

03、课题如果实在是实习、比赛都比较困难的话,可以问问导师有没有相关的课题,或者也可以在网上找找项目,实在不行也可以自己用python写写策略回测,或者用模拟盘或者实盘跑一跑自己的策略。

-----------------------------------------------------------------

推荐阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.股票期货经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.一个完整的量化交易系统都需要哪些功能?

5.学习Python有哪些书籍?这里有一份书单送给你

6.江湖中常说的“网格交易法”到底是什么?

7.10种经典的日内交易策略模型思路

8.干货 | 量化选股策略模型大全

9.量化金融经典理论、重要模型、发展简史大全

 

你可能感兴趣的:(量化交易)