史上最全的Python定量金融三方库汇总

Python在定量金融领域的应用非常广泛,从衍生品定价到量化交易,Python社区提供了大量解决问题的工具。
本文汇总了定量金融的大量三方库,按功能进行分类,覆盖数值运算,衍生品定价,回溯检验,风险管理,数据爬取,可视化等多个子领域,供每个Python程序员参考。
不要重复造轮子,明确要解决的问题,然后寻找相应的工具。很多著名的包如Numpy,Pandas,Seaborn,backtrader等已经被证明高度有效,即便没有找到符合应用场景的包,类似的工具也能够为创建自己的解决方案提供参考。

内容来源于Github项目《Awesome Quant》,由Wilson Freitas创作,蜂鸟数据团队翻译并进一步补充,项目链接:Awesome Quant

科学运算和数据结构

  • numpy - 进行数值运算的基础包,scipy和numpy令Python进行有效的矩阵运算成为可能

  • scipy - 科学计算生态系统,广泛应用于数学,物理学和工程学等自然科学领域

  • pandas - 提供了高性能的数据结构和数据分析工具

  • quantdsl - 金融/交易领域进行定量分析的领域特定语言

  • statistics - 进行基础统计运算

  • sympy - 专门用于符号数学

  • pymc3 - 用Python实现概率编程,贝叶斯建模,用Theano实现概率机器学习

金融工具和定价

  • PyQL - Quantlib的Python接口

  • pyfin - 期权定价

  • vollib - 计算期权价格,隐含波动率和希腊值

  • QuantPy - 定量金融分析

  • Finance-Python - 定量金融分析

  • ffn - 拓展Pandas,提供一系列函数进行基础的量化分析

  • pynance - 获取股票和衍生品市场的数据,分析和可视化

  • hasura/base-python-dash - 快速入门部署Dash应用,Dash基于Flask,Plotly.js和React.js,允许用户用纯Python快速搭建强大的数据科学网页App

  • hasura/base-python-bokeh - 如何用Bokeh实现数据可视化

  • pysabr - 用Python实现SABR模型

技术指标

  • pandas_talib - 整合Pandas和Talib,用pandas计算技术指标

  • finta - 用Pandas计算常见的技术指标

  • Tulipy - 技术指标库(tulipindicators的Python绑定)

量化交易/回溯检验

  • TA-Lib - 计算技术指标,跟Numpy深度整合

  • trade - 用于开发金融应用的基础包

  • zipline - 强大的回溯检验框架,被很多量化交易平台作为底层技术,包括Qauntopian, 聚宽等

  • QuantSoftware Toolkit - 创建和管理投资组合

  • quantitative - 定量金融的基础工具,回溯检验

  • analyzer - 接收实时报价并回溯检验

  • bt - 回溯检验框架,比Zipline更灵活

  • backtrader - 回溯检验框架,支持实盘交易,过去几年快速崛起,已成为最流行的量化工具之一

  • pythalesians - 回溯检验框架

  • pybacktest - 向量化回溯检验框架,向量化允许进行快速的回溯,但检验精度不高

  • pyalgotrade - 回溯检验框架

  • tradingWithPython - 提供一系列函数和自定义类来管理量化交易

  • Pandas TA - 拓展Pandas,包含115种技术指标,快速创建交易策略

  • ta - 用Pandas计算技术指标

  • algobroker - 算法交易的部署引擎

  • pysentosa - sentosa交易系统的Python接口

  • finmarketpy - 分析市场数据,支持简单回溯检验

  • binary-martingale - 自动化交易程序,用马丁格尔策略交易二元期权

  • fooltrader - 利用大数据技术进行量化分析,包含回溯检验

  • zvt - 提供统一和灵活的方式来获取数据,计算因子,选股,回溯检验和实盘交易

  • pylivetrader - 兼容zipline的实时交易库

  • pipeline-live - zipline扩展库,用于实盘交易

  • zipline-extensions - Zipline扩展,适配QuantRocket

  • moonshot - 向量化回溯检验和交易引擎

  • PyPortfolioOpt - 金融投资组合优化,包括创建有效边界和其它高级算法

  • riskparity.py - 用TensorFlow设计风险平价投资组合

  • mlfinlab - 《金融机器学习应用》一书的实现

  • pyqstrat - 快速地回测交易策略

  • pinkfish - 证券分析

  • aat - 异步算法交易引擎

  • Backtesting.py - 回溯检验框架

  • catalyst - 回溯检验框架,专门用于数字货币市场

  • quantstats - 投资组合分析

  • qtpylib - 回溯检验框架,支持实盘交易

  • freqtrade - 开源数字货币交易机器人

  • algorithmic-trading-with-python - 《Python算法交易》一书的源码和数据

  • DeepDow - 用深度学习优化投资组合

风险分析

  • pyfolio - 计算投资组合和交易策略的业绩指标

  • empyrical - 计算常用的风险和业绩指标

  • fecon235 - 金融计量经济工具包,包括leptokurtotic风险高斯混合模型,自适应Boltzmann投资组合

  • finance - 计算金融风险

  • qfrm - 定量金融风险管理

  • visualize-wealth - 构建投资组合和定量分析

  • VisualPortfolio - 可视化投资组合表现

