Está en la página 1de 40

Trabajo de Fin de Máster

Valoración y calibración simultánea de


opciones

Juan Javier Domínguez Moreno


Licenciado en Matemáticas

Departamento de Estadística e Investigación


Operativa y Cálculo Numérico

2012
Departamento de Estadística e
Investigación Operativa y Cálculo
Numérico

Facultad de Ciencias

Valoración y calibración simultánea de


opciones

Juan Javier Domínguez Moreno


Licenciado en Matemáticas

Director
Dr. Carlos Antonio Moreno González
A Eva
Índice general

1. Introducción 1

2. Valoración de opciones 4
2.1. Modelo de Black-Scholes . . . . . . . . . . . . . . . . . . . . . 4
2.2. Modelo de volatilidad local . . . . . . . . . . . . . . . . . . . . 5
2.3. Modelo de volatilidad estocástica . . . . . . . . . . . . . . . . 6
2.4. Modelo de difusión con saltos . . . . . . . . . . . . . . . . . . 7

3. Simulación 9
3.1. Método de Monte-Carlo . . . . . . . . . . . . . . . . . . . . . 9
3.2. Valoración de opciones europeas . . . . . . . . . . . . . . . . . 11

4. Calibración 12
4.1. Evolución diferencial . . . . . . . . . . . . . . . . . . . . . . . 12
4.2. Simulación y calibración simultánea . . . . . . . . . . . . . . . 14

5. Resultados numéricos 18
5.1. Simulación de caminos . . . . . . . . . . . . . . . . . . . . . . 19
5.2. Datos generados . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.1. Modelo de Black-Scholes . . . . . . . . . . . . . . . . . 20
5.2.2. Modelo de difusión con saltos . . . . . . . . . . . . . . 20
5.3. SPDR S&P 500 . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3.1. Modelo de Black-Scholes . . . . . . . . . . . . . . . . . 23
5.3.2. Modelo de difusión con saltos . . . . . . . . . . . . . . 23

6. Conclusiones y recomendaciones 26

Bibliografía 28

i
Índice de cuadros

3.1. Simulación de Monte-Carlo para una opción europea. . . . . . 11

4.1. Algoritmo de Evolución Diferencial general. . . . . . . . . . . 13


4.2. Algoritmo de Evolución Diferencial y Monte-Carlo Simultánea. 17

5.1. Algoritmo para simular precios usando el modelo de Black-


