image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Izairton Vasconcelos
Izairton Vasconcelos30/11/2024 20:39
Compartir

Investindo com Inteligência: A Matemática Financeira Simplificada com 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.

    Compartir
    Comentarios (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!