开发框架选型
编程语言
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的工具包。
交易和回测
- TA-Lib 32 介绍:TA-Lib的简称是Technical Analysis Library,主要功能是计算价格的技术分析指标。 是技术分析者和量化人员在策略开发中常用的量化分析包。
- easytrader 47 介绍:提供券银河/银河客户端/广发/湘财证券/雪球的基金、股票自动程序化交易以及自动打新,支持跟踪 模拟交易 和 实盘雪球组合, 量化交易组件。作者如果我说是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 8 介绍:用于实时金融数据收集、分析和开发交易策略的一个金融分析包。
- 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 12 介绍:从名字就可以看出,这是一个使用Python 来进行交易的一个量化分析包,使用它可以完成一系列金融量化教程的学习。
- algobroker 8 介绍:这是一个算法交易执行引擎。
- pysentosa 3 介绍:pysentosa是一个针对sentosa自动化交易系统的Python接口,作者Wu Fuheng
- finmarketpy 3 介绍:finmarketpy是一个基于Python的库,帮助你能够使用简单易用的API分析金融数据以及回测交易策略。
- volatility-trading 3 基于Euan Sinclair的波动率交易的波动率估计器
- quant 9 在这里收集了一些量化金融和算法交易的资料,大多数基于Quantopian、Zipline、Pandas的ipython notebook。
风险分析
- pyfolio 14 介绍:组合投资和风险分析的库,是与zipline配合使用的一个组合风险分析工具。
- qrisk 5 介绍:和pyfolio一样,也是配合zipline使用的,主要用来分析因子风险。
- finance 6 介绍:财务风险计算库,该项目的目的是提供易于使用的python代码进行财务风险计算。
- qfrm 6 介绍:定量金融风险管理,用于度量、管理和可视化投资组合风险的极好的OOP工具。
- visualize-wealth 6 介绍:投资组合构建与定量分析
- VisualPortfolio 6 介绍:用于可视化分析投资组合的工具
时序分析
- ARCH 8 介绍:专门针对金融时间序列数据进行ARCH模型建模
- statsmodels 介绍:Python的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断
- dynts 7 介绍:对于时间序列分析和操作的库
- PyFlux 4 介绍:同样为时间序列模型库
交易日历
- tradingcalendar 13 介绍:证券交易所交易日历的模块,配合zipline使用
- bizdays 2 介绍:工作日计算和建议实用程序
数据源
- 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集成
- xlwings 7 介绍:处理excel文件的库
- openpyxl 介绍:处理xlsx后缀格式文件的库
- xlrd 2 介绍:处理excel的库
- xlsxwriter 1 介绍:将数据写入到xlsx的库
- xlwt 介绍:创建可兼容的excel的库
- ExcelPython 5 介绍:处理excel的python库
- pyxll 3 介绍:处理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站点直接下载并汇总的高频交易数据
金融工具包
- RQuantLib 3 介绍:RQuantLib将GNU R与QuantLib连接起来。
- quantmod 6 介绍:定量金融建模框架。
-
Rmetrics 2 介绍:数字金融教学和培训的首要开源软件解决方案
-
fAsianOptions - EBM和亚洲期权估值
- fAssets 1 - 金融资产建模与分析
- fBasics 1 - 市场和基本统计分析
- fBonds - 债券和利率市场建模
- fExoticOptions - 异式期权
- fOptions -资产定价与评估
- fPortfolio 2 - 组合选择和组合优化的模块
- portfolio 2 介绍:权益资产(股票)分析的一个包
- portfolioSim 3 介绍:模拟股票投资组合策略构建的框架
- stockPortfolio 1 介绍:建立股票模型并分析股票投资组合
- financial 1 介绍:货币时间价值、现金流分析等财务功能
- sde 1 介绍:价格随机微分方程的模拟与推理
- termstrc 介绍:零息票收益率曲线估计
- YieldCurve 1 介绍:收益率曲线的建模和估计
- SmithWilsonYieldCurve - 介绍:通过Smith-Wilson方法从LIBOR和SWAP汇率表中构建收益率曲线
- ycinterextra 介绍:收益率曲线或零息票据的内插和外推
- opefimor 1 介绍:优化价格和金融模型估计
- maRketSim 1 介绍:金融市场模拟仿真的一个R包
- AmericanCallOpt 介绍:美国看涨期权定价的一个包
- VarSwapPrice 介绍:权益指数定价的方差互换
- RND 1 - 风险分析
- LSMonteCarlo 1 介绍:美国期权定价与最小二乘法蒙特卡罗方法
- OptHedging 1 介绍:看跌期权的定价和套期保值策略的估计
- tvm 1 介绍:货币功能的时间价值
- OptionPricing 介绍:有效模拟期权定价
- derivmkts 介绍:金融衍生品市场的R语言包
- FinCal 介绍:时间序列数据处理和金融分析
- r-quant 1 介绍:R语言实现的金融数据分析库
交易
- TA-Lib 32 介绍:对金融市场数据进行技术分析,运用非常广泛。
- backtest 6 介绍:backtest提供了探索有关金融工具(股票、债券、掉期、期权等)的投资组合构建,能够对多市场标的进行回测的交易包。
- pa 2 介绍:股权投资组合的绩效归因包。
- TTR 介绍:技术交易规则包。
- QuantTools 1 介绍:QuantTools全部在一个R包中,旨在增强量化交易策略建模。 它允许您从Yahoo、Google和IQFeed等多个来源下载和整理历史市场数据,并快速编写交易算法,具有强大的事件驱动处理API,包括交易成本和交换通信延迟,并将详细数据无缝转换为R代码。在几行代码中,您将能可视化地看到交易模型如何从bar数据到回测结果图。
风险分析
- PerformanceAnalytics 12 介绍:用于绩效归因和风险分析的计量经济学工具。
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
- QUANTAXIS 11 介绍:Matlab上集成的量化工具包
Julia
- QuantLib.jl 3 介绍:用Julia实现的Quantlib库。
- FinancialMarkets.jl 4 介绍:Julia的量化金融模型库。
- TALib.jl 4 介绍:TA-LIB的Julia版本,一个技术分析的量化库。
Java
- JQuantLib 26 介绍:纯java写的量化金融库,类似于Python的Quantlib
- finmat.net 11 介绍:数学金融库:与数学金融相关的算法和方法。
- quantcomponents 13 介绍:QuantComponents - 用于量化金融和算法交易的免费Java组件
- DRIP 10 介绍:固定收益、资产配置、交易成本分析的库
JavaScript
- QUANTAXIS_Visualziation 3 介绍:量化数据的可视化
- quantfin 4 介绍:haskell的量化金融库
- hqfl 2 介绍:Haskell的量化金融库
Scala
- QuantScale 12 介绍:Scala量化金融库
- IFTTT Stock Data Manipulator 4 介绍:Scala提供股票数据接口API的库
Ruby
- Jiji 2 介绍:Ruby的算法交易接口
框架
-
QuantLib 22 - QuantLib提供了一整套量化金融的接口
-
JQuantLib 26 - Java接口
- RQuantLib 3 - R语言接口
- QuantLibAddin 2 - Excel接口
- QuantLibXL 3 - Excel扩展
- QLNet - .Net接口
- PyQL 7 - Python接口
- QuantLib.jl 3 - Julia接口