tf-quant-finance
是一个基于 TensorFlow 的量化金融库,以下是关于这个仓库的详细介绍:
1. 概述
该库利用 TensorFlow 的硬件加速支持和自动微分功能,提供高性能的量化金融组件。它的目标是为基础数学方法、中级方法以及特定定价模型提供 TensorFlow 支持,并且在未来几个月会不断扩展覆盖范围。
2. 结构
库的结构分为三个层次: - 基础方法:包含核心数学方法,如优化、插值、求根算法、线性代数、随机和准随机数生成等。 - 中级方法:包括常微分方程(ODE)和偏微分方程(PDE)求解器、伊藤过程框架、扩散路径生成器、Copula 采样器等。 - 定价方法和其他量化金融特定工具:特定的定价模型(例如局部波动率(LV)、随机波动率(SV)、随机局部波动率(SLV)、Hull - White(HW)模型等)及其校准,利率曲线构建、收益描述和时间表生成等。
3. 安装
使用 pip 包是开始使用该库的最简单方法。该库需要 Python 3.7 及以上版本和 TensorFlow >= 2.7。安装步骤如下:
- 首先,按照 TensorFlow 安装说明 安装最新版本的 TensorFlow,例如:
sh
pip3 install --upgrade tensorflow
- 然后安装 tf-quant-finance
:
sh
pip3 install --upgrade tf-quant-finance
可能还需要使用 --user
选项。
4. TensorFlow 培训
如果不熟悉 TensorFlow,可以通过以下自学习的 TensorFlow 笔记本开始学习: - Introduction to TensorFlow Part 1 - Basics - Introduction to TensorFlow Part 2 - Debugging and Control Flow - Introduction to TensorFlow Part 3 - Advanced Tensor Manipulation
5. 开发路线图
目前正在扩展库的覆盖范围,正在积极开发的领域包括: - 伊藤过程:定义伊藤过程的框架,包括从过程中采样路径和求解相关的反向柯尔莫哥洛夫方程的方法。 - 特定过程/模型的实现:布朗运动、几何布朗运动、奥恩斯坦 - 乌伦贝克过程、单因素 Hull - White 模型、Heston 模型、局部波动率模型、二次局部波动率模型、SABR 模型等。 - Copulas:支持定义和从 Copulas 中采样。 - 模型校准:Dupire 局部波动率校准、SABR 模型校准。 - 利率曲线拟合:Hagan - West 算法用于收益率曲线引导和单调凸插值方案。 - 日期、日计数惯例、节假日等支持。
6. 示例
示例代码可以在 tf_quant_finance/examples/
中找到。
7. 目录结构
仓库的主要目录结构如下:
BUILD
CONTRIBUTING.md
LICENSE
MANIFEST.in
README.md
WORKSPACE
build_pip_pkg.sh
setup.py
ci_build/
Dockerfile
cloudbuild.yaml
third_party/
sobol_data/
tf_quant_finance/
BUILD
LICENSE
__init__.py
black_scholes/
datetime/
examples/
experimental/
math/
models/
rates/
types/
utils/
api_docs/
README.md
index.md
tf_quant_finance/
8. 许可证
该项目使用 Apache License 2.0 许可证。