1 votos

simple pregunta sobre la búsqueda de tarifas en ByS

Según el modelo Black-Scholes. Tengo que encontrar el tipo de interés libre de riesgo dentro de $0.5\%$ p.a. para una opción de compra europea sobre una acción con : $T=1$ año $K=6$ , $S_0=5.50$ , $\sigma=20\%$ . El libro dice que la opción es precios en $60p$ (¿significa Opción $=S_0*0.60$ ?).

La respuesta es $14.5\%$ pero no entiendo como conseguirlo ya que no tenemos todos los elementos para interpolar $\mathcal N(d)$ ?

0 votos

Por 60 peniques se entiende probablemente 60 peniques, es decir, el 60% de una unidad monetaria.

0 votos

Gracias, tienes razón porque la moneda es la libra.

0 votos

@BobJansen ¿entiendes lo que significa : "encontrar el tipo de interés libre de riesgo dentro de $0.5\%$ p.a." ¿Qué es $0.5\%$ ? No entiendo cómo conectarlo al modelo ...

1voto

Dan R Puntos 1852

Aquí está la solución general a su problema de encontrar la tasa implícita en el modelo Black-Scholes. En realidad es bastante similar a encontrar la volatilidad implícita. En primer lugar, observe que el modelo europeo rho

\begin{equation} \frac{\partial C_0}{\partial r} = K T e^{-r T} \mathcal{N} \left( d_- \right), \end{equation}

es estrictamente positivo (salvo en casos límite). A continuación, observe que

\begin{equation} \lim_{r \downarrow -\infty} C_0 = 0, \qquad \lim_{r \uparrow \infty} C_0 = S_0. \end{equation}

Por lo tanto, cuando el precio de compra inicial se encuentra entre los dos límites anteriores, se puede emplear una búsqueda root para encontrar la solución única para el tipo de interés implícito. Los métodos típicos son el algoritmo de bisección o el algoritmo de Newton-Raphson.

Aquí tienes un sencillo script en Python:

import numpy as np
import scipy.stats as st
import scipy.optimize as op

def blackScholesCall(maturity, strike, spot, rate, volatility):
    discount = np.exp(-rate * maturity)
    forward = spot / discount
    totalVolatility = volatility * np.sqrt(maturity)
    dPlus = np.log(forward / strike) / totalVolatility + 0.5 * totalVolatility * totalVolatility
    dMinus = dPlus - totalVolatility
    return discount * (forward * st.norm.cdf(dPlus) - strike * st.norm.cdf(dMinus))

solution = op.root(lambda rate: blackScholesCall(1.0, 6.0, 5.5, rate, 0.2) - 0.6, 0.0)
print "implied rate = %s" % solution.x[0]

Produce

implied rate = 0.145974327185

Que en su caso se redondea al 14,50%.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X