01引言本公众号原名为“CuteHand”(智能助手),后来在Python和金融方面的文章分享多了,就更名为“Python金融量化”,致力于分享Python在金融量化领域的应用,尤
00-1010微信官方账号最初名为“CuteHand”(智能助手),但后来在Python和金融的文章较多时,更名为“Python金融量化”,专门分享Python在金融量化领域的应用,尤其是股票的量化投资。
随着Python编程语言的普及,越来越多的人对如何使用Python做财务数据分析和量化交易产生了兴趣。但很多人对量化投资本身存在一些误解或认识不清,有些人太异想天开,以为躺着就能赚钱(甚至只有海岛老师);有些人墨守成规,认为鸡蛋没有用;有些人盲目追求模型的复杂性,迷失在编程和数学中。
可以理解的是,量化投资是一个利用计算机技术和某些数学模型来实现投资理念和策略的过程(xjfg)。所以,量化投资只是一种工具,只是实践投资理念的一种量化方法,交易的本质并没有改变。量化投资的优势在于提高我们分析的广度和深度,通过历史回溯获得概率优势,通过自动交易过程避免人性中的诸多弱点。随着大数据和人工智能的发展,量化投资将成为市场主流的投资工具,并将与传统的基本面分析和技术分析深度结合。
那么应该如何系统地研究量化投资呢?网上关于Python和Quant(Quant)的资源非常多,很多踏入这个领域的人都不知所措。掌握了Python编程基础的人,不知道如何切入量化的实际场景。但是有一定财务基础和战略思维的人,不知道如何用Python来实现战略。因此,本文主要结合个人经验和网上公开信息来分享Python的学习资源和量化投资。由于精力和注意力有限,供参考,欢迎大家补充分享。
01 引言
量化可以简单地分为三个模块:数据管理、策略分析和策略执行。数据是基础,政策分析是核心。其中,由于政策限制,我国政策自动化(算法交易)的实施较为麻烦。从Python的角度来看,数据层向下分解,要学习的模块主要有Pandas、Numpy、tushare、pandas_datareader和一些爬虫库。策略向下分解,需要掌握的基本工具包括Pandas、matplotlib、scikit-learn、TA-lib、statsmodels等。当然,在学习上述常见的财务量化库之前,有必要对Python编程基础有一个系统的掌握。从战略角度来说,玩Python远远不够。你必须有自己的战略思维和逻辑。那么这个策略的灵感在哪里呢?除了我自己的实践总结之外,各种量化平台、论坛、博客、学术期刊可能会提供一些参考。下面将围绕Python编程、数据源、量化平台、策略来源等分享相关学习资源。
01 Python编程
1.构建Python环境
(1)蟒蛇:
https://www.anaconda.com/
推荐使用。总是用自己的Jupyter Notebook做策略分析,写微信官方账号文章。
(2)Pycharm:很多人用,但个人没用过。
2.学习入门
(1)廖雪峰官网:
https://www.liaoxuefeng.com/wiki/1016959663602400
(2)菜鸟教程:
https://www.runoob.com/python3/python3-basic-syntax.html
(3)GitHub项目:https://github.com/goodchinas/pyquant
一个关于GitHub的项目,笔记本格式,从初学者到退化和练习的numpy、pandas、matplot等库,非常适合初学者。
3.高级学习书籍
(1)Python for Finance,2014,Yves Hilpisch中文版:Python金融大数据分析,人民邮电出版社
(2)掌握金融Python,2015,James Ma伟明
(Python个人金融,2018,Max Humber
(4)金融Python,2017,闫宇星
(Python衍生工具分析,2015年,伊夫希尔皮施
(6)量子经济学讲座,2019年,托马斯J萨金特和约翰斯塔休斯基
(7)以Python为工具的量化投资,2017,友好蚂蚁方
(8) Python大数据与量化交易从零起点,2017,nrdbm(9) Python对于量化交易
做股票量化分析,2017,活力的芹菜
02量化数据源
金融量化数据源主要有三种:一是大数据网站,通常都是收费的,一般只有日线级数据;二是专业金融数据公司,如通联,万德,收费价格高但比较稳定;三是开源数据模块库,如Tushare,pandas-datareader,ccxt数字货币等,github上还有很多不一一列举。
Python开源数据
(1)TuShare pro :
中文财经数据接口包,有积分限制。
需注册获取token:https://tushare.pro/register?reg=218422
(2)BaoStock :
与tushare类似,主要提供国内股票行情数据、公司基本面和宏观数据
(3)Quandl :https://www.quandl.com/
国际金融和经济数据。
(4)pandas_datareader:
从pandas中独立出来的数据开源库,丰富的数据源,包括美股、A股、宏观数据等
(5)yfinance:https://pypi.org/project/yfinance/
雅虎财经数据api的修复。
(6)ccxt:https://github.com/ccxt/ccxt
python数字货币开源接口
其他数据源
(1)通达信 (免费)
(2)聚宽:jqdatasdk(免费)
(3)新浪、雅虎、东方财富网(免费)
(4)Wind资讯-经济数据库(收费)
(5)东方财富 Choice金融数据研究终端(收费)
(6)同花顺金融数据终端 (大部分可以免费导出)
03 在线量化平台和开源框架
平台之间大同小异,可以重点关注各大平台的策略大赛(练手)、社区(借鉴参考优秀项目)和学院(系统学习量化知识框架)板块。
国内平台(排名不分先后)
(1)BigQuant :https://bigquant.com/
主打人工智能量化平台,社区和学院提供了较丰富的资源。
(2)聚宽 :https://www.joinquant.com/
免费量化数据、投研工具、量化学习体系
(3)优矿 :https://uqer.io/
主打大数据时代的智能量化平台,特色是深度报告、量化学堂和量化社区
(4)万矿 :https://www.windquant.com/
金融大数据、策略研究和数据可视化,网站的社区、学院和案例提供了丰富的学习资源
(5)Ricequant :https://www.ricequant.com/welcome/
涵盖金融数据、投资组合管理与风险分析、量化投研交易模块
(6)掘金量化 :https://www.myquant.cn/
(7)Factors :http://factors.chinascope.com/ 专注于多因子分析,界面操作,黑盒子。
国外量化平台:
国外量化平台非常多,只列两个。
(1)Quantopian :https://www.quantopian.com/posts
比较知名的平台,旗下有量化三大件:pyFolio,zipline,alphalens
(2)Quantstart:https://www.quantstart.com/
平台文章提供了构建自己量化交易系统的思路框架
开源框架(实现本地化)
一般是直接在终端(cmd)上使用pip install xxx(库名)进行安装,有些可能需要下载安装包离线安装。(1)Zipline - 一个Python的回测框架(很难安装)(2)vnpy - 基于python的开源交易平台开发框架(3)easytrader - 进行自动的程序化股票交易
(4)pyalgotrade - 一个Python的事件驱动回测框架(5)quantmod - 量化金融建模
(6)backtrader -Python量化回测框架
04 策略来源
(一)量化投资专业网站、博客、论坛
(1)ARQ: https://www.aqr.com/
(2)Quantivity:https://quantivity.wordpress.com/page/2/
(3)QuantLib:http://www.implementingquantlib.com/
(4)NuclearPhynance: http://www.nuclearphynance.com/
(5)QuantNet Community:https://quantnet.com/
(6)Udacity :https://www.udacity.com/course/machine-learning-for-trading--ud501
(7)Quant At Risk :http://www.quantatrisk.com/
(8)经管之家量化投资板块:https://bbs.pinggu.org/forum-2166-1.html
(9)知乎 - 宽客(Quant):https://bbs.pinggu.org/forum-2166-1.html
(10)知乎 - 量化交易:
https://www.zhihu.com/topic/19815465/hot
(11)GitHub : https://github.com/
(12)FMZ发明者量化交易平台: https://www.fmz.com/bbs
(二)量化投资书籍:
如果完全不懂金融投资理论,就谈量化投资,很容易流于形式,画出来漂亮的图表和策略,也就能忽悠一下外行而已。一直强调Python只是工具,不要舍本逐末,量化投资核心是策略和思路,而策略的来源需要一定的统计和投资学的积累与沉淀。
(1)打好经济学基础,推荐教材:mldz的宏微观经济学、米什金的《货币金融学》、罗斯《公司理财》、博迪的《投资学》和《金融工程》。《投资学》介绍了一些投资学上的基础知识和基本模型。现代投资学框架,包括资产组合理论(均值-方差模型)、资本资产定价模型(CAPM)、套利定价理论(APT)、行为金融学等(除了正规教材外,推荐索罗斯的《金融炼金术》)。
(2)计量经济学,主要学习时间序列分析、多元统计线性回归,可参考《计量经济学导论:现代观点》,结合Python的statsmodels、scipy、sklearn模块进行学习。
(3)多因子模型:首先应该阅读砝码三因子的PAPER,公众号也有两篇推文。此外,Barra风险模型(多因子模型扩展)是现在非常主流的量化模型,有很多可以参考的资料,如《Barra Risk Model Handbook(US)》。
(4)投资相关书籍
《打开量化投资的黑箱》 勤劳的月亮《宽客》[美] 朴实的冰淇淋(Scott Patterson)
《解读量化投资:西蒙斯用公式打败市场的故事》 朴实的手机《漫步华尔街》麦基尔
《海龟交易法则》hmdz
《交易策略评估与最佳化》飘逸的发夹
《统计套利》 听话的裙子
《信号与噪声》dqdlq
《量化投资—策略与技术》 xjfg
《量化投资策略:如何实现超额收益Alpha》 魔幻的猎豹
《以交易为生》 swdzc
《高级技术分析》jddpj
《积极型投资组合管理》格里纳德,卡恩
《金融计量学:从初级到高级建模技术》 zlddh洛扎
《量化交易如何建立自己的算法交易事业》wsdzt/p>
《聪明的投资者》 飘逸的饼干
《期权、期货和其他衍生品》 约翰·赫尔
注:金融投资书籍及金融史,可在公众号里分别回复“金融书籍”、“金融历史”获取。
(三)学术期刊
国外期刊金融三大顶级期刊(需要理论功底比较强,不然看起来很费力):
Journal of Finance、
Journal of Financial Economics、
Review of Financial Studies
其他金融投资期刊:
Journal of Accounting and Economics、Journal of Financial and Quantitative Analysis、Financial Analysts 、Journal Financial Management、Journal of Empirical Finance、Quantitative Finance、Journal of Alternative Investments、Journal of Fixed Income、Journal of Investing、Journal of Portfolio Management、Journal of Trading、Review of Asset Pricing Studies
国内期刊:国内专门讨论量化投资的学术文章比较少,可关注经济研究、经济学(季刊)、金融研究、管理世界、会计研究、投资研究。
(四)微信公众号资源
微信公众号也提供了很多量化资源可供学习参考,下面分享几个自己关注的,排名不分先后。
03 结语
量化只是一种工具或手段,量化投资则是目前比较流行的一种交易分析框架,需要掌握的知识体系还真比较庞杂。值得关注的是,证券投资的专业性远没有工科类的专业性那么可靠。比如说,你拥有制造汽车的专业技能,就能造出一部汽车;但伶俐的小兔子掌握了证券投资的专业知识,却不一定能在股票市场上赚到钱。一个不难观察到的现象是,很多金融专业人士在股票投资这个领域不一定能干出好的成绩,而一些非金融背景的人却表现优异。这可能与证券投资的非逻辑性(艺术而不是科学)有关,交易市场的本质是零和博弈(不考虑手续费等),尤其是期货交易。但是不得不说这已经是个对专业要求越来越高的行当,因为在高收入的引诱下,各种高精尖人才都挤破脑袋往这个行业里钻。尤其是近几年,大型券商和基金招人连清北复交也不怎么鸟了,指定北美前五十高校,玩的模型和技术也越来越花了。尽管专业的金融背景只是投资成功的必要条件(非充分条件),但是如果连基本的经济金融基础也没有,要想与市场上的其他人玩,成为韭菜的概率就更高了。
参考资料
知乎:守株待兔《史上最全Quant资源整理》:
https://zhuanlan.zhihu.com/p/26179943
关于Python金融量化
专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、量化投资前沿分析框架,与博主直接交流、结识mmddd朋友等。