{ "info": { "author": "Google Inc.", "author_email": "tf-quant-finance@google.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# TF Quant Finance: TensorFlow based Quant Finance Library\n\n[![Build Status](https://travis-ci.org/google/tf-quant-finance.svg?branch=master)](https://travis-ci.org/google/tf-quant-finance)\n\n## Table of contents\n1. [Introduction](#introduction)\n2. [Installation](#installation)\n3. [TensorFlow training](#tensorflow-training)\n4. [Development roadmap](#development-roadmap)\n5. [Examples](#examples)\n6. [Contributing](#contributing)\n7. [Development](#development)\n8. [Community](#community)\n9. [Disclaimers](#disclaimers)\n10. [License](#license)\n\n## Introduction\n\nThis library provides high-performance components leveraging the hardware\nacceleration support and automatic differentiation of TensorFlow. The\nlibrary will provide TensorFlow support for foundational mathematical methods,\nmid-level methods, and specific pricing models. The coverage is being rapidly\nexpanded over the next few months.\n\nThe library is structured along three tiers:\n\n1. **Foundational methods**.\nCore mathematical methods - optimisation, interpolation, root finders,\nlinear algebra, random and quasi-random number generation, etc.\n\n2. **Mid-level methods**.\nODE & PDE solvers, Ito process framework, Diffusion Path Generators,\nCopula samplers etc.\n\n3. **Pricing methods and other quant finance specific utilities**.\nSpecific Pricing models (e.g Local Vol (LV), Stochastic Vol (SV),\nStochastic Local Vol (SLV), Hull-White (HW)) and their calibration.\nRate curve building and payoff descriptions.\n\nWe aim for the library components to be easily accessible at each level. Each\nlayer will be accompanied by many examples which can be run independently of\nhigher level components.\n\n## Installation\n\nThe easiest way to get started with the library is via the pip package.\n\nFirst please install the most recent version of TensorFlow by following\nthe [TensorFlow installation instructions](https://tensorflow.org/install).\nFor example, you could install TensorFlow using\n\n```sh\npip install --upgrade tensorflow\n```\n\nor\n\n```sh\npip install --upgrade tensorflow-gpu\n```\n\nif you want to use GPUs.\n\nThen run\n\n```sh\npip install --upgrade tf-quant-finance\n```\n\nIf you use Python 3, you might need to use ```pip3 install```. You'll\nmaybe also have to use option ```--user```.\n\n## TensorFlow training\n\nIf you are not familiar with TensorFlow, a good place to get started is with the\nfollowing self-study introduction to TensorFlow notebooks:\n\n * [Introduction to TensorFlow Part 1 - Basics](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Introduction_to_TensorFlow_Part_1_-_Basics.ipynb).\n * [Introduction to TensorFlow Part 2 - Debugging and Control Flow](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Introduction_to_TensorFlow_Part_2_-_Debugging_and_Control_Flow.ipynb).\n * [Introduction to TensorFlow Part 3 - Advanced Tensor Manipulation](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Introduction_to_TensorFlow_Part_3_-_Advanced_Tensor_Manipulation.ipynb).\n\n## Development roadmap\n\nWe are working on expanding the coverage of the library. Areas under active\ndevelopment are:\n\n * Ito Processes: Framework for defining [Ito processes](https://en.wikipedia.org/wiki/It%C3%B4_calculus#It%C3%B4_processes).\n Includes methods for sampling paths from a process and for solving the\n associated backward Kolmogorov equation.\n * Implementation of the following specific processes/models:\n * Brownian Motion\n * Geometric Brownian Motion\n * Ornstein-Uhlenbeck\n * Single factor Hull White model\n * Heston model\n * Local volatility model.\n * Quadratic Local Vol model.\n * SABR model\n * ADI method for solving multi dimensional PDEs.\n * Copulas: Support for defining and sampling from copulas.\n * Model Calibration:\n * Dupire local vol calibration.\n * SABR model calibration.\n * Rate curve fitting: Hagan-West algorithm for yield curve bootstrapping and\n the Monotone Convex interpolation scheme.\n * Optimization:\n * Conjugate gradient optimizer.\n\n\n## Examples\nSee [`tf_quant_finance/examples/`](https://github.com/google/tf-quant-finance/tree/master/tf_quant_finance/examples)\nfor end-to-end examples. It includes tutorial notebooks such as:\n\n * [American Option pricing under the Black-Scholes model](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/American_Option_Black_Scholes.ipynb)\n * [Monte Carlo via Euler Scheme](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Monte_Carlo_Euler_Scheme.ipynb)\n * [Black Scholes: Price and Implied Vol](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Black_Scholes_Price_and_Implied_Vol.ipynb).\n * [Root search using Brent's method](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Root_Search.ipynb)\n * [Optimization](https://colab.research.google.com/github/google/tf-quant-finance/blob/master/tf_quant_finance/examples/jupyter_notebooks/Optimization.ipynb)\n\nThe above links will open Jupyter Notebooks in Colab.\n\n## Contributing\n\nWe're eager to collaborate with you! See [CONTRIBUTING.md](CONTRIBUTING.md) for a guide on how to contribute. This project adheres to TensorFlow's code of conduct. By participating, you are expected to uphold this code.\n\n## Development\n\nThis section is meant for developers who want to contribute code to the\nlibrary. If you are only interested in using the library, please follow the\ninstructions in the [Installation](#installation) section.\n\n### Dependencies\n\nThis library has the following dependencies:\n\n1. Bazel\n2. Python 3 (Bazel uses Python 3 by default)\n3. TensorFlow\n4. TensorFlow Probability\n5. Numpy\n6. Scipy (used only in tests)\n7. Attrs\n\nThis library requires the\n[Bazel](https://bazel.build/) build system. Please follow the\n[Bazel installation instructions](https://docs.bazel.build/versions/master/install.html)\nfor your platform.\n\n\nYou can install TensorFlow and related dependencies using the ```pip3 install```\ncommand:\n\n```sh\npip3 install --upgrade tensorflow tensorflow-probability numpy attrs scipy\n```\n\n### Commonly used commands\n\nClone the GitHub repository:\n\n```sh\ngit clone https://github.com/google/tf-quant-finance.git\n```\n\nAfter you run\n\n```sh\ncd tf_quant_finance\n```\n\nyou can execute tests using the ```bazel test``` command. For example,\n\n```sh\nbazel test tf_quant_finance/math/random/sobol:sobol_test\n```\n\nwill run tests in\n[sobol_test.py](https://github.com/google/tf-quant-finance/blob/master/tf_quant_finance/math/random/sobol/sobol_test.py)\n.\n\nTests will be run using the Python version 3. Please make sure that you can\nrun ```import tensorflow``` in the Python 3 shell, otherwise tests might fail.\n\n### Docker images\n\nThe official TF Quant Finance Docker images are located in the\n[gcr.io](https://gcr.io/tf-quant-finance-images/tf-quant-finance) container\nrepository.\n\nImages are tagged using the GitHub release version. Images contain\nall development dependencies. See [Dockerfile](Dockerfile) for details.\n\nYou can pull the latest Docker image using\n\n```sh\nsudo docker pull gcr.io/tf-quant-finance-images/tf-quant-finance\n```\n\nTo start a TF Quant Finance container, use the following command:\n\n```sh\nsudo docker run -it gcr.io/tf-quant-finance-images/tf-quant-finance\n```\n\n### Building a custom pip package\n\nThe following commands will build custom pip package from source and install it:\n\n```sh\n# sudo apt-get install bazel git python python-pip rsync # For Ubuntu.\ngit clone https://github.com/google/tf-quant-finance.git\ncd tf-quant-finance\nbazel build :build_pip_pkg\n./bazel-bin/build_pip_pkg artifacts\npip install --user --upgrade artifacts/*.whl\n```\n\n## Community\n1. [GitHub repository](https://github.com/google/tf-quant-finance): Report bugs or make feature requests.\n\n2. [TensorFlow Blog](https://medium.com/tensorflow): Stay up to date on content from the TensorFlow team and best articles from the community.\n\n3. tf-quant-finance@google.com: Open mailing list for discussion and questions of this library.\n\n4. TensorFlow Probability: This library will leverage methods from [TensorFlow Probability](https://www.tensorflow.org/probability) (TFP).\n\n## Disclaimers\nThis is not an officially supported Google product. This library is under active development. Interfaces may change at any time.\n\n## License\nThis library is licensed under the Apache 2 license (see [LICENSE](LICENSE)). This library uses Sobol primitive polynomials and initial direction numbers\nwhich are licensed under the BSD license.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/google/tf-quant-finance", "keywords": "tensorflow quantitative finance hpc gpu option pricing", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "tf-quant-finance", "package_url": "https://pypi.org/project/tf-quant-finance/", "platform": "", "project_url": "https://pypi.org/project/tf-quant-finance/", "project_urls": { "Homepage": "https://github.com/google/tf-quant-finance" }, "release_url": "https://pypi.org/project/tf-quant-finance/0.0.1.dev10/", "requires_dist": [ "attrs (>=18.2.0)", "numpy (>=1.13.3)", "tensorflow-probability (>=0.7.0)" ], "requires_python": "", "summary": "High-performance TensorFlow library for quantitative finance.", "version": "0.0.1.dev10" }, "last_serial": 5907990, "releases": { "0.0.1.dev0": [ { "comment_text": "", "digests": { "md5": "e2bcce4a4e9ed6ab0c68660cd2b74b89", "sha256": "dab75386da83cab9202fd0f46988838be7072c57a9209c5b837953096da5f059" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev0-py2-none-any.whl", "has_sig": false, "md5_digest": "e2bcce4a4e9ed6ab0c68660cd2b74b89", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 762569, "upload_time": "2019-08-29T18:42:02", "url": "https://files.pythonhosted.org/packages/8d/0d/571b7703eb6fcfbbf41380564a3e10f52ac76a65b28bcf068fa4df8568e8/tf_quant_finance-0.0.1.dev0-py2-none-any.whl" } ], "0.0.1.dev10": [ { "comment_text": "", "digests": { "md5": "0be9e46d06b41685f5844109a98d3c12", "sha256": "25021c7594b5c75233019a14dd5814c25bee5b4d6b9e204e78c041932c47bf77" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0be9e46d06b41685f5844109a98d3c12", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 830193, "upload_time": "2019-09-30T17:05:23", "url": "https://files.pythonhosted.org/packages/77/42/35eec73fc4929f2e7f3a07bd5431368360a0e3f49a06deb517a6eff5c366/tf_quant_finance-0.0.1.dev10-py2.py3-none-any.whl" } ], "0.0.1.dev4": [ { "comment_text": "", "digests": { "md5": "d8f6ba9ad171da370f57d437b63476ef", "sha256": "1ed91c2b2abfe7c0cc4c2d0d8918167034ac40259fc935a9cf76150296b63f90" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev4-py2-none-any.whl", "has_sig": false, "md5_digest": "d8f6ba9ad171da370f57d437b63476ef", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 775392, "upload_time": "2019-09-02T11:50:30", "url": "https://files.pythonhosted.org/packages/3c/06/2842e60c81ccac3e1f24ab87c2e85016b399a3a77bdb646c3fded5c645c7/tf_quant_finance-0.0.1.dev4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5dda74d97dce8298357dec4e3265729", "sha256": "4d31ae759e5a488f8e836f1c8bca95fce38bf3a89a4e08b86cfd134f1a7558d1" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "b5dda74d97dce8298357dec4e3265729", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 775391, "upload_time": "2019-09-02T14:26:34", "url": "https://files.pythonhosted.org/packages/67/5f/9a0d487a3d972f02f8ad01445cd96ffda3607509709cd3b9c68d3f82c39e/tf_quant_finance-0.0.1.dev4-py3-none-any.whl" } ], "0.0.1.dev5": [ { "comment_text": "", "digests": { "md5": "502c4d254de19f66bbfeffd6946b48c7", "sha256": "918d4355980f9a9356480976106b6944bde1ea4a4f2c15a0606e67fc051b745b" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "502c4d254de19f66bbfeffd6946b48c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 795136, "upload_time": "2019-09-03T16:38:39", "url": "https://files.pythonhosted.org/packages/cf/e2/d188c4758d906760a48c133738e032a770fff99dd421a88a1636186b74eb/tf_quant_finance-0.0.1.dev5-py2.py3-none-any.whl" } ], "0.0.1.dev6": [ { "comment_text": "", "digests": { "md5": "68445a37cb358a5577cca424fe743447", "sha256": "397a4cd3a8539648301feb6ae8e000427fd4d2670705d7e94389104546e28ce3" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68445a37cb358a5577cca424fe743447", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 799612, "upload_time": "2019-09-06T12:57:41", "url": "https://files.pythonhosted.org/packages/20/19/469e3a6047285e98e18136e22969b0e1374c7808a09a2cf2d6c41558448a/tf_quant_finance-0.0.1.dev6-py2.py3-none-any.whl" } ], "0.0.1.dev7": [ { "comment_text": "", "digests": { "md5": "afbdcd35abe31aabc43d395a6839b312", "sha256": "c51da79b3392a74e5099401d1764c65be560fdfc2a60f60a6676f0bac5133fe7" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "afbdcd35abe31aabc43d395a6839b312", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 817424, "upload_time": "2019-09-12T15:05:59", "url": "https://files.pythonhosted.org/packages/f4/29/74bc1c592d9767b201956aafd0ee9b2d1807fb86b243a5e581457ddd21f7/tf_quant_finance-0.0.1.dev7-py2.py3-none-any.whl" } ], "0.0.1.dev8": [ { "comment_text": "", "digests": { "md5": "146eb3c4ff46738a18b80e9bae4da205", "sha256": "c3b0692023af1845c071859dfae61dde98560119eb8ad446dc1a0c91225e14e9" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "146eb3c4ff46738a18b80e9bae4da205", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 818502, "upload_time": "2019-09-13T12:38:11", "url": "https://files.pythonhosted.org/packages/85/5f/e9f947623c1e3228442df6570c51ac63d8f9b925d95819113c65585ac100/tf_quant_finance-0.0.1.dev8-py2.py3-none-any.whl" } ], "0.0.1.dev9": [ { "comment_text": "", "digests": { "md5": "7d6c3200f5945d572cb7d8ca16dd4513", "sha256": "d71ddbca3077b8c2bdc8731d597b5f14297a764d4e19a2d99d964446af9ffdf0" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d6c3200f5945d572cb7d8ca16dd4513", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 819108, "upload_time": "2019-09-17T11:54:28", "url": "https://files.pythonhosted.org/packages/12/a2/1b46f751635b730b17ef5d66fbe122be78fa56ec442b0f59d51fae8ac238/tf_quant_finance-0.0.1.dev9-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0be9e46d06b41685f5844109a98d3c12", "sha256": "25021c7594b5c75233019a14dd5814c25bee5b4d6b9e204e78c041932c47bf77" }, "downloads": -1, "filename": "tf_quant_finance-0.0.1.dev10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0be9e46d06b41685f5844109a98d3c12", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 830193, "upload_time": "2019-09-30T17:05:23", "url": "https://files.pythonhosted.org/packages/77/42/35eec73fc4929f2e7f3a07bd5431368360a0e3f49a06deb517a6eff5c366/tf_quant_finance-0.0.1.dev10-py2.py3-none-any.whl" } ] }