Los conceptos pueden verse en el libro “Introducción al riesgo financiero” que puede obtenerse en https://1drv.ms/b/s!Aj-hHTVbsx01h4JmNiA9O57JQuANWg?e=l4IFbm

1. Valoración de una opción.

Existen varios modelos que permiten establecer el precio de una opción, entre ellos los más comúnmente utilizados son el modelo binomial y el de Black-Scholes-Merton, que se presentan a continuación.

\(C\): precio de la opción o prima de la opción.

\(S\): precio del bien subyacente en el mercado.

\(K\): precio del ejercicio (strike) del activo subyacente.

\(U\): utilidad/pérdida del inversionista.

\(VI\): valor intrínseco de una opción.

2. Modelo Black-Scholes-Merton.

Fischer Black, Myron Scholes y Robert Merton (1973) desarrollaron un modelo para valorar una opción europea sobre una acción que no paga dividendos.

Los supuestos básicos del modelo son:

  1. El activo subyacente es una acción que no paga dividendos durante la vida del contrato.

  2. El precio del activo subyacente se comporta como un movimiento geométrico browniano, o sea que los precios siguen una distribución lognormal o los rendimientos siguen una distribución normal.

  3. Las ventas en corto del activo subyacente son permitidas.

  4. La volatilidad del precio del activo subyacente permanece constante durante la vigencia del contrato.

  5. No hay costos de transacción.

  6. Existe un mercado de crédito en el que los agentes pueden prestar y pedir prestado a una tasa de interés constante y libre de riesgo de incumplimiento.

  7. La información es simétrica, es decir, todos los agentes comparten la misma información.

Bajo estos supuestos, el precio de una opción (\(C\)) dependerá solo del precio actual de la acción en el mercado (\(S\)), del tiempo de vencimiento (\(t\)), del precio de contado de la acción al final del contrato o precio del ejercicio o strike (\(K\)), la volatilidad (\(\sigma\)) del precio de la acción y de la tasa libre de riesgo (\(r\)).

2.1. Precio de la opción call.

Black-Scholes-Merton obtienen una ecuación diferencial parcial de segundo orden y lineal cuya solución es el precio de una opción europea; y su fórmula es:

\[\begin{equation*} C=S\cdot \Phi(d_{1})-K \cdot e^{-rt}\Phi(d_{2}) \end{equation*}\]

Donde:

\[\begin{equation*} d_{1}=\dfrac{ln\,\left(\dfrac{S}{K} \right)+\left[ r+\dfrac{\sigma^{2}}{2} \right]\cdot t}{\sigma\sqrt{t} } \end{equation*}\]

\[\begin{equation*} d_{2}=\dfrac{ln\,\left(\dfrac{S}{K} \right)+\left[ r-\dfrac{\sigma^{2}}{2} \right]\cdot t}{\sigma\sqrt{t} }=d_{1}-\sigma\sqrt{t} \end{equation*}\]

\(\Phi(d_{1})\) y \(\Phi(d_{2})\) corresponden al valor de la distribución normal estándar acumulada en los valores \(d_{1}\) y \(d_{2}\).

2.2. Las griegas de Black-Scholes-Merton.

2.2.1. Delta.

\[\begin{equation*} \Delta=\dfrac{\partial C}{\partial S}=\Phi(d_{1}) \end{equation*}\]

2.2.2. Gamma.

\[\begin{equation*} \Gamma= \dfrac{\partial ^{2}C}{\partial S^{2}}=\dfrac{e^{-\frac{d_{1}^{2}}{2}}}{S\sigma\sqrt{2\pi t}} \end{equation*}\]

2.2.3. Theta.

\[\begin{equation*} \Theta= \dfrac{\partial C}{\partial t}= -\dfrac{S\sigma e^{-\frac{d_{1}^{2}}{2}}}{2\sqrt{2\pi t}}-rKe^{-rt}\Phi(d_{2}) \end{equation*}\]

2.2.4. Rho.

\[\begin{equation*} \rho= \dfrac{\partial C}{\partial r}= tKe^{-rt}\Phi(d_{2}) \end{equation*}\]

2.2.5. Vega.

\[\begin{equation*} \upsilon= \dfrac{\partial C}{\partial \sigma}= \dfrac{S\sqrt{t}e^{-\frac{d_{1}^{2}}{2}}}{\sqrt{2\pi}} \end{equation*}\]

2.2.6. Kappa.

\[\begin{equation*} \kappa= \dfrac{\partial C}{\partial K}= -e^{-rt}\Phi(d_{2}) \end{equation*}\]

2.3. Precio de la opción put.

El precio de la opción put es:

\[\begin{equation*} P=K\cdot e^{-r\cdot t}\Phi(-d_{2})-S\cdot \Phi(-d1) \end{equation*}\]

\(d_{1}\) y \(d_{2}\) son las mismas que la opción call.

2.4. Las griegas de la opción put.

Las griegas de la opción put son:

2.4.1. Delta.

\[\begin{equation*} \Delta=\Phi(d_{1})-1 \end{equation*}\]

2.4.2. Gamma.

