Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Opção de Abandono vs Preço de Venda

+1 voto
36 visitas
perguntada Out 24, 2019 em Finanças por Gustavo Medeiros (26 pontos)  
editado Out 30, 2019 por Gustavo Medeiros

Utilizando o caso anterior (Questão 7.1, http://prorum.com/?qa=4544/calculo-de-opcao-de-abandono), calcule o valor da opção de abandono para os seguintes casos:
A. Preço de Venda dos Equipamentos= $100 milhões
B. Preço de Venda dos Equipamentos= $80 milhões
C. Preço de Venda dos Equipamentos= $140 milhões
D. Preço de Venda dos Equipamentos= $160 milhões

Represente um gráfico com eixos Valor da Opção de Abondono versus Preço de Venda para mostrar a sensibilidade do valor da opção em relação ao Strike Price. Usando o gráfico, determine o valor critico de venda no qual o valor da opção não tem mais valor.

Questão 7.2 “Project valuation using real options - Kodukula and Papudesu” Opção de Abandono

Compartilhe

2 Respostas

0 votos
respondida Out 24, 2019 por Gustavo Medeiros (26 pontos)  
editado Nov 23, 2019 por Gustavo Medeiros

Para responder esta questão vamos reutilizar o código da questão 7.1:

def Arvore_Binomial_Abandono(n, S0, X, r, v, t): 
   import numpy as np
   At=n/t
   u=np.exp(v*np.sqrt(At))
   d=1/u
   p=(np.exp(r*At)-d)/(u-d)

   assetvalue=np.zeros((n+1,n+1))  #Valor do Ativo em cada nó da Árvore começando por S0
   assetvalue[0,0]=S0               
   for i in range (1,n+1):
       assetvalue[0,i]=assetvalue[0,i-1]*u
       for j in range (1,i+1):
           assetvalue[j,i]=assetvalue[j-1,i-1]*d

   optionvalue=np.zeros((n+1,n+1))    #Valor da opçao nos últimos nós da Árvore
   for j in range(n+1):
       optionvalue[j,n]=max(assetvalue[j,i], X-(optionvalue[j,n])) 

   for i in range (n-1,-1,-1):   #Calcula valor da opção retroativamente 
       for j in range(i+1):
           optionvalue[j,i]=max( X- optionvalue[j,i], np.exp(-r*At)*(p*optionvalue[j,i+1]+(1-p)*optionvalue[j+1,i+1]))

   return assetvalue.round(1), optionvalue.round(1)

 if __name__ == "__main__":
     print(Arvore_Binomial_Abandono(5,200,X,0.05,0.45,5,))

Com os parâmetros da questão 7.1 já introduzidos no código, X (o valor de venda dos equipamentos quando a opção de abandono é exercida) é o único parâmetro que será variado. Note a matriz de interesse nesse momento é apenas a segunda, a matriz do valor da opção.

Para A (X=100) temos os seguintes valores da opção de abandono:
A imagem será apresentada aqui.

Para os valores de B (X=80), C (X=140) e D (X=160) temos as respectivas matrizes:
A imagem será apresentada aqui.

Onde o valor de cada nó representa o valor da ação ótima entre seguir com o projeto ou exercer a opção de abandono.

Vamos agora montar o gráfico com os valores presentes das opções com os valores de venda dos equipamentos. Para tal vamos recorrer à outra biblioteca do Python, a matplotlib.

import matplotlib.pyplot as plt

Definindo o eixo Y como o eixo dos valores da opção e X como o eixo dos valores de venda dos equipamentos e introduzindo os valores da questão 7.1 (Valor Opção 217.3, X=120) para aumentar as observações, temos o seguinte código para gerar o grafico:

X=(80,100,120,140,160)
Y=(207.4, 211.9, 217.3, 226, 236.1)
plt.plot(X,Y)

E o resultado é:
A imagem será apresentada aqui.

Ou seja, quanto maior o valor de venda dos equipamentos, maior o valor da opção de abandono e o efeito de X sobre o valor da opção é crescente.

Para descobrir o valor critico de venda, onde a opção de abandono não tem mais valor, é só analisar qual Strike Price da opção é menor que valor do ativo. Seria no caso em que o valor da venda dos equipamentos fosse aproximadamente 21 milhões. Note que com esse valor, nem mesmo no pior dos cenários gerados pela árvore Binomial da questão 7.1 a opção de abandono seria exercida.

comentou Out 30, 2019 por danielcajueiro (5,836 pontos)  
Gustavo, vc precisa colocar um titulo sugestivo para a sua pergunta (Resuma o problema em uma linha). Vc colocou de onde saiu a questao. Isso vc pode colocar junto com o resto do material da pergunta em uma nota.
comentou Out 31, 2019 por Renata Oliveira (11 pontos)  
Interessante observar como o valor da opção é sensível ao preço de exercício. Note que o preço crítico de 21 milhões significa que se o preço de exercício for menor que este valor, a opção não tem valor intrínseco para a empresa ("out of the money option").
Ou seja, se a empresa só puder vender os equipamentos, em caso de abandono, por menos de 21 milhões, a opção não será exercida em nenhum cenário pois em todos os cenários possíveis o valor do projeto excede 21 milhões. Quanto maior o preço de exercício, maior o número de cenários nos quais vale a pena exercer a opção e, portanto, maior o valor da opção para a empresa. O valor crítico abaixo do qual a opção tem valor nulo permite à empresa negociar os termos do contrato de opção, alternativas de abandono e valores de venda dos equipamentos junto aos fornecedores com os quais se acordou a venda.
0 votos
respondida Dez 10, 2019 por Julia Regina Scotti (41 pontos)  

(esse é um comentário, mas está como resposta para usar as features de edição)

Achei super legal o seu código e acho que ele tem muitas utilidades nesse curso!

Em relação ao gráfico, acho que plotar muitos mais pontas ajuda a identificar as nao-lienaridaes e os pontos em que a curva muda:

def calcula_valor_opcao(valor_venda_equipamento):
    resposta = Arvore_Binomial_Abandono(5,200,valor_venda_equipamento,0.05,0.45,5,)
    valor_opcao = resposta[1][0][0]
    return valor_opcao

x = pd.DataFrame()
y = pd.DataFrame()

for i in range(500):
    #x = x.append(i)
    v_o = pd.Series(data=calcula_valor_opcao(i))
    v_e = pd.Series(data=i)
    x = pd.concat([x, v_e], axis=0)
    y = pd.concat([y, v_o], axis=0)

plt.plot(x, y)
plt.show()

A imagem será apresentada aqui.

Nota que por um periodo o valor da opção é zero, depois ela começa com uma inclinação e a partir de então é 45 graus

...