来源: 网络
本文汇总了定量金融的大量三方库,按功能进行分类,覆盖数值运算,衍生品定价,回溯检验,风险管理,数据爬取,可视化等多个子领域,供每个Python程序员参考。
不要重复造轮子,明确要解决的问题,然后寻找相应的工具。很多著名的包如Numpy,Pandas,Seaborn,backtrader等已经被证明高度有效,即便没有找到符合应用场景的包,类似的工具也能够为创建自己的解决方案提供参考。
内容来源于Github项目《Awesome Quant》,由Wilson Freitas创作 ,项目链接:Awesome Quant[1]
科学运算和数据结构
numpy[2] - 进行数值运算的基础包,scipy和numpy令Python进行有效的矩阵运算成为可能
scipy[3] - 科学计算生态系统,广泛应用于数学,物理学和工程学等自然科学领域
pandas[4] - 提供了高性能的数据结构和数据分析工具
quantdsl[5] - 金融/交易领域进行定量分析的领域特定语言
statistics[6] - 进行基础统计运算
sympy[7] - 专门用于符号数学
pymc3[8] - 用Python实现概率编程,贝叶斯建模,用Theano实现概率机器学习
金融工具和定价
PyQL[9] - Quantlib的Python接口
pyfin[10] - 期权定价
vollib[11] - 计算期权价格,隐含波动率和希腊值
QuantPy[12] - 定量金融分析
Finance-Python[13] - 定量金融分析
ffn[14] - 拓展Pandas,提供一系列函数进行基础的量化分析
pynance[15] - 获取股票和衍生品市场的数据,分析和可视化
hasura/base-python-dash[16] - 快速入门部署Dash应用,Dash基于Flask,Plotly.js和React.js,允许用户用纯Python快速搭建强大的数据科学网页App
hasura/base-python-bokeh[17] - 如何用Bokeh实现数据可视化
pysabr[18] - 用Python实现SABR模型
技术指标
pandas_talib[19] - 整合Pandas和Talib,用pandas计算技术指标
finta[20] - 用Pandas计算常见的技术指标
Tulipy[21] - 技术指标库(tulipindicators的Python绑定)
量化交易/回溯检验
TA-Lib[22] - 计算技术指标,跟Numpy深度整合
trade[23] - 用于开发金融应用的基础包
zipline[24] - 强大的回溯检验框架,被很多量化交易平台作为底层技术,包括Qauntopian, 聚宽等
QuantSoftware Toolkit[25] - 创建和管理投资组合
quantitative[26] - 定量金融的基础工具,回溯检验
analyzer[27] - 接收实时报价并回溯检验
bt[28] - 回溯检验框架,比Zipline更灵活
backtrader[29] - 回溯检验框架,支持实盘交易,过去几年快速崛起,已成为最流行的量化工具之一
pythalesians[30] - 回溯检验框架
pybacktest[31] - 向量化回溯检验框架,向量化允许进行快速的回溯,但检验精度不高
pyalgotrade[32] - 回溯检验框架
tradingWithPython[33] - 提供一系列函数和自定义类来管理量化交易
Pandas TA[34] - 拓展Pandas,包含115种技术指标,快速创建交易策略
ta[35] - 用Pandas计算技术指标
algobroker[36] - 算法交易的部署引擎
pysentosa[37] - sentosa交易系统的Python接口
finmarketpy[38] - 分析市场数据,支持简单回溯检验
binary-martingale[39] - 自动化交易程序,用马丁格尔策略交易二元期权
fooltrader[40] - 利用大数据技术进行量化分析,包含回溯检验
zvt[41] - 提供统一和灵活的方式来获取数据,计算因子,选股,回溯检验和实盘交易
pylivetrader[42] - 兼容zipline的实时交易库
pipeline-live[43] - zipline扩展库,用于实盘交易
zipline-extensions[44] - Zipline扩展,适配QuantRocket
moonshot[45] - 向量化回溯检验和交易引擎
PyPortfolioOpt[46] - 金融投资组合优化,包括创建有效边界和其它高级算法
riskparity.py[47] - 用TensorFlow设计风险平价投资组合
mlfinlab[48] - 《金融机器学习应用》一书的实现
pyqstrat[49] - 快速地回测交易策略
pinkfish[50] - 证券分析
aat[51] - 异步算法交易引擎
Backtesting.py[52] - 回溯检验框架
catalyst[53] - 回溯检验框架,专门用于数字货币市场
quantstats[54] - 投资组合分析
qtpylib[55] - 回溯检验框架,支持实盘交易
freqtrade[56] - 开源数字货币交易机器人
algorithmic-trading-with-python[57] - 《Python算法交易》一书的源码和数据
DeepDow[58] - 用深度学习优化投资组合
风险分析
pyfolio[59] - 计算投资组合和交易策略的业绩指标
empyrical[60] - 计算常用的风险和业绩指标
fecon235[61] - 金融计量经济工具包,包括leptokurtotic风险高斯混合模型,自适应Boltzmann投资组合
finance[62] - 计算金融风险
qfrm[63] - 定量金融风险管理
visualize-wealth[64] - 构建投资组合和定量分析
VisualPortfolio[65] - 可视化投资组合表现
因子分析
alphalens[66] - 分析预测性因子的表现
时间序列
ARCH[67] - Python实现ARCH模型
statsmodels[68] - 计量经济模型库,用于创建回归模型,统计检验,时序模型
dynts[69] - 操纵和分析时间序列
PyFlux[70] - 时间序列模型和因果推断
tsfresh[71] - 从时间序列中提取有意义的特征
hasura/quandl-metabase[72] - 可视化Quandl的时间序列数据集
日历
trading_calendars[73] - 股票交易所财经日历
bizdays[74] - 工作日计算和效用工具
pandas_market_calendars[75] - 拓展Pandas,股票交易所财经日历
数据源
findatapy[76] - 获取彭博终端,Quandl和雅虎财经的数据
googlefinance[77] - 从谷歌财经获取实时股票价格
yahoo-finance[78] - 从雅虎财经下载股票报价,历史价格,产品信息和财务报表
pandas-datareader[79] - 从多个数据源获取经济/金融时间序列,包括谷歌财经,雅虎财经,圣路易斯联储(FRED),OECD, Fama/French,世界银行,欧元区统计局等,是Pandas生态系统的重要组成
pandas-finance[80] - 提供高级接口下载和分析金融时间序列
pyhoofinance[81] - 从雅虎财经批量获取股票数据
yfinanceapi[82] - 从雅虎财经获取数据
yql-finance[83] - 从雅虎财经获取数据
ystockquote[84] - 从雅虎财经获取实时报价
wallstreet[85] - 实时股票和期权报价
stock_extractor[86] - 从网络上爬取股票信息
Stockex[87] - 从雅虎财经获取数据
finsymbols[88] - 获取全美证券交易所,纽约证券交易所和纳斯达克上市公司的详细数据
inquisitor[89] - 从Econdb获取经济数据,Econdb是全球经济指标聚合器
chinesestockapi[90] - 获取A股数据
exchange[91] - 获取最新的汇率报价
ticks[92] - 命令行程序,获取股票报价
pybbg[93] - 彭博终端COM的Python接口
ccy[94] - 获取外汇数据
tushare[95] - 获取中国股票,基金,债券和期货市场的历史数据
jsm[96] - 获取日本股票市场的历史数据
cn_stock_src[97] - 从不同数据源获取中国的股票数据
coinmarketcap[98] - 从coinmarketcap获取数字货币数据
after-hours[99] - 获取美股盘前和盘后的市场价格
bronto-python[100] - 整合Bronto API接
pytdx[101] - 获取中国国内股票的实时报价
pdblp[102] - 整合Pandas和彭博终端的公共接口
tiingo[103] - 从Tiingo平台获取股票日K线和实时报价/新闻流
IEX[104] - 从IEX交易所获取股票的实时报价和历史数据
alpaca-trade-api[105] - 从Alpaca平台获取股票实时报价和历史数据,并提供交易接口交易美股
metatrader5[106] - 集成Python和MQL5交易平台,适合外汇交易
akshare[107] - 获取中国股票,基金,债券和宏观经济数据
yahooquery[108] - 从雅虎财经获取数据
investpy[109] - 从英为财经(Investing.com)获取数据
yliveticker[110] - 从雅虎财经通过Websocket获取实时报价
Excel集成
xlwings[111] - 深度整合Python和Excel
openpyxl[112] - 读取/写入Excel 2007 xlsx/xlsm文件
xlrd[113] - 从Excel电子表格提取数据
xlsxwriter[114] - 将数据写入Excel电子表格
xlwt[115] - 创建跨平台和向后兼容的电子表格
DataNitro[116] - 深度整合Python和Excel,可免费试用,商业付费软件
xlloop[117] - 创建Excel用户自定义函数
expy[118] - Excel插件,允许用户从电子表格中执行Python代码和定义自定义函数
pyxll[119] - Excel插件,从Excel中执行Python代码
可视化
Matplotlib[120] - Python数据可视化的基础包,从二维图表到三维图表
Seaborn[121] - 基于Matplotlib,快速创建美观的统计图表
Plotly[122] - 创建动态和交互式的图表
Altair[123] - 统计可视化工具,同时支持静态和交互式图表
D-Tale[124] - 可视化Pandas数据结构。
地址链接
[1]
Awesome Quant: https//github.com/wilsonfreitas/awesome-quant
[2]numpy: https//www.numpy.org/
[3]scipy: https//www.scipy.org/
[4]pandas: https//pandas.pydata.org/
[5]quantdsl: https//github.com/johnbywater/quantdsl
[6]statistics: https//docs.python.org/3/library/statistics.html
[7]sympy: https//www.sympy.org/
[8]pymc3: https//docs.pymc.io/
[9]PyQL: https//github.com/enthought/pyql
[10]pyfin: https//github.com/opendoor-labs/pyfin
[11]vollib: https//github.com/vollib/vollib
[12]QuantPy: https//github.com/jsmidt/QuantPy
[13]Finance-Python: https//github.com/alpha-miner/Finance-Python
[14]ffn: https//github.com/pmorissette/ffn
[15]pynance: https//pynance.net/
[16]hasura/base-python-dash: https//platform.hasura.io/hub/projects/hasura/base-python-dash
[17]hasura/base-python-bokeh: https//platform.hasura.io/hub/projects/hasura/base-python-bokeh
[18]pysabr: https//github.com/ynouri/pysabr
[19]pandas_talib: https//github.com/femtotrader/pandas_talib
[20]finta: https//github.com/peerchemist/finta
[21]Tulipy: https//github.com/cirla/tulipy
[22]TA-Lib: https//ta-lib.org/
[23]trade: https//github.com/rochars/trade
[24]zipline: https//www.zipline.io/
[25]QuantSoftware Toolkit: https//github.com/QuantSoftware/QuantSoftwareToolkit
[26]quantitative: https//github.com/jeffrey-liang/quantitative
[27]analyzer: https//github.com/llazzaro/analyzer
[28]bt: https//github.com/pmorissette/bt
[29]backtrader: https//github.com/backtrader/backtrader
[30]pythalesians: https//github.com/thalesians/pythalesians
[31]pybacktest: https//github.com/ematvey/pybacktest
[32]pyalgotrade: https//github.com/gbeced/pyalgotrade
[33]tradingWithPython: https//pypi.org/project/tradingWithPython/
[34]Pandas TA: https//github.com/twopirllc/pandas-ta
[35]ta: https//github.com/bukosabino/ta
[36]algobroker: https//github.com/joequant/algobroker
[37]pysentosa: https//pypi.org/project/pysentosa/
[38]finmarketpy: https//github.com/cuemacro/finmarketpy
[39]binary-martingale: https//github.com/metaperl/binary-martingale
[40]fooltrader: https//github.com/foolcage/fooltrader
[41]zvt: https//github.com/zvtvz/zvt
[42]pylivetrader: https//github.com/alpacahq/pylivetrader
[43]pipeline-live: https//github.com/alpacahq/pipeline-live
[44]zipline-extensions: https//github.com/quantrocket-llc/zipline-extensions
[45]moonshot: https//github.com/quantrocket-llc/moonshot
[46]PyPortfolioOpt: https//github.com/robertmartin8/PyPortfolioOpt
[47]riskparity.py: https//github.com/dppalomar/riskparity.py
[48]mlfinlab: https//github.com/hudson-and-thames/mlfinlab
[49]pyqstrat: https//github.com/abbass2/pyqstrat
[50]pinkfish: https//github.com/fja05680/pinkfish
[51]aat: https//github.com/timkpaine/aat
[52]Backtesting.py: https//kernc.github.io/backtesting.py/
[53]catalyst: https//github.com/enigmampc/catalyst
[54]quantstats: https//github.com/ranaroussi/quantstats
[55]qtpylib: https//github.com/ranaroussi/qtpylib
[56]freqtrade: https//github.com/freqtrade/freqtrade
[57]algorithmic-trading-with-python: https//github.com/chrisconlan/algorithmic-trading-with-python
[58]DeepDow: https//github.com/jankrepl/deepdow
[59]pyfolio: https//github.com/quantopian/pyfolio
[60]empyrical: https//github.com/quantopian/empyrical
[61]fecon235: https//github.com/rsvp/fecon235
[62]finance: https//pypi.org/project/finance/
[63]qfrm: https//pypi.org/project/qfrm/
[64]visualize-wealth: https//github.com/benjaminmgross/visualize-wealth
[65]VisualPortfolio: https//github.com/wegamekinglc/VisualPortfolio
[66]alphalens: https//github.com/quantopian/alphalens
[67]ARCH: https//github.com/bashtage/arch
[68]statsmodels: https://link.zhihu.com/?target=http%3A//statsmodels.sourceforge.net/
[69]dynts: https//github.com/quantmind/dynts
[70]PyFlux: https//github.com/RJT1990/pyflux
[71]tsfresh: https//github.com/blue-yonder/tsfresh
[72]hasura/quandl-metabase: https//platform.hasura.io/hub/projects/anirudhm/quandl-metabase-time-series
[73]trading_calendars: https//github.com/quantopian/trading_calendars
[74]bizdays: https//github.com/wilsonfreitas/python-bizdays
[75]pandas_market_calendars: https//github.com/rsheftel/pandas_market_calendars
[76]findatapy: https//github.com/cuemacro/findatapy
[77]googlefinance: https//github.com/hongtaocai/googlefinance
[78]yahoo-finance: https//github.com/lukaszbanasiak/yahoo-finance
[79]pandas-datareader: https//github.com/pydata/pandas-datareader
[80]pandas-finance: https//github.com/davidastephens/pandas-finance
[81]pyhoofinance: https//github.com/innes213/pyhoofinance
[82]yfinanceapi: https//github.com/Karthik005/yfinanceapi
[83]yql-finance: https//github.com/slawek87/yql-finance
[84]ystockquote: https//github.com/cgoldberg/ystockquote
[85]wallstreet: https//github.com/mcdallas/wallstreet
[86]stock_extractor: https//github.com/ZachLiuGIS/stock_extractor
[87]Stockex: https//github.com/cttn/Stockex
[88]finsymbols: https//github.com/skillachie/finsymbols
[89]inquisitor: https//github.com/econdb/inquisitor
[90]chinesestockapi: https//pypi.org/project/chinesestockapi/
[91]exchange: https//github.com/akarat/exchange
[92]ticks: https//github.com/jamescnowell/ticks
[93]pybbg: https//github.com/bpsmith/pybbg
[94]ccy: https//github.com/lsbardel/ccy
[95]tushare: https//pypi.org/project/tushare/
[96]jsm: https//pypi.org/project/jsm/
[97]cn_stock_src: https//github.com/jealous/cn_stock_src
[98]coinmarketcap: https//github.com/barnumbirr/coinmarketcap
[99]after-hours: https//github.com/datawrestler/after-hours
[100]bronto-python: https//pypi.org/project/bronto-python/
[101]pytdx: https//github.com/rainx/pytdx
[102]pdblp: https//github.com/matthewgilbert/pdblp
[103]tiingo: https//github.com/hydrosquall/tiingo-python
[104]IEX: https//github.com/addisonlynch/iexfinance
[105]alpaca-trade-api: https//github.com/alpacahq/alpaca-trade-api-python
[106]metatrader5: https//pypi.org/project/MetaTrader5/
[107]akshare: https//github.com/jindaxiang/akshare
[108]yahooquery: https//github.com/dpguthrie/yahooquery
[109]investpy: https//github.com/alvarobartt/investpy
[110]yliveticker: https//github.com/yahoofinancelive/yliveticker
[111]xlwings: https//www.xlwings.org/
[112]openpyxl: https//openpyxl.readthedocs.io/en/latest/
[113]xlrd: https//github.com/python-excel/xlrd
[114]xlsxwriter: https//xlsxwriter.readthedocs.io/
[115]xlwt: https//github.com/python-excel/xlwt
[116]DataNitro: https//datanitro.com/
[117]xlloop: https://link.zhihu.com/?target=http%3A//xlloop.sourceforge.net/
[118]expy: https://link.zhihu.com/?target=http%3A//www.bnikolic.co.uk/expy/expy.html
[119]pyxll: https//www.pyxll.com/
[120]Matplotlib: https//matplotlib.org/tutorials/index.html
[121]Seaborn: https//seaborn.pydata.org/
[122]Plotly: https//plotly.com/python/
[123]Altair: https//altair-viz.github.io/index.html
[124]D-Tale: https//github.com/man-group/dtale
来源:网络
仅做学术分享,若有侵权,清联系删除!