该库提供利用 TensorFlow 的硬件加速支持和自动微分的高性能组件。该库将为基础数学方法、中级方法和特定定价模型提供 TensorFlow 支持。覆盖范围将在未来几个月内扩大。
该库的结构分为三层:
基础方法。核心数学方法——优化、插值、求根、线性代数、随机和准随机数生成等。
中级手段。 ODE 和 PDE 求解器、Ito 过程框架、扩散路径生成器、Copula 采样器等。
定价方法和其他量化金融特定公用事业。具体定价模型(例如,本地波动率(LV)、随机波动率(SV)、随机本地波动率(SLV)、赫尔-怀特(HW))及其校准。利率曲线构建、收益描述和时间表生成。
我们的目标是让每个级别都能轻松访问库组件。每一层都附有许多可以独立于更高级别组件运行的示例。
开始使用该库的最简单方法是通过 pip 包。
请注意,该库需要 Python 3.7 和 Tensorflow >= 2.7。
首先,请按照 TensorFlow 安装说明安装最新版本的 TensorFlow。例如,您可以安装 TensorFlow
pip3 install --upgrade tensorflow
然后运行
pip3 install --upgrade tf-quant-finance
您可能还必须使用选项--user
。
如果您不熟悉 TensorFlow,那么以下 TensorFlow 笔记本自学简介是一个很好的起点:
我们正在努力扩大图书馆的覆盖范围。正在积极开发的领域有:
有关端到端示例,请参阅tf_quant_finance/examples/
。它包括教程笔记本,例如:
上述链接将在 Colab 中打开 Jupyter Notebooks。
我们渴望与您合作!有关如何贡献的指南,请参阅 CONTRIBUTING.md。该项目遵守 TensorFlow 的行为准则。通过参与,您应该遵守此准则。
本部分适用于想要向库贡献代码的开发人员。如果您只想使用该库,请按照安装部分中的说明进行操作。
该库具有以下依赖项:
该库需要 Bazel 构建系统。请遵循适合您平台的 Bazel 安装说明。
您可以使用pip3 install
命令安装 TensorFlow 和相关依赖项:
pip3 install --upgrade tf-nightly tensorflow-probability==0.12.1 numpy==1.21 attrs dataclasses
克隆 GitHub 存储库:
git clone https://github.com/google/tf-quant-finance.git
跑完之后
cd tf_quant_finance
您可以使用bazel test
命令执行测试。例如,
bazel test tf_quant_finance/math/random_ops/sobol:sobol_test
将在 sobol_test.py 中运行测试。
使用 Python 版本 3 运行测试。请确保您可以在 Python 3 shell 中运行import tensorflow
。否则,测试可能会失败。
以下命令将从源代码构建自定义 pip 包并安装它:
# sudo apt-get install bazel git python python-pip rsync # For Ubuntu.
git clone https://github.com/google/tf-quant-finance.git
cd tf-quant-finance
bazel build :build_pip_pkg
./bazel-bin/build_pip_pkg artifacts
pip install --user --upgrade artifacts/ * .whl
GitHub 存储库:报告错误或提出功能请求。
TensorFlow 博客:及时了解 TensorFlow 团队的最新内容和社区的最佳文章。
[email protected]:打开邮件列表以讨论此库和提出问题。
TensorFlow Probability:该库将利用 TensorFlow Probability (TFP) 中的方法。
Google 不正式支持该产品。该库正在积极开发中,接口可能随时更改。
该库根据 Apache 2 许可证获得许可(请参阅许可证)。该库使用 Sobol 本原多项式和初始方向数,这些都在 BSD 许可证下获得许可。