Académique Documents
Professionnel Documents
Culture Documents
Ingeniero Administrador
1 Preliminares 20
1.1 Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2 Justifcacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.1 Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.2 Objetivos especficos . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4 Marco teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1 Breve historia de los derivados . . . . . . . . . . . . . . . . . . . 21
1.4.2 Instrumentos Financieros Derivados . . . . . . . . . . . . . . . . 25
1.4.3 Valoracion de Derivados . . . . . . . . . . . . . . . . . . . . . . . 28
4 Conclusiones 122
5 Recomendaciones 123
Bibliografa 125
lej
A
an
dr
o P
re
Glosario
DTF1 es una tasa de interes calculada como un promedio ponderado semanal por mon-
to, de las tasas promedios de captacion diarias de los CDTs a 90 das, pagadas por los
bancos, corporaciones financieras, de ahorro y vivienda y companas de financiamiento
comercial. La calcula el Banco de la Republica con la informacion provista por la Su-
perintendencia Financiera hasta el da anterior. La DTF tiene vigencia de una semana.
IBR2 es una tasa de interes de corto plazo para el peso colombiano, la cual refleja el
precio al que los agentes participantes en su esquema de formacion estan dispuestos a
ofrecer o a captar recursos en el mercado monetario.
IPC3 es un ndice de precios ponderado que permite medir la variacion porcentual pro-
medio de los precios generalizados al por menor de un conjunto de bienes y servicios
finales destinados al consumo de los individuos y de los hogares.
UVR6 La unidad de valor real (UVR) refleja el poder adquisitvo con base en la variacion
del ndice de precios al consumidor (IPC) certificado por el Departamento Administra-
tivo Nacional de Estadstica (DANE). A partir de enero de 2000 la UVR reemplazo la
unidad de poder adquisitivo constante (UPAC).
La UVR es calculada de acuerdo con la metodologa establecida por el Consejo de
Poltica Economica y Social (Conpes), y se usa para calcular el costo de los creditos de
vivienda. Esta unidad de cuenta permite a las entidades financieras ajustar el valor del
credito segun el incremento del costo de vida en nuestro pas..
1
Tomado del portal web http://www.businesscol.com/
2
Tomado de Asobancaria (2007)
3
Tomado de Lora (2005)
4
Tomado del artculo 1.5.3.1 de la Resolucion 400 de 1995. Consultar Superintendecia Financiera de
Colombia (1995).
5
Tomado del Banco de la Republica en http://www.banrep.gov.co/
6
Tomado del Banco de la Republica en http://www.banrep.gov.co/
Resumen
Los mercados financieros actuales han sufrido una acelerada evolucion en los ultimos
50 anos, que ha influido en la aparicion de nuevos instrumentos de inversion. Sin lugar a
dudas, uno de los avances que ha representado mayores innovaciones y posibilidades ha
sido la amplia utilizacion de los derivados. Aunque estos productos aparecieron hace varios
siglos, ha sido recientemente donde se han manifestado los beneficios y riesgos que trae
la utilizacion de estos.
Los derivados son productos que como su nombre lo indica dependen de otro activo
subyacente que es el que determina su precio, su funcionamiento y la posibilidad de
cubrir diversos riesgos.
El presente trabajo constituye la construccion de un valorador de derivados sencillo
y facil de usar que permite la valoracion de Forwards, Futuros y Opciones sobre sub-
yacentes comunes. Todo esto con el fin de ayudar a que inversionistas y empresarios de
todos los niveles puedan acceder a la utilizacion de los derivados.
Palabras claves: Derivados, Valoracion, Forwards, Futuros, Swaps, Opciones.
Abstract
The current financial markets have undergone rapid development over the past 50 years.
This development has influenced the emergence of new investment instruments. Undoub-
tedly, one of the progress that has represented major innovations and opportunities has
been the widespread use of derivatives. Although these products appeared several cen-
turies ago, only recently have been known the benefits and the risks.
Derivatives are products which as its name indicates, depend on others underlying
assets. This underlying determines its price, operations and the ability to cover different
risks.
This paper presents the construction of a simple and easy tool, that allows the
valuation of Forwards, Futures and Options on common underlying. All this, in order
to help investors and managers at all levels to have access to the use of derivatives.
Keywords: Derivatives, Valuation, Forwards, Futures, Swaps, Options.
Valoracion de Derivados 18
Introduccion
El mundo, que desde los ultimos 50 anos ha sufrido una transformacion profunda en
cuanto a comunicaciones y aperturas, ha forzado a los mercados de capitales a adecuarse
a esta nueva forma de funcionamiento, una forma que implica rapidez y certeza en la
toma de decisiones para poder alcanzar el objetivo de rentabilidad de las inversiones,
de lo contrario existiran grandes probabilidades obtener perdidas con estas.
Este hecho, sumado al inmenso auge que han tenido los mercados financieros en este
periodo, han impulsado a los grandes academicos del momento y a los especialistas del
mercado a estructurar y proponer nuevos productos que le permitan a los inversionistas
y empresarios un mayor margen de maniobra con su dinero y a su vez les posibiliten
construir portafolios mas elaborados y solidos con coberturas para los distintos riesgos
a los que estan expuestos.
Dentro de estos nuevos productos sobresalen los derivados, productos financieros
cuyo valor se basa en el precio de otros activos y que permiten, mediante su correcta
utilizacion, cubrir todo tipo de riesgos financieros a los que puede estar expuesto un
inversionista o un empresario cualquiera.
A pesar de que este tipo de instrumentos aparecieron, de forma rudimentaria, por
primera vez en el siglo XVII, en Colombia apenas se estan introduciendo en el mercado y
aun no son ni muy utilizados ni ampliamente difundidos. Esto, sumado al hecho que la
teora detras de la utilizacion de estos no es sencilla, ha generado poco conocimiento del
tema por parte de los agentes.
Otra razon por la cual las personas no se han aventurado a la utilizacion de estos
instrumentos es la falta de acceso a herramientas que permitan determinar el costo
que tienen estos instrumentos y por consiguiente los beneficios que puede obtener una
persona con su utilizacion. La razon de ser de este problema se puede dividir en dos
partes. Por un lado, existe software especializado en mercado que permitira determinar
los precios, pero este es o muy costoso o muy complicado de manejar evitando con
esto su utilizacion generalizada. Por otro lado, en el caso de los Swaps y las Opciones,
existen muchas metodologas para la estimacion de los precios, unas sencillas y otras muy
complejas, creando confusion entre los usuarios y evitando, nuevamente, la utilizacion
de este tipo de productos.
Un claro ejemplo de esto es la actitud reacia de los exportadores de flores a adquirir
coberturas para el riego cambiario mediante Forwards, un procedimiento facil y sencillo
que cualquiera puede llevar a cabo en un banco comercial y que a su vez le permitira
saber al floricultor de antemano, la tasa a la que le van a pagar los dolares producto de
su exportacion, evitando as posible perdidas por las fluctuaciones de la TRM.
Al igual que el ejemplo anterior existen muchos otros que terminan mostrando un
desconocimiento del tema que desencadena temor en la utilizacion de estos instrumentos.
El presente trabajo constituye la construccion de un valorador de derivados sencillo
y facil de usar. En las secciones siguientes se hace un pequeno recuento de la historia
de los derivados, se explican las metodologas que se usaron para construir el valorador,
se exponen los criterios utilizados para adoptar dichas metodologas, y finalmente se
plantean algunas conclusiones sobre el extenso tema de los derivados financieros.
lej
A
an
dr
o P
re
Valoracion de Derivados 19
lej
A
an
dr
o P
re
Valoracion de Derivados 20
1. Preliminares
El tema financiero es ajeno a gran parte de los agentes que forman una economa, bien
por su aparente complejidad o bien por la falta de beneficios que el conocimiento de este
tema puede traer, sin embargo, estas dos percerpciones estan sesgadas porque, por una
parte, el conocimiento de los temas financieros puede traer grandes beneficios a todos los
agentes, desde el pequeno floricultor que exporta una pequena cantidad de flores hasta la
gran empresa que tiene sedes en distintos pases; por otra parte, la aparente complejidad
de los temas financieros que, aunque es cierta, no implica que un conocimiento basico
y concreto imposibilite la utilizacion de estos para mejorar la gestion del dinero y los
riesgos.
Dentro de todo este mundo de temas financieros, se encuentra el mercado de capitales
que sin lugar a dudas es un tema que genera cierto grado de temor por los riegos que
implica, el grado de sofisticacion que ha adquirido y las grandes sumas de dinero que
algunos pierden en el aunque ese dinero lo esten ganando otros. Sin embargo, este
mercado tambien le permite a los agentes adquirir coberturas para diferentes riesgos,
por medio de instrumentos como los derivados.
Si bien es cierto que un banco comercial cualquiera le cotiza a una persona un
Forward, por ejemplo, o que en el mercado existen herramientas computacionales que
permiten valorar los distintos derivados, estas opciones no son siempre las mas faciles
de utilizar o las mas trasparentes para la persona. Esto crea barreras a la utilizacion
generalizada de los derivados.
Entonces, la pregunta que se debe responder es: Como se puede, de una forma
sencilla, clara y de facil acceso y utilizacion, determinar el precio que tiene un Forward,
un Futuro, un Swap o una Opcion?.
1.2 Justificacion
Este proyecto se constituye en una herramienta que le permitira a los usuarios establecer,
por medio de la metodologas de valoracion ya conocidas, el valor que se debe pagar por
un intrumento derivado (Forward, Futuro, o Opcion).
Esto con el fin hacer mas accesible la informacion sobre este tema a las personas del
comun y as empezar a convertir el uso de los derivados en una practica mas habitual.
De igual forma le facilitara el trabajo a los inversionistas que tienen portafolios estruc-
turados con derivados, ya que podran evaluar estrategias de cobertura o de especulacion
de forma rapida y facil.
El proyecto concluira con una aplicacion computacional practica y de facil uso que
estara disponible para valorar cualquiera de estos derivados para ciertos activos subya-
centes, de forma que los usuarios vean como se establece el valor de un derivado.
lej
A
an
dr
o P
re
Valoracion de Derivados 21
Definir los criterios mas relevantes para la ponderacion de las metodologas de valo-
racion de Swaps y Opciones en cuanto a su facilidad de implementacion.
Probarla exactitud del valorador, en cada uno de los instrumentos derivados, en una
ventana de tiempo no superior a un mes.
Sin duda alguna los derivados han sido productos que le han dado una dinamica diferente
al mercado desde su auge en las plazas bursatiles.
By far the most significant event in finance during the past decade has
been the extraordinary development and expansion of financial derivatives.
These instruments enhance the ability to differentiate risk and allocate it
to those investors most able and willing to take it - a process that has
undoubtedly improved national productivity growth and standards of living.
Alan Greenspan, Chairman, Board of Governors of the US Federal Reserve
System.
an
dr
o P
re
Valoracion de Derivados 22
7
Tomado de Chicago Board Options Exchange (2009)
8
Para mas informacion consultar Black, Fischer and Scholes, Myron (1973)
9
Tomado de Chicago Board Options Exchange (2009)
lej
A
an
dr
o P
re
Valoracion de Derivados 23
Periodo
Subyacente/Instrumento Dic 2006 Jun 2007 Dic 2007 Jun 2008 Dic 2008
TOTAL 418,131 516,407 595,341 683,726 591,963
lej
A
an
dr
o P
re
Valoracion de Derivados 24
11
De acuerdo con el portal web ECONOMIA48 un bono nocional es un Bono ficticio del Estado con
un valor nominal teorico y que cotiza en un mercado regulado con unos vencimientos preestablecidos, una
rentabilidad dada y una serie de caractersticas que lo convierten en un bono totalmente normalizado. Se
utiliza principalmente como activo subyacente en un mercado de futuros.
12
Esta cifras solo incluyen las transacciones efectuadas a traves de la bolsa, ya que las que se hacen
sobre el Mercado Mostrador no se registran. Para mas informacion se puede consultar Bolsa de Valores
de Colombia (2009).
13
Se puede obtener mas informacion ingresando a www.http://www.derivex.com.co/index.html.
lej
A
an
dr
o P
re
Valoracion de Derivados 25
Los instrumentos derivados son contratos cuyo valor es funcion, depende (se deriva)
de otra variable denominada variable subyacente(Vilarino et al. 2008). Dentro de estos
subyancentes encontramos productos financieros como bonos, acciones o ndices, precios
de materias primas como el petroleo o el maz, tasas de interes como la LIBOR o tasas de
cambio. Tambien es posible encontrar subyacentes no financieros como la temperatura en
un lugar especfico o el ndice de precios de un pas o la cantidad de nieve que cae en algun
lugar; en otras palabras, cualquier variable susceptible de ser medida continuamente, es
susceptible de convertirse en un subyacente.
De forma general, se puede decir que un derivado es un instrumento financiero que:
1) cambia de valor en respuesta a cambios en el precio de otro activo, 2) no requiere de
una inversion inicial para su constitucion o, en el caso de requerirla, es muy pequena; y
3) se liquidara en una fecha futura.
Antes de abordar el tema de los modelos para la valoracion de los instrumentos
derivados, es necesario introducir un concepto que juega un papel fundamental en este
tema: el arbitraje. El arbitraje, segun Alexander et al. (2003), es una operacion en la
que no se corre ningun riesgo de perdida y adicionalmente existe una total certeza de
la obtencion de un beneficio. Este hecho implica que los mercados, en momentos en los
que se presenten posibilidades de arbitraje, se moveran rapidamente para corregir esas
desviaciones y as volveran a la formacion de los precios estandar.
En vista de lo anterior, y de acuerdo con De Lara (2005), los modelos de valoracion
parten de un conjunto se supuestos, que se listan a continuacion:
Los cuatro instrumentos derivados basicos son los Forwards, los Futuros, los Swaps
y las Opciones. A partir de estos, es posible construir infinitas combinanciones que dan
como resultado productos mas elaborados y complejos que comunmente se denominan
notas estructuradas.
Forwards
Los Forwards son los instrumentos derivados mas sencillos. Estos son, de acuerdo con
De Lara (2005), contratos en los que las partes se obligan a comprar o vender en una
fecha futura, un activo a un determinado precio pactado el da de hoy. Estos contratos
pueden ser Delivery cuando al final del contrato efectivamente se entrega el activo a
cambio de dinero o Non Delivery cuando al final solo se liquida en dinero la diferencia
entre el precio pactado y el precio de contado el da de la liquidacion del contrato.
lej
A
an
dr
o P
re
Valoracion de Derivados 26
$COP
$USD
t t
0 T 0 T
$USD
$COP
(I) (II)
Figura 1: Ejemplo de un Forward de Venta de USD a cambio de COP (I) y un Forward de Compra de USD
a cambio de COP (II)
lej
A
an
dr
o P
re
Valoracion de Derivados 27
En otras ocaciones, los costos y los beneficios no estan expresados como tasas, sino en
forma de costos o beneficios fijos. En estos casos la expresion matematica del precio
sera:
F = S(1 + r)n + Costos Beneficios
Futuros
Los Futuros, en cierto modo, son iguales a los Forwards : Contratos de conpraventa que se
pactan ahora con liquidacion en el futuro. Estos contratos tambien se dividen en Delivery
y Non Delivery, sin embargo, este instrumento presenta diferencias fundamentales con
respecto a los Forwards.
De acuerdo con De Lara (2005), estas diferencias se pueden resumir en las siguientes:
Swaps
Opciones
an
dr
o P
re
Valoracion de Derivados 28
Flujos Recibidos
0 t
Flujos Pagados
En Colombia el organo encargado de regular, hasta cierto punto, el uso de los instrumen-
tos financieros derivados es la Superintendencia Financiera, que dicta las pautas para
que las entidades que son vigiladas por esta superintendencia valoren los instrumentos
que posean en sus portafolios.
Estas disposiciones estan contenidas en el capitulo XVIII de la Circular Basica Con-
table y Financiera (C.E. 100 de 1995) a la cual se le han hecho numerosas modificaciones,
siendo la mas reciente la publicada en junio de 2009 mediante la Circular Externa 021.
Las metodologas propuestas por la Superintendencia Financiera de Colombia no
son las unicas existentes para la valoracion de instrumentos financieros derivados y en
ningun momento el regulador exige que se utilicen, mas aun cuando existe la posibilidad
de utilizar una metodologa mejor.
En los numerales que siguen a continuacion se hara una explicacion de las metodo-
logas que se utilizaran para la construccion del valorador de instrumentos financieros
derivados.
1. Valoracion de Forwards
Forward contrato en los que una parte se obliga a comprar y la otra a vender
un determinado subyacente en una fecha futura a un precio pactado el d a
de hoy. Estos contratos pueden ser: Delivery cuando al final del contrato
efectivamente se entrega el activo subyacente a cambio de dinero, o Non
Delivery cuando al final solo se liquida en dinero la diferencia entre el precio
pactado y el precio de contado el da de la liquidacion del contrato.
lej
A
an
dr
o P
re
Valoracion de Derivados 29
360
Por su parte, el valor del derecho que debe registrar el vendedor del
subyacente en su balance (obligacion para el comprador), en pesos co-
lombianos, esta dado por la siguiente expresion:
NU SD T C F
(1.3)
k
1 + rk
360
lej
A
an
dr
o P
re
Valoracion de Derivados 30
Finalmente, la utilidad o perdida del Forward el da de la valoracion esta-
ra dada por la resta de las ecuaciones (1.3) y (1.2), calculadas de acuerdo
con la posicion de la entidad compra o venta de dolares americanos.
15
Tomada de la circular 21 de junio de 2009.
lej
A
an
dr
o P
re
Valoracion de Derivados 31
lej
A
an
dr
o P
re
NDY Valoracion
T Fk T CUdeSD/DX T C RMSP OT
Derivados 32
( (1.6)
k
1 + rDXk
360
lej
A
an
dr
o P
re
Valoracion de Derivados 33
Por su parte, el valor del derecho que debe registrar el vendedor del
subyacente en su balance (obligacion para el comprador), en pesos co-
lombianos, esta dado por la siguiente expresion:
NDY T C F T CU SD/DX T C RMSP OT
( (1.7)
k
1 + rDXk
360
Donde:
lej
A
an
dr
o P
re
Valoracion de Derivados 34
PF W C
( z (1.9)
k
1+ rk 1 + rz
360
360
lej
A
an
dr
o P
re
Valoracion de Derivados 35
Por su parte, el valor del derecho que debe registrar el vendedor del subyacente
en su balance (obligacion para el comprador), en pesos colombianos, esta dado
por la siguiente expresion:
PP
( (1.10)
k
1+ rk x
360
1.3 Forwards sobre Tasas de Interes a Plazo (Forward Rate Agreement (FRA))
Para valorar este tipo de instrumento financiero derivado se debe calcular la
tasa Forward implcita que corresponda al plazo existente entre la fecha de
inicio o liquidacion del FRA y la fecha de vencimiento. Ambas fechas son
posteriores a la fecha de celebracion del Forward.
IPC
0 3 9
4%
{F( (
360 x 1 + rt2 x t360
2
1 + rtl x ti
360 1
rIMP = (1.11)
(t2 tl )
lej
A
an
dr
o P
re
Valoracion de Derivados 36
Donde:
Tasa Forward implcita para un plazo igual al comprendido
tIMP
entre tl y tx .
Plazo en das, comprendido entre la fecha de celebracion del
tl
Forward y la fecha de inicio (o liquidacion) del mismo.
Plazo en das, comprendido entre la fecha de celebracion del
tx
Forward y la fecha de vencimiento del mismo.
Tasa de interes cero cupon vigente en la fecha de valoracion
t2i
para el plazo ti , donde i = 1, 2.
Una vez calculada la tasa Forward implcita se procede a cuantificar la ganan-
cia o perdida del FRA. El proceso es el siguiente: se debe calcular la diferencia
entre la tasa Forward implcita y la tasa de interes pactada, luego se debe
multiplicar por el valor nominal y por el perodo de vigencia del instrumento
(en das); finalmente, se traer a valor presente. Este calculo tiene la siguiente
expresion:
F 360 F r = F r 360
22 2i 2i 22
1 + tIMP x x 1 + t2l x 1 + t2x x
360 360 360
(1.12)
Donde:
N x tIMP x (tx tl )
F 360r (1.13)
x 22
1 + t2x360
Por su parte, el valor del derecho que debe registrar el vendedor del subyacente
en su balance (obligacion para el comprador), en pesos colombianos, esta dado
por la siguiente expresion:
N x tFRA x (tx tl )
F 360r (1.14)
x 22
1 + t2x360
lej
A
an
dr
o P
re
dada por la resta de las ecuaciones
Valoracion de (1.14) y (1.13), calculadas de acuerdo con
Derivados 37
la posicion de la entidad compra o venta ttulos en el futuro.
lej
A
an
dr
o P
re
Valoracion de Derivados 38
2. Valoracion de Futuros
Los futuros deben valorarse sobre la base del correspondiente precio de mercado
en la fecha de valoracion. Tales precios son provistos por la respectiva bolsa o
sistema de negociacion donde la entidad haya negociado el instrumento financiero
derivado.
Para cuantificar las utilidades o perdidas en contratos de futuros, se debe calcular
la diferencia entre el precio de mercado de cada unidad del contrato respectivo y
el precio pactado de la misma, multiplicado por el valor del contrato y por el
numero de contratos negociados. Para ello se aplica la siguiente expresionl6 :
(PFUT P P ) x N x n (1.15)
Donde:
Precio de los contratos de futuros identicos al que se esta valorando,
PFUT reportado en la fecha de valoracion por la bolsa o sistema de negociacion
de valores donde se negocien.
P P Precio fijado en el contrato de futuros.
N Valor nominal de cada contrato futuro.
n Numero de contratos de futuros negociados.
3. Valoracion de Swaps
lej
A
an
dr
o P
re
Valoracion de Derivados 39
Los Swaps mas conocidos son de dos tipos: cuando los intercambios de di-
nero futuros estan referenciados a tasas de interes, llamandose IRS (Interest
Rate Swaps ) o cuando los intercambios de dinero futuros estan asociados a
diferentes monedas, en este caso se llaman CCS (Cross Currency Swaps ).
La combinacion de los Swaps mencionados lleva a un nuevo Swap en el que
los flujos estan referenciados a diferentes tasas de interes y adicionalmente a
diferentes monedas.
A continuacion se describe la metodologa propuesta por la Superintendencial7
para la valoracion de los Swaps.
3.1 Swaps de Tasas de Interes (IRS - Interest Rate Swaps )
Cuando tanto los flujos que se entregan como los flujos que se reciben es-
tan denominados en la misma moneda la valoracion se puede llevar a cabo
mediante la metodologa que asemeja los flujos a dos bonos, uno de posicion
larga y otro de posicion corta. La distincion con respecto a la valoracion de
bonos estandares radica en dos aspectos: 1) Que la valoracion de un bono en
el mercado de contado se hace mediante el descuento a la tasa de interes que
negocia el mercado en la fecha de valoracion, mientras que la valoracion de
los flujos del Swap se hace utilizando como tasas de descuento las tasas cero
cupon que correspondan, y 2) Que la proyeccion de los flujos futuros de bonos a
tasa variable se efectua con las tasas vigentes en el mercado en la fecha de la
valoracion, mientras que la proyeccion de los flujos de los Swaps se realiza
utilizando tasas futuras implcitas.
Con estas diferencias claras, se procede a valorar el Swap como la diferencia de
los valores presentes de los dos bonos. Para lograr esto es necesario proyectar
los flujos futuros, estimar el valor presente de estos y finalmente determinar
el precio justo de intercambio del Swap.
A continuacion se exponen los lineamientos generales que se deben seguir para
la proyeccion de los flujos:
3.1.1 Proyeccion de flujos a tasa variable cuando existe curva de tasas.
Se deben calcular a partir de las curvas existentes las tasas futuras im-
plcitas que correspondan para los plazos de los flujos y utilizarlas en las
respectivas proyecciones. Tal es el caso, por ejemplo, cuando se trata de
flujos a tasa Libor, en donde a partir de la curva Libor-Swap correspon-
diente, publicada en Bloomberg o Reuters, se deben calcular las tasas
Forward implcitas para proyectar los flujos indexados a la Libor.
3.1.2 Proyeccion de flujos a tasa variable cuando no existe curva de tasas.
La proyeccion de los flujos dependera del tipo de tasa. La norma colom-
biana establece metodologa para la proyeccion de flujos atados a DTF,
IBR e IPC. A continuacion se explica dicha metodologa.
3.1.2.1 Para Flujos a DTF
A. Calcular las tasas futuras implcitas de la curva cero cupon
de TES tasa fija en pesos, de acuerdo con la ecuacion (1.11).
i7
Esta metodologa fue propuesta en el captulo XVIII de la Circular 100 cuya ultima actualizacion
es la circular 21 de junio de 2009.
lej
A
an
dr
o P
re
Valoracion de Derivados 40
1 + TESCOP 1 (1.16)
TINF =
1 + TESUVR
lej
A
an
dr
o P
re
descomponerse el Swap de monedas.
Valoracion de Derivados 41
lej
A
an
dr
o P
re
Valoracion de Derivados 42
3.2.2 Valoracion cuando los flujos de las dos puntas del Swap no coinciden en
el tiempo.
La valoracion puede efectuarse con la metodologa estandar, de acuerdo
con la cual se valora como un portafolio de dos bonos, uno en cada
moneda, incluyendo para ello los respectivos montos de capital de la
operacion. El valor neto del portafolio de los dos bonos es la diferencia
de las valoraciones de las dos puntas.
4. Valoracion de Opciones
Max {K ST , 0} (1.18)
Donde:
El metodo de los arboles binomiales se basa en los movimientos que sufre un activo
cualquiera en un periodo de tiempo. Supongamos una accion que hoy vale 1, 000,
el precio de la opcion manana podra ser 900 o 1, 100.
El metodo de los arboles binomiales entonces evalua en multiples pasos el com-
portamiento del activo subyacente de una Opcion y a partir de este resultado
lej
A
an
dr
o P
re
determina el precio de esta.
Valoracion de Derivados 43
lej
A
an
dr
o P
re
Valoracion de Derivados 44
S0 u2
fuu
S0 u
fu
S0 S0 ud
f fud
S0 d
fd
S0 d2
fdd
an
dr
o P
re
Valoracion de Derivados 45
la siguiente expresion:
Donde:
er2 d
p= (1.20)
u d
Para que el modelo de valoracion quede completo es necesario determinar el valor
de u y el valor de d. Para este fin y de acuerdo con J. C. Cox, S.A. Ross y M.
Rubinstein (1979) se tienen las siguientes ecuaciones:
u = e 2
(1.21)
2
d=e (1.22)
Donde:
El modelo que se acaba de exponer aplica para Opciones Europeas sobre Acciones
unicamente. Para valorar Opciones Europeas sobre otros subyacentes se deben
hacer las siguientes modificaciones:
e(rq)2 d
p= (1.23)
lej
A
an
dr
o P
re
u d
Valoracion de Derivados 46
i8
para mas detalles sobre la forma como se llega al valor de p se puede consultar el captulo 11 de
Hull (2008).
lej
A
an
dr
o P
re
Valoracion de Derivados 47
e (rre )2 d
p= (1.24)
ud
Donde:
Por ultimo, es preciso aclarar que para valorar las Opciones Americanas, se bebe
tener en cuenta un elemento mas cuando se recorre el arbol binomial. El primer
paso de la valoracion, sera la construccion del arbol binomial tal y como se hace
en el caso de las Opciones Europeas incluyendo el calculo de p segun sea el tipo
de subyacente.
Una vez construido el arbol binomial c o m p l e t a m e nte se empieza a recorrer desde
el final hacia el principio como se explico anteriormente pero teniendo en cuenta
que el precio de la opcion no siempre sera el valor esperado de esta descontado a
la tasa libre de riesgo. La razon de ser de este hecho es que como se esta valorando
una Opcion Americana y esta se puede ejercer anticipadamente, el precio de la
Opcion sera el optimo entre el encontrado con el procedimiento normal del arbol
binomial y el beneficio obtenido con el ejercicio anticipado.
Para ilustrar lo anterior, suponga el siguiente ejemplo tomado de Hull (2008).
Considere una Opcion de venta a dos anos con un precio de ejercicio de $52 sobre
una accion cuyo precio actual es $50. La Opcion se valorara con un arbol binomial
de dos pasos. Adicionalmente suponga que la accion sube o baja en un monto
proporcional de 20 % y que la tasa libre de riesgo es 5 %.
S0 = 50 K = 52 t = 0.05
t = 1 u = 1.2 d = 0.8
lej
A
an
dr
o P
re
p = 0.6282
Valoracion de Derivados 48
lej
A
an
dr
o P
re
Valoracion de Derivados 49
72 72
D D
0 0
60 60
B B
1.415 1.415
50 48 50 48
A E A E
4.192 4 5.089 4
40 40
C C
9.464 12.0
32 32
F F
20 20
(I) (II)
Figura 5: Comparacion de arbol binomial para una Opcion Europea (I) y una Opcion Americana (II)
lej
A
an
dr
o P
re
rk
e(br)k xNde(dDerivados
c2 = S xValoracion l) X x e xN (dx ) 50
(1.25)
lej
A
an
dr
o P
re
Valoracion de Derivados 51
Donde:
Div/S
q= (1.27)
e(rd 2)
S
r r
ln + b + lx x x k ln S
+ b lx x x k
dl = X dx = X (1.28)
x t x t
an
dr
o P
re
resultados, en la fecha de valoracion, una utilidad
Valoracion por ese valor, al tiempo que el 52
de Derivados
emisor de la opcion debe registrar una perdida por la misma cuanta en esa fecha.
lej
A
an
dr
o P
re
Valoracion de Derivados 53
lej
A
an
dr
o P
re
Valoracion de Derivados 54
Las pruebas del modelo se llevaron a cabo mediante la comparacion de los resul-
tados arrojados por este contra los precios que hay en el mercado.
lej
A
an
dr
o P
re
Valoracion de Derivados 55
lej
A
an
dr
o P
re
Valoracion de Derivados 56
bases correctas que permiten que sean aplicadas por las entidades y se obtengan
resultados de acuerdo con el mercado.
Complejidad matematica
Se evaluo la complejidad matematica de las diferentes metodologas y siempre se
pretendio utilizar el metodo menos complejo. Este criterio no fue muy utilizado
ya que el criterio anterior fue el que primo en la seleccion de las metodologas y,
adicionalmente, las metodologas propuestas por la Superintendencia Financiera
de Colombia no son muy complejas desde el punto de vista matematico.
Este criterio resulto importante en la seleccion de la metodologa utilizada para
valorar las Opciones. Esto se debio principalmente a que en este caso no se utilizo
la propuesta de la Superintendencia y por lo tanto fue necesario estudiar otras
alternativas.
FORWARDS
La metodologa para valorar este tipo de instrumentos sera la propuesta por la Super-
intendencia Financiera de Colombia en la Circular Externa 021 de 2009.
FUTUROS
La metodologa que se utilizara para la valoracion de este tipo de derivados, sera la
propuesta por la Superintendencia Financiera de Colombia en la Circular 21 de junio
de 2009.
SWAPS
Para la valoracion de este tipo de instrumentos financieros derivados se propone la uti-
lizacion de la metodologa propuesta por la Superintendencia Financiera de Colombia
en el Captulo XVIII de la Circular 100. Esta es una metodologa sencilla y de facil
implementacion.
OPCIONES
La metodologa para valorar este tipo de instrumentos sera la de arboles binomiales.
Esta metodologa se ha seleccionado por encima de la propuesta por la Superintendencia
Financiera de Colombia porque permite valorar tanto Opciones Europeas como Ame-
ricanas. La metodologa propuesta por la Superintendencia es la utilizacion del modelo
de Black-Scholes/Merton que solo aplica para la valoracion de Opciones Europeas.
De acuerdo con Rendleman, Richard J. and Bartter, Brit J. (1979), el modelo de
Black-Scholes / Merton (propuesto por la SFC) es una transformacion matematica del
modelo binomial, que por medio de algunos supuestos, simplifica la solucion de las
multiples iteraciones al utilizar lmites. Cuando se evalua por medio de lmites el
modelo de los arboles binomiales cuando t 0, es decir, cuanto los incrementos o
lej
A
an
dr
o P
re
Valoracion de Derivados 57
La primera etapa que se llevo a cabo en este proceso fue la del diseno de la base de datos
de las series de tiempo y un esquema de como funcionara el valorador en su consjunto,
es decir, como se hara la integracion de todo el aplicativo.
Como se menciono anteriormente, los valoradores se disenaron y construyeron de
forma independiente.
Para disenar cada uno de los valoradores lo primero que se hizo fue una identifica-
cion de las variables que se requieren en cada caso para la valoracion del instrumento
financiero derivado. Posteriormente se diseno la forma como se tomara la informacion
de cada uno de los ttulos y como se valorara a partir de dicha informacion. Finalmente
se diseno un formulario que le permitiera al usuario ingresar de forma correcta todos
los datos de un ttulo a la aplicacion.
3.2.1 Interface
Menu principal
Al abrir el libro, el usuario encontrara el menu inicial que se muestra en la Figura
6. A traves de este menu se podra acceder a cada una de las hojas que componen
el valorador. Los modulos hojas sonx3 :
SERIES Este modulo comprende la base de datos de toda la informacion que es
utilizada para valorar los distintos instrumentos financieros derivados.
FORWARDS Este modulo permite adquirir Forwards para el portafolio y valo-
rarlos da tras da.
FUTUROS Este modulo permite adquirir Futuros para el portafolio y valorarlos
da tras da.
23
Aunque en un principio se plante la inclusion del valorador de Swaps en la aplicacion, no se conto
con el suficiente tiempo para implementar la metodologa. En carta al consejo academico entregada
lej
A
an
dr
o P
re
el da 23 de septiembre de 2009 se solicito un cambio
Valoracion en el anteproyecto que permitiera no incluir
de Derivados 58 el
valorador de Swaps.
lej
A
an
dr
o P
re
Valoracion de Derivados 59
Para acceder a cada uno de los modulos solo es necesario hacer click en el boton
que lleva a cada una de las hojas, bien sea a la de las series o a la de cada uno de
los instrumentos.
El boton permite acceder a un formulario con la informacion tecnica del Valo-
rador y un link que lleva a este documento.
Series
Esta hoja, como se menciono anteriormente, es una base de datos de series de
tiempo, en la que cada una de las columnas es una variable de mercado. La Figura
7 muestra una pequena parte de la hoja.
Para que el valorador funcione correctamente el usuario debe actualizar constante-
mente las series, garantizando que para el da de la valoracion TODAS las variables
tengan informacion.
En el encabezado de cada una de las columnas se encuentra el nombre de la serie
y la fuente en donde es posible obtener la informacion para su actualizacion. Es
importante aclarar que algunas variables fueron extradas de fuentes que no son
de libre acceso y que por lo tanto, el usuario debera obtener una suscripcion para
poder acceder a la informacion de esas fuentes.
La entrada de los datos en esta hoja se implemento de forma manual por la facili-
dad que representa esta estructura para la entrada de datos y porque no se conto
con el suficiente tiempo para elaborar una interface automatica. Adicionalmente,
esta interface requerira que los usuarios contaran con una suscripcion a un sistema
de informacion financiera lo cual es costoso y no siempre se podra asegurar.
Forwards
lej
A
an
dr
o P
re
Valoracion de Derivados 60
Al presionar el boton FORWARDS se ingresa a este modulo.
lej
A
an
dr
o P
re
Valoracion de Derivados 61
La Figura 8 muestra una parte de este modulo en la que se pueden observar tres
botones: REGRESAR que permite volver al Menu Inicial de la Figura 6, Ad-
quirir que permite agregar Forwards al portafolio y Valorar que llama la rutina
que valora los ttulos vigentes a la fecha que se ha ingresado en la celda Fecha
Valoracionel modulo de Futuros y el de Opciones tiene las misma estructura
y los botones cumplen con las mismas funciones en cada uno de ellos.
an
dr
o P
re
Valoracion de Derivados 62
lej
A
an
dr
o P
re
Valoracion de Derivados 63
nuevo formulario (Figura 11) que le permite al usuario ingresar las condiciones
faciales del ttulo para ser almacenadas como parte de la operacion.
Figura 10: Formulario de Adquisicion de Forwards con boton para parametrizar Ttulos Renta Fija
Los campos que contiene este nuevo formulario (Figura 11) se describen a conti-
nuacion:
Emisor Entidad que emitio el ttulo. Un ejemplo de esto puede ser el Gobierno
Nacional en el caso de los ttulos TES Clase B.
Clase de Ttulo Descripcion que le quiera agregar el usuario para su posterior
recnocimiento
Plazo de Maduracion Tiempo en Das que resta hasta el vencimiento del ttulo.
Tasa Facial Tasa de interes que pagara el ttulo sobre el valor nominal de este.
Se debe entrar como un valor porcentual pero sin el signo %.
Periodicidad Frecuencia con la que el ttulo pagara cupones.
Modalidad Indica si la tasa se calculara Anticipada o Vencida.
Cupon Se debe seleccionar si se presentara pago de cupon durante la vigencia
del contrato Forward. En caso de ser afirmativo se debe seleccionar la fecha
de dicho pago. El monto del cupon se calculara por defecto, sin embargo, el
usuario puede modificarlo si es necesario.
an
dr
o P
re
Valoracion de Derivados 64
Futuros
Al presionar el boton FUTUROS se ingresa a este modulo.
La Figura 14 muestra la parte superior izquierda del modulo de Futuros. Como se
menciono anteriormente en la seccion 3.2.1 los botones tienen las mismas funciones
que en el modulo de Forwards con la excepcion que en este caso se Adquiere un
Futuro y se Valoran los Futuros vigentes a la fecha.
Al hacer click en el boton Adquirir aparece el formulario que se muestra en la
Figura 15, por medio del cual se ingresan las condiciones del Futuro que se va a
pactar. Una vez comprado el ttulo, este se registrara en una fila de forma que
la informacion quede dispuesta debajo de cada uno de los encabezados de la tabla
que se observa en la Figura 14 esta imagen es ilustrativa, en el valorador la tabla
tiene mas columnas.
A continuacion se explica cada uno de los campos del formulario:
an
dr
o P
re
Valoracion de Derivados 65
Figura 12: Formulario de Adquisicion de Forwards con boton para parametrizar FRAs
lej
A
an
dr
o P
re
Valoracion de Derivados 66
especficos.x5
Fecha Operacion Fecha en la que se pacta el contrato Futuro. Es la fecha en la
que se negocia el instrumento con la contraparte y este entra en vigencia.
Cumplimiento Fecha en la que se liquidaran las posiciones. Es cuando el contrato
se vence y se hace efectivo el intercambio del subyacente o el cumplimiento
financiero.
Numero Contratos Cantidad de contratos que se estan pactando.
Nominal Contrato Valor Nominal de cada contrato. Cada Bolsa de Valores define
el valor nominal de los contratos que se transan en ella. Como ejemplo, se
tiene que el Futuro sobre TRM en Colombia tiene como subyacente USD
$50,000.
lej
A
an
dr
o P
re
Valoracion de Derivados 67
Precio Pactado Precio al que se liquidara el contrato en la fecha de cumplimiento.
lej
A
an
dr
o P
re
Valoracion de Derivados 68
lej
A
an
dr
o P
re
Valoracion de Derivados 69
ca de los activos subyacentes pactados Delivery o si por el contrario solo
se hara un neteo de posiciones y se efectuara un cumplimiento financiero.
lej
A
an
dr
o P
re
Valoracion de Derivados 70
lej
A
an
dr
o P
re
26
Para mas detalles consulte directamenteValoracion
en la Ayuda de
del Derivados
valorador 71
lej
A
an
dr
o P
re
Valoracion de Derivados 72
formulario (Figura 19) que le permite al usuario ingresar los dividendos que paga
la accion si son conocidos durante la vigencia de la Opcion.
Figura 18: Formulario de Adquisicion de Opciones con boton para parametrizar Dividendos de Acciones
Las Acciones que pagan un dividendo en forma de Tasa, se deben tratar como un
Indice con rendimiento x %.
lej
A
an
dr
o P
re
Valoracion de Derivados 73
1. Formularios
frmAyudafrm
En la Figura 21 se muestra el diseno del formulario frmAyudafrm.
i Privat e Sub btnCerrar_Clic k ()
2 Unload Me
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 74
frmCreditos
En la Figura 22 se muestra el diseno del formulario frmCreditos.
i Privat e Sub btnCerrar_Click ()
2 Me . Hide
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 75
frmNewFrd
En la Figura 23 se muestra el diseno del formulario frmNewFrd.
i Privat e Sub Ayuda1_Clic k ()
2 Call A yuda Forms ( " fr mNew Frd1 ")
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 76
lej
A
an
dr
o P
re
Valoracion de Derivados 77
lej
A
an
dr
o P
re
Valoracion de Derivados 78
57
58 Cells (3 , 3) . Select
59
60 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 79
lej
A
an
dr
o P
re
Valoracion de Derivados 80
3i
32 ReDim FrdTitulo (1)
33 FrdTitulo (0) = False
34
35 End Sub
frmNewFrd 1
En la Figura 24 se muestra el diseno del formulario frmNewFrd_1.
frmNewFrd 2
En la Figura 25 se muestra el diseno del formulario frmNewFrd_2.
lej
A
an
dr
o P
re
Valoracion de Derivados 81
lej
A
an
dr
o P
re
Valoracion de Derivados 82
lej
A
an
dr
o P
re
6 frmNewFrd_2 .Valoracion
Ayuda8 . Enable
de dDerivados
= True 83
7 frmNewFrd_2 . Label10 . Enable d = True
lej
A
an
dr
o P
re
Valoracion de Derivados 84
frmNewFrd 3
En la Figura 26 se muestra el diseno del formulario frmNewFrd_3.
i Privat e Sub Ayuda1_Clic k ()
2 Call A yuda Forms ( " frmNewFrd_31 ")
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 85
5 Call VfrmNewFrd_3
6 If RValForm = False Then
7 Exit Sub
8 End If
9
i0 FrdFechaLi q = frmNewFrd_3 . dtpkFechaLiquidacion
ii
i2 Unload Me
i3
i4 End Sub
frmNewFut
En la Figura 27 se muestra el diseno del formulario frmNewFut.
i Privat e Sub Ayuda1_Click ()
2 Call A yuda Forms ( " frmNewFut1 ")
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 86
lej
A
an
dr
o P
re
Valoracion de Derivados 87
lej
A
an
dr
o P
re
Valoracion de Derivados 88
i2 End If
i3
i4 Sheets (" CODIGO ") . Cells (10 , 62) = frmNewFut . cmbSubyacent e . Value
i5
i6 N = Sheets (" CODIGO " ). Cells (10 , 64)
i7 F = Sheets (" CODIGO " ). Cells (10 , 63)
i8
i9 ReDim TiposSubyacente s (N - 1)
20 For i = 0 To N - 1
2i TiposSubyacente s ( i) = Sheets (" CODIGO " ). Cells (F , 63 + i)
22 Next i
23
24 frmNewFut . cmbTipoSubyacente . List = TiposSubyacentes
25 frmNewFut . cmbTipoSubyacente . Value = TiposSubyacentes (0)
26 frmNewFut . cmbTipoSubyacente . MatchRequired = True
27
28 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 89
frmNewOpc
En la Figura 28 se muestra el diseno del formulario frmNewOpc.
i Privat e Sub Ayuda1_Click ()
2 Call A yuda Forms ( " frmNewOpc1 ")
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 90
lej
A
an
dr
o P
re
Valoracion de Derivados 91
lej
A
an
dr
o P
re
Valoracion de Derivados 92
63 D = OpcDividendos (j , i )
64 If D = 0 Then
65 D = ""
66 End If
67 Cells ( F Escritur a - 1 + i , 17 + j) = D
68 N ext
69 Next
70 End If
7i
72 Cells ( FEscritura , 28) = " SI "
73
74 Cells ( FEscritura , 31) = frmNewOpc . lblUnidadesPrecio
75
76 Cells ( FEscritura , 33) = frmNewOpc . lblUnidadesPrima
77
78 Se llama la fun ci o n que le da format o a la fila nuev a ( en la que
se acaba de escribir la info )
79 Call F orma toOpc ( FEscritura )
80
8i Unload Me
82
83 Cells (3 , 3) . Select
84
85 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 93
6 Dim i As Integer
7
8 frmNewOpc . cmbTipoSubyacente . MatchRequired = False
9
i0 If frmNewOpc . cmbSubyacente . Value = " " Then
ii Exit Sub
i2 End If
i3
i4 Sheets (" CODIGO ") . Cells (10 , 92) = frmNewOpc . cmbSubyacent e . Value
i5
i6 N = Sheets (" CODIGO " ). Cells (10 , 94)
i7 F = Sheets (" CODIGO " ). Cells (10 , 93)
i8
i9 ReDim TiposSubyacente s (N - 1)
20 For i = 0 To N - 1
2i TiposSubyacentes ( i) = Sheets (" CODIGO " ). Cells (F , 93 + i)
22 Next i
23
24 frmNewOpc . cmbTipoSubyacente . List = TiposSubyacentes
25 frmNewOpc . cmbTipoSubyacente . Value = TiposSubyacentes (0)
26 frmNewOpc . cmbTipoSubyacente . MatchRequired = True
27
28 If frmNewOpc . cmbSubyacente . Value = " Accione s " Then
29 frmNewOpc . btnDividendos . Visible = True
30 Else
3i frmNewOpc . btnDividendos . Visible = False
32 End If
33
34 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 94
frmNewOpc 1
En la Figura 29 se muestra el diseno del formulario frmNewOpc_1.
i Privat e Sub Ayuda1_Clic k ()
2 Call A yuda Forms ( " frmNewOpc_11 ")
3 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 95
4 Dim j As Integer
5
6 Call VfrmNewOpc_1
7 If RValForm = False Then
8 Exit Sub
9 End If
i0
ii ReDim OpcDividendos (10 , 2)
i2 OpcDividendo s (0 , 0) = True
i3 For j = 1 To 2
i4 For i = 1 To 10
i5 If j = 1 Then
i6 OpcDividendos (i , j) = frmNewOpc_1 . spsDividendo s . Cells (1
+ i, j)
i7 Else
i8 OpcDividendos (i , j) = CSng ( frmNewOpc_ 1 . spsDividendo s .
Cells (1 + i , j) )
i9 End If
20 Next
2i Next
22
23 Unload Me
24
25 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 96
2. Modulos
Ayuda
i Sub Ayu daForms ( Cod , Optional MI = 0, Optiona l BarraVertical = False )
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a llama el formulario dond e se muestra *
4 * la ayud a de los formularios *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 Se escrib e el Codigo de la ayud a en el la hoja cod igo s
8 Sheets (" CODIGO ") . Cells (3 , 106) = Cod
9
i0 Se leen los H ip er vin cu lo s en caso de existir
ii NameHyp1 = Sheets (" CODIGO ") . Cells (3 , 110)
i2 NameHyp2 = Sheets (" CODIGO ") . Cells (3 , 112)
i3
lej
A
an
dr
o P
re
Valoracion de Derivados 97
lej
A
an
dr
o P
re
Valoracion de Derivados 98
2i End Sub
Forwards
i Sub NewFrd ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a llama el formulario que permit e *
4 * adquiri r nuevos FORWARDS *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 frmNewFrd . Show
8
9 End Sub
i Sub CodFrd ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O el consecutivo *
4 * en el que van los FORWARDS y lo procesa para *
5 * encontrar el siguiente consecutivo *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim CodI As Integer
9 Dim CodA As Integer
i0
ii CodI = Sheets (" CODIGO ") . Cells (4 , 51)
i2 CodA = Sheets (" CODIGO ") . Cells (5 , 51)
i3
i4 If CodA = 0 Or CodA < CodI Then
i5 CodA = CodI
i6 Else
i7 CodA = CodA + 1
i8 End If
i9
20 Sheets (" CODIGO ") . Cells (5 , 51) = CodA
2i
22 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 99
26 . IndentLevel = 0
27 . ShrinkToFit = False
28 . ReadingOrder = xlContext
29 . M ergeCells = False
30 End With
3i
32 Rango = "B" & F & " ,C" & F & " ,G" & F & " ,O" & F & " ,R " & F
33 F ormat o Fech a
34 Range ( Rango ). Select
35 Selection . NumberFormat = " [ -409] d - mmm - yy ;@"
36 With Selection
37 . Font . Name = " Verdana "
38 . Font . Size = 8
39 . HorizontalAlignmen t = xlCenter
40 . VerticalAlignment = xlCente r
4i . WrapText = False
42 . Orientation = 0
43 . AddIndent = False
44 . IndentLevel = 0
45 . ShrinkToFit = False
46 . ReadingOrder = xlContext
47 . M ergeCells = False
48 End With
49
50 Rango = "I" & F & " ,K" & F & " ,AA " & F & " ,AB " & F & " ,AC " & F
5i F ormat o Mile s sin Decimales
52 Range ( Rango ). Select
53 Selection . NumberFormat = " # ,##0 "
54 With Selection
55 . Font . Name = " Verdana "
56 . Font . Size = 8
57 . HorizontalAlignmen t = xlCenter
58 . VerticalAlignment = xlCente r
59 . WrapText = False
60 . Orientation = 0
6i . AddIndent = False
62 . IndentLevel = 0
63 . ShrinkToFit = False
64 . ReadingOrder = xlContext
65 . M ergeCells = False
66 End With
67
68 Rango = "M" & F & " ,Q" & F & " ,U" & F & " ,W" & F & " ,Y " & F
69 F ormat o Mile s con 3 Decimales
70 Range ( Rango ). Select
7i Selection . NumberFormat = " # ,##0.000 "
72 With Selection
73 . Font . Name = " Verdana "
74 . Font . Size = 8
75 . HorizontalAlignmen t = xlCenter
76 . VerticalAlignment = xlCente r
77 . WrapText = False
78 . Orientation = 0
79 . AddIndent = False
80 . IndentLevel = 0
8i . ShrinkToFit = False
82 . ReadingOrder = xlContext
83 . M ergeCells = False
84 End With
85
86 Rango = "T" & F
87 F ormat o Porcentaje con 3 Decimales
88 Range ( Rango ). Select
89 Selection . NumberFormat = " 0.000 % "
90 With Selection
lej
A
an
dr
o P
re
Valoracion de Derivados 100
lej
A
an
dr
o P
re
Valoracion de Derivados 101
i6 Else
i7 Tc = frmNewFrd . cmbTip o
i8 Tss = frmNewFrd . cmbTipoSubyacente
i9 End If
20
2i If Tc = " Compra " Then
22 FrdTipo = " C"
23 Else
24 FrdTipo = " V"
25 End If
26
27 Sheets (" CODIGO ") . Cells (18 , 47) = Tss
28
29 FrdSubyacent e = Mid ( Sheets (" CODIGO ") . Cells (19 , 47) , 1, 2)
30 FrdTipoSubyacent e = Mid ( Sheets (" CODIGO ") . Cells (19 , 47) , 4, 6)
3i
32 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 102
38 End If
39
40 ActiveShee t . Protect ( Password := Psw , DrawingObjects := True , Contents :=
True , Scenario s := True , UserInterfaceOnly := False ,
AllowFormattingCell s := True , AllowFormattingColumns := False ,
AllowFormattingRow s := False , AllowInsertingColumn s := False ,
AllowInsertingRow s := False , AllowInsertingHyperlinks := False ,
AllowDeletingColumn s := False , AllowDeletingRows := False , AllowSortin g
:= True , AllowFilterin g := True , AllowUsingPivotTables := True ) = True
4i ActiveShee t . EnableSelection = xlUnlockedCell s
42
43 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 103
36 frmValFrd . lblProgreso = " Valorando FORWARD " & Campo1 & " de "
& Campo2
37
38 Call ClasificacionFrd ( FrdVigentesPos ( i))
39
40 Select Case FrdSubyacente
4i
42 Case " S1 "
43
44 Select Case FrdTipoSubyacente
45
46 Case " T1 "
47
48 Select Case FrdTipo
49
50 Case " C"
5i Call ValFrd_Divisas_C_USD (
FrdVigentesPos ( i))
52 Case " V"
53 Call ValFrd_Divisas_V_USD (
FrdVigentesPos ( i))
54
55 End Select
56
57 Case " T2 "
58
59 Select Case FrdTipo
60
6i Case " C"
62 Call ValFrd_Divisas_C_EUR (
FrdVigentesPos ( i))
63 Case " V"
64 Call ValFrd_Divisas_V_EUR (
FrdVigentesPos ( i))
65
66 End Select
67
68 Case " T3 "
69
70 Select Case FrdTipo
7i
72 Case " C"
73 Call ValFrd_Divisas_C_GBP (
FrdVigentesPos ( i))
74 Case " V"
75 Call ValFrd_Divisas_V_GBP (
FrdVigentesPos ( i))
76
77 End Select
78
79 Case " T4 "
80
8i Select Case FrdTipo
82
83 Case " C"
84 Call ValFrd_Divisas_C_JPY (
FrdVigentesPos ( i))
85 Case " V"
86 Call ValFrd_Divisas_V_JPY (
FrdVigentesPos ( i))
87
88 End Select
89
90 End Select
9i
lej
A
an
dr
o P
re
Valoracion de Derivados 104
i Sub VerificarVigenciaFr d ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a recorre los FORWARD S ACTIVOS y *
4 * verific a uno a uno si a la fech a de v alo raci o n *
5 * estan vigente s o no . *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim N As Integer
9 Dim Fi As Integer
i0 Dim i As Integer
ii Dim FechaVal As Date
i2 Dim Col As Long
i3 Dim FFin As D ate
i4
i5 Col = 19 C olumn a en la que
esta el camp o " Vigent e "
i6
i7 Fi = Shee ts (" CODIGO "). Cells (7 , 51)
i8 N = Sheets (" CODIGO " ). Cells (8 , 51)
i9 FechaVal = Sheets (" FORWARD S " ). Cells (3 , 3)
20
lej
A
an
dr
o P
re
Valoracion de Derivados 105
2i For i = 1 To N
22
23 Call ClasificacionFrd ( Fi - 1 + i )
24
25 If FrdSubyacent e = " S2 " Then
26 FFin = Sheets (" FORWARD S ") . Cells ( Fi - 1 + i , 15)
27 Else
28 FFin = Sheets (" FORWARD S ") . Cells ( Fi - 1 + i , 7)
29 End If
30
3i If Sheets ( " FORWARDS " ). Cells ( Fi - 1 + i , 3) <= FechaVal And FFin
>= FechaVal Then
32 Sheets (" FORWARDS "). Cells ( Fi - 1 + i , Col ) = " SI "
33 Sheets (" FORWARDS "). Cells ( Fi - 1 + i , 26) = FFin - FechaVa l
34 Else
35 Sheets (" FORWARDS "). Cells ( Fi - 1 + i , Col ) = " NO "
36 Sheets (" FORWARDS "). Cells ( Fi - 1 + i , 26) = ""
37 End If
38 Next
39
40 End Sub
i Sub ContarVigentesFr d ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a cuent a los FORWARDS que estan *
4 * vigente s de la tabla . *
5 * Esta rutin a t ambi e n construy e un vector con las *
6 * filas en las que estan los FORWARD S vigentes . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim N As Integer
i0 Dim Fi As Integer
ii Dim i As Integer
i2 Dim Col As Long
i3
i4 Col = 19 C olumn a en la que
esta el camp o " Vigent e "
i5
i6 Fi = Sheets (" CODIGO "). Cells (7 , 51)
i7 N = Sheets (" CODIGO " ). Cells (8 , 51)
i8
i9 FrdVigente s = 0
20 ReDim FrdVigentesPos (N )
2i
22 For i = 1 To N
23 If Sheets ( " FORWARDS " ). Cells ( Fi - 1 + i , Col ) = " SI " Then
24 FrdVigentes = FrdVigentes + 1
25 FrdVigentesPos ( FrdVigentes ) = Fi - 1 + i
26 End If
27 Next
28
29 ReDim Preserve FrdVigentesPos ( FrdVigentes )
30
3i End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 106
i0 Sheets (" FORWARDS "). Cells (F , 20) = Sheets ( " CODIGO "). Cells (94 , 51)
ii Sheets (" FORWARDS "). Cells (F , 21) = ""
i2 Sheets (" FORWARDS "). Cells (F , 23) = Sheets ( " CODIGO "). Cells (91 , 51)
i3 Sheets (" FORWARDS "). Cells (F , 25) = Sheets ( " CODIGO "). Cells (97 , 51)
i4
i5 Sheets (" FORWARDS "). Cells (F , 27) = Sheets ( " CODIGO "). Cells (96 , 51) *
Sheets (" FORWARDS "). Cells (F , 9)
i6 Sheets (" FORWARDS "). Cells (F , 28) = Sheets ( " CODIGO "). Cells (97 , 51) *
Sheets (" FORWARDS "). Cells (F , 9)
i7 Sheets (" FORWARDS "). Cells (F , 29) = Sheets ( " CODIGO "). Cells (99 , 51) *
Sheets (" FORWARDS "). Cells (F , 9)
i8
i9 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 107
lej
A
an
dr
o P
re
Valoracion de Derivados 108
i6 Sheets (" FORWARDS "). Cells (F , 28) = Sheets (" CODIGO " ). Cells (157 , 59) *
Sheets (" FORWARDS " ). Cells (F , 9)
i7 Sheets (" FORWARDS "). Cells (F , 29) = - Sheets (" CODIGO " ). Cells (160 , 59)
* Sheets ( " FORWARDS ") . Cell s (F , 9)
i8
i9 End Sub
i Sub Va lF r d_ T t ul os R F_ V (F )
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutina valora los FORWARDS de VENTA que *
4 * tienen com o subyacente TIT U LO S RENT A FIJA EN *
5 * COP
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Sheets (" CODIGO ") . Cells (174 , 48) = Sheets ( " FORWARD S " ). Cells (F , 13)
lej
A
an
dr
o P
re
Valoracion de Derivados 109
9 Sheets (" CODIGO ") . Cells (175 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 17)
i0 Sheets (" CODIGO ") . Cells (176 , 47) = Sheets ( " FORWARDS " ). Cell s (F , 16)
ii Sheets (" CODIGO ") . Cells (177 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 26)
i2 Sheets (" CODIGO ") . Cells (178 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 18) -
Sheets (" FORWARDS "). Cells (3 , 3)
i3
i4 Sheets (" FORWARDS " ). Cells (F , 20) = Sheets ( " CODIGO " ). Cells (179 , 48)
i5 Sheets (" FORWARDS " ). Cells (F , 21) = ""
i6 Sheets (" FORWARDS " ). Cells (F , 23) = Sheets ( " CODIGO " ). Cells (176 , 48)
i7 Sheets (" FORWARDS " ). Cells (F , 25) = Sheets ( " CODIGO " ). Cells (185 , 48)
i8
i9 Sheets (" FORWARDS " ). Cells (F , 27) = Sheets ( " CODIGO " ). Cells (184 , 48) *
Sheets (" FORWARDS "). Cells (F , 9)
20 Sheets (" FORWARDS " ). Cells (F , 28) = Sheets ( " CODIGO " ). Cells (185 , 48) *
Sheets (" FORWARDS "). Cells (F , 9)
2i Sheets (" FORWARDS " ). Cells (F , 29) = Sheets ( " CODIGO " ). Cells (187 , 48) *
Sheets (" FORWARDS "). Cells (F , 9)
22
23 End Sub
i Sub Va lF r d_ T t ul os R F_ C (F )
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valor a los FORWARDS de COMPR A que *
4 * tienen como subyacente TIT UL O S RENTA FIJA EN *
5 * COP
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Sheets (" CODIGO ") . Cells (174 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 13)
9 Sheets (" CODIGO ") . Cells (175 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 17)
i0 Sheets (" CODIGO ") . Cells (176 , 47) = Sheets ( " FORWARDS " ). Cell s (F , 16)
ii Sheets (" CODIGO ") . Cells (177 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 26)
i2 Sheets (" CODIGO ") . Cells (178 , 48) = Sheets ( " FORWARDS " ). Cell s (F , 18) -
Sheets (" FORWARDS "). Cells (3 , 3)
i3
i4 Sheets (" FORWARDS " ). Cells (F , 20) = Sheets ( " CODIGO " ). Cells (179 , 48)
i5 Sheets (" FORWARDS " ). Cells (F , 21) = ""
i6 Sheets (" FORWARDS " ). Cells (F , 23) = Sheets ( " CODIGO " ). Cells (176 , 48)
i7 Sheets (" FORWARDS " ). Cells (F , 25) = Sheets ( " CODIGO " ). Cells (185 , 48)
i8
i9 Sheets (" FORWARDS " ). Cells (F , 27) = Sheets ( " CODIGO " ). Cells (185 , 48) *
Sheets (" FORWARDS "). Cells (F , 9)
20 Sheets (" FORWARDS " ). Cells (F , 28) = Sheets (" CODIGO " ). Cells (184 , 48) *
Sheets (" FORWARDS "). Cells (F , 9)
2i Sheets (" FORWARDS " ). Cells (F , 29) = - Sheets (" CODIGO " ). Cells (187 , 48)
* Sheets (" FORWARDS ") . Cell s (F , 9)
22
23 End Sub
i Sub ValFrd_FRA s (F )
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valor a los FORWARDS de COMPR A y de *
4 * VENTA que son sobre FRAs *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 Sheets (" CODIGO ") . Cells (18 , 47) = Sheets (" FORWARDS "). Cells (F , 6)
8 Sheets (" CODIGO ") . Cells (169 , 58) = Sheets ( " FORWARDS " ). Cell s (F , 15)
9 Sheets (" CODIGO ") . Cells (170 , 58) = Sheets ( " FORWARDS " ). Cell s (F , 7)
i0 Sheets (" CODIGO ") . Cells (190 , 59) = Sheets ( " FORWARDS " ). Cell s (F , 9)
ii Sheets (" CODIGO ") . Cells (191 , 59) = Sheets ( " FORWARDS " ). Cell s (F , 13)
i2
i3 Sheets (" FORWARDS " ). Cells (F , 20) = " NA "
i4 Sheets (" FORWARDS " ). Cells (F , 21) = Sheets ( " CODIGO " ). Cells (198 , 59)
i5 Sheets (" FORWARDS " ). Cells (F , 23) = " NA "
i6 Sheets (" FORWARDS " ). Cells (F , 25) = Sheets ( " CODIGO " ). Cells (186 , 59)
lej
A
an
dr
o P
re
Valoracion de Derivados 110
i7 Sheets (" FORWARDS "). Cells (F , 27) = Sheets ( " CODIGO "). Cells (193 , 59)
i8 Sheets (" FORWARDS "). Cells (F , 28) = Sheets ( " CODIGO "). Cells (194 , 59)
i9 Sheets (" FORWARDS "). Cells (F , 29) = Sheets ( " CODIGO "). Cells (196 , 59)
20
2i End Sub
Futuros
i Sub NewFut ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a llama el formulario que permit e *
4 * adquiri r nuevos FUTUROS *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 frmNewFut . Show
8
9 End Sub
i Sub CodFut ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O el consecutivo *
4 * en el que van los FUTUROS y lo proces a para *
5 * encontrar el siguiente consecutivo *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim CodI As Integer
9 Dim CodA As Integer
i0
ii CodI = Sheets (" CODIGO ") . Cells (4 , 66)
i2 CodA = Sheets (" CODIGO ") . Cells (5 , 66)
i3
i4 If CodA = 0 Or CodA < CodI Then
i5 CodA = CodI
i6 Else
i7 CodA = CodA + 1
i8 End If
i9
20 Sheets (" CODIGO ") . Cells (5 , 66) = CodA
2i
22 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 111
23 . Orientation = 0
24 . AddIndent = False
25 . IndentLevel = 0
26 . ShrinkToFit = False
27 . ReadingOrder = xlContext
28 . M ergeCells = False
29 End With
30
3i Rango = "B" & F & " ,C" & F & " ,G" & F
32 F ormat o Fech a
33 Range ( Rango ). Select
34 Selection . NumberFormat = " [ -409] d - mmm - yy ;@"
35 With Selection
36 . Font . Name = " Verdana "
37 . Font . Size = 8
38 . HorizontalAlignmen t = xlCenter
39 . VerticalAlignment = xlCente r
40 . WrapText = False
4i . Orientation = 0
42 . AddIndent = False
43 . IndentLevel = 0
44 . ShrinkToFit = False
45 . ReadingOrder = xlContext
46 . M ergeCells = False
47 End With
48
49 Rango = "U" & F & " ,V" & F & " ,W" & F
50 F ormat o Mile s sin Decimales
5i Range ( Rango ). Select
52 Selection . NumberFormat = " # ,##0 "
53 With Selection
54 . Font . Name = " Verdana "
55 . Font . Size = 8
56 . HorizontalAlignmen t = xlCenter
57 . VerticalAlignment = xlCente r
58 . WrapText = False
59 . Orientation = 0
60 . AddIndent = False
6i . IndentLevel = 0
62 . ShrinkToFit = False
63 . ReadingOrder = xlContext
64 . M ergeCells = False
65 End With
66
67 Rango = "I" & F & " ,K" & F & " ,M" & F & " ,Q" & F & " ,S " & F
68 F ormat o Mile s con 3 Decimales
69 Range ( Rango ). Select
70 Selection . NumberFormat = " # ,##0.000 "
7i With Selection
72 . Font . Name = " Verdana "
73 . Font . Size = 8
74 . HorizontalAlignmen t = xlCenter
75 . VerticalAlignment = xlCente r
76 . WrapText = False
77 . Orientation = 0
78 . AddIndent = False
79 . IndentLevel = 0
80 . ShrinkToFit = False
8i . ReadingOrder = xlContext
82 . M ergeCells = False
83 End With
84
85 Rango = "A" & F & ": W" & F
86 F ormat o BORDES
87 Range ( Rango ). Select
lej
A
an
dr
o P
re
Valoracion de Derivados 112
lej
A
an
dr
o P
re
Valoracion de Derivados 113
i Sub VerificarVigenciaFu t ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a recorre los FUTURO S ACTIVO S y *
4 * verific a uno a uno si a la fecha de val ora ci o n *
5 * esta n vigentes o no . *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim N As Integer
9 Dim Fi As Intege r
i0 Dim i As Integer
ii Dim FechaVal As Date
i2 Dim Col As Long
i3
lej
A
an
dr
o P
re
Valoracion de Derivados 114
. Cells ( Fi - 1 + i , 7) - FechaVal
24 Else
i Sub ContarVigentesFu t ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a cuent a los FUTUROS que estan *
4 * vigente s de la tabla . *
5 * Esta rutin a t ambi e n construy e un vector con las *
6 * filas en las que estan los FUTURO S vigentes . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim N As Integer
i0 Dim Fi As Integer
ii Dim i As Integer
i2 Dim Col As Long
i3
i4 Col = 16 C olumn a en la que
esta el camp o " Vigent e "
i5
i6 Fi = Shee ts (" CODIGO "). Cells (7 , 66)
i7 N = Sheets (" CODIGO " ). Cells (8 , 66)
i8
i9 FutVigente s = 0
20 ReDim FutVigentesPo s (N )
2i
22 For i = 1 To N
23 If Sheets ( " FUTUROS " ). Cells ( Fi - 1 + i , Col ) = " SI " Then
24 FutVigente s = FutVigentes + 1
25 FutVigentesPo s ( FutVigentes ) = Fi - 1 + i
26 End If
27 Next
28
29 ReDim Preserve FutVigentesPos ( FutVigentes )
30
3i End Sub
MainCod
i Sub Series ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja SERIE S que variables *
4 * hay y establec e en cual column a se encuentra *
5 * cada una de ella s . *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
lej
A
an
dr
o P
re
7
8 Dim FE As Intege r
Valoracion de Derivados 115
lej
A
an
dr
o P
re
Valoracion de Derivados 116
i Sub Tipo_SubyacentesFR D ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O los Tipo s de *
4 * Subyacente s que hay para los FORWARDS y los *
5 * organiz a en form a de vector , junt o con sus *
6 * unidade s . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim k As Integer
i0 Dim i As Integer
ii Dim j As Intege r
i2 Dim Ts As String
i3 Dim HActua l As String
i4
i5 A pplicatio n . ScreenUpdating = False
i6
i7 HActua l = ActiveSheet . Name
i8
i9 Wor kshe ets (" CODIGO "). Activat e
20
2i Range ( " AT21 : AT85 " ). Select
22 Selection . ClearContents
23
lej
A
an
dr
o P
re
Valoracion de Derivados 117
24 k = 0
25
26 For i = 1 To 5
27 For j = 1 To 13
28 Ts = Cells (11 + i , 47 + j )
29 k = k + 1
30 Cells (20 + k , 46) = Ts
3i Next
32 Next
33
34 Workshe ets ( HActua l ) . Activate
35
36 End Sub
i Sub Tipo_SubyacentesFU T ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O los Tipo s de *
4 * Subyacente s que hay para los FUTUROS y los *
5 * organiza en form a de vector , junt o con sus *
6 * unidades . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim k As Integer
i0 Dim i As Integer
ii Dim j As Intege r
i2 Dim Ts As String
i3 Dim HActua l As String
i4
i5 A pplicatio n . ScreenUpdatin g = False
i6
i7 HActua l = ActiveShee t . Name
i8
i9 Workshe ets (" CODIGO "). Activat e
20
2i Range ( " BI2 1 : BI85 " ). Select
22 Selection . ClearContents
23
24 k = 0
25
26 For i = 1 To 5
27 For j = 1 To 13
28 Ts = Cells (11 + i , 62 + j )
29 k = k + 1
30 Cells (20 + k , 61) = Ts
3i Next
32 Next
33
34 Workshe ets ( HActua l ) . Activate
35
36 End Sub
i Sub Tipo_SubyacentesOP C ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O los Tipo s de *
4 * Subyacente s que hay para las OPCIONES y los *
5 * organiza en form a de vector , junt o con sus *
6 * unidades . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim k As Integer
i0 Dim i As Integer
ii Dim j As Intege r
i2 Dim Ts As String
i3 Dim HActua l As String
lej
A
an
dr
o P
re
Valoracion de Derivados 118
i4
i5 A pplicatio n . ScreenUpdating = False
i6
i7 HActua l = ActiveSheet . Name
i8
i9 Wor kshe ets (" CODIGO "). Activat e
20
2i Range ( " CM21 : CM85 " ). Select
22 Selection . ClearContents
23
24 k = 0
25
26 For i = 1 To 5
27 For j = 1 To 13
28 Ts = Cells (11 + i , 92 + j )
29 k = k + 1
30 Cells (20 + k , 91) = Ts
3i Next
32 Next
33
34 Wor kshe ets ( HActua l ) . Activate
35
36 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 119
i Sub Creditos ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a muestra el formulari o de C red it o s *
4 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
5
6 frmCredito s . Show
7
8 End Sub
i Sub Save ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a guard a el libro *
4 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
5
6 ActiveWorkboo k . Save
7
8 End Sub
Opciones
i Sub NewOpc ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a llama el formulario que permit e *
4 * adquiri r nuevas OPCIONES *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 frmNewOpc . Show
8
9 End Sub
i Sub CodOpc ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee en la hoja CODIG O el consecutivo *
4 * en el que van las OPCIONES y lo procesa para *
5 * encontrar el siguiente consecutivo *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim CodI As Integer
9 Dim CodA As Integer
i0
ii CodI = Sheets (" CODIGO ") . Cells (4 , 96)
i2 CodA = Sheets (" CODIGO ") . Cells (5 , 96)
i3
i4 If CodA = 0 Or CodA < CodI Then
i5 CodA = CodI
i6 Else
i7 CodA = CodA + 1
lej
A
an
dr
o P
re
Valoracion de Derivados 120
i8 End If
i9
20 Sheets (" CODIGO ") . Cells (5 , 96) = CodA
2i
22 End Sub
i Sub FormatoO pc ( F)
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a aplic a el formato correcto a los *
4 * datos que se escriben cuando se adquier e una *
5 * OPCI ON en la hoja OPCIONES . *
6 * F - Fila en la que se a plic ar a el format o *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim Rango As String
i0 Dim Psw As String
ii
i2 Psw = " &9 RjTn [2 y "
i3
i4 A pplicatio n . ScreenUpdating = False
i5 A ctiveShee t . Unprotect ( Psw )
i6
i7 Rango = "A" & F & " ,D" & F & " ,E" & F & " ,F" & F & " ,G " & F & " ,I " & F
& " ,K " & F & " ,M " & F & " ,O " & F & " ,Q" & F & " ,AB " & F & " , AE " & F & "
,AG " & F
i8 F ormat o General
i9 Range ( Rango ). Select
20 Selection . NumberFormat = " General "
2i With Selection
22 . Font . Name = " Verdana "
23 . Font . Size = 8
24 . HorizontalAlignmen t = xlCenter
25 . VerticalAlignment = xlCente r
26 . WrapText = False
27 . Orientation = 0
28 . AddIndent = False
29 . IndentLevel = 0
30 . ShrinkToFit = False
3i . ReadingOrder = xlContext
32 . M ergeCells = False
33 End With
34
35 Rango = "B" & F & " ,C" & F & " ,H" & F & " ,R" & F & " ,S " & F & " ,T " & F
& " ,U " & F & " ,V " & F & " ,W " & F & " ,X" & F & " ,Y " & F & " ,Z " & F & " ,
AA " & F
36 F ormat o Fech a
37 Range ( Rango ). Select
38 Selection . NumberFormat = " [ -409] d - mmm - yy ;@"
39 With Selection
40 . Font . Name = " Verdana "
4i . Font . Size = 8
42 . HorizontalAlignmen t = xlCenter
43 . VerticalAlignment = xlCente r
44 . WrapText = False
45 . Orientation = 0
46 . AddIndent = False
47 . IndentLevel = 0
48 . ShrinkToFit = False
49 . ReadingOrder = xlContext
50 . M ergeCells = False
5i End With
52
53 Rango = "J" & F & " ,L" & F & " ,AK " & F
54 F ormat o Mile s sin Decimales
55 Range ( Rango ). Select
lej
A
an
dr
o P
re
Valoracion de Derivados 121
lej
A
an
dr
o P
re
Valoracion de Derivados 122
1
i08 Range ( Rango ). Select
i09 Range ( "A " & F) . Activat e
ii0 With Selection
iii . HorizontalAlignmen t = xlCenter
ii2 . WrapText = False
ii3 . Orientation = 0
ii4 . AddIndent = False
ii5 . IndentLevel = 0
ii6 . ShrinkToFit = False
ii7 . ReadingOrder = xlContext
ii8 . M ergeCells = False
ii9 End With
i20 Selection . Merge
i2i
i22 Rang o = " A" & F & ": AK " & F + 1
i23 F ormat o BORDES
i24 Range ( Rango ). Select
i25 Selection . Borders ( xlDiagonalDown ). LineStyl e = xlNone
i26 Selection . Borders ( xlDiagonalUp ). LineStyle = xlNone
i27 With Selection
i28 . Borders ( xlEd geLe ft ) . LineStyle = xlContinuous
i29 . Borders ( xlEd geLe ft ) . ColorInde x = 15
i30 . Borders ( xlEd geLe ft ) . TintAndShade = 0
i3i . Borders ( xlEd geLe ft ) . Weigh t = xlThin
i32
i33 . Borders ( xlEdgeTo p ). LineStyl e = xlContinuou s
i34 . Borders ( xlEdgeTo p ). Color Index = 15
i35 . Borders ( xlEdgeTo p ). TintAndShade = 0
i36 . Borders ( xlEdgeTo p ). Weight = xlThin
i37
i38 . Borders ( xlEdgeBottom ) . LineStyle = xlContinuous
i39 . Borders ( xlEdgeBottom ) . Co lorIndex = 15
i40 . Borders ( xlEdgeBottom ) . TintAndShade = 0
i4i . Borders ( xlEdgeBottom ) . Weight = xlThin
i42
i43 . Borders ( xlEdgeRight ). LineStyle = xlContinuou s
i44 . Borders ( xlEdgeRight ). C olor Index = 15
i45 . Borders ( xlEdgeRight ). T intAndShad e = 0
i46 . Borders ( xlEdgeRight ). Weight = xlThin
i47
i48 . Borders ( xlInsideVertical ). LineStyl e = xlContinuous
i49 . Borders ( xlInsideVertical ). Col orIndex = 15
i50 . Borders ( xlInsideVertical ). TintAndShade = 0
i5i . Borders ( xlInsideVertical ). Weight = xlThin
i52 End With
i53 Selection . Borders ( xlInsideHorizontal ). LineStyle = xlNone
i54
i55 ActiveShee t . Protect ( Password := Psw , DrawingObjects := True , Contents :=
True , Scenario s := True , UserInterfaceOnly := False ,
AllowFormattingCell s := True , AllowFormattingColumns := False ,
AllowFormattingRow s := False , AllowInsertingColumn s := False ,
AllowInsertingRow s := False , AllowInsertingHyperlinks := False ,
AllowDeletingColumn s := False , AllowDeletingRows := False , AllowSortin g
:= True , AllowFilterin g := True , AllowUsingPivotTables := True ) = True
i56 ActiveShee t . EnableSelection = xlUnlockedCell s
i57 Applicatio n . ScreenUpdating = True
i58
i59 End Sub
i Sub VOpcion ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a lee todo s los dato s necesarios para *
4 * valora r las OPCIONES *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
lej
A
an
dr
o P
re
Valoracion de Derivados 123
6
7 Dim Sub yacente As Intege r
8 Dim Div idendos As Varian t
9
i0 Dim S As Doub le
ii Dim X As Doub le
i2 Dim r As Doub le
i3 Dim t1 As Double
i4 Dim t As Doub le
i5 Dim q As Doub le
i6 Dim Divs () As Double
i7 Dim Sigma As Double
i8 Dim nsteps As Double
i9
20 Dim Price As Double
2i Dim Delta As Double
22 Dim Gamma As Double
23 Dim Theta As Double
24 Dim Vega As Double
25 Dim Rho As Do uble
26
27 Dim ImplyVol As Boolean
28
29 Dim i As Integer
30
3i Dim dt As Double
32 Dim P_Sigm a As Double
33 Dim P_Rho As Double
34 Dim Sigma_Mi n As Double
35 Dim Delta_Sigm a As Double
36 Dim Delta_ q As Double
37 Dim iter As Double
38
39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40 L ectur a de Variable s
4i %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42
43 Subyace nte = Sheets (" CODIGO "). Cells (105 , 102)
S ubyacent e de la Opcion
44
45 S = CDbl ( Sheets ( " CODIGO " ). Cells (95 , 102) )
Precio Spot del subyacente
46 X = CDbl ( Sheets ( " CODIGO " ). Cells (102 , 102) )
Precio de Ej ercici o
47 r = CDbl ( Sheets ( " CODIGO " ). Cells (97 , 102) )
Tas a libre de Riesg o
48 t = CDbl ( Sheets ( " CODIGO " ). Cells (101 , 102) )
Tiempo al ve ncimient o
49 If Sub yacente = 2 Then
50 q = CDbl ( Sheets ( " CODIGO " ). Cells (98 , 102) )
Tas a libre de Riesg o Extranjer a
5i ElseIf Su byacente = 3 Then
52 q = CDbl ( Sheets ( " CODIGO " ). Cells (99 , 102) )
R endimient o Anua l del ndice
53 End If
54 Divide ndos = Sheets (" CODIGO "). Range ( " CW109 : CX118 " ). Value
55 Call VariantToArra y ( Dividendos , Divs () )
56 Sigma = CD bl ( Sheets ( " CODIGO "). Cells (96 , 102) )
V olatilida d del subyacente
57 nsteps = CDbl ( Sheets ( " CODIGO "). Cells (103 , 102) )
Numero de Pasos del Arbo l binomial
58 iAmerican = Sheets (" CODIGO ") . Cells (91 , 102)
A merican a o Europea
59 iCall = Sheets (" CODIGO "). Cells (92 , 102)
D erech o a Comprar ( Call ) o a
lej
A
an
dr
o P
re
Valoracion de Derivados 124
Vender ( Put )
60 iEquity = Sheets (" CODIGO " ). Cells (106 , 102)
S ubyacent e Accione s
6i
62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 I n i c i a l i za c i o n de Variables
64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65
66 t1 = 0#
67
68 Price = 0
69 P_Sigma = 0
70 P_Rho = 0
7i
72 Delta = 0
73 Gamma = 0
74 Theta = 0
75
76 Delta_q = 0
77 Delta_Sigm a = 0
78
79 Call VDataOpciones (S , X , r , t , q , Sigma , nsteps , ImplyVol ,
Sub yace nte )
80 If OpcVDataOpcione s = False Then
8i OpcionValorada = False
82 Exit Sub
83 End If
84 S = CDbl ( Sheets (" CODIGO ") . Cells (95 , 102) )
85
86 dt = t / nsteps
87 Sigma_Min = (r - q) * Sqr ( dt ) * 0.00001
88 If Sigma_Min < 0# Then
89 Sigma_Min = 0#
90 End If
9i
92 iter = ValOpcBinom (S , X , r + 0.01 , t1 , t , q + Delta_q , Divs () ,
Sigma , nsteps , iAmerica n , iCall , iEquity , P_Rho , Delta_Sigma ,
Delta_Sigma , Delta_Sigm a )
93
94 OpcPrecio = Price
95
96 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 125
23
24 If t <= 0 Then
25 OpcVDataOpcione s = False
26 Exit Sub
27 End If
28
29 If Subyacen te = 2 Then
30 If q <= -0.1 Or q > 1 Then
3i OpcVDataOpcione s = False
32 E xit Sub
33 End If
34 ElseIf Su byacente = 3 Then
35 If q < 0 Or q > 1 Then
36 OpcVDataOpcione s = False
37 E xit Sub
38 End If
39 End If
40
4i If Subyacen te = 1 Then
42 For i = 1 To 10
43 td = CDbl ( Sheets (" CODIGO " ). Cells (108 + i , 101) )
44 If td >= 0 Then
45 S = S - ( CDbl ( Sheets (" CODIGO " ). Cells (108 + i , 102) ) *
Exp (- r * td ) )
46 End If
47 Next
48 If S <= 0 Then
49 OpcVDataOpcione s = False
50 E xit Sub
5i End If
52 End If
53
54 If ( Sigma < 0.0025 Or Sigma > 2) Then
55 OpcVDataOpcione s = False
56 Exit Sub
57 End If
58
59 If nsteps < 2 Or nsteps > 500 Then
60 OpcVDataOpcione s = False
6i Exit Sub
62 End If
63
64 OpcVDataOpcione s = True
65
66 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 126
i Sub ValorarO pc ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valor a las OPCIONES que hay VIGENTES *
4 * en la tabla de la hoja OPCIONES . *
5 * Las OPCIONES que no esta n vigente s conservan su *
6 * valor para determinar ganancias o per did a s del *
7 * portafoli o . *
8 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
9
i0 Dim Cam po1 As Integer
ii Dim Cam po2 As Integer
i2 Dim i As Integer
i3 Dim j As Integer
i4 Dim FechaVal As Date
i5
i6 Call FechaSeries ( Cells (3 , 3) )
i7 If RVa lSeries = False Then
i8 Exit Sub
i9 End If
20
2i Call VerificarVigenciaOpc
22 Call ContarVigentesOpc
23
24 Campo1 = 1
25 Campo2 = OpcVigentes
26 FechaVal = Sheets (" OPCIONE S ") . Cell s (3 , 3)
27 frmValOpc . PrgBar = 0
28 frmValOpc . lblProgreso = " Calcul ando ... "
29
30 frmValOpc . Show (0)
3i Sheets (" CODIGO ") . Cells (88 , 91) = FechaVa l
32
33 For i = 1 To Campo2
34
35 frmValOpc . PrgBar = (i / Campo2 ) * 100
36 Campo1 = i
37 frmValOpc . lblProgreso = " Valorando OPCI ON " & Campo1 & " de " &
Campo2
38
39 Call ClasificacionOpc ( OpcVigentesPos ( i))
40
4i Sheets (" CODIGO ") . Cells (91 , 101) = Sheets ( " OPCIONES " ) . Cells (
OpcVigentesPos ( i) , 5)
42 Sheets (" CODIGO ") . Cells (92 , 101) = Sheets ( " OPCIONES " ) . Cells (
OpcVigentesPos ( i) , 6)
43 Sheets (" CODIGO ") . Cells (95 , 101) = Sheets ( " OPCIONES " ) . Cells (
OpcVigentesPos ( i) , 7)
44 Sheets (" CODIGO ") . Cells (101 , 101) = Sheets ( " OPCIONES " ) . Cells (
OpcVigentesPos ( i) , 8)
45 Sheets (" CODIGO ") . Cells (102 , 102) = Sheets ( " OPCIONES " ) . Cells (
OpcVigentesPos ( i) , 16)
46 Sheets (" CODIGO ") . Cells (105 , 101) = OpcSubyacente
47
48 Sheets (" CODIGO ") . Range (" CW109 : CX118 ") . ClearContents
49
50 If Sheets ( " CODIGO " ). Cells (106 , 102) = 1 Then
5i For j = 1 To 10
52 If (( Sheets (" OPCIONE S " ). Cells ( OpcVigentesPos (i ) , 17 + j
lej
A
an
dr
o P
re
Valoracion de Derivados 127
i Sub VerificarVigenciaOp c ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a recorre las OPCIONE S ACTIVAS y *
4 * verific a una a una si a la fech a de v alo raci o n *
5 * estan vigente s o no . *
6 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
7
8 Dim N As Integer
9 Dim Fi As Integer
i0 Dim i As Integer
ii Dim FechaVal As Date
i2 Dim Col As Long
i3
i4 Col = 28 C olumn a en la que
esta el camp o " Vigent e "
i5
i6 Fi = Shee ts (" CODIGO "). Cells (7 , 96)
i7 N = Sheets (" CODIGO " ). Cells (8 , 96)
i8 FechaVal = Sheets (" OPCIONE S " ). Cells (3 , 3)
i9
20 For i = 1 To N
2i If Sheets ( " OPCIONES " ). Cells ( Fi + (i - 1) * 2 , 3) <= FechaVal
And Sheets ( " OPCIONES " ). Cells ( Fi + (i - 1) * 2, 8) >= FechaVa l
Then
22 S heets (" OPCIONES " ). Cells ( Fi + ( i - 1) * 2 , Col ) = " SI "
23 S heets (" OPCIONES " ). Cells ( Fi + ( i - 1) * 2 , 36) = ( Sheets ( "
lej
A
an
dr
o P
re
25 S heets (" OPCIONES " ). Cells de
Valoracion ( FiDerivados
+ (i - 1) * 2 , Col ) = " NO " 128
lej
A
an
dr
o P
re
Valoracion de Derivados 129
i Sub ContarVigentesOp c ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a cuent a las OPCIONES que estan *
4 * vigente s de la tabla . *
5 * Esta rutin a t ambi e n construy e un vector con las *
6 * filas en las que estan las OPCIONE S vigentes . *
7 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
8
9 Dim N As Integer
i0 Dim Fi As Integer
ii Dim i As Integer
i2 Dim Col As Long
i3
i4 Col = 28 C olumn a en la que
esta el camp o " Vigent e "
i5
i6 Fi = Sheets (" CODIGO "). Cells (7 , 96)
i7 N = Sheets (" CODIGO " ). Cells (8 , 96)
i8
i9 OpcVigente s = 0
20 ReDim OpcVigentesPos (N )
2i
22 For i = 1 To N
23 If Sheets ( " OPCIONES " ). Cells ( Fi + (i - 1) * 2 , Col ) = " SI " Then
24 OpcVigentes = OpcVigentes + 1
25 OpcVigentesPos ( OpcVigentes ) = Fi + ( i - 1) * 2
26 End If
27 Next
28
29 ReDim Preserve OpcVigentesPos ( OpcVigentes )
30
3i End Sub
Validaciones
lej
A
an
dr
o P
re
Valoracion de Derivados 130
lej
A
an
dr
o P
re
Valoracion de Derivados 131
62 Call MensajeError3
63 RValForm = False
64 Exit Sub
65 End If
66
67 RValForm = True
68
69 End Sub
i Sub VfrmNewFrd_ 1 ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valida todo s los capos del Form *
4 * frmNewFrd_ 1 *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 If IsNumeric ( frmNewFrd_1 . txbMonto ) = False Or frmNewFrd_ 1 . txbMonto
< 0 Then
8 Call MensajeError1 (" Monto ")
9 RValForm = False
i0 Exit Sub
ii End If
i2
i3 RValForm = True
i4
i5 End Sub
i Sub VfrmNewFrd_ 2 ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valida todo s los capos del Form *
4 * frmNewFrd_ 2 *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 Dim p1 As Date
8 Dim p2 As Date
9 Dim p3 As Date
i0 Dim p4 As Long
ii
i2 If frmNewFrd_ 2 . txbEntidad = "" Then
i3 Call MensajeError1 (" Entida d " )
i4 RValForm = False
i5 Exit Sub
i6 End If
i7
i8 If frmNewFrd_2 . txbClase = "" Then
i9 Call MensajeError1 (" Clase de T tulo ")
20 RValForm = False
2i Exit Sub
22 End If
23
24 If IsNumeric ( frmNewFrd_2 . txbPlazo ) = False Or frmNewFrd_ 2 . txbPlazo
<= 0 Then
25 Call MensajeError1 (" Plazo de Madu racion ")
26 RValForm = False
27 Exit Sub
28 End If
29
30 If IsNumeric ( frmNewFrd_2 . txbTfacial ) = False Or frmNewFrd_ 2 .
txb Tfac ial <= 0 Then
3i Call MensajeError1 (" Tasa Facial ")
32 RValForm = False
33 Exit Sub
34 End If
35
36 If frmNewFrd_2 . cmbPeriodicidad = " " Then
lej
A
an
dr
o P
re
Valoracion de Derivados 132
i Sub VfrmNewFrd_ 3 ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valida todo s los capos del Form *
4 * frmNewFrd_ 3 *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 Dim p1 As Date
8 Dim p2 As Date
9 Dim p3 As Date
i0
ii p1 = frmNewFrd_3 . dtpkFechaLiquidacion
i2 p2 = frmNewFrd . dtpkOperacion
i3 p3 = frmNewFrd . dtpkCumplimiento
i4 If p1 <= p2 Or p1 >= p3 Then
i5 C all MensajeError1 (" Fecha L iq ui d ac i o n ")
i6 RValForm = False
i7 E xit Sub
i8 End If
i9
20 RValForm = True
2i
22 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 133
4 * frmNewFu t *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 If frmNewFut . txb Entidad = "" Then
8 Call MensajeError1 (" Entida d " )
9 RValForm = False
i0 Exit Sub
ii End If
i2
i3 If frmNewFut . cmbTipo = "" Then
i4 Call MensajeError1 (" Tipo de contrat o ")
i5 RValForm = False
i6 Exit Sub
i7 End If
i8
i9 If frmNewFut . cmb Entrega = "" Then
20 Call MensajeError1 (" Entreg a " )
2i RValForm = False
22 Exit Sub
23 End If
24
25 If frmNewFut . cmbSubyacente = "" Then
26 Call MensajeError1 (" Sub yace nte ")
27 RValForm = False
28 Exit Sub
29 End If
30
3i If frmNewFut . cmbTipoSubyacente = "" Then
32 Call MensajeError1 (" Tipo de Subyacente ")
33 RValForm = False
34 Exit Sub
35 End If
36
37 If frmNewFut . dtpkOperacion < Date Then
38 Call MensajeError1 (" Fecha operacion " )
39 RValForm = False
40 Exit Sub
4i End If
42
43 If frmNewFut . dtpkCumplimiento <= Date Or frmNewFu t . dtpkCumplimient o
<= frmNewFut . dtpkOperacion + 2 Then
44 Call MensajeError1 (" Cumplimiento ")
45 RValForm = False
46 Exit Sub
47 End If
48
49 If IsNumeric ( frmNewFut . txbMonto ) = False Or frmNewFu t . txbMont o <= 0
Then
50 Call MensajeError1 (" Monto contrat o ")
5i RValForm = False
52 Exit Sub
53 End If
54
55 If IsNumeric ( frmNewFut . txbNomi nal ) = False Or frmNewFut . txb Nominal
<= 0 Then
56 Call MensajeError1 (" Nomina l Contrato ")
57 RValForm = False
58 Exit Sub
59 End If
60
6i If IsNumeric ( frmNewFut . txbPrecio ) = False Or frmNewFut . txbPrecio <=
0 Then
62 Call MensajeError1 (" Precio pactado ")
63 RValForm = False
64 Exit Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 134
65 End If
66
67 RValForm = True
68
69 End Sub
lej
A
an
dr
o P
re
Valoracion de Derivados 135
57 RValForm = False
58 Exit Sub
59 End If
60
6i If IsNumeric ( frmNewOpc . txbPrima ) = False Or frmNewOp c . txbPrim a <= 0
Then
62 Call MensajeError1 (" Prima ")
63 RValForm = False
64 Exit Sub
65 End If
66
67 RValForm = True
68
69 End Sub
i Sub VfrmNewOpc_ 1 ()
2 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
3 * Esta rutin a valida todo s los capos del Form *
4 * frmNewOpc_ 1 *
5 * * * * * * * * * ** * * * * * ** * * * ** * * * * * * * ** * * * * ** * * * * ** * * ** * * *
6
7 Dim k As Integer
8 Dim Celda As Variant
9
i0 Dim F_Operacion_o p As Date
ii Dim F_Cumplimiento_o p As Date
i2
i3
i4 F_Operacion_o p = frmNewOp c . dtpkOperacion
i5 F_Cumplimiento_o p = frmNewOp c . dtpkCumplimiento
i6
i7 For k = 1 To 10
i8 Celda = frmNewOpc_1 . spsDividendos . Cells (1 + k , 2)
i9 If IsNumeric ( Celda ) = Fals e And Celda <> "" Then
20 Call MensajeError1 (" Valor ")
2i RValForm = False
22 Exit Sub
23 End If
24 Next
25
26 For k = 1 To 10
27 Celda = frmNewOpc_1 . spsDividendos . Cells (1 + k , 1)
28 If IsDate ( Celda ) = False And Celda <> "" Then
29 Call MensajeError1 (" Fecha ")
30 RValForm = False
3i Exit Sub
32 Else
33 If k = 1 Then
34 If Celda < F_Operacion_op Or Celda > F_Cumplimiento_o p
Then
35 Call MensajeError2
36 RValForm = False
37 Exit Sub
38 End If
39 Else
40 If Celda <> "" Then
4i If Celda < frmNewOpc_1 . spsDividendos . Cell s (k , 1) Or
Celda > F_Cumplimiento_op Then
42 Call MensajeError2
43 RValForm = False
44 Exit Sub
45 End If
46 End If
47 End If
48 End If
lej
A
an
dr
o P
re
Valoracion de Derivados 118
49 Next
50
5i RValForm = True
52
53 End Sub
i Sub MensajeError 2 ()
2 MsgBox ( " No puede haber fechas menores a la fecha de operacio n de
la OPCI ON , ni mayores a la fecha de cumplimiento de la misma . " &
Chr (13) & " Tenga en cuenta que los datos deben estar en orden
ascende nte ." ) , vbCritical , " ERROR - CAMPO CON INF O R MA C I ON INV ALIDA "
3 End Sub
i Sub MensajeError 3 ()
2 MsgBox ( " No se ha ingresad o la Fecha de L iq u id a ci o n ." & Chr (13) & "
Ingrese PARAMETRIZA R FRA y complet e la i nf o rm ac i o n necesari a ." ) ,
vbCritical , " ERROR - CAMPO CON IN F OR M AC I ON INV AL ID A "
3 End Sub
Variables
i * * * * ** * * * ** * * * ** * * * ** ** * ** * * * ** * * * ** * * * ** * * ** *
2 * VARIABLE S CO MOD IN * Estas son
variables que se usan en toda la ap lic aci o n .
3 * * * * ** * * * ** * * * ** * * * ** ** * ** * * * ** * * * ** * * * ** * * ** *
4 Public C1Formatofr m As Double Esta variabl e
sirv e para converti r los nu mer o s almacenados como texto en el
formulario en N UME RO S .
5 Public C2Formatofr m As Double Esta variabl e
sirv e para converti r los nu mer o s almacenados como texto en el
formulario en N UME RO S .
6 Public C3Formatofr m As Double Esta variabl e
sirv e para converti r los nu mer o s almacenados como texto en el
formulario en N UME RO S .
7 Public Fnum6d As String Esta variabl e
guarda un numer o con formato " Miles " y 6 decimales .
8 Public BUG As Byte
9 * * * * ** * * * ** * * * ** * * * ** ** * ** * * * ** * * * ** * * * ** * * ** *
i0
ii
i2 **********************************************
i3 * VARIABLE S VAL IDAC I ON *
i4 * * * * ** * * * ** * * * ** * * * *** * * ** * * * ** * * * ** * * * ** * * ** *
i5 Public RValFor m As Boolea n Esta variabl e
indica si el formulario paso todas la va lidaci one s .
i6 Public RV alSe ries As Boolean Esta variabl e
indica si todas las serie s tienen dato s para un fech a es pec fic a .
i7 * * * * ** * * * ** * * * ** * * * *** * * ** * * * ** * * * ** * * * ** * * ** *
i8
i9
20 * * * * ** * * * ** * * * ** * * * *** * * ** * * * ** * * * ** * * * ** * * ** *
2i * VARIABLE S AYUD A *
22 * * * * ** * * * ** * * * ** * * * *** * * ** * * * ** * * * ** * * * ** * * ** *
23 Public NameHyp 1 As String Esta variabl e
indica el formulari o que se debe carga r cuando se acude al hipervicul o
1.
lej
A
an
dr
o P
re
Valoracion de Derivados 119
lej
A
an
dr
o P
re
Valoracion de Derivados 120
Los distintos valoradores se probaron evaluando su exactitud con los precios que muestra el
mercado. En los casos en los que el valorador no estuvo cerca del precio de mercado se
explican posibles razones por las que esto puede suceder.
Se aclara que pese a las diferencias encontradas, las entidades pueden hacer uso del
valorador de derivados para llevar la contabilizacion de este tipo de instrumentos, ya
que las metodologas de valoracion utilizadas son las propuestas por la Superintendencia
Financiera de Colombia.
En el caso de las Opciones sera prudente primero hacer aprobarx7 la metodologa
por la Superintendencia para evitar algun inconveniente.
P
l0
()U Pi U Ui )x x V Ni
i=l
Diferencia % = P (3.1x
VN
Donde:
lej
A
an
dr
o P
re
que se utiliza en SURAMERICANA para la Valoracion
valoracion de de
los Derivados
portafolios. 121
lej
A
an
dr
o P
re
Valoracion de Derivados 122
Los resultados obtenidos son muy satisfactorios y muestran que el valorador arroja
valoraciones correctas.
En el caso de los Forwards las diferencias30 se deben en su mayor medida a redondeos
que efectua PORFIN en la elaboracion de los calculos3l .
Las diferencias encontradas en la valoracion de las Opciones son 0 porque es un
metodo teorico de valoracion y en los dos modelos se usan los mismos supuestos para
valorar. Se recomienda que, con el objetivo de obtener valoraciones mas precisas, se
estudie con mas profundidad el tema de la estimacion de las volatilidades futuras de los
subyacentes.
30
Las diferencias se calcularon con cotizaciones de Forwards a un mes.
3i
El aplicativo en su funcionamiento interno hace redondeos a un numero de cifras menor al que
lej
A
an
dr
o P
re
efectua ExcelTM . Valoracion de Derivados 123
lej
A
an
dr
o P
re
Valoracion de Derivados 124
4. Conclusiones
La definicion de los criterios para la ponderacion de las metodologas de valoracion
mostro que en Colombia un aspecto muy importante a la hora de implementar me-
todologas de este tipo es el enfoque que los entes reguladores han manifestado con
respecto al tema. Este hecho sugiere que los entes reguladores en este caso la Super-
intendencia Financiera de Colombia cuentan con un buen prestigio y reconocimien-
to y que adicionalmente sus propuestas son tecnicamente correctas y aceptadas por
grandes empresas que participan en el mercado, sin dejar de lado que por lo general
son de facil implementacion.
Debido a lo novedoso que todava son los instrumentos financieros derivados en Co-
lombia es importante que se genere un conocimiento abierto para todas las personas
en el que se expongan tanto los riesgos como los beneficios que estan asociados al
uso de estos instrumentos. Es este orden de ideas sera muy provechoso que en las
universidades se implementaran cursos sobre el tema para los estudiantes y en general
todo el publico que este interesado.
Con respecto a la metodologa para valorar las Opciones es muy importante estudiar
mas a profundidad la estimacion de la volatilidad futura de los subyacentes con el fin
de obtener mejores resultados.
La valoracion de este tipo de instrumentos es muy sensible a esta variable y por lo
tanto de su correcta estimacion depende en gran parte el resultado obtenido.
lej
A
an
dr
o P
re
Valoracion de Derivados 125
5. Recomendaciones
El tema de los Derivados Financieros es bastante amplio y comprende muchsimos en-
foques que no han sido abarcados en este trabajo. Esta razon lleva a que sean varios los
aspectos del Valorador de Derivados que pueden ser mejorados.
En primer lugar, los Swaps son instrumentos que estan adquiriendo mucha fuerza
en el mercado por su versatilidad y eficiencia para cubrir riesgos y para construir
instrumentos mas elaborados como los Productos Estructurados. Es importante
profundizar en este tema y construir un valorador sencillo que les permita a los
agentes utilizar este derivado.
Una buena alternativa es utilizar la metodologa propuesta por la Superintenden-
cia Financiera de Colombia que se explico en este trabajo. Esta es ampliamente
aceptada, de facil implementacion y ademas a las instituciones vigiladas por este
ente les gusta por ser, precisamente, la que propone el regulador.
Sin perjuicio de lo anterior, vale la pena estudiar otras metodologas que pueden
ser mas precisas o mas acertadas.
En cuanto a las Opciones son muchas las variante que se han creado de este
tipo de instrumento financiero derivado; se propone se estudien estas variantes
y se incluyan dentro del valorador ya que permiten la cobertura de riesgos mas
elaborados y por lo tanto le amplan los horizontes de actuacion a inversionistas
y empresarios.
Por otro lado estan las recomendaciones con respecto a la capacitacion que las distintas
entidades, como la Bolsa de Valores de Colombia, deben dar a todas las personas sobre
el tema de los Instrumentos Financieros Derivados.
Estos instrumentos, hoy en da, representan grandes posibilidades para toda clase
de inversionistas y cuando son bien manejados permiten cubrir practicamente cualquier
riesgo.
Es fundamental que se cree una cultura sobre este tipo de inversiones que posibilite
la obtencion de resultados positivos y al mismo tiempo evite que se generen grandes
perdidas financieras por el mas uso o la falta de conocimiento al operar con estos ins-
trumentos. Ademas, en la medida en que sean mas las personas que utilizan estos pro-
lej
A
an
dr
o P
re
Valoracion de Derivados 126
lej
A
an
dr
o P
re
Valoracion de Derivados 127
Bibliografa
Alexander, Sharpe & Bailey (2003x, Fundamentos de Inversiones - Teoria y Practica, 3
edn, Prentice-Hall.
Black, Fischer and Scholes, Myron (1973x, The Pricing of Options and Corporate Lia-
bilities, Journal of Political Economy .
Dubofsky & Miller (2003x, Derivatives - Valuation and Risk Management, Oxford Uni-
versity press.
Jorion, P. (2002x, Valor en Riesgo - El nuevo paradigma para el control de riesgos con
derivados, Limusa.
Lamothe & Perez (2006x, Opciones Financieras y Productos Estructurados, 3 edn, Mc-
Graw Hill.
Lowenstein, R. (2000x, When Genius Failed: The Rise and Fall of Long-Term Capital
Management, Random House.
Rendleman, Richard J. and Bartter, Brit J. (1979x, Two-State Option Pricing, Journal
of Finance .
lej
A
an
dr
o P
re
Valoracion de Derivados 128
Vilarino, Perez & Garca (2008x, Derivados - Valor Razonable, Riesgos y Contabilidad
- Teora y Pactica, Prentice Hall.
Wilmott, Howison & Dewynne (1995x, The Mathematics of Financial Derivatives, Cam-
bridge.
lej
A
an
dr
o P
re
Valoracion de Derivados 129
Anexos
A. Instalacion de la aplicacion
Pese a que el valorador es un archivo de Microsoft ExcelTM 2007 con Visual BasicTM
for Applications (VBAx, es necesario hacer la instalacion de tres archivos para lograr
que la aplicacion funcione correctamente.
El siguiente instructivo se diseno para facilitar la instalacion de la aplicacion a los
usuarios finales, sin embargo, despues de probarlo se detectaron algunas fallas en el
instalador para el sistema operativo en espanol, debido a las diferencias que se presentan
en las rutas de instalacion por el idioma.
Si usted utiliza Microsoft Windows VistaTM en espanol y desea instalar la apli-
cacion, puede contactar al autor3x de este trabajo para obtener mas ayuda sobre la
instalacion.
lej
A
an
dr
o P
re
Valoracion de Derivados 130
Una vez finalizada la instalacion de la aplicacion se debe abrir el archivo que esta en
el escritorio llamado ValoradorDerivados.xlsx y se deben habilitar las macros antes
de empezar. A continuacion se explican los pasos para efectuar este procedimiento.
2. Si el perfil no esta configurado para notificar cuando un libro tiene macros, enton-
ces debe ir al boton de Office que se muestra en la Figura 34 y hacer click en el
boton Opciones de Excel.
Una vez all seleccione la opcion Mostrar ficha Programador en la cinta de opcio-
nes y finalice con el boton Aceptar.
lej
A
an
dr
o P
re
Valoracion de Derivados 131
lej
A
an
dr
o P
re
Valoracion de Derivados 132
lej
A
an
dr
o P
re