\[\begin{equation*} \Gamma=\dfrac{e^{-\frac{d_{1}^{2}}{2}}}{S\sigma\sqrt{2\pi \cdot t}} \end{equation*}\]

2.4.3. Rho.

\[\begin{equation*} \rho=-t\cdot K\cdot e^{-r\cdot t}(1-\Phi(d_{2}) \end{equation*}\]

2.4.4. Vega.

\[\begin{equation*} \upsilon=\dfrac{S\sqrt{t}e^{-\frac{d_{1}^{2}}{2}}}{\sqrt{2\pi}} \end{equation*}\]

2.4.5. Kappa.

\[\begin{equation*} \kappa=e^{-r\cdot t}(1-\Phi(d_{2})) \end{equation*}\]

2.4.6. Theta.

\[\begin{equation*} \Theta= - \dfrac{S \sigma e^{-\frac{d_{1}^{2}}{2}}}{2\sqrt{2\pi t}}+rK e^{-r t}(1-\Phi(d_{2})) \end{equation*}\]

2.5. Ejemplo.

S=4000 precio del subyacente en el mercado.

K=4100 precio de ejercicio.

r=0.05 tasa libre de riesgo.

sigma=0.22 volatilidad anual.

t=1/4 periodo (años).

2.5.1. Call option.

call=function(S,K,r,sigma,t){
 d1=(log(S/K)+(r+(sigma^2)/2)*t)/(sigma*sqrt(t))
 d2=(log(S/K)+(r-(sigma^2)/2)*t)/(sigma*sqrt(t))
 C=S*pnorm(d1)-K*exp(-r*t)*pnorm(d2)
 delta=pnorm(d1)
 gamma=exp((-d1^2)/2)/(S*sigma*sqrt(2*pi*t))
 theta=-(S*sigma*exp((-d1^2)/2))/(2*sqrt(2*pi*t))-r*K* exp(-r*t)*pnorm(d2)
 rho=t*K*exp(-r*t)*pnorm(d2)
vega=(S*sqrt(t)*exp(-(d1^2)/2))/sqrt(2*pi)
 kappa=-exp(-r*t)*pnorm(d2)
 matriz=matrix(c(C,delta,gamma,theta,rho,vega,kappa),
 ncol=1,nrow=7)
 rownames(matriz)=c("precio","delta","gamma","theta","rho",
 "vega","kappa")
 return(matriz)
 }
ca<-call(S=4000,K=4100,r=0.05,sigma=0.22,t=1/4)
print("El precio de la CALL y sus griegas son:");ca
## [1] "El precio de la CALL y sus griegas son:"
##                 [,1]
## precio  1.530699e+02
## delta   4.777339e-01
## gamma   9.052744e-04
## theta  -4.384155e+02
## rho     4.394664e+02
## vega    7.966415e+02
## kappa  -4.287477e-01

2.5.2. Put option.

put=function(S,K,r,sigma,t){
d1=(log(S/K)+(r+(sigma^2)/2)*t)/(sigma*sqrt(t))
d2=(log(S/K)+(r-(sigma^2)/2)*t)/(sigma*sqrt(t))
P<- (K*exp(-r*t)*(pnorm(-d2)))-(S*(pnorm(-d1)))
delta=pnorm(d1)-1
gamma=exp(-(d1**2)/2)/(S*sigma*sqrt(2*pi*t))
theta=-(S*sigma*exp(-((d1**2)/2)))/(2*sqrt(2*pi*t))+r*K*exp(-r*t)*(pnorm(-d2))
rho=-t*K*exp(-r*t)*(pnorm(-d2))
vega=(S*sqrt(t)*exp(-(d1**2)/2))/sqrt(2*pi)
kappa=exp(-r*t)*(pnorm(-d2))
 matriz=matrix(c(P,delta,gamma,theta,rho,vega,kappa),
 ncol=1,nrow=7)
 rownames(matriz)=c("precio","delta","gamma","theta","rho", "vega","kappa")
 return(matriz)
 }
pu<-put(S=4000,K=4100,r=0.05,sigma=0.22,t=1/4)
print("El precio de la PUT y sus griegas son:");pu
## [1] "El precio de la PUT y sus griegas son:"
##                 [,1]
## precio  2.021389e+02
## delta  -5.222661e-01
## gamma   9.052744e-04
## theta  -2.359621e+02
## rho    -5.728009e+02
## vega    7.966415e+02
## kappa   5.588301e-01

3. Modelo binomial.

En el modelo binomial se supone que la proporción de aumento en el precio del activo subyacente es igual al inverso de la proporción en la disminución, se tendría que los rendimientos del activo serían simétricos; para que esto ocurra se deberían calcular los rendimientos a través del logaritmo de la relación entre el precio en un periodo \(t\) y el periodo \(t-1\).Se tendría que el precio de la opción de compra (call option) es:

\[\begin{equation*} u=e^{\sigma(\frac{t}{n})}\hspace{1cm} d=\dfrac{1}{u}=e^{-\sigma(\frac{t}{n})}\hspace{1cm}p=\dfrac{e^{\sigma(\frac{t}{n})}-d}{u-d} \end{equation*}\]

\[\begin{equation*} C=e^{-rt}\displaystyle\sum_{j=o}^{n}\dbinom{n}{j}p^{j}(1-p)^{n-j}\cdot max(0,Su^{j}d^{n-j}-K) \end{equation*}\]

Para la opción de venta (put option), el precio o prima es: \[\begin{equation*} P= e^{-rt}\displaystyle\sum_{j=o}^{n}\dbinom{n}{j}p^{j}(1-p)^{n-j}\cdot max(0,K-Su^{j}d^{n-j}) \end{equation*}\]

\(\sigma:\) volatilidad de los rendimientos del activo subyacente.

\(t:\) número de años hasta el vencimiento de la opción.

\(n:\) número de periodos en los que se subdivide divide \(t\).

3.1. Ejemplo Call option.

S=4000;K=4100;r=0.05;t=1/4;sigma=0.22
n<-50 # número de periodos
u<-exp(sigma*sqrt(t/n))
d<-1/u
cal<-c()  ##número de periodos
p=(exp(r*t/n)-d)/(u-d)
for(j in 0:n){
cal[j+1]<-exp(-r*t)*(choose(n,j)*p^j*(1-p)^(n-j)*max(S*u^j*d^(n-j)-K,0))
}
call<-sum(cal)
print("El precio de la call es:");call
## [1] "El precio de la call es:"
## [1] 153.3069

3.2. Ejemplo Put option.

S=4000;K=4100;r=0.05;t=1/4;sigma=0.22
n<-50 # número de periodos.
u<-exp(sigma*sqrt(t/n))
d<-1/u
pu<-c()
p=(exp(r*t/n)-d)/(u-d)
for(j in 0:n){
pu[j+1]<-exp(-r*t)*(choose(n,j)*p^j*(1-p)^(n-j)*max(0,K-u^j*d^(n-j)*S))
}
put<-sum(pu)
print("El precio de la put es:");put
## [1] "El precio de la put es:"
## [1] 202.3759

4. Garman-Kohlhagen.

El modelo de Black-Scholes-Merton no se adaptan a las opciones sobre la tasa de cambio, ya que estas involucran dos tasas de interés: la tasa de interés libre de riesgo interna y la tasa libre de riesgo externa. Mark Garman y Steven Kohlagen (1983) presentaron una modificación del modelo de Black-Scholes-Merton que justamente incluía las dos tasas.

Los supuestos en los cuales se basa este modelo son:

  1. El precio spot de la divisa sigue un movimiento geométrico browniano.

  2. El precio de la opción (prima) es función de una única variable estocástica: el precio spot de la divisa.

  3. No existen oportunidades de arbitraje.

  4. No existen costos de transacción ni impuestos.

  5. La tasa de interés de corto plazo es conocida y permanece constante en el tiempo.

El modelo tiene, para la opción call, la forma:

4.1. Call option.

\[\begin{equation*} C=S\cdot e^{-r_{e}\cdot t}\Phi(d_{1})-K\cdot e^{-r_{i}\cdot t}\Phi(d_{2}) \end{equation*}\]

donde:

\(d_{1}=\dfrac{ln(\frac{S}{K})+[r_{i}-r_{e}+\frac{\sigma^{2}}{2}]\cdot t}{\sigma\sqrt{t}}\)

\(d_{2}=d_{1}-\sigma\sqrt{t}\)

\(r_{e}\): tasa de interés libre de riesgo externa.

\(r_{i}\): tasa de interés libre de riesgo interna.

4.2. Ejemplo opción call.

\(S=3500\)

\(K=3600\)

\(r_{e}=0.02\)

\(r_{i}=0.05\)

\(\sigma=0.4\)

\(t=3/12\)

callGK<-function(S,K,re,ri,sigma,t){
d1=(log(S/K)+((ri-re+(sigma**2)/2)*t))/(sigma*sqrt(t))
d2<-d1-sigma*sqrt(t)
call=(S*pnorm(d1)*exp(-re*t))-(K*exp(-ri*t)*pnorm(d2))
}
cal<-callGK(S=3500,K=3600,re=0.02,ri=0.05,sigma=0.4,t=3/12)
print("El precio de la CALL es:");cal
## [1] "El precio de la CALL es:"
## [1] 245.4238

4.3. Put option.

Para la opción put, el modelo es:

\[\begin{equation*} P=K\cdot e^{-r_{i}\cdot t}\Phi(-d_{2})-S\cdot e^{-r_{e}\cdot t}\Phi(-d_{1}) \end{equation*}\]

4.4. Ejemplo opción put.

putGK<-function(S,K,re,ri,sigma,t){
d1=(log(S/K)+((ri-re+(sigma**2)/2)*t))/(sigma*sqrt(t))
d2<-d1-sigma*sqrt(t)
put<-K*exp(-ri*t)*(pnorm(-d2))-S*exp(-re*t)*(pnorm(-d1))
}
pu<-putGK(S=3500,K=3600,re=0.02,ri=0.05,sigma=0.4,t=3/12)
print("El precio de la put es:");pu
## [1] "El precio de la put es:"
## [1] 318.1602

|—|

O.M.F.

|—|