因子分析

  • alphalens - 分析预测性因子的表现

时间序列

  • ARCH - Python实现ARCH模型

  • statsmodels - 计量经济模型库,用于创建回归模型,统计检验,时序模型

  • dynts - 操纵和分析时间序列

  • PyFlux - 时间序列模型和因果推断

  • tsfresh - 从时间序列中提取有意义的特征

  • hasura/quandl-metabase - 可视化Quandl的时间序列数据集

日历

  • trading_calendars - 股票交易所财经日历

  • bizdays - 工作日计算和效用工具

  • pandas_market_calendars - 拓展Pandas,股票交易所财经日历

数据源

  • findatapy - 获取彭博终端,Quandl和雅虎财经的数据

  • googlefinance - 从谷歌财经获取实时股票价格

  • yahoo-finance - 从雅虎财经下载股票报价,历史价格,产品信息和财务报表

  • pandas-datareader - 从多个数据源获取经济/金融时间序列,包括谷歌财经,雅虎财经,圣路易斯联储(FRED),OECD, Fama/French,世界银行,欧元区统计局等,是Pandas生态系统的重要组成

  • pandas-finance - 提供高级接口下载和分析金融时间序列

  • pyhoofinance - 从雅虎财经批量获取股票数据

  • yfinanceapi - 从雅虎财经获取数据

  • yql-finance - 从雅虎财经获取数据

  • ystockquote - 从雅虎财经获取实时报价

  • wallstreet - 实时股票和期权报价

  • stock_extractor - 从网络上爬取股票信息

  • Stockex - 从雅虎财经获取数据

  • finsymbols - 获取全美证券交易所,纽约证券交易所和纳斯达克上市公司的详细数据

  • inquisitor - 从Econdb获取经济数据,Econdb是全球经济指标聚合器

  • chinesestockapi - 获取A股数据

  • exchange - 获取最新的汇率报价

  • ticks - 命令行程序,获取股票报价

  • pybbg - 彭博终端COM的Python接口

  • ccy - 获取外汇数据

  • tushare - 获取中国股票,基金,债券和期货市场的历史数据

  • jsm - 获取日本股票市场的历史数据

  • cn_stock_src - 从不同数据源获取中国的股票数据

  • coinmarketcap - 从coinmarketcap获取数字货币数据

  • after-hours - 获取美股盘前和盘后的市场价格

  • bronto-python - 整合Bronto API接口

  • pytdx - 获取中国国内股票的实时报价

  • pdblp - 整合Pandas和彭博终端的公共接口

  • tiingo - 从Tiingo平台获取股票日K线和实时报价/新闻流

  • IEX - 从IEX交易所获取股票的实时报价和历史数据

  • alpaca-trade-api - 从Alpaca平台获取股票实时报价和历史数据,并提供交易接口交易美股

  • metatrader5 - 集成Python和MQL5交易平台,适合外汇交易

  • akshare - 获取中国股票,基金,债券和宏观经济数据

  • yahooquery - 从雅虎财经获取数据

  • investpy - 从英为财经(Investing.com)获取数据

  • yliveticker - 从雅虎财经通过Websocket获取实时报价

蜂鸟数据是开源金融数据库,与上面罗列的工具相比,我们的优势在于提供了高度统一的API接口(REST API和Websocket),让每个人都可以免费获取金融数据,覆盖沪深A股,港股,美股,期货,外汇和数字货币市场,包含实时报价和历史数据,适合数据分析,量化交易和理财App等应用场景。

感兴趣的小伙伴请浏览我们的文档:蜂鸟数据API接口

Excel集成

  • xlwings - 深度整合Python和Excel

  • openpyxl - 读取/写入Excel 2007 xlsx/xlsm文件

  • xlrd - 从Excel电子表格提取数据

  • xlsxwriter - 将数据写入Excel电子表格

  • xlwt - 创建跨平台和向后兼容的电子表格

  • DataNitro - 深度整合Python和Excel,可免费试用,商业付费软件

  • xlloop - 创建Excel用户自定义函数

  • expy - Excel插件,允许用户从电子表格中执行Python代码和定义自定义函数

  • pyxll - Excel插件,从Excel中执行Python代码

可视化

  • Matplotlib - Python数据可视化的基础包,从二维图表到三维图表

  • Seaborn - 基于Matplotlib,快速创建美观的统计图表

  • Plotly - 创建动态和交互式的图表

  • Altair - 统计可视化工具,同时支持静态和交互式图表

  • D-Tale - 可视化Pandas数据结构

喜欢我们的文章就点赞和收藏吧,我们将继续创作数据科学和量化交易的精品内容。

蜂鸟数据:开源金融数据接口,一个API连接世界金融市场。

蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个强大的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。

浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。

需要金融数据?利用蜂鸟API将数据整合到您的应用

如果您准备好了,请登录蜂鸟官网,注册免费获取API密钥,然后开始探索我们的金融数据库吧。

你可能感兴趣的:(技术杂谈,python,量化,python,大数据,算法,机器学习)