有关量化金融算法的python开源代码集


这是基于量化金融领域不同主题的Jupyter notebooks合集。

这是量化算法的集合:包含了一些现在不那么流行的主题,但它们可能非常强大。通常,PDE 方法、Lévy 过程、傅立叶方法或卡尔曼滤波器等主题在从业者中不太受欢迎,他们更喜欢使用更标准的工具。
目的是通过交互式 Python 实现展示这些有趣的主题,展示它们的实际应用。

在互联网上找到用 python 实现的金融模型的示例并不容易,这些模型可以立即使用并且有详细的文档记录。量化金融的初学者会发现这些notebooks非常有用!

此外,Jupyter notebooks是交互式的,即您可以在notebooks内运行代码。这或许是最好的学习方式!

如果您使用 Github 或NBviewer打开notebooks,有时数学公式无法正确显示。因此,我建议您克隆/下载存储库。

适用于至少学过一门金融数学和统计学本科课程的科学、经济学或金融专业的学生。
这些主题需要随机微积分、金融数学和统计学的基础知识。Python 编程的基本知识也是必要的。


内容

  • 1.1)Black-Scholes数值方法 (对数正态分布、测量变化、蒙特卡罗、二项式方法)。
  • 1.2)SDE模拟和统计 (路径生成、置信区间、假设检验、几何布朗运动、Cox-Ingersoll-Ross过程、Euler Maruyama方法、参数估计)
  • 1.3)傅立叶反演方法 (反演公式、数值反演、期权定价、FFT、Lewis公式)
  • 1.4)SDE、Heston模型 (相关布朗运动、Heston路径、Heston分布、特征函数、期权定价)
  • 1.5) SDE、Lévy 过程 (Merton、方差 Gamma、NIG、路径生成、参数估计)
  • 2.1) Black-Scholes PDE (PDE离散化、隐式方法、稀疏矩阵教程)
  • 2.2)奇异期权 (二元期权、障碍期权、亚洲期权)
  • 2.3)美式期权 (PDE、提前行权、二项式方法、Longstaff-Schwartz、永续看跌期权)
  • 3.1)Merton Jump-Diffusion PIDE (隐式-显式离散化、离散卷积、模型限制、蒙特卡洛、傅立叶反演、半闭公式)
  • 3.2)方差伽玛PIDE (近似跳跃扩散PIDE,蒙特卡罗,傅里叶反演,与Black-Scholes的比较)
  • 3.3)正态逆高斯 PIDE (近似跳跃扩散 PIDE、蒙特卡罗、傅里叶反演、Lévy 测度的属性)
  • 4.1)交易成本定价 (Davis-Panas-Zariphopoulou模型、奇异控制问题、HJB变分不等式、无差异定价、二项式树、性能)
  • 4.2)波动率微笑和模型校准 (波动率微笑、寻根方法、校准方法)
  • 5.1)线性回归和卡尔曼滤波器 (市场数据清理、线性回归方法、卡尔曼滤波器设计、参数选择)
  • 5.2)卡尔曼自相关跟踪 - AR(1) 过程 (自回归过程、估计方法、卡尔曼滤波器、卡尔曼平滑器、变量自相关跟踪)
  • 5.3)波动率跟踪 (赫斯顿模拟、假设检验、分布拟合、估计方法、GARCH(1,1)、卡尔曼滤波器、卡尔曼平滑器)
  • 6.1) Ornstein-Uhlenbeck 过程和应用 (参数估计、命中时间、Vasicek PDE、卡尔曼滤波器、交易策略)
  • 7.1)经典MVO (均值方差优化,二次规划,只有多头和多空,封闭公式)