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

O que são SLMs?

Assim como os LLMs, os Small Language Models (SLMs) são Modelos de Linguagem baseados em IA em versões mais compactas, projetados para funcionar com menos recursos computacionais, menor latência e maior privacidade. Neste exercício mostramos como usar estes modelos usando API's ou localmente através do Python.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.