Python 量化金融核心库与工具最全汇总
在量化金融领域,Python 凭借其丰富的生态系统和易用性占据了主导地位。本文汇总了定量金融的大量三方库,按功能进行分类,覆盖数值运算、衍生品定价、回溯检验、风险管理、数据爬取、可视化等多个子领域,供每个 Python 程序员参考。
不要重复造轮子,明确要解决的问题,然后寻找相应的工具。很多著名的包如 NumPy、Pandas、Seaborn、Backtrader 等已经被证明高度有效,即便没有找到符合应用场景的包,类似的工具也能够为创建自己的解决方案提供参考。
内容来源于 Github 项目《Awesome Quant》,由 Wilson Freitas 创作。
科学运算和数据结构
这是量化分析的基础,处理大规模数据和数学计算的核心。
- 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 深度整合,性能优异。
- Pandas TA:拓展 Pandas,包含 115 种技术指标,快速创建交易策略。
- Ta:用 Pandas 计算技术指标。
量化交易/回溯检验
构建策略并验证其历史表现的关键环节。
- Trade:用于开发金融应用的基础包。
- Zipline:强大的回溯检验框架,被很多量化交易平台作为底层技术,包括 Quantopian, 聚宽等。


