Contents

clear all

MATEMÁTICAS FINANCIERAS

Dr. René J. Meziat, Departamento de Matemáticas, Universidad de los Andes, Bogotá, Colombia.

VALORACIÓN DE UNA OPCIÓN EUROPEA TIPO PUT (VENTA)

Julio 2008

Black Scholes

Modelo Matemático cuyo fin es estimar el valor hoy de una opcion europea para la compra (Call) o venta (Put), de acciones en una fecha futura. *(Consultar Bibliografía). Se desea desarrollar la ecuación diferencial:

En donde:

r es la variable que representa la tasa de interés

r=0.0012;

sigma=0.0003;

K=1630;

Sinf es la variable que representa el precio máximo numérico

Sinf=2000;

h=0.4;

l=2;
% parámetros auxiliares

Análisis Matemático

El método numérico del cual se va a hacer uso para resolver la ecuación diferencial se llama diferencias finitas (ver bibliografía)

Desarrollo de los diferenciales:

Debemos transformar la ecuación diferencial para construir la matriz. Por lo tanto:

Reemplazando en la ecuación diferencial obtenemos:

Creación de la matriz

Primero notamos que es una matriz cuadrada y que su tamaño esta determinado por el precio máximo dividido la longitud de los intervalos menos los valores extremos que por condiciones de frontera ya tenemos.

tamano=Sinf/l - 1;
%

Matriz

Usamos variables adicionales para una representación grafica de la ecuación más sencilla:

gama=h*sigma^2/l^2;

beta=h*r/l;
%

Iniciamos la Matriz de tamaño 'tamano' pues en este punto omitimos los extremos ya que por las condiciones iniciales tenemos esa información.

A=zeros(tamano,tamano);

Nos disponemos a ingresar los valores en la matriz con los datos correspondientes. Se inicia un ciclo desde la posición 2 y hasta la posición 'tamano-1' porque son las posiciones

for j=2:(tamano-1)

    A(j,j)=1-gama*(j*l)^2 - beta*l*j-beta*l;

    A(j,j-1)=gama*(j*l)^2/2;

    A(j,j+1)=gama*(j*l)^2/2 + beta*l*j;
end

Para terminar de completar la matriz llenamos las posiciones huecas que hicieron falta manualmente. Primero con la primera posición

j=1;

A(j,j)=1-gama*(j*l)^2 - beta*l*j-beta*l;
A(j,j+1)=gama*(j*l)^2/2 + beta*l*j;

Ahora la Ultima posición

j=tamano;
%

A(j,j)=1-gama*(j*l)^2 - beta*l*j-beta*l;
A(j,j-1)=gama*(j*l)^2/2;
%

Para completar el sistema lineal, construimos el vector columna b

b=zeros(tamano,1);
% Llenamos la información del vector, que en este caso solo contiene información en la primera posición.
b(1)=-gama*K/2;
%

Para terminar creamos el vector 'solución'

for j=1:999
    v(j,1)=max(0,K-j*l);
end
%

Dibujamos el vector y activamos en Matlab el comando para sobrescribir graficas.

plot(v);
hold on
% Iteramos el vector 225 veces.
for i=1:225
    v=A*v+b;
    plot(v)
end

Bibliografía

Wilmott Paul, Option Pricing: Mathematical models and computation, Oxford Financial Express 2000 Burden Richard, Análisis Numérico, Thomson Learning 2002

Wikipedia: http://es.wikipedia.org/wiki/Black-Scholes