天天看点

python量化投资(一):量化投资的基本流程

这篇文章是写给正在成长的自己以及正走在量化投资这条路上的知友,希望大家都能变得更好。

本文将会讲解量化投资过程中的基本流程,量化投资无非这几个流程,数据输入------策略书写------回测输出

其中策略书写部分还涉及到编程语言的选择,如果不想苦恼数据输入和回测输出的话,还要选择回测平台。

python量化投资(一):量化投资的基本流程

一、数据

首先,必须是数据,数据是量化投资的基础

如何得到数据?

  • Wind:数据来源的最全的还是Wind,但是要付费,学生可以有免费试用的机会,之后还会和大家分享一下怎样才Wind里摘取数据,Wind有很多软件的借口,Excel,Matlab,Python,C++。
  • 预测者网:不经意间发现,一个免费提供股票数据网站 预测者网,下载的是CSV格式
  • TB交易开拓者:Tradeblazer,感谢

    @孙存浩

    提供数据源

  • TuShare:TuShare -财经数据接口包,基于Python的财经数据包,利用Python进行摘取

如何存储数据?

  • Mysql

如何预处理数据?

  • 空值处理:利用DataFrame的fill.na()函数,将空值(Nan)替换成列的平均数、中位数或者众数
  • 数据标准化

数据如何分类?

  • 行情数据
  • 财务数据
  • 宏观数据

二、计算语言&软件

已经有很多人在网上询问过该选择什么语言?笔者一开始用的是matlab,但最终选择了python

python:库很多,只有你找不到的,没有你想不到,和量化这块结合比较紧密的有:

  • Numpy&Scipy:科学计算库,矩阵计算
  • Pandas:金融数据分析神器,原AQR资本员工写的一个库,处理时间序列的标配
  • Matplotlib:画图库
  • scikit-learn:机器学习库
  • statsmodels:统计分析模块
  • TuShare:免费、开源的python财经数据接口包
  • Zipline:回测系统
  • TaLib:技术指标库

matlab:主要是矩阵运算、科学运算这一块很强大,主要有优点是WorkSpace变量可视化

  • python的Numpy+Scipy两个库完全可以替代Matlab的矩阵运算
  • Matplotlib完克Matlab的画图功能
  • python还有很多其他的功能
  • pycharm(python的一款IDE)有很棒的调试功能,能代替Matlab的WorkSpace变量可视化

推荐的python学习文档和书籍

关于python的基础,建议廖雪峰Python 2.7教程,适合于没有程序基础的人来先看,涉及到python的基本数据类型、循环语句、条件语句、函数、类与对象、文件读写等很重要的基础知识。

涉及到数据运算的话,其实基础教程没什么应用,python各类包都帮你写好了,最好的学习资料还是它的官方文档,文档中的不仅有API,还会有写实例教程

pandas文档

statsmodels文档

scipy和numpy文档

matplotlib文档

TuShare文档

第二,推荐《利用Python进行数据分析》,pandas的开发初衷就是用来处理金融数据的

三、回测框架和网站

  • 两个开源的回测框架

PyAlgoTrade - Algorithmic Trading

Zipline, a Pythonic Algorithmic Trading Library

  • 量化开源的框架和模型
python量化投资(一):量化投资的基本流程
  • 国内量化投资回测网站

国内的这些平台的优缺点如下:

  1. 提供了数据和回测的框架,确定了语言,你所做的就是第四步-------策略书写和优化,大大提高了效率
  2. 可以看到其他人的代码和策略,有论坛,方便交流沟通
  3. 数据接口不足以满足需求,代码保密性不强,API不够完善

具体有如下回测平台,基本应该都是仿照Zipline

  1. 果仁网:比较傻瓜,适合不会编程的开发人员
  2. 优矿:API有点不好用,数据还是很全
  3. 聚宽:API很不错,长得Quantopian,现在比较常用的就是这个,但是数据有点不够用啊
  4. BotVS
  5. 米宽
  6. factors
  • 量化论坛

清华大学经济金融论坛

四、策略来源和基础知识

主要是数学和金融的基础知识,因为策略的来源主要是一些统计学知识和一些投资概念

  • 矩阵运算,线性代数:这是科学计算的前提
  • 概率统计学:这是金融数据分析的前提
  • 计量经济学:也就是多元统计线性回归,推荐《计量经济学导论:现代观点》
  • 多因子模型:首先应该阅读砝码三因子的PAPER,有一些基本的研究方法和思路在里面
  • 投资学:介绍了一些投资学上的基础知识和基本模型,例如马克维茨、法玛三因子等等,推荐经典的《投资学》
  • Barra:现在非常主流的量化模型,有很多可以参考的资料
  • 金融研报:各券商研究员的分析
  • Paper:各种paper不禁有助于理解上面的基础知识,还可以在其中找到一些量化的灵感
  • 机器学习:是计算机科学中数据处理的重要分支,推荐Peter Harrington《机器学习实战》
  • 时间序列分析:金融数据的基础
  • 小波分析:包括最基础的傅里叶变换,推荐涉谷道雄的漫画《傅里叶解析》,这真不是开玩笑,这本书对于傅里叶的解释浅显易懂又不失深度,绝对值得一读。
  • 学术期刊

五、分级基金

最近有点迷恋分级基金

集思录-分级基金

分级基金网

文章参考链接

【量化课堂】什么是量化策略?

不定期更新

本人功底不行,还请给位知友多多指教!

https://zhuanlan.zhihu.com/p/22113760?open_source=weibo_search