Apreçamento de Opções via IA

O aprendizado de máquina (ML) é visto como parte da inteligência artificial. Algoritmos de ML constroem um modelo com base em dados de treinamento para fazer previsões ou decisões sem serem explicitamente programados para fazê-lo. Neste exercício, usamos o Python para aplicar modelos de ML conhecidos como random forests e neural networks a uma aplicação simples na precificação de opções: o treinamento dos modelos para aprender a precificar opções de compra sem conhecimento prévio dos fundamentos teóricos da famosa equação de precificação de opções de Black e Scholes (1973).

Os dados utilizados correspondem aos contratos de opções da empresa VALE durante o ano de 2023. Esses contratos são classificados como opções de compra (“Call options”) e incluem uma variedade de informações essenciais para o cálculo do preço por meio da equação de Black-Scholes, explicada abaixo.

Aprenda a coletar, processar e analisar dados no Workshop Do Zero à Análise de Dados Econômicos e Financeiros usando Python, se inscreva aqui!

Apreçamento de ações

Em sua forma mais básica, opções de compra dão ao proprietário o direito, mas não a obrigação, de comprar uma ação específica (o ativo subjacente) a um preço específico (o preço de exercício K) em uma data específica (a data de exercício T). O preço de Black-Scholes (Black e Scholes 1973) de uma opção de compra para um ativo subjacente que não paga dividendos é dado por

(1)   \begin{equation*} C(S, T) &= \Phi(d_1)S - \Phi(d_2)Ke^{-r T} \end{equation*}

(2)   \begin{equation*} d_1 &= \frac{1}{\sigma\sqrt{T}}\left(\ln\left(\frac{S}{K}\right) + \left(r_f + \frac{\sigma^2}{2}\right)T\right) \end{equation*}

(3)   \begin{equation*} d_2 &= d_1 - \sigma\sqrt{T} \end{equation*}

onde C(S,t) é o preço da opção como função do preço da ação subjacente hoje, S, com tempo até o vencimento, T, r é a taxa de juros livre de risco e \sigma é a volatilidade do retorno da ação subjacente. \Phi é a função de distribuição cumulativa de uma variável aleatória normal padrão.

A equação de Black-Scholes fornece uma maneira de calcular o preço livre de arbitragem de uma opção de compra uma vez que os parâmetros S, T e r são especificados (argumentavelmente, em um contexto realista, todos os parâmetros são fáceis de especificar, exceto \sigma, que deve ser estimado).

Criação dos Modelos

Nosso objetivo aqui é denominar o preço da opção K como variável dependente e as demais variáveis como independentes e imputar nos modelos de ML. Para tanto, realizamos os seguintes procedimentos:

  1. Separamos o conjunto de treino (80%) e teste (20%)
  2. Normalizamos os valores das variáveis utilizadas
  3. Treinamos os modelos
  4. Avaliamos o modelo, calculando o erro médio absoluto.

Avaliação dos Modelos

A figura abaixo mostra o erro de previsão absoluto para os valores obtidos pelos dois modelos. O erro de previsão é avaliado em uma amostra de opção de compra que não foram usadas para o treino. O que verificamos é que Deep Neural Networks performou muito melhor que Random Forest, obtendo um erro de previsão menor em todos os locais de dinheiro, enquanto o Random Forest possui somente um baixo erro de previsão de opções no dinheiro.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Referências

Christoph Frey, Chistoph Scheuch, Stefan Voigt, Patrick Weiss. Tidy Finance with Python. https://www.tidy-finance.org/python/

Black, Fischer, and Myron Scholes. 1973. “The pricing of options and corporate liabilities.” Journal of Political Economy 81 (3): 637–54. https://www.jstor.org/stable/1831029.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Medindo o Hiato do Produto do Brasil usando Python

Uma medida extremamente importante para a avaliação econômica de um país é o Hiato do Produto. Neste post, realizamos uma comparação das diferentes formas de estimação dessa variável não observável utilizando o Python como ferramenta de análise de dados.

Como analisar a contribuição para a Volatilidade de uma carteira de ações usando Python

A contribuição para a volatilidade fornece uma decomposição ponderada da contribuição de cada elemento do portfólio para o desvio padrão de todo o portfólio. Em termos formais, é definida pelo nome de contribuição marginal, que é basicamente a derivada parcial do desvio padrão do portfólio em relação aos pesos dos ativos. A interpretação da fórmula da contribuição marginal, entretanto, não é tão intuitiva, portanto, é necessário obter medidas que possibilitem analisar os componentes. Veremos portanto como calcular os componentes da contribuição e a porcentagem da contribuição. Vamos criar as respectivas medidas usando a linguagem de programação Python.

Analisando o impacto fiscal de propostas legislativas com IA

Todos os anos milhares de proposições legislativas são geradas na Câmara dos Deputados e Senado Federal, o que dificulta o trabalho de monitoramento feito por economistas, jornalistas e analistas de mercado. No entanto, ao empregar técnicas de engenharia de prompt e IA, podemos analisar estas milhares de proposições em questão de segundos. Neste exercício mostramos o caminho para esta automatização usando o Python.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.