目录

  • 1 量化投资概论
    • 1.1 授课计划
    • 1.2 优秀结课论文分享
    • 1.3 量化鼻祖:西蒙斯
    • 1.4 量化投资的定义
    • 1.5 量化投资的特点
    • 1.6 量化投资的发展史
    • 1.7 量化投资的前景
    • 1.8 章节习题
  • 2 Python基础
    • 2.1 环境配置
    • 2.2 数据结构
    • 2.3 基本语句
    • 2.4 基本函数
    • 2.5 类与对象
    • 2.6 模块和包
    • 2.7 标准库
    • 2.8 Numpy库
    • 2.9 Pandas库
    • 2.10 Matplotlib库
    • 2.11 案例:金融数据分析之Pyhton实现
    • 2.12 章节习题
  • 3 统计学基础*
    • 3.1 统计函数库(自学)
    • 3.2 描述性统计
    • 3.3 随机变量
    • 3.4 统计推断
    • 3.5 方差分析
    • 3.6 回归分析
    • 3.7 章节习题
  • 4 金融学基础
    • 4.1 金融分析库(自学)
    • 4.2 资产收益率与风险
    • 4.3 投资组合理论
    • 4.4 资本资产定价模型
    • 4.5 Fama-French 因子模型
    • 4.6 章节习题
  • 5 金融时间序列分析*
    • 5.1 金融时间序列库(自学)
    • 5.2 基本概念
    • 5.3 基本性质
    • 5.4 金融时间序列预测
    • 5.5 波动率
    • 5.6 章节习题
  • 6 配对交易策略
    • 6.1 配对交易策略
    • 6.2 最小距离法之实战分析
    • 6.3 协整法之实战分析
    • 6.4 随机价差法之实战分析*
    • 6.5 章节习题
  • 7 技术指标策略
    • 7.1 技术指标库(自学)
    • 7.2 K线图
    • 7.3 KDJ 策略
    • 7.4 RSI 策略
    • 7.5 MACD 策略
    • 7.6 BOLL 策略
    • 7.7 DMI 策略
    • 7.8 CCI 策略
    • 7.9 MT 策略
    • 7.10 PTV 策略
    • 7.11 OBV 策略
    • 7.12 ROC 策略
    • 7.13 BIAS 策略
    • 7.14 其他技术指标策略
    • 7.15 章节习题
  • 8 机器学习在量化投资中的应用*
    • 8.1 机器学习库
    • 8.2 量化投资之逻辑回归算法模型
    • 8.3 量化投资之决策树算法模型
    • 8.4 量化投资之随机森林算法模型
    • 8.5 量化投资之支持向量机算法模型
    • 8.6 量化投资之集成算法模型
    • 8.7 量化投资之人工神经网络算法模型
    • 8.8 章节习题
  • 9 深度学习在量化投资中的应用**
    • 9.1 深度学习库
    • 9.2 量化投资之TensorFlow
    • 9.3 量化投资之PyTorch
    • 9.4 量化投资之MXNet
    • 9.5 章节习题
  • 10 附     录
    • 10.1 量化武器库大全
    • 10.2 2022年量化金融分析师全国统一考试考试大纲
量化武器库大全

11.1 量化武器库大全

(1)基础库

  • numpy介绍:一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

  • scipy介绍:SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包。它包括统计、优化、线性代数、傅里叶变换、信号和图像处理、常微分方程求解等等。

  • pandas介绍:Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

  • quantdsl介绍: quantdsl包是Quant DSL语法在Python中的一个实现。Quant DSL 是财务定量分析领域专用语言,也是对衍生工具进行建模的功能编程语言。Quant DSL封装了金融和交易中使用的模型(比如市场动态模型、最小二乘法、蒙特卡罗方法、货币的时间价值)。

  • statistics介绍:python内建的统计库,该库提供用于计算数值数据的数学统计的功能。

  • PyQL介绍: PyQL构建在Cython之上,并在QuantLib之上创建一个很浅的Pythonic层,是对QuantLib的一个包装,并利用Cython更好的性能。

  • pyfin介绍:针对于中国市场的Pandas定量投资金融工具包

  • vollib介绍:Vollib是用于计算期权价格、隐含波动率的纪念日工具包。能够非常快速和准确的技术来获得期权的隐含波动率。

  • QuantPy介绍:python量化金融框架。目前还是一个alpha版本,可以从雅虎网站获取每日收益的投资组合类。计算夏普比率和有效边界,并实现投资组合优化。

  • Finance-Python介绍:纯python实现的金融计算库,目标是提供进行量化交易必要的工具,包括但不限于:定价分析工具、技术分析指标。其中部分实现参考了quantlib。

  • ffn介绍:ffn是一个专门为从事量化金融工作的人们提供金融数据分析功能的python包。 它位于重量级包(Pandas,Numpy,Scipy等)的基础上,并提供了广泛的功能模块,包括性能测量、图形可视化和数据转换。

  • pynance介绍:PyNance是用于从股票和衍生品市场检索、分析和可视化数据的开源软件。 比较特别的是它能够用于生成机器学习算法的特征和标签的工具。

  • tia介绍:TIA是针对彭博数据库设置的,它提供bloomberg数据访问、更简便的pdf文档生成、回溯测试功能、技术分析功能、收益率分析和几个常用的Windows utils的工具包。

(2)交易和回测

  • BigQuant介绍:人工智能量化交易平台,拥有丰富的金融数据,可直接使用90%的主流机器学习/ 深度学习Python包。

  • TA-Lib介绍:TA-Lib的简称是Technical Analysis Library,主要功能是计算价格的技术分析指标。 是技术分析者和量化人员在策略开发中常用的量化分析包。

  • easytrader介绍:提供券银河/银河客户端/广发/湘财证券/雪球的基金、股票自动程序化交易以及自动打新,支持跟踪 joinquant /ricequant 模拟交易 和 实盘雪球组合, 量化交易组件。(作者如果我说是90后,你敢信?

  • vnpy介绍:vn.py - 基于python的开源交易平台开发框架,在github上是一个比较火的项目,目前对接的交易接口特别丰富,无论是股票接口还是期货接口。

  • 实盘易介绍:实盘易(ShiPanE)Python SDK,通达信自动化交易 API 及量化平台。

  • easyquotation介绍:实时获取新浪 / Leverfun 的免费股票以及 level2 十档行情 / 集思路的分级基金行情, 很小,但非常实用。

  • pyalgotrade-cn介绍:Pyalgotrade-cn 在原版的基础上加入了A股历史行情回测,并整合了tushare提供实时行情。以便大家对自己的策略进行回测和模拟测试。这个项目提供了比特币的交易接口。

  • pyktrader 基于pyctp接口,并采用vnpy的eventEngine,使用tkinter作为GUI的python交易平台

  • trade介绍:trade是金融应用的一个包。 它主要是用于分析主题投资和事件驱动策略。 主题代表可以交易的任何东西,而事件则代表影响一个或多个主题的任何内容,如证券交易所政策或股票分割。它是针对与金融市场有关的任何一种主题和事件进行开发的投资工具包。

  • zipline介绍:一个事件驱动股票策略量化回测框架,由Quantopian开源,目前国内的很多Python编程语言的在线量化回测平台都是以zipline为模板开发应用的。

  • QuantSoftware Toolkit介绍:QSToolKit(QSTK)是一个基于Python的开源软件框架,旨在支持组合构建和管理。 为金融学生、计算机学生和具有编程经验的量化分析师建立QSToolKit。支持建模分析、回测分析和实盘交易。

  • quantitative介绍:quantitative是一个事件驱动和多功能的反向测试库。 用户可以用定量测试他们的交易模型。由于仍在开发中,谨慎使用。

  • analyzer介绍:用于实时金融数据收集、分析和开发交易策略的一个金融分析包。

  • bt介绍:bt是用于测试定量交易策略的Python的灵活的backtesting框架。 bt建立在ffn之上,封装了很多机器学习、信号处理和统计函数。bt的目的是建好轮子,让量化人员把重点放在策略开发上。

  • rqalpha 介绍:一款量化回测平台。

  • quantconnect 介绍:国外一款在线的量化回测平台。

  • backtrader介绍:一个功能丰富的Python测试和交易框架。backtrader能够让策略研究员专注于编写可重用的交易策略、指标和分析器,而不是花时间构建基础设施。理念类似bt.

  • pythalesians介绍:网上对这个量化分析包的介绍资料并不多。

  • pybacktest介绍:在Python 结合Pandas包的矢量化测试框架,旨在帮助宽客回测更容易、 紧凑、简单、快速。

  • pyalgotrade介绍:PyAlgoTrade是一个事件驱动的算法交易Python库。 尽管设计初衷是回溯测试,但现在已经可以实盘交易,并且包含比特币的交易。pyalgotrade-cn是国内版针对中国市场的开源量化包。

  • tradingWithPython介绍:从名字就可以看出,这是一个使用Python 来进行交易的一个量化分析包,使用它可以完成一系列金融量化教程的学习。

  • algobroker介绍:这是一个算法交易执行引擎。

  • pysentosa介绍:pysentosa是一个针对sentosa自动化交易系统的Python接口,作者Wu Fuheng

  • finmarketpy介绍:finmarketpy是一个基于Python的库,帮助你能够使用简单易用的API分析金融数据以及回测交易策略。

  • volatility-trading 基于Euan Sinclair的波动率交易的波动率估计器

  • quant 在这里收集了一些量化金融和算法交易的资料,大多数基于Quantopian、Zipline、Pandas的ipython notebook。

(3)风险分析

  • pyfolio介绍:组合投资和风险分析的库,是与zipline配合使用的一个组合风险分析工具。BigQuant平台可直接使用,已安装完成。

  • qrisk介绍:和pyfolio一样,也是配合zipline使用的,主要用来分析因子风险。

  • finance介绍:财务风险计算库,该项目的目的是提供易于使用的python代码进行财务风险计算。

  • qfrm介绍:定量金融风险管理,用于度量、管理和可视化投资组合风险的极好的OOP工具。

  • visualize-wealth介绍:投资组合构建与定量分析

  • VisualPortfolio介绍:用于可视化分析投资组合的工具

(4)时序分析

  • ARCH介绍:专门针对金融时间序列数据进行ARCH模型建模

  • statsmodels介绍:Python的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断

  • dynts介绍:对于时间序列分析和操作的库

  • PyFlux介绍:同样为时间序列模型库

(5)交易日历

  • tradingcalendar介绍:证券交易所交易日历的模块,配合zipline使用

  • bizdays介绍:工作日计算和建议实用程序

(6)数据源

  • findatapy介绍:通过Bloomberg,Quandl,Yahoo的交易数据

  • googlefinance介绍:通过Google金融api获得的实时股票数据

  • yahoo-finance介绍:从Yahoo获得股票数据

  • pandas-datareader介绍:从多个不同渠道(包括yahoo)获得的交易数据,配合Pandas包使用

  • pandas-finance介绍:获取和分析金融数据的api

  • yfinanceapi介绍:金融数据获取api

  • ystockquote介绍:yahoo金融的股票数据

  • wallstreet介绍:实时股票数据Wallstreet是一个用于监控和分析实时股票和期权数据的Python库。 数据由Google财经API提供,是一个提供特别简单的获取美股数据API的开源库。

  • stock_extractor介绍:该库提供了两个数据源,一个是Yahoo Finance,一个是http://Barchart.com**

  • Stockex介绍:用以获取yahoo金融数据的库

  • finsymbols介绍:能够获取来自AMEX、NYSE、NASDAQ等几大交易所的行情数据。

  • FRB介绍:FRED® API的客户端

  • inquisitor介绍:http://Econdb.com**是经济数据的汇总网站。inquisitor这个Python模块提供了一个围绕http://Econdb.com**的API的包装器,可以快速批量获取http://Econdb.com**数据。

  • chinesestockapi介绍:获取中国股票数据的python API

  • exchange介绍:获得当前汇率数据的API

  • ticks介绍:通过命令行获得交易Tick数据的库

  • pybbg介绍:Bloomberg的python接口,方便其用户快速获取数据

  • ccy介绍:一个用于货币的python模块。该模块编译一个货币对象字典,包含有用的财务分析信息。但并不是所有的货币都被支持,处于持续增加中。

  • tushare介绍:获取历史以及实时的中国股票数据,简单好用,但数据质量堪忧,而且不太稳定

  • jsm介绍:获取日本股票数据的一个API库

  • cn_stock_src介绍:获取中国股票数据的库,比较小众

  • coinmarketcap介绍:用于获取coinmarketcap数据的Python API

  • after-hours介绍:获得给定股票的历史数据和小时股票价格

  • bronto-python介绍:brontoAPI集成,bronto-python是一个python数据查询客户端

  • baostock介绍:数据由交易团队维护,数据质量高包含了A股2006年至今的日周月历史K线数据,而且包括前后复权;涵盖了熊市牛市的周期包含了A股2011年至今的5分钟、15分钟、30分钟、60分钟K线数据,没有门槛免费对外提供

(7)Excel集成

  • xlwings介绍:处理excel文件的库

  • openpyxl介绍:处理xlsx后缀格式文件的库

  • xlrd介绍:处理excel的库

  • xlsxwriter介绍:将数据写入到xlsx的库

  • xlwt介绍:创建可兼容的excel的库

  • ExcelPython介绍:处理excel的python库

  • pyxll介绍:处理excel的库