image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Izairton Vasconcelos
Izairton Vasconcelos30/11/2024 20:39
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

Investindo com Inteligência: A Matemática Financeira Simplificada com Python

  • #Python

O desenvolvimento de scripts de programação é prática comum em diversas áreas de nossas vidas com enfoque especial na análise de investimentos no mercado financeiro de ações.

A razão dessa popularidade está na necessidade de obtenção de cálculos precisos retornados em relatórios confiáveis em nossas projeções.

Imagine-se como um desenvolvedor Python trabalhando em uma empresa atenta ao mercado financeiro de compra e venda de ações na bolsa de valores. Em um dia da semana, seu chefe entra no escritório e lhe pede:

"Precisamos de um script para analisar o potencial de lucro de um investimento em ações da empresa Y que apresenta evidências de elevação do preço de suas ações negociadas na Bolsa de Valores. Formule uma estratégia de opções financeiras com base na fórmula de Black-Scholes de modo que permita visualizar o cálculo do custo da opção de compra ( call option) e os resultados desse investimento”

Diante da solicitação de seu chefe, você percebe que usar suas habilidades em Python, recorrendo a ferramentas específicas e direcionadas ao desafio, como bibliotecas de cálculos matemáticos e conhecimentos técnicos do assunto, não só resolverá o problema como também lhe colocará em um patamar maior como desenvolvedor de situações complexas e influenciador na tomada de decisões estratégicas da empresa.

Neste artigo, o objetivo central é explorar como o Python pode ajudar você nessa tarefa, criando um script que possa viabilizar uma estratégia de investimento baseada em opções de compra através da fórmula de Black-Scholes e retornando um relatório gerencial promissor dos resultados.

O Cenário de Investimento

A empresa X para quem você trabalha, deseja investir em ações da Empresa Y, que está agora em ascensão. O preço das ações da Empresa Y é de R$ 100,00, e a Empresa X acredita que, daqui a um ano, o valor será maior do que R$ 110,00, o preço que ela está disposta a pagar.

Porém, o problema mais crítico são as incertezas do mercado. Portanto, para se proteger contra essas incertezas, a Empresa X resolve investir em uma opção de compra, que é um tipo de seguro financeiro garantidor do investimento pleiteado. Ou seja, esse artifício dará à empresa X o direito de comprar as ações negociadas a um preço predeterminado, antes ou na data de vencimento, sem a obrigatoriedade de comprá-las.

Nesse caso, para ter a garantia respaldada no negócio, a empresa X terá que arcar com o custo de R$ 6,04 por ação que corresponde ao “seguro” contratado e assim, poder ou não adquirir as ações por R$ 110,00 no vencimento futuro. Este “seguro” é o custo financeiro que a empresa X arcará para se proteger.

Para fins de resultados, no final do ano, o preço da ação chegará a R$ 109,00, abaixo do preço acordado na opção o que será evidenciado pelo script do Python que você, expert desenvolvedor, criará.

 

O Papel do Python

Sabedor da versalidade do Python como uma linguagem extremamente poderosa e completa, possuidora de várias bibliotecas como numpy, scipy e outras que te ajudarão nos cálculos financeiros complexos tornando-os, mais simples, em conjunto com a utilização da fórmula de Black-Scholes, determinará o valor de opções e calculará os resultados financeiros do investimento de forma eficiente.

O Código em Python

Abaixo está o código que calcula o preço da opção de compra e analisa os resultados para o cenário descrito.

import numpy as np
from scipy.stats import norm


def black_scholes_call(S, K, T, r, sigma):
  """
  Calcula o preço de uma opção de compra europeia usando a fórmula de Black-Scholes.


  Parâmetros:
      S: Preço atual do ativo subjacente
      K: Preço de exercício
      T: Tempo até o vencimento (em anos)
      r: Taxa de juros livre de risco (anualizada)
      sigma: Volatilidade do ativo subjacente (anualizada)


  Retorna:
      Preço da opção de compra
  """
  d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
  d2 = d1 - sigma * np.sqrt(T)


  call_price = S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
  return call_price


