AI量化知识树

每一个宽客都应该收藏的量化“利器”

由small_q创建,最终由qxiao 被浏览 634 用户

工欲善其事,必先利其器,本文精心整理了各大编程语言常用的量化分析工具,会用其中几个就应该可以在私募找到一份不错的量化工作,如果不想安装推荐 BigQuant 人工智能量化投资 一站式的Python+机器学习+量化投资平台,打开浏览器就可以开发算法策略。

欢迎大家补充~~~

编程语言

  1. Python
  2. R
  3. Matlab
  4. Julia
  5. Java
  6. JavaScript
  7. Scala
  8. Ruby
  9. Frameworks

Python

  • numpy 7介绍:一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
  • scipy 3介绍:SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包。它包括统计、优化、线性代数、傅里叶变换、信号和图像处理、常微分方程求解等等。
  • pandas 4介绍:Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
  • quantdsl 16介绍: quantdsl包是Quant DSL语法在Python中的一个实现。Quant DSL 是财务定量分析领域专用语言,也是对衍生工具进行建模的功能编程语言。Quant DSL封装了金融和交易中使用的模型(比如市场动态模型、最小二乘法、蒙特卡罗方法、货币的时间价值)。
  • statistics 2介绍:python内建的统计库,该库提供用于计算数值数据的数学统计的功能。
  • PyQL 7介绍: PyQL构建在Cython之上,并在QuantLib之上创建一个很浅的Pythonic层,是对QuantLib的一个包装,并利用Cython更好的性能。
  • pyfin 47介绍:针对于中国市场的Pandas定量投资金融工具包
  • vollib 10介绍:Vollib是用于计算期权价格、隐含波动率的纪念日工具包。能够非常快速和准确的技术来获得期权的隐含波动率。
  • QuantPy 12介绍:python量化金融框架。目前还是一个alpha版本,可以从雅虎网站获取每日收益的投资组合类。计算夏普比率和有效边界,并实现投资组合优化。
  • Finance-Python 21介绍:纯python实现的金融计算库,目标是提供进行量化交易必要的工具,包括但不限于:定价分析工具、技术分析指标。其中部分实现参考了quantlib。
  • ffn 18介绍:ffn是一个专门为从事量化金融工作的人们提供金融数据分析功能的python包。 它位于重量级包(Pandas,Numpy,Scipy等)的基础上,并提供了广泛的功能模块,包括性能测量、图形可视化和数据转换。
  • pynance 12介绍:PyNance是用于从股票和衍生品市场检索、分析和可视化数据的开源软件。 比较特别的是它能够用于生成机器学习算法的特征和标签的工具。
  • tia 7介绍:TIA是针对彭博数据库设置的,它提供bloomberg数据访问、更简便的pdf文档生成、回溯测试功能、技术分析功能、收益率分析和几个常用的Windows utils的工具包。