Scholes (2.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2. Algoritmo para simular precios usando el modelo de Merton
(2.3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

ii
Índice de figuras

5.1. Aproximación de los precios de las opciones de compra para


el modelo de Black-Scholes con datos generados. . . . . . . . . 21
5.2. Aproximación de los precios de las opciones de compra para
el modelo de difusión con saltos con datos generados. . . . . . 22
5.3. Aproximación de los precios de las opciones de compra para
el modelo de Black-Scholes con datos del SPDR S&P 500. . . 24
5.4. Aproximación de los precios de las opciones de compra para
el modelo de difusión con saltos con datos del SPDR S&P 500. 25

iii
Capítulo 1

Introducción

Una de las aplicaciones que ha recibido más atención desde el desarrollo


del cálculo estocástico ha sido las finanzas, en particular la valoración de
opciones. Una opción sobre un activo le otorga al poseedor de la opción la
posibilidad, pero no la obligación, de comprar o vender cierta cantidad del
activo por un precio de ejercicio K en un tiempo T , ambos especificados en
el contrato de la opción.
En el caso de opciones europeas, el poseedor de la opción puede ejecu-
tarla solo en el tiempo de vencimiento, mientras que las opciones americanas
pueden ejecutarse en cualquier momento antes de la fecha de vencimiento.
Esta flexibilidad ofrecida por las opciones americanas hace que su análisis
y tratamiento numérico sean significativamente más complicados que los de
las opciones europeas, por lo que es natural que en la literatura se plan-
teen nuevas técnicas sobre opciones europeas y luego se extiendan las ideas
y resultados a opciones americanas. Este trabajo no será una excepción y se
trabajará con opciones europeas para luego realizar la extensión a opciones
americanas en trabajos posteriores.
Los precios de los activos subyacentes se modelan generalmente mediante
ecuaciones diferenciales estocásticas que definen modelos de precios. Estos
modelos son usados para determinar el precio de las opciones de compra o
venta. Los modelos de precios existentes poseen parámetros que los definen, y
es fundamental estimarlos para que éstos se ajusten a los valores del mercado.
Ajustar los parámetros de un modelo consiste en resolver un problema
de mínimos cuadrados del error entre los precios del mercado y los precios
proporcionados por el modelo. La resolución de este problema de optimi-
zación se denomina calibración. Cualquier algoritmo de optimización que

1
intente resolver el problema de mínimos cuadrados de forma iterativa nece-
sita evaluar la función objetivo y las restricciones en cada iterando o agente.
Para el problema de calibración la evaluación de la función objetivo involu-
cra la realización de varias simulaciones de Monte-Carlo. Cada simulación de
Monte-Carlo es un proceso costoso y lento que hace que el rendimiento de los
algoritmos de optimización sea extremadamente bajo. Además, el hecho de
que la evaluación de la función objetivo se realice mediante simulación obliga
a que los algoritmos de optimización deban considerar el ruido introducido
por éstas, aspecto que no es fácil de incluir en los algoritmos de optimiza-
ción no diferenciable deterministas clásicos como el método de Nelder-Mead,
[Nelder and Mead, 1965] o el algoritmo de Powell, [Powell, 1964].
Por ende, el algoritmo de optimización a usar en la calibración debe ser
global, pues es sabido que los problemas de calibración poseen varios óptimos
locales; debe ser un algoritmo que no requiera que las funciones sean diferen-
ciables para poder considerar un mayor número de modelos de precios; debe
ser paralelizable, pues la valoración de opciones mediante simulación es un
proceso computacionalmente costoso; y finalmente debe ser posible realizar
la optimización sin la ejecución completa de las simulaciones. El algoritmo
de optimización presentado en este trabajo satisface todas estas necesidades
tan peculiares de un algoritmo de optimización.
En el capítulo 2 se presentan los principales modelos de valoración de op-
ciones europeas donde se pueden observar las complicaciones que presentan
los modelos más generales, en particular la inexistencia de fórmulas cerra-
das para la valoración de opciones, motivando así el uso de la simulación
de Monte-Carlo para realizar la valoración. En el capítulo 3 se presenta el
método de Monte-Carlo estándar y un ejemplo de su uso para la valoración
de opciones europeas. En el capítulo 4 se presenta el problema de calibra-
ción de modelos de valoración de opciones, el algoritmo de Evolución Di-
ferencial general, [Storn and Price, 1997], y su modificación para lograr que
éste cumpla con las necesidades antes mencionadas, dando como resultado el
algoritmo Evolución Diferencial y Monte-Carlo simultánea. El uso de méto-
dos de optimización heurísticos en finanzas ha sido estudiado recientemente,
y se ha observado que su aplicación en el área es viable y ha sido exito-
sa, [Gilli and Schumann, 2009], [Lyra, 2010], [Schlottmann and Seese, 2004].
Luego, en el capítulo 5 se presentan resultados numéricos donde se com-
prueba la validez del planteamiento y se realiza la calibración del modelo
de Black-Scholes y el modelo de difusión con saltos de Merton para datos
generados y para datos del índice SPDR S&P 500. Finalmente, en el capítulo

2
6 se presentan las conclusiones y algunas recomendaciones para mejorar el
algoritmo y para realizar futuros trabajos.

3
Capítulo 2

Valoración de opciones

A continuación se presentan varios modelos de precios de activos, empe-


zando por el clásico modelo de Black-Scholes y su extensión natural: modelos
con volatilidad local; modelos de volatilidad estocástica y el también clásico
modelo de saltos de Merton.
Estos son los principales modelos en la valoración de opciones europeas y
dos de ellos serán los que se usarán para validar el algoritmo de calibración
a plantear en los siguientes capítulos. Los otros modelos se presentan para
hacer notar que éstos podrían ser considerados en el esquema de calibración
sin complicación alguna, en contraste con las dificultades de su análisis.

2.1. Modelo de Black-Scholes


El modelo de Black-Scholes [Black and Scholes, 1973] supone que la evo-
lución de los precios de los activos, con y si riesgo, son procesos estocásticos
continuos en el tiempo.
El comportamiento del activo sin riesgo, St0 , viene expresado por la ecua-
ción diferencial
dSt0 = rSt0 dt,
donde r es una constante no negativa que representa la tasa de interés ins-
tantánea. Supóngase que S00 = 1 de forma que St0 = ert , ∀t ≥ 0.
El comportamiento del activo con riesgo St viene determinado por la
ecuación diferencial estocástica

dSt /St = µdt + σdBt ,

4
donde µ y σ > 0 son constantes y {Bt } es un movimiento Browniano estándar.
Usando la formula de Itô se determina que
1 2 )t+σB
St = S0 e(µ− 2 σ t
(2.1)
(véase [Lamberton and Lapeyre, 2008] para una presentación del cálculo es-
tocástico y del modelo de Black-Scholes).
El valor de una opción de compra europea bajo la probabilidad de riesgo
neutral viene dado por la conocida fórmula de Black-Scholes
C = Ke−rT φ(−d2 ) − S0 φ(−d1 ), (2.2)
donde
log(S0 /K) + (r + σ 2 /2)T
d1 = √
σ T

d2 = d1 − σ T
Z d
1 2
φ(d) = √ e−x /2 dx.
2π −∞
A pesar del extenso uso y el éxito que ha tenido el modelo de Black-
Scholes, se ha observado que existen grandes fluctuaciones puntuales en los
precios de las acciones, [Merton, 1976], que la volatilidad no es constante en
el tiempo, y que las distribuciones de los retornos no son normales, son asimé-
tricas y leptocúrticas, [Derman and Kani, 1994], [Derman and Taleb, 2005].
Estos aspectos han motivado los modelos presentados a continuación, cada
uno intentando corregir las carencias del modelo de Black-Scholes con distinta
efectividad y complejidad añadida.

2.2. Modelo de volatilidad local


Una extensión natural del modelo de Black-Scholes viene dada por los mo-
delos de volatilidad local, presentados en [Dupire, 1994] y [Brigo et al., 2002],
donde se asume que la volatilidad σ es una función determinista del tiempo
y del precio del activo,
dSt /St = µdt + σ(t, St )dBt .
En el caso general es necesario resolver numéricamente la ecuación dife-
rencial anterior para simular el precio del activo, pero existen modelos de

5
volatilidad en los cuales es posible determinar una expresión del valor de la
opción. Uno de estos modelos es el CEV, «Constant Elasticity of Variance»,
β/2
donde σ(t, St ) = σSt , 0 ≤ β < 2. En este caso el precio de la opción de
compra europea puede expresarse de la siguiente forma, [Schroder, 1989] y
[Lu and Hsu, 2005]:

    
0 2 0 −rT 0 2 0
C = S0 Q 2K ; 2 + , 2S − e 1 − Q 2S ; , 2K ,
2−β 2−β
donde

S 0 = S 2−β e−rT (2−β) k


K 0 = K 2−β k
k = 2r/(σ 2 (2 − β)(ert(2−β) − 1)),

y Q(a; b, c) es una distribución Chi-cuadrado no central, siendo a el punto


de evaluación de la integral, b los grados de libertad y c el parámetro de no
centralidad.

2.3. Modelo de volatilidad estocástica


Una extensión natural de los modelos de volatilidad local son los modelos
de volatilidad estocástica, en éstos, el proceso que modela la volatilidad es
estocástico y se rige por otro movimiento Browniano,

dSt /St = µdt + νt dWt ,
dνt = α(νt )dt + β(νt )dZt ,
dWt · dZt = ρdt,

donde Wt , Zt son movimientos Brownianos.


De la misma forma que en el modelo general de volatilidad local, sin
suponer más condiciones, sería necesario resolver el sistema de ecuaciones
diferenciales para simular el proceso {St } y por ende el precio de una opción.
Un modelo de volatilidad estocástica usado frecuentemente es el modelo de
Heston, [Heston, 1993], [Kahl and Jäckel, 2005], en el que se asume que la
volatilidad sigue un proceso de Ornstein-Uhlenbeck
√ √
d νt = −β νt dt + δdZt ,

6
bajo estas suposiciones, el valor de una opción de compra europea viene
determinado por la expresión
 Z ∞ 
−rT 1 1
C=e (F − K) + (F · f1 − K · f2 )du ,
2 π 0
donde,

e−iu log(K) φ(u − i)


 
f1 = Re
iuF
 −iu log(K) 
e φ(u)
f2 = Re
iu
µT
F = Se
E eiu log(ST ) .

φ(u) =

2.4. Modelo de difusión con saltos


Uno de los primeros modelos de difusión con saltos fue introducido por
Merton, [Merton, 1976], en este se supone que los precios de las acciones
sufren cambios drásticos en momentos puntuales que afectan a una empre-
sa en particular y no directamente al mercado. Un aspecto interesante de
los modelos de difusión con saltos es que la distribución de los retornos es
generalmente leptocúrtica y asimétrica.
Siguiendo [Merton, 1976] y [Glasserman, 2003], en el modelo de difusión
con saltos se supone que el precio del activo con riesgo St «salta» en las
proporciones de las variables aleatorias positivas identicamente distribuidas
U1 , . . . , Uj , . . . , en los tiempos τ1 , . . . , τj , . . ., y que sigue el modelo de Black-
Scholes entre saltos. Se asume que los tiempos τj corresponden a los tiempos
de un proceso de Poisson. Concretamente,
dSt
= µdt + σdWt + dZt ,
St−

donde Zt = N
P t
j=1 (Uj − 1) y {Nt }t≥0 es un proceso de Poisson de intensidad
λ, o de otra forma,
Z t Nt
X
St = S0 + Ss (µds + σdWs ) + Sτj− (Uj − 1),
0 j=1

7
de donde se tiene que el valor del activo con riesgo viene dado por
Nt
2 /2)t+σW
Y
St = S0 e(µ−σ t
Uj . (2.3)
j=1

Considérese la valoración de una opción de compra europea, bajo la pro-


babilidad P∗ de densidad
dP∗ 2 r − µ − λE(U1 )
= eθWT −(θ /2)T , θ = .
dP σ
El proceso que representa el precio descontado de la acción
{S̃t }t≥0 = {e−rt St }t≥0
es una martingala, y se tiene que
Nt
∗ −σ 2 /2)t+σW ∗
Y
St = S0 e(µ t Uj ,
j=1

donde µ∗ = µ + σθ y Wt∗ = Wt − θt.


Asumiendo que las variables aleatorias Uj siguen una distribución log-
normal de media a y varianza b2 , Uj ∼ L N (a, b2 ), j = 1, . . ., el precio de
una opción de compra es

X 0 (λ0 t)n
C= e−λ t BS(S(0), σn , T, rn , K), (2.4)
n=0
n!

donde
λ0 = λ(1 + m)
m = E(U1 ) − 1
b2 n
σn2 = σ 2 +
T
n log(1 + m)
rn = r − λm + ,
T
y BS(·) es el precio de la opción de compra bajo de el modelo de Black-
Scholes en (2.2).
Al igual que con el modelo de Black-Scholes, una extensión natural del
modelo de difusión con saltos se logra combinándolo con un modelo de vola-
tilidad local o estocástica.

8
Capítulo 3

Simulación

Una forma de valorar opciones europeas es determinar el valor de la in-


tegral e−rT E((ST − K)+ ), [Etheridge, 2002]. Como se ha mencionado en el
capítulo anterior, bajo ciertas suposiciones es posible determinar una ex-
presión cerrada o semi-cerrada del valor de una opción europea, pero estas
suposiciones imponen fuertes limitaciones que evitan modelar mejor el com-
portamiento de los precios. En estos casos en los que no es posible determinar
una expresión cerrada del precio de una opción, se recomienda aplicar el mé-
todo de Monte-Carlo para el cálculo de la integral involucrada en la valoración
de una opción europea.

3.1. Método de Monte-Carlo


La ley fuerte de grandes números afirma que si ξ1 , ξ2 , . . . es una secuen-
cia de variables aleatorias independientes e idénticamente distribuidas con
E(|ξ1 |) < ∞, entonces,
!
1 Xn
lı́m P ξi − E(ξ1 ) = 1, (3.1)

n→∞ n
i=0

1
Pn c.s.
o escrito de otra forma n i=0 ξi −−→ E(ξ1 ).

Método de Monte-Carlo. Sea X una variable aleatoria, y supóngase


que se puede generar una secuencia de eventos independientes X1 , X2 , . . .

9
siguiendo la distribución de X. Aplicando la ley fuerte de grandes números
se puede afirmar que si f satisface E(|f (X)|) < ∞, entonces
n
1X c.s.
f (Xi ) −−→ E(f (X)),
n i=1

de forma que es posible aproximar el valor de E(f (X)) simulando n even-


tos X
Pi ,ni = 1, . . . , n siguiendo la distribución de X y calculando el promedio
1/n i=1 f (Xi ). Véase [Shiryaev, 1995] para una presentación en profundi-
dad de teoremas de convergencia y en particular de leyes de grandes números.

Convergencia del método de Monte-Carlo. Siguiendo la presentación


en [Lamberton and Lapeyre, 2008], sea X1 , X2 , . . . una secuencia de eventos
que siguen la distribución de X, el error n en el método de Monte-Carlo
n
1X
n = Xi − E(X) (3.2)
n i=1

puede ser estimado usando √el teorema del límite central, de forma que si
E(X 2 ) < ∞, se tiene que { nn /σ}n≥0 converge en distribución a una va-
riable aleatoria normal estándar, N (0, 1).
Está claro que para casi todos los casos prácticos la varianza es descono-
cida, por lo que se usa la varianza empírica, s2n , como estimador de σ 2 ,
n
!
n 1 X 2
s2n = (X 2 − X n ) ,
n − 1 n i=1 i

donde X n = 1/n ni=1 Xi .


P
Además, como lı́mn→∞ s2n = σ 2 casi siempre y E(s2n ) = σ 2 , es posible
determinar un intervalo de confianza estimado de forma que
" r r #!
s2n s2n
P E(X) ∈ X n − Q(1 − α) , X n + Q(1 − α) = 1 − α,
n n

obteniendo así la siguiente estimación del error


r
s2n
|n | ≤ Q(1 − α) ,
n
donde Q(x) es la función cuantil de la distribución normal estándar.

10
3.2. Valoración de opciones europeas
Para valorar una opción europea usando el método de Monte-Carlo será
necesaria la simulación de los precios de la acción correspondiente. Es decir,
para aproximar el valor V = e−rT E((ST − K)+ ) usando el método de Monte-
Carlo, se deberán simular posibles valores de ST .
En el capítulo 2 se presentaron distintos modelos de precios y algunas
posibles formas de determinar el valor de una opción europea, pero para
los casos generales esta expresión no está disponible. Lo que sí es posible
realizar es la simulación del valor de la opción a tiempo T , incluso resolviendo
numéricamente un sistema de ecuaciones diferenciales estocásticas.
Por ejemplo, supóngase una opción europea con valor inicial S0 = 17,1750,
precio de ejercicio K = 17,0000, tiempo de vencimiento T = 0,0436 y tasa
de interés r = 0,05. El valor de esta opción para la volatilidad σ = 0,0605
calculado usando (2.2) es 0.23069, y aunque no es necesario usar el método
de Monte-Carlo debido a la disponibilidad de (2.2), se puede observar en el
cuadro 3.1 que el método aproxima correctamente el valor de la opción.

Iteraciones Error Precio


10000 4.3815e-03 0.2299
20000 3.0886e-03 0.2299
30000 2.5323e-03 0.2302
40000 2.1936e-03 0.2301
50000 1.9597e-03 0.2300
60000 1.7879e-03 0.2296
70000 1.6556e-03 0.2301
80000 1.5476e-03 0.2301
90000 1.4595e-03 0.2303
100000 1.3855e-03 0.2303
110000 1.3211e-03 0.2306

Cuadro 3.1: Simulación de Monte-Carlo para una opción europea.

Una característica del método de Monte-Carlo, que se puede apreciar en


el número de iteraciones del cuadro 3.1, es su lenta convergencia, y es por ello
que existen métodos de reducción de varianza, que debido a (3.2), mejoran
la velocidad de convergencia del método.

11
Capítulo 4

Calibración

El proceso de calibración de un modelo de valoración de opciones consiste


en determinar los parámetros del modelo que mejor se ajustan a los datos
proporcionados por el mercado.
Sean (Ci , Ti , Ki ), i = 1, . . . , p, el precio de ejercicio, el tiempo de ven-
cimiento y el precio de la opción proporcionados por el mercado, respecti-
vamente. El problema de calibración consiste en determinar los parámetros
ξ ∈ Rn de un modelo de valoración de forma que éste se ajuste mejor a los
precios proporcionados por el mercado
Pp
mı́nn f (ξ) := i=1 (Ci − C(ξ; Ti , Ki ))2 (4.1)
ξ∈R
s.a. ξ ∈ X ⊂ Rn ,

donde C(ξ; Ti , Ki ) es el valor de la opción según el modelo usado, para los


parámetros ξ, el tiempo de vencimiento Ti y el precio de ejercicio Ki . Nótese
que cada modelo de valoración tendrá distintos parámetros ξ a estimar.

4.1. Evolución diferencial


La resolución del problema (4.1) se realizará usando una versión modifi-
cada del algoritmo de «Evolución Diferencial», [Storn and Price, 1997].
El algoritmo de «Evolución Diferencial» está diseñado para resolver el
problema de optimización con restricciones de caja

mı́n f (x) s.a. l ≤ x ≤ u,

12
donde no se impone limitación alguna de diferenciabilidad, continuidad u
acotamiento, sobre la función f : Rn → R con x, l, u ∈ Rn . Este algoritmo
ha sido usado para resolver problemas en distintas áreas, [Storn et al., 2006],
con características similares a las del problema de calibración de modelos
financieros.
Como se puede observar, el método en el cuadro 4.1 es un algoritmo evo-
lutivo que no requiere que la función objetivo satisfaga condición alguna de
continuidad o diferenciabilidad, lo que lo hace atractivo para la resolución de
problemas en los que la evaluación de la función objetivo se realiza mediante
simulación.
Otra de las características del algoritmo es la fácil adaptación para su
ejecución en paralelo y los pocos parámetros que hacen falta para ajustarlo.
Nótese que existen versiones autoajustables en las que no es necesario rea-
lizar pruebas experimentales para determinar los parámetros que proporcio-
nan el mejor comportamiento del algoritmo para los problemas considerados,
[Brest et al., 2006].
Sea N el número de elementos de la población y xi,j ∈ Rn , i = 1, . . . , N
el i-ésimo elemento de la población de la j-ésima generación.

Evolución Diferencial General


Sea j = 0, Cr ∈ (0, 1], F ∈ (0, 2],
1 Generar la población inicial xj = {x1,j , . . . , xN,j }
2 Si se satisface el criterio de parada. Parar
3 Para cada i = 1, . . . , N , hacer
3.1 Generar r0 , r1 , r2 ∈ {1, . . . , N } distintos entre sí y de i
3.2 Generar el elemento de prueba v i = (v1i , . . . , vn1 ) donde
 r0 ,j r ,j r ,k
 xk + F (xk1 − xk2 ) si rand(0, 1) ≤ Cr o
vki = j = rand(1, . . . , n)
 i,j
xk en otro caso
4 Hacer para i cada i = 1, . . . , N
i,j+1 v f (v i ) ≤ f (xi,j )
x = i,j
x en caso contrario
5 Hacer j = j + 1 e ir al paso 2

Cuadro 4.1: Algoritmo de Evolución Diferencial general.

La población inicial se determina usando las cotas de cada una de las


variables x ∈ Rn mediante xi,0
k = lk + rand(0, 1)(lk − uk ), k = 1, . . . , n.

13
El algoritmo de evolución diferencial está diseñado para resolver proble-
mas de optimización continua sin restricciones, pero es sencillo incluir res-
tricciones mediante penalizaciones en la función objetivo. El problema de
calibración de un modelo de valoración de opciones posee solo cotas sobre
las variables y no posee otras restricciones. Para considerar las cotas en el
algoritmo, se limitará el elemento de prueba en el paso 3.2 de la siguiente
forma vki = mı́n(uk , máx(lk , vki )), k = 1, . . . , n. Además, para evitar que el
elemento de prueba tenga frecuentemente valores en alguna cota, se tomará
el valor del parámetro F de forma aleatoria en el mismo paso, asumiendo que
F está distribuido uniformemente en (0, 2], F ∼ U (0, 2]. Considerar F no
constante es una modificación del algoritmo con la cual se observan mejoras
del rendimiento en la resolución de problemas de optimización estocástica,
[Thangaraj et al., 2011].

4.2. Simulación y calibración simultánea


Como se ha mencionado anteriormente, el problema de calibración de
un modelo de valoración de opciones consiste en resolver un problema de
mínimos cuadrados. La dificultad surge en los casos en los que no existe una
expresión cerrada para el valor de la opción, en éstos es necesario simular
la evolución de los precios de la acción, tal vez resolviendo un sistema de
ecuaciones diferenciales estocásticas, para determinar mediante el uso del
método de Monte-Carlo el precio de la opción.
Cualquier algoritmo de optimización tradicional requiere la evaluación de
la función objetivo, que en este caso, supone la ejecución de varias compu-
tacionalmente costosas simulaciones de Monte-Carlo, aspecto que hace que el
proceso de optimización sea muy lento. La intención de este trabajo consiste
en reducir la duración del proceso de optimización mediante la realización
simultánea de la simulación y del proceso de optimización.

Función objetivo no determinista. El algoritmo de evolución diferen-


cial es un algoritmo evolutivo que usa una población para almacenar el avance
del proceso de optimización, y un aspecto clave del algoritmo es que no es
necesario que el valor de la función objetivo sea el mismo en distintas eva-
luaciones del mismo punto. Este hecho hace que sea posible ir aproximando
el valor de la función objetivo en cada evaluación de un punto. En el caso
de la valoración de opciones, en cada evaluación de la función objetivo se

14
realizarán simulaciones del precio de la acción, y éstas serán añadidas a las
simulaciones de Monte-Carlo subyacentes en ese punto.

Simulación. Cada vez que el algoritmo requiera la evaluación de la fun-


ción objetivo en un punto, se añadirán una o varias muestras a los procesos
de Monte-Carlo asociados a los parámetros del modelo representados por el
punto, mejorando así las aproximaciones del valor de la opción. De esta for-
ma se estarán realizando múltiples simulaciones de Monte-Carlo de forma
simultánea, obteniendo con cada evaluación de la función objetivo mejores
aproximaciones de Monte-Carlo del valor de la opción en cada punto explo-
rado por el algoritmo.
La idea fundamental es que el algoritmo «descartará» puntos antes de
completar las simulaciones de Monte-Carlo, reduciendo así el tiempo de eje-
cución del algoritmo. Por ser más concretos, los agentes de la población no se
agruparán en puntos donde el valor de la función objetivo sea alto (relativo
a los valores del resto de los agentes de la población), y para realizar esta
comparación entre los agentes de la población, no es necesario realizar las
simulaciones de Monte-Carlo completas en cada punto, basta con aproxima-
ciones.

Estabilización. Una pregunta que surge de forma inmediata es el compor-


tamiento del algoritmo al inicio de las simulaciones de Monte-Carlo o cuando
la varianza de las variables a simular es grande, pues esto podría hacer que
algoritmo «descarte» puntos muy pronto, debido a que no ha realizado su-
ficientes simulaciones en los mismos. Pero cabe mencionar que el algoritmo
no descarta puntos del todo, simplemente no son incluidos en la población
actual, y tienen la posibilidad de ser evaluados e incluidos en la población en
siguientes iteraciones.
Para evitar este comportamiento, se realizará cierto número de simulacio-
nes en cada nuevo punto, reduciendo las grandes variaciones que se observan
en las primeras iteraciones del método de Monte-Carlo. De esta forma, cada
vez que se realiza una simulación de precios en un nuevo punto, se llevarán
a cabo M simulaciones. Esta evaluación se denotará por f M (x).
Cabe destacar que para un punto ξ, se realizan p simulaciones de precios
C(ξ; Ti , Ki ), i = 1, . . . , p, de forma que en cada evaluación de la función
objetivo se está añadiendo información a p simulaciones de Monte-Carlo, y si
es la primera vez que se exploran los puntos (ξ; Ti , Ki ), y éstos son distintos

15
entre sí, se contribuye a p simulaciones de Monte-Carlo con pM muestras.

Discretización. Para que se puedan realizar varias simulaciones sobre un


mismo punto, ξ = (ξ1 , . . . , ξn ), es necesario realizar una discretización del
espacio, de forma que ξj ∈ D : = {−1|k| kδ, ∀k ∈ N}, por lo que las aproxima-
ciones del algoritmo podrán ser con precisión δ.
Este redondeo se realizará en la generación de la población inicial y en el
paso 3.2 del algoritmo, luego de haber ajustado el elemento de prueba a las
cotas de las variables. La discretización en la población inicial y en el elemento
de prueba se realizará mediante la función h : R → D, h(u; δ) = [u/δ]δ.
En el paso 3.1 del algoritmo se escogerán uniformemente tres agentes de
la población, si éstos son distintos entre sí y distintos de i, se aceptarán, en
caso contrario, se seleccionarán otros tres agentes. El algoritmo se detendrá
si el número de intentos es mayor que cierto parámetro A o si se alcanza
cierto número de iteraciones.
En el cuadro 4.2 se presenta el algoritmo de Evolución Diferencial toman-
do en cuenta las consideraciones antes mencionadas.

16
Evolución Diferencial y Monte-Carlo Simultánea
Sea j = 0, Cr ∈ (0, 1], M > 0, A > 0, δ > 0
1 Generar la población inicial xj = {x1,j , . . . , xN,j }
2 Para cada i = 1, . . . , N , hacer
2.1 Hacer na = 0
2.2 Si na > A, parar.
2.3 Escoger r0 , r1 , r2 ∈ {1, . . . , N } índices
2.4 Si r0 , r1 , r2 , i son distintos entre sí, ir al paso 2.5
en caso contrario, hacer na = na + 1 e ir al paso 2.2
2.5 Generar F ∼ (0, 2]
2.6 Generar el elemento de prueba v i = (v1i , . . . , vni ) donde
vki = h(mı́n(uk , máx(lk , v̂ki )); δ) con
 r0 ,j r ,j r ,k
 xk + F (xk1 − xk2 ) si rand(0, 1) ≤ Cr o
v̂ki = j = rand(1, . . . , n)
 i,j
xk en otro caso
3 Hacer para  i cada i = 1, . . . , N
i,j+1 v f M (v i ) ≤ f M (xi,j )
x = i,j
x en caso contrario
4 Hacer j = j + 1 e ir al paso 2

Cuadro 4.2: Algoritmo de Evolución Diferencial y Monte-Carlo Simultánea.

17
Capítulo 5

Resultados numéricos

El software se escribió en Python [Python, 2011], un lenguaje de pro-


gramación general dinámico. Este lenguaje de programación es simple pero
potente y abundante en utilidades generales de programación como bases de
datos, decoradores de funciones, manipulación de rutas de sistema, manipula-
ción de datos de entrada y salida, complejas estructuras de datos y ejecución
en paralelo, entre muchas otras. La única dependencia del software escrito
es la biblioteca estándar de Python, facilitando así su ejecución en cualquier
entorno donde Python esté disponible.

Uno de los aspectos clave del algoritmo de calibración simultánea es que


es necesario almacenar la información de las simulaciones de Monte-Carlo
para cada uno de los puntos explorados por el algoritmo de Evolución Dife-
rencial. El número de puntos explorados será lo suficientemente grande para
que no se pueda almacenar la información en la memoria del ordenador. Es
por esto que la información de las simulaciones de Monte-Carlo para cada
punto se almacenan en un base de datos de tipo clave-valor, limitando así la
información persistente en memoria RAM.
El número de simulaciones base M se estableció en 500, la precisión del
algoritmo δ en 1×10−4 , el tamaño de la población inicial N = 10n y el número
máximo de iteraciones en 100. Las pruebas se realizaron en un ordenador
portátil HP Compaq 6720s un procesador Intel Celeron M 530 a 1,73 GHz
y 3 GiB de memoria usando Arch Linux con el Kernel 3.1.8 y Python 3.2.2
[GCC 4.6.2].

18
5.1. Simulación de caminos
Las pruebas se realizaron usando el modelo de Black-Scholes presentado
en la sección 2.1 y el modelo de Merton presentado en la sección 2.4. Para
ambos modelos no es necesario aplicar el esquema de calibración aquí pre-
sentado debido a la existencia de (2.1) y (2.3), pero estos modelos servirán
para comprobar la validez del enfoque.
Para la simulación de precios usando el modelo de Black-Scholes (2.1) se
usó el algoritmo presentado en el cuadro 5.1. Para la simulación de precios
usando el modelo de Merton (2.3) se usó el algoritmo presentado en el cuadro
5.2. En ambos casos se supone una opción de compra europea sobre un activo
con tasa de interés r y tiempo de vencimiento T .

Simulación de precios usando el modelo de Black-Scholes


1 Generar Z ∼ N (0, 1) √
2
2 Calcular y devolver S = S0 e(µ−σ /2)T +σ T Z

Cuadro 5.1: Algoritmo para simular precios usando el modelo de Black-


Scholes (2.1).

Simulación de precios usando el modelo de Merton


1 Hacer τ0 = 0, Sτ0 = S0 , S = S0
2 Mientras τ0 < T , hacer
2.1 Generar Z1 , Z2 ∼ N (0, 1), R ∼ Exp(λ), Y ∼ L N (a, b2 )
2.2 Hacer τ1 = mı́n(τ0 + R, T ), ∆ = √τ1 − τ0
2
2.3 Calcular Sτ1 = Sτ0 e(µ−σ /2)∆+σ √
∆Z1 Y
2
2.4 Calcular S = Sτ0 e(µ−σ /2)∆+σ ∆Z2
2.5 Hacer τ0 = τ1 , Sτ0 = Sτ1
3 Devolver S

Cuadro 5.2: Algoritmo para simular precios usando el modelo de Merton


(2.3).

19
5.2. Datos generados
Estas pruebas se realizaron para confirmar la validez del esquema plantea-
do. Para ello se generaron precios de opciones de compra usando parámetros
conocidos y luego se ejecutó el algoritmo de calibración simultánea para con-
firmar que los valores estimados eran válidos.

5.2.1. Modelo de Black-Scholes


En esta primera prueba se generaron datos con el modelo de Black-Sholes
usando los parámetros r = 0,05, S0 = 133,92 y

µ = r = 0,05, σ = 0,4,

para cuatro tiempos de ejercicio de las opciones, uno, dos, tres y cuatro meses,
y precios de ejercicio variando entre 100 y 144.
Aunque no es necesario usar simulación para el modelo de Black-Scholes
debido a la existencia de la fórmula (2.2), se han realizado las pruebas simu-
lando precios usando (2.1) para confirmar la validez del enfoque planteado.
El algoritmo realizó 100 iteraciones en 1900,9984 segundos obteniendo las
estimaciones
µ̂ = 0,02550, σ̂ = 0,4338.
El número de simulaciones realizadas en las estimaciones (µ̂, σ̂) fue P
4288, la
suma de los errores absolutos de las estimaciones y los valores reales i |Ci −
C(µ̂, σ̂; Ti , Ki )| = 52,9649.
El la figura 5.1 se pueden observar en la línea azul los datos generados y
en cruces rojas los valores estimados por el algoritmo.

5.2.2. Modelo de difusión con saltos


En esta segunda prueba se generaron datos con el modelo de difusión con
saltos usando los parámetros r = 0,05, S0 = 133,92 y

µ = r − λm = −0,6069, σ = 0,4, λ = 1,0, a = 0,1, b = 0,9,

donde m = E(Y1 ) − 1, para cuatro tiempos de ejercicio de las opciones, uno,


dos, tres y cuatro meses, y precios de ejercicio variando entre 100 y 144.
Al igual que para el modelo de Black-Scholes en la prueba anterior, en
este modelo tampoco es necesario usar simulación debido a la existencia de

20
Time: 21.000000 Time: 42.000000
40 40

30 30
Call price

Call price
20 20

10 10

0 0
100 110 120 130 140 150 100 110 120 130 140 150
Strike price Strike price
Time: 63.000000 Time: 84.000000
40 40

30 30
Call price

Call price

20 20

10 10

0 0
100 110 120 130 140 150 100 110 120 130 140 150
Strike price Strike price

Figura 5.1: Aproximación de los precios de las opciones de compra para el


modelo de Black-Scholes con datos generados.

21
la fórmula (2.4). Se han realizado las pruebas simulando precios usando (2.3)
para confirmar la validez del enfoque planteado.
El algoritmo realizó 100 iteraciones en 12358,3505 segundos obteniendo
las estimaciones

µ̂ = −0,1563, σ̂ = 0,895, λ̂ = 1 × 10−8 , â = 1,3540, b̂ = 2,0000.

El número de simulaciones realizadas en las estimaciones (µ̂, σ̂, λ̂, â, b̂) fue
9539,
P la suma de los errores absolutos de las estimaciones y los valores reales
i |Ci − C(µ̂, σ̂, λ̂, â, b̂; Ti , Ki )| = 250,6741.
El la figura 5.2 se pueden observar en la línea azul los datos generados y
en cruces rojas los valores estimados por el algoritmo.

Time: 21.000000 Time: 42.000000


35 40
30
25 30
Call price

Call price

20
15 20
10
5 10
100 110 120 130 140 150 100 110 120 130 140 150
Strike price Strike price
Time: 63.000000 Time: 84.000000
40 40

35 35
Call price

Call price

30 30

25 25

20 20

15 15
100 110 120 130 140 150 100 110 120 130 140 150
Strike price Strike price

Figura 5.2: Aproximación de los precios de las opciones de compra para el


modelo de difusión con saltos con datos generados.

22
5.3. SPDR S&P 500
Las siguientes dos pruebas se realizaron usando precios de cuatro meses
de opciones de compra del indicador SPDR S&P 500.

5.3.1. Modelo de Black-Scholes


Al igual que en la primera prueba, los precios de las opciones de compra
se simularon usando (2.1). El algoritmo de calibración simultánea realizó 100
iteraciones en 2746,94355 segundos obteniendo las estimaciones

µ̂ = −0,0501, σ̂ = 0,1687.

El número de simulaciones realizadas en las estimaciones (µ̂, σ̂) fue 592,


el número máximo de simulaciones en algún punto fue 1365, la P suma de
los errores absolutos de las estimaciones y los valores reales fue i |Ci −
C(µ̂, σ̂; Ti , Ki )| = 310,2065.
El la figura 5.3 se pueden observar en la línea azul los precios de las
opciones de compra del SPDR S&P 500 y en cruces rojas los valores estimados
por el algoritmo.

5.3.2. Modelo de difusión con saltos


Esta prueba es similar a la anterior pero usando el modelo de difusión
con saltos. Los precios de la opciones de compra se simularon usando (2.3).
El algoritmo de calibración simultánea realizó 100 iteraciones en 18874,4947
segundos obteniendo las estimaciones

µ̂ = −0,0347, σ̂ = 0,1778, λ̂ = 1 × 10−8 , â = 1,942, b̂ = 0,1478.

El número de simulaciones realizadas en las estimaciones (µ̂, σ̂, λ̂, â, b̂) fue
502, , el número máximo de simulaciones en algún punto fue 1483P la suma
de los errores absolutos de las estimaciones y los valores reales i |Ci −
C(µ̂, σ̂, λ̂, â, b̂; Ti , Ki )| = 312,1031.
En la figura 5.4 se pueden observar en la línea azul los precios de las
opciones de compra del SPDR S&P 500 y en cruces rojas los valores estimados
por el algoritmo.

23
Time: 21.000000 Time: 42.000000
40 80

30 60
Call price

Call price
20 40

10 20

0 0
100 120 140 160 50 100 150 200
Strike price Strike price
Time: 63.000000 Time: 84.000000
40 120
100
30
80
Call price

Call price

20 60
40
10
20
0 0
100 120 140 160 0 50 100 150 200 250
Strike price Strike price

Figura 5.3: Aproximación de los precios de las opciones de compra para el


modelo de Black-Scholes con datos del SPDR S&P 500.

24
Time: 21.000000 Time: 42.000000
40 80

30 60
Call price

Call price
20 40

10 20

0 0
100 120 140 160 50 100 150 200
Strike price Strike price
Time: 63.000000 Time: 84.000000
40 120
100
30
80
Call price

Call price

20 60
40
10
20
0 0
100 120 140 160 0 50 100 150 200 250
Strike price Strike price

Figura 5.4: Aproximación de los precios de las opciones de compra para el


modelo de difusión con saltos con datos del SPDR S&P 500.

25
Capítulo 6

Conclusiones y recomendaciones

Validez del enfoque. De las pruebas con datos generados se puede obser-
var que el algoritmo de calibración simultánea aproxima correctamente los
parámetros de los modelos. Es conveniente recordar que los precios de las op-
ciones de compra se determinan usando simulación, y hay que considerar el
error de las simulaciones de Monte-Carlo al analizar el error de la estimación
obtenida por el algoritmo.
En la calibración del modelo de difusión con saltos con datos generados,
se observa que el algoritmo consigue una aproximación con un error rela-
tivamente pequeño, pero los parámetros estimados son considerablemente
distintos de aquéllos con los que se generaron los datos. Este comportamien-
to se puede deber principalmente al hecho de que el problema de calibración
posee múltiples óptimos locales.
En las pruebas de calibración de los modelos usando el indicador SPDR
S&P 500 se puede observar que el algoritmo logra reducir el error a un valor
relativamente pequeño, y se aprecia en las figuras que las aproximaciones son
buenas.
En la calibración del SDPR S&P 500 se esperaba que el modelo de difusión
con saltos ajustase mejor los precios de las opciones, pero una variación del
error absoluto de 310,2065 a 312,1031 no es significativa. No observar este
comportamiento se puede deber simplemente que en este periodo de tiempo
no ocurrió ningún salto, consideración que está acorde con la estimación
obtenida por el algoritmo donde λ̂ = 1 × 10−8 .

Reducción del número de simulaciones. Cada una de las simulaciones


para determinar el valor de una opción de compra contribuye a una simu-

26
lación de Monte-Carlo. Como era de esperarse, el punto con mayor número
de simulaciones es el valor estimado por el algoritmo, por lo que es posible
afirmar que el número de simulaciones de precios es considerablemente menor
al número de simulaciones que se tendrían que hacer si se estuviese realizan-
do una simulación de Monte-Carlo completa en cada punto explorado por el
algoritmo.
Esto confirma la hipótesis de que el algoritmo «descarta» puntos no in-
teresantes en favor de puntos potencialmente buenos. La causa de este com-
portamiento es que con unas pocas iteraciones del método de Monte-Carlo
se tiene una aproximación del valor de la función objetivo, y no es necesario
hacer la simulación completa para realizar la comparación entre dos agentes
y determinar cuál de ellos estará en la población de la siguiente iteración.

Flexibilidad. En este trabajo se han realizado pruebas usando el modelo


de Black-Scholes y el modelo de Merton de difusión con saltos, pero es posible
usar cualquier otro modelo de forma inmediata debido a que solo es necesaria
la simulación de precios de las opciones.
En el capítulo 2 se han presentado modelos de precios para valorar opcio-
nes europeas, pero nada impide que se puedan calibrar modelos para opciones
americanas, salvo la complicación que éstas generan en la valoración.

Recomendaciones. La primera recomendación es usar un método quasi-


Monte-Carlo para lograr mejores aproximaciones en menor número de itera-
ciones, mejorando así la precisión y convergencia del algoritmo de calibración
simultánea, véanse [Niederreiter, 1992] y [Keller et al., 2008] para una pre-
sentación de estos métodos. Un aspecto que mejoraría el rendimiento del
algoritmo de calibración simultánea sería la programación del mismo para su
ejecución en paralelo. Esta labor no presenta muchas complicaciones debido a
las características del algoritmo de Evolución Diferencial, donde cada agente
de la población de la siguiente iteración se determina usando solo los agentes
de la población actual de forma independiente.
Otro aspecto que mejoraría significativamente el rendimiento del algo-
ritmo sería su implementación en un lenguaje de programación compilado
como Fortran, C o C++. La elección de Python para este trabajo está fun-
damentada en la rapidez de desarrollo que éste proporciona, lo extenso de
su biblioteca estándar y la flexibilidad que ofrece. A pesar de estas ventajas
sobre los lenguajes compilados, Python es significativamente más lento que

27
Fortran, C++ o C, por lo que la implementación del algoritmo en uno de
estos lenguajes podría reducir los tiempos de ejecución drásticamente.
El algoritmo presentado en este trabajo es una adaptación del algoritmo
de evolución diferencial que satisface las necesidades del problema de calibra-
ción de opciones. Otros algoritmos que se podrían adaptar para realizar la si-
mulación de Monte-Carlo de forma simultánea son UOBYQA, [Powell, 2002],
NEWOUA, [Powell, 2004], o BOBYQA, [Powell, 2009], y sería interesante
comparar sus rendimientos ya que estos últimos son de búsqueda directa, es
decir, no son genéticos, evolutivos o metaheurísticos.
Para finalizar, algunos siguientes pasos en la línea de este trabajo serían:
calibrar modelos con saltos que consideren volatilidad estocástica, pues éstos
son los que aparentemente mejor aproximan los precios de los mercados, ca-
librar más de un activo, calibrar opciones americanas, reescribir el algoritmo
en un lenguaje de programación más eficiente en modo de ejecución para-
lelo y comparar el algoritmo de evolución diferencial presentado con algún
método de optimización no diferencial de búsqueda directa.

28
Bibliografía

[Black and Scholes, 1973] Black, F. and Scholes, M. (1973). The pricing of
options and corporate liabilities. Journal of Political Economy, 81(3):637–
654.

[Brest et al., 2006] Brest, J., Greiner, S., Boškvoić, B., Mernik, M., and
Z̆umer, V. (2006). Self-adapting control parameters in differential evo-
lution: A comparative study on numerical benchmark problems. IEEE
Transactions on Evolutionary Computation, 10(6):646–657.

[Brigo et al., 2002] Brigo, D., Mercurio, F., and Rapisarda, F. (2002).
Lognormal-mixture dynamics and calibration to market volatility smiles.
International Journal of Theoretical and Applied Finance, (5):427–446.

[Derman and Kani, 1994] Derman, E. and Kani, I. (1994). Riding on the
smile. Risk, (7):32–39.

[Derman and Taleb, 2005] Derman, E. and Taleb, N. N. (2005). The illusions
of dynamic replpication. Quantitative Finance, (4):323–326.

[Dupire, 1994] Dupire, B. (1994). Pricing with a smile. Risk, (7):18–20.

[Etheridge, 2002] Etheridge, A. (2002). A Course in Financial Calculus,


chapter 7, pages 159–162. Cambridge University Press.

[Gilli and Schumann, 2009] Gilli, M. and Schumann, E. (2009). Heuristic


optimisation in financial modelling. Computation Optimization Methods
in Statistics, Econometrics and Finance.

[Glasserman, 2003] Glasserman, P. (2003). Monte Carlo Methods in Finan-


cial Engineering, volume 53 of Stochastic Modelling and Applied Probabi-
lity. Springer.

29
[Heston, 1993] Heston, S. L. (1993). A closed-form solution for options with
stochastic volatility with applications to bond and currency options. The
Review of Financial Studies, 6(2).

[Kahl and Jäckel, 2005] Kahl, C. and Jäckel, P. (2005). Not-so-complex lo-
garithms in the heston model. Wilmott, pages 94–103.

[Keller et al., 2008] Keller, A., Heinrich, S., and Niederreiter, H., editors
(2008). Monte Carlos and Quasi-Monte Carlo methods 2006. Springer.

[Lamberton and Lapeyre, 2008] Lamberton, D. and Lapeyre, B. (2008). In-


troduction to Stochastic Calculus Applied to Finance. Financial Mathema-
tics Series. Chapman & Hall/CRC, second edition.

[Lu and Hsu, 2005] Lu, R. and Hsu, Y.-H. (2005). Valuation of standard op-
tions under the constant elasticity of variance model. International Journal
of Business and Economis, 4(2):157–165.

[Lyra, 2010] Lyra, M. (2010). Heuristic strategies in finance - an overview.


Computation Optimization Methods in Statistics, Econometrics and Fi-
nance.

[Merton, 1976] Merton, R. C. (1976). Option pricing when underlying stock


returns are discontinuous. Journal of Financial Economics, 3(1-2):125–
144.

[Nelder and Mead, 1965] Nelder, J. A. and Mead, R. (1965). A simplex met-
hod for function minimization. Computer Journal, 7:307–313.

[Niederreiter, 1992] Niederreiter, H. (1992). Random number generation and


quasi-Monte Carlo methods. Number 63 in CBMS-NSF regional conference
series in applied mathematics. SIAM.

[Powell, 1964] Powell, M. J. D. (1964). An efficient method for finding the


minimum of a function of several variables without calculating derivatives.
Computer Journal, 7:155–162.

[Powell, 2002] Powell, M. J. D. (2002). Uobyqa: unconstrained optimization


by quadratic approximation. Mathematical Programming, (92):555–582.

30
[Powell, 2004] Powell, M. J. D. (2004). The newuoa software for uncons-
trained optimization without derivatives. Technical report, University of
Cambridge.

[Powell, 2009] Powell, M. J. D. (2009). The bobyqa algorithm for bound


constrained optimization without derivatives. Technical report, University
of Cambridge.

[Python, 2011] Python (2011). Python programming language.

[Schlottmann and Seese, 2004] Schlottmann, F. and Seese, D. (2004). Han-


book of Computational and Numerical Methods in Finance, chapter Mo-
dern Heuristics for Finance Problems: A Survey of Selected Methods and
Applications, pages 331–359. Birkhäuser.

[Schroder, 1989] Schroder, M. (1989). Computing the constant elasticity of


variance option pricing formula. Journal of Finance, 44(1):211–219.

[Shiryaev, 1995] Shiryaev, A. N. (1995). Probability. Graduate Text in Mat-


hematics. Springer, second edition.

[Storn and Price, 1997] Storn, R. and Price, K. (1997). Differential evolution
- a simple and efficient heuristic for global optimization over continuous
spaces. Journal of Global Optimization, (11):341–359.

[Storn et al., 2006] Storn, R., Price, K., and Lampinen, J. (2006). Differen-
tial Evolution - A Practical Approach to Global Optimization. Natural
Computing Series. Springer.

[Thangaraj et al., 2011] Thangaraj, R., Pant, M., Bouvry, P., and Abraham,
A. (2011). Solving stochastic programming problems using modified diffe-
rential evolution algorithms. Logic Journal of IGPL.

31

También podría gustarte