# Parâmetros do cenário
S = 100  # Preço atual da ação
K = 110  # Preço de exercício
T = 1    # Tempo até o vencimento (1 ano)
r = 0.05 # Taxa de juros livre de risco (5%)
sigma = 0.2  # Volatilidade (20%)


# Calcula o preço da opção
call_price = black_scholes_call(S, K, T, r, sigma)
print(f"Preço da opção de compra: R$ {call_price:.2f}")


# Cenário final
final_price = 109  # Preço da ação ao final de 1 ano
premium_cost = call_price * 1000  # Custo total do prêmio para 1000 ações
initial_investment = S * 1000  # Investimento inicial
final_market_value = final_price * 1000  # Valor final das ações no mercado
total_cost = initial_investment + premium_cost  # Custo total
profit = final_market_value - total_cost  # Lucro líquido


# Resultados
print("\nResultados do investimento:")
print(f"Investimento inicial: R$ {initial_investment:,.2f}")
print(f"Custo do prêmio da opção: R$ {premium_cost:,.2f}")
print(f"Valor de mercado das ações ao final: R$ {final_market_value:,.2f}")
print(f"Custo total (investimento + prêmio): R$ {total_cost:,.2f}")
print(f"Lucro líquido: R$ {profit:,.2f}")

Análise do Resultado

Após a execução do script, estes foram os resultados:

  • Preço da opção de compra: R$ 6,04
  • Investimento inicial: R$ 100.000,00
  • Custo do prêmio da opção: R$ 6.040,09
  • Valor de mercado das ações ao final: R$ 109.000,00
  • Custo total (investimento + prêmio): R$ 106.040,09
  • Lucro líquido: R$ 2.959,91

Conclusão

A execução do script em Python permitiu ao chefe da empresa X, visualizar os resultados da projeção futura do investimento planejado na aquisição das ações da empresa Y.

O desenvolvedor Python não apenas entregou um script funcional, mas também forneceu uma solução estratégica que ajudou a empresa a tomar decisões financeiras informadas e confiáveis.

O relatório gerencial produzido a partir do script criado pelo Dev possibilitou ao chefe visualizar claramente o custo do investimento, o impacto da proteção com opções e o lucro potencial, tudo de forma rápida e precisa.

Este exemplo evidencia como o conhecimento em Python vai além de uma simples linguagem de programação: é uma ferramenta poderosa que pode ser aplicada em diversas áreas, desde ciência de dados até finanças corporativas. Com bibliotecas como numpy e scipy, tarefas que parecem complexas, como precificar opções financeiras com a fórmula de Black-Scholes, tornam-se acessíveis e eficientes.

Em resumo, desenvolver aplicações no mundo da programação vai além de apenas codificar linhas em uma linguagem escolhida. Percebe-se claramente a necessidade de interação e conhecimento em outras áreas, notadamente a de finanças e gestão empresarial para que haja a transformação de números abstratos em decisões concretas.

Share
Recommended for you
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comments (4)
Izairton Vasconcelos
Izairton Vasconcelos - 01/12/2024 16:54

Obrigado Nicolau Carboni pelo seu comentário, a fórmula de Black-Scholes é fenomenal contra as incertezas de mercado na aplicação de investimentos em ações...logo, estarei reescrevendo uma segunda parte com melhorias no código em Python

Izairton Vasconcelos
Izairton Vasconcelos - 01/12/2024 16:50

Obrigado Flavio Queiroz pelo seu comentário, estou escrevendo uma segunda parte com explicações sobre a fórmula Black-Scholes e uma nova versão para o código em Python.


NC

Nicolau Carboni - 01/12/2024 15:27

Muito bom o artigo!

Há muito tempo venho usando linguagens como C, C++, C# e Java com suas variações mas o poder e a versatilidade do Phyton me arrepiam!!!

FQ

Flavio Queiroz - 01/12/2024 13:58

Parabéns pelo artigo, Izairton! Adoro o tema de finanças e investimentos associado à soluções tecnológicas!

Recommended for youMicrosoft Certification Challenge #3 DP-100