1. 廖雪峰2.7教程/Learn Python The Hard Way
这个部分主要是熟悉基本语法和数据结构。比如list,函数定义,面向对象编程,第三方包的安装等等。这两个选一个认真看完就行,不习惯英文的可以选择第一个。
对于后者:
照着Introduction章节中的要求,只用编辑器(文中推荐的是Notepad++,个人觉得Sublime Text也不错),一行一行地敲代码,敲完后用最原始的方法来运行,根据Python解释器的异常输出来做调试。50个Exercise全部完成后,你基本就掌握Python的运行和调试方法以及基础语法了。
2. 《利用Python进行数据分析》
主要讲了几个常用的package,顺便复习下之前学习的数据结构等等
3. Python Cookbook
有了以上两段学习的基础后,可以把Cookbook这本著名的“烹饪秘籍”买了放在书橱里以备不时之需(没完成以上两段买了也是浪费看不懂)。既然叫秘籍,内容难度高是必然的,整本书根据用户要使用Python解决的具体问题来区分章节,请了每个领域中的大牛分享了一些经验和代码。
和前两本不同的是这本书的内容不用全部掌握,可以先大概扫一遍知道每章有什么内容,后面做开发遇到相应问题时再来翻书研究。另外这本书里很多技术属于Python的“奇技淫巧”级别,如果能全部掌握对于编程水平会有非常大的提高。
4. 接下来就是按照常用的库进行学习了。
库很多,只有你找不到的,没有你想不到,和量化这块结合比较紧密的有:
- Numpy&Scipy:科学计算库,矩阵计算
- Pandas:金融数据分析神器,原AQR资本员工写的一个库,处理时间序列的标配
- Matplotlib:画图库
- scikit-learn:机器学习库
- statsmodels:统计分析模块
- TuShare:免费、开源的python财经数据接口包
- Zipline:回测系统
- TaLib:技术指标库
- PyQt4入门(ZetCode)
PyQt4是目前Python上最为主流的GUI开发库,底层运行的是C++开发的Qt代码,上层使用Python封装的API来实现调用,运行效率足以满足开发量化交易实时监控界面的需求。
对于Python新手而言,学习PyQt4除了开发GUI外,更重要的是吸收PyQt4代码中的面向对象(OO)的设计模式相关的知识。简单的量化策略可以用过程式编程的方法来实现(如轮询价格、突破100买、跌破90卖),但是对于复杂的量化策略(如期权波动率套利、跨多市场套利等)就需要使用OO的设计模式来解耦不同功能的模块(信号生成、委托下单、风险管理),提高整个代码的健壮性和可维护性。PyQt4的OO编程风格非常简洁和清爽,掌握后用在其他的项目开发上可以大幅提高程序的编码质量。
另外推荐这本书给想要更深入学习PyQt4的朋友:Introduction to Python Programming and Developing GUI Applications with PyQT
其他:
Dataquest
平台:
优矿
ricequant
quantopian
QuantStart
应该是目前全球Python量化交易领域访问量最大和内容最丰富的网站
QuantStart上的内容整体难度较高,都是直接使用Python来处理量化交易项目的知识经验和代码实例,没有老老实实学完前几个部分大概率是会看得云里雾里。
总结下网站文章的大体分类:
- 买方(P宗):
- 算法交易
- 统计建模和机器学习
- 量化策略研究
- 时间序列建模
- 卖方(Q宗):
- 二叉树模型
- 随机积分
- 偏微分方程PDE
- 代码示例:
- C++
- Python
- 外汇交易平台开发
- 统计套利平台开发
- Quant职业生涯
- 职业生涯建议
- 读书笔记
另外网站的作者也写了两本书Successful Algorithmic Trading和Advanced Algorithmic Trading,比起另外一个著名的量化博客主E.P. Chan写的两本书质量要好非常多,推荐购买。