交易和回测

  • BigQuant 37介绍:人工智能量化交易平台,拥有丰富的金融数据,可直接使用90%的主流机器学习/ 深度学习Python包。
  • TA-Lib 33介绍:TA-Lib的简称是Technical Analysis Library,主要功能是计算价格的技术分析指标。 是技术分析者和量化人员在策略开发中常用的量化分析包。
  • easytrader 48介绍:提供券银河/银河客户端/广发/湘财证券/雪球的基金、股票自动程序化交易以及自动打新,支持跟踪 模拟交易 和 实盘雪球组合, 量化交易组件。作者如果我说是90后,你敢信?
  • vnpy 30介绍:vn.py - 基于python的开源交易平台开发框架,在github上是一个比较火的项目,目前对接的交易接口特别丰富,无论是股票接口还是期货接口。
  • 实盘易 40介绍:实盘易(ShiPanE)Python SDK,通达信自动化交易 API 及量化平台。
  • easyquotation 23介绍:实时获取新浪 / Leverfun 的免费股票以及 level2 十档行情 / 集思路的分级基金行情, 很小,但非常实用。
  • pyalgotrade-cn 16介绍:Pyalgotrade-cn 在原版的基础上加入了A股历史行情回测,并整合了tushare提供实时行情。以便大家对自己的策略进行回测和模拟测试。这个项目提供了比特币的交易接口。
  • pyktrader 11 基于pyctp接口,并采用vnpy的eventEngine,使用tkinter作为GUI的python交易平台
  • trade 6介绍:trade是金融应用的一个包。 它主要是用于分析主题投资和事件驱动策略。 主题代表可以交易的任何东西,而事件则代表影响一个或多个主题的任何内容,如证券交易所政策或股票分割。它是针对与金融市场有关的任何一种主题和事件进行开发的投资工具包。
  • zipline 19介绍:一个事件驱动股票策略量化回测框架,由Quantopian开源,目前国内的很多Python编程语言的在线量化回测平台都是以zipline为模板开发应用的。
  • QuantSoftware Toolkit 10介绍:QSToolKit(QSTK)是一个基于Python的开源软件框架,旨在支持组合构建和管理。 为金融学生、计算机学生和具有编程经验的量化分析师建立QSToolKit。支持建模分析、回测分析和实盘交易。
  • quantitative 2介绍:quantitative是一个事件驱动和多功能的反向测试库。 用户可以用定量测试他们的交易模型。由于仍在开发中,谨慎使用。
  • analyzer 9介绍:用于实时金融数据收集、分析和开发交易策略的一个金融分析包。
  • bt 22介绍:bt是用于测试定量交易策略的Python的灵活的backtesting框架。 bt建立在ffn之上,封装了很多机器学习、信号处理和统计函数。bt的目的是建好轮子,让量化人员把重点放在策略开发上。
  • rqalpha 7 介绍:一款量化回测平台。
  • quantconnect 10 介绍:国外一款在线的量化回测平台。
  • backtrader 20介绍:一个功能丰富的Python测试和交易框架。backtrader能够让策略研究员专注于编写可重用的交易策略、指标和分析器,而不是花时间构建基础设施。理念类似bt.
  • pythalesians介绍:网上对这个量化分析包的介绍资料并不多。
  • pybacktest 15介绍:在Python 结合Pandas包的矢量化测试框架,旨在帮助宽客回测更容易、 紧凑、简单、快速。
  • pyalgotrade 6介绍:PyAlgoTrade是一个事件驱动的算法交易Python库。 尽管设计初衷是回溯测试,但现在已经可以实盘交易,并且包含比特币的交易。pyalgotrade-cn是国内版针对中国市场的开源量化包。
  • tradingWithPython 13介绍:从名字就可以看出,这是一个使用Python 来进行交易的一个量化分析包,使用它可以完成一系列金融量化教程的学习。
  • algobroker 9介绍:这是一个算法交易执行引擎。
  • pysentosa 3介绍:pysentosa是一个针对sentosa自动化交易系统的Python接口,作者Wu Fuheng
  • finmarketpy 3介绍:finmarketpy是一个基于Python的库,帮助你能够使用简单易用的API分析金融数据以及回测交易策略。
  • volatility-trading 3 基于Euan Sinclair的波动率交易的波动率估计器
  • quant 10 在这里收集了一些量化金融和算法交易的资料,大多数基于Quantopian、Zipline、Pandas的ipython notebook。

风险分析

  • pyfolio 15介绍:组合投资和风险分析的库,是与zipline配合使用的一个组合风险分析工具。BigQuant平台可直接使用,已安装完成。
  • qrisk 5介绍:和pyfolio一样,也是配合zipline使用的,主要用来分析因子风险。
  • finance 6介绍:财务风险计算库,该项目的目的是提供易于使用的python代码进行财务风险计算。
  • qfrm 6介绍:定量金融风险管理,用于度量、管理和可视化投资组合风险的极好的OOP工具。
  • visualize-wealth 6介绍:投资组合构建与定量分析
  • VisualPortfolio 7介绍:用于可视化分析投资组合的工具

时序分析

  • ARCH 8介绍:专门针对金融时间序列数据进行ARCH模型建模
  • statsmodels介绍:Python的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断
  • dynts 7介绍:对于时间序列分析和操作的库
  • PyFlux 4介绍:同样为时间序列模型库

交易日历

数据源

  • findatapy 7介绍:通过Bloomberg,Quandl,Yahoo的交易数据
  • googlefinance 7介绍:通过Google金融api获得的实时股票数据
  • yahoo-finance 6介绍:从Yahoo获得股票数据
  • pandas-datareader 5介绍:从多个不同渠道(包括yahoo)获得的交易数据,配合Pandas包使用
  • pandas-finance 4介绍:获取和分析金融数据的api
  • yfinanceapi 3介绍:金融数据获取api
  • ystockquote 1介绍:yahoo金融的股票数据
  • wallstreet 7介绍:实时股票数据Wallstreet是一个用于监控和分析实时股票和期权数据的Python库。 数据由Google财经API提供,是一个提供特别简单的获取美股数据API的开源库。
  • stock_extractor 1介绍:该库提供了两个数据源,一个是Yahoo Finance,一个是http://Barchart.com 3
  • Stockex 2介绍:用以获取yahoo金融数据的库
  • finsymbols 1介绍:能够获取来自AMEX、NYSE、NASDAQ等几大交易所的行情数据。
  • FRB介绍:FRED® API的客户端
  • inquisitor介绍:http://Econdb.com 4是经济数据的汇总网站。inquisitor这个Python模块提供了一个围绕http://Econdb.com 4的API的包装器,可以快速批量获取http://Econdb.com 4数据。
  • chinesestockapi 21介绍:获取中国股票数据的python API
  • exchange 2介绍:获得当前汇率数据的API
  • ticks 6介绍:通过命令行获得交易Tick数据的库
  • pybbg 3介绍:Bloomberg的python接口,方便其用户快速获取数据
  • ccy介绍:一个用于货币的python模块。该模块编译一个货币对象字典,包含有用的财务分析信息。但并不是所有的货币都被支持,处于持续增加中。
  • tushare 6介绍:获取历史以及实时的中国股票数据,简单好用,但数据质量堪忧,而且不太稳定
  • jsm介绍:获取日本股票数据的一个API库
  • cn_stock_src 6介绍:获取中国股票数据的库,比较小众
  • coinmarketcap介绍:用于获取coinmarketcap数据的Python API
  • after-hours介绍:获得给定股票的历史数据和小时股票价格
  • bronto-python介绍:brontoAPI集成,bronto-python是一个python数据查询客户端

Excel集成

R

  • xts 1介绍:xts是对时间序列数据(zoo)的一种扩展实现,目标是为了统一时间序列的操作接口。实际上,xts类型继承了zoo类型,丰富了时间序列数据处理的函数,API定义更贴近使用者,更实用,更简单!
  • data.table 1介绍:data.table继承于data.frame。它提供了一个快速通道,让我们能更加快速的读取文件,对数据进行筛选、分组、排序、联表,而且其语法灵活、简介。由于data.table是一个data.frame所以它几乎兼容所有的函数。
  • TSdbi 1介绍:提供了一个时间序列数据库的接口
  • tseries 2介绍:时间序列分析和金融数据分析出来的包
  • its 1介绍:不规则时间序列数据分析的包
  • zoo 2介绍:zoo是一个R语言类库,zoo类库中定义了一个名为zoo的S3类型对象,用于描述规则的和不规则的有序的时间序列数据。zoo对象是一个独立的对象,包括索引、日期、时间,只依赖于基础的R环境,zooreg对象继承了zoo对象,只能用于规则的的时间序列数据。
  • tis 1介绍:专门针对带时间戳数据的分析的包
  • tfplot 1介绍:数据操作和快速的时间序列可视化的包
  • tframe介绍:时间序列数据操作包

数据包

  • IBrokers 2介绍:提供本地R访问Interactive Brokers Trader的一个接口。
  • Rblpapi 1介绍:Bloomberg的基于R语言的数据接口
  • Quandl 1介绍:获得金融数据的R包
  • Rbitcoin 2介绍:统一市场API接口(包括bitstamp、kraken、btce、bitmarket)。
  • GetTDData介绍:直接从Tesouro Direto网站下载并汇总巴西政府发行债券的数据。
  • GetHFData 1介绍:从Bovespa ftp站点直接下载并汇总的高频交易数据

金融工具包

交易

  • TA-Lib 33介绍:对金融市场数据进行技术分析,运用非常广泛。
  • backtest 7介绍:backtest提供了探索有关金融工具(股票、债券、掉期、期权等)的投资组合构建,能够对多市场标的进行回测的交易包。
  • pa 2介绍:股权投资组合的绩效归因包。
  • TTR 1介绍:技术交易规则包。
  • QuantTools 1介绍:QuantTools全部在一个R包中,旨在增强量化交易策略建模。 它允许您从Yahoo、Google和IQFeed等多个来源下载和整理历史市场数据,并快速编写交易算法,具有强大的事件驱动处理API,包括交易成本和交换通信延迟,并将详细数据无缝转换为R代码。在几行代码中,您将能可视化地看到交易模型如何从bar数据到回测结果图。

风险分析

Time Series

  • tseries 2介绍:时间序列处理和金融分析的一个R包,开篇的第一个例子就是单位根检验。
  • zoo 2介绍: 一个S3类,特别针对不规律的时间序列数字向量/矩阵建模。zoo包设计目标是为独立的特定索引/日期/时间类提供扩展方法保持与ts和base R的一致性
  • xts 1介绍:通过扩展zoo包来提供对R不同时间数据类型的统一处理,并允许用户定制和扩展,同时简化跨类互操作性。
  • fGarch介绍:自回归条件异方差建模的一个包,这个包定位比较精专。
  • timeSeries 1介绍:如名字所示,金融工程与计算金融环境,管理金融时间序列数据对象。
  • rugarch 2介绍:提供ARFIMA、in-mean, external regressors 等各种GARCH模型,数理知识要求比较高,很多函数理解起来很困难。

交易日历

  • timeDate 1介绍:timeDate不仅提供日期和时间功能,而且还提供复杂的工作日、周末、节假日和教会假期的日历操作。
  • bizdays介绍:在许多国家,价格衍生品和固定收益工具的定价涉及到使用工作日。例如,在巴西,绝大多数的金融机构都是按照营业日计数规则定价。bizdays的目的是使日期计算更加简单。

Matlab

Julia

Java

  • JQuantLib 26介绍:纯java写的量化金融库,类似于Python的Quantlib
  • finmat.net 11介绍:数学金融库:与数学金融相关的算法和方法。
  • quantcomponents 13介绍:QuantComponents - 用于量化金融和算法交易的免费Java组件
  • DRIP 10介绍:固定收益、资产配置、交易成本分析的库

JavaScript

Scala

Ruby

  • Jiji 2介绍:Ruby的算法交易接口

框架

欢迎补充。

文中提供的网页链接,均来自于网络,如有问题,请站内告知。

标签

量化投资Python机器学习
{link}