Esta biblioteca fornece componentes de alto desempenho aproveitando o suporte de aceleração de hardware e a diferenciação automática do TensorFlow. A biblioteca fornecerá suporte do TensorFlow para métodos matemáticos básicos, métodos de nível médio e modelos de precificação específicos. A cobertura será ampliada nos próximos meses.
A biblioteca está estruturada em três níveis:
Métodos fundamentais . Métodos matemáticos básicos - otimização, interpolação, localizadores de raízes, álgebra linear, geração de números aleatórios e quase aleatórios, etc.
Métodos de nível médio . Solucionadores ODE e PDE, estrutura de processo Ito, geradores de caminho de difusão, amostradores de cópula, etc.
Métodos de precificação e outros serviços públicos específicos de financiamento quantitativo . Modelos específicos de Pricing (ex., Vol Local (LV), Vol Estocástico (SV), Vol Estocástico Local (SLV), Hull-White (HW)) e sua calibração. Construção de curva de taxas, descrições de payoffs e geração de cronograma.
Nosso objetivo é que os componentes da biblioteca sejam facilmente acessíveis em cada nível. Cada camada será acompanhada por muitos exemplos que podem ser executados independentemente de componentes de nível superior.
A maneira mais fácil de começar a usar a biblioteca é por meio do pacote pip.
Observe que a biblioteca requer Python 3.7 e Tensorflow >= 2.7.
Primeiro, instale a versão mais recente do TensorFlow seguindo as instruções de instalação do TensorFlow. Por exemplo, você pode instalar o TensorFlow
pip3 install --upgrade tensorflow
Então corra
pip3 install --upgrade tf-quant-finance
Talvez você também precise usar a opção --user
.
Se você não estiver familiarizado com o TensorFlow, um excelente lugar para começar é com a seguinte introdução de auto-estudo aos notebooks do TensorFlow:
Estamos trabalhando para ampliar a cobertura da biblioteca. As áreas em desenvolvimento ativo são:
Consulte tf_quant_finance/examples/
para exemplos completos. Inclui cadernos de tutoriais como:
Os links acima abrirão Jupyter Notebooks no Colab.
Estamos ansiosos para colaborar com você! Consulte CONTRIBUTING.md para obter um guia sobre como contribuir. Este projeto segue o código de conduta do TensorFlow. Ao participar, espera-se que você cumpra este código.
Esta seção é para desenvolvedores que desejam contribuir com código para a biblioteca. Se você estiver interessado apenas em usar a biblioteca, siga as instruções na seção Instalação.
Esta biblioteca possui as seguintes dependências:
Esta biblioteca requer o sistema de compilação Bazel. Siga as instruções de instalação do Bazel para sua plataforma.
Você pode instalar o TensorFlow e dependências relacionadas usando o comando pip3 install
:
pip3 install --upgrade tf-nightly tensorflow-probability==0.12.1 numpy==1.21 attrs dataclasses
Clone o repositório GitHub:
git clone https://github.com/google/tf-quant-finance.git
Depois de correr
cd tf_quant_finance
você pode executar testes usando o comando bazel test
. Por exemplo,
bazel test tf_quant_finance/math/random_ops/sobol:sobol_test
executará testes em sobol_test.py .
Os testes são executados usando Python versão 3. Certifique-se de que você pode executar import tensorflow
no shell do Python 3. Caso contrário, os testes poderão falhar.
Os comandos a seguir criarão um pacote pip personalizado a partir do código-fonte e o instalarão:
# 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
Repositório GitHub: relate bugs ou faça solicitações de recursos.
Blog do TensorFlow: mantenha-se atualizado sobre o conteúdo da equipe do TensorFlow e os melhores artigos da comunidade.
[email protected]: Lista de discussão aberta para discussão e perguntas desta biblioteca.
Probabilidade do TensorFlow: esta biblioteca aproveitará métodos do TensorFlow Probability (TFP).
O Google não oferece suporte oficial a este produto. Esta biblioteca está em desenvolvimento ativo e as interfaces podem mudar a qualquer momento.
Esta biblioteca está licenciada sob a licença Apache 2 (consulte LICENÇA). Esta biblioteca usa polinômios primitivos Sobol e números de direção iniciais que são licenciados sob a licença BSD.