Está en la página 1de 28

Modelización y Valoración de Derivados y Carteras en

Finanzas
Dr. Miguel Angel Navarro Burgos

Tema 6: Métodos de estimación de parámetros y de


predicción para el modelo log-normal
Universidad Internacional de La Rioja
Índice de la asignatura

Índice: Ideas claves


▶ Método de momentos no paramétrico
▶ Validación del modelo
▶ Predicción puntual y por intervalos de confianza

|2
Método de momentos no paramétrico

El método de momentos no paramétrico destaca por su sencillez. A pesar de


que las estimaciones obtenidas no son tan robustas como la de los demás
métodos explicados, pero es muy fácil de aplicar.
▶ En caso de disponer de datos razonablemente frecuentes, es probable
que los errores de aproximación sean pequeños.
▶ Los valores estimados pueden utilizarse como datos de partida para
otros métodos.

|3
Método de momentos no paramétrico

Sea (
dS(t) = f (t, S(t); θ)dt + g(t, S(t); θ)dW (t),
S(0) = s0 ,
Consideramos S = {s0 , s1 , . . . , sN } los datos de un producto financiero dado
y ti = t0 + i∆t, con i ∈ {0, . . . , N }. El problema consiste en cómo estimar
θ = (µ, σ) (puede utilizarse σ 2 ). En un primer paso, consiste en aplicar el
esquema de Euler-Maruyama, es decir

Si+1 − Si = f (ti , Si ; θ)∆t + g(ti , Si ; θ)W (∆t), i ∈ {0, . . . , N − 1}.

donde W (∆t) ∼ N (0, ∆t) para todo i ∈ {0, . . . , N − 1}.

|4
Método de momentos no paramétrico

Del mismo modo que se indica en (Allen, 2007). El método de momentos no


paramétrico consiste en aplicar la siguiente propiedad:
Si+1 − Si
 
E − f (ti , Si ; θ) = O (∆t) ,
∆t
(Si+1 − Si )2
!
2
E − g (ti , Si ; θ) = O (∆t) .
∆t

donde O (∆t) → 0 cuando ∆t → 0.

|5
Método de momentos no paramétrico

El vector de parámetros θ se estima utilizando las contrapartidas muestrales


de las ecuaciones anteriores. Por ejemplo, para θ ∈ R2 , θ puede estimarse
utilizando:
N −1 −1
X 1 NX
f (ti , si ; θ) = (si+1 − si ),
i=0
∆t i=0
N −1 −1
1 NX
(si+1 − si )2 .
X
2
g (ti , si ; θ) =
i=0
∆t i=0

|6
Método de momentos no paramétrico

Luego como θ = (µ, σ) adaptando las funciones f y g al modelo log-normal,


es decir f (ti , si ; θ) = µsi y g(ti , si ; θ) = σsi , se tiene que

N −1 −1
X 1 NX
(µsi ) = (si+1 − si ),
i=0
∆t i=0
N −1 −1
2 1 NX
(si+1 − si )2 .
X
(σsi ) =
i=0
∆t i=0

|7
Método de momentos no paramétrico

Es decir
−1
 
NP
(si+1 − si ) 
1  i=0
µM M M P = ,
 
−1
NP

∆t  
si
i=0
v
−1
 
u NP
(si+1 − si )2 
u
u
u 1 
 i=0
σM M M P = u .

NP−1

t ∆t
u
2
 
si
i=0

|8
Validación del modelo

Estimados los parámetros del modelo log-normal, es importante saber cómo


de buenas son esas estimaciones. Para ello se compararán los datos que
conocemos con los datos obtenidos mediante el modelo log-normal.
Denotamos por {s0 , . . . , sN } a los datos conocidos en los instantes de
tiempo {t0 , . . . , tN }. Luego consideramos los siguientes errores:
▶ Error cuadrático medio (ECM): El error cuadrático medio se define
como la raíz cuadrada de la media de las diferencias al cuadrado entre
los datos y los proporcionados por el modelo.
v
u N
u1 X
ECM = t (si − S(ti ))2 .
N i=1

|9
Validación del modelo

▶ Error procentual absoluto medio (EPAM): El error porcentual absoluto


medio se define como la media de los errores relativos entre los datos
reales y los proporcionados por el modelo.
N N
100 X |si − S(ti )| 100 X S(ti )
EP AM = = 1− .
N i=1 si N i=1 si

| 10
Predicción puntual y por intervalos de confianza
Esta sección está dedicada a aplicar los resultados de este tema a datos
reales. Consideremos las cotizaciones de una compañía que cotiza en el
IBEX-35 en 28 días laborales, desde el 15 de julio del 2019 al 21 de agosto
del 2019.
15/7/2019 24.38 4/8/2019 25.2
16/7/2019 24.23 5/8/2019 25.07
17/7/2019 24.26 6/8/2019 25.33
20/7/2019 24.32 7/8/2019 25.42
21/7/2019 24.89 10/8/2019 25.32
22/7/2019 23.55 11/8/2019 25.61
23/7/2019 23.79 12/8/2019 25.48
24/7/2019 23.95 13/8/2019 25.48
27/7/2019 23.75 14/8/2019 25.56
28/7/2019 23.98 17/8/2019 25.86
29/7/2019 24.59 18/8/2019 25.91
30/7/2019 24.86 19/8/2019 26.08
31/7/2019 24.8 20/8/2019 25.87
3/8/2019 24.95 21/8/2019 26.25

| 11
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#Dt=1
import numpy as np
import matplotlib.pyplot as plt

S=np.array([24.38,24.23,24.26,24.32,24.89,23.55,23.79,
23.95,23.75,23.98,24.59,24.86,24.8,24.95,25.2,25.07,
25.33,25.42,25.32,25.61,25.48,25.48,25.56,25.86,25.91,
26.08,25.87,26.25])

plt.plot(S)

R=S[1:]/S[0:-1]

| 12
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#MME
U=np.log(R)
sigmaMME=np.std(U,ddof=1)
muMME=np.mean(U)+sigmaMME**2/2
print("muMME=",muMME,"sigmaMME=",sigmaMME)

#MMV
R-=1
muMMV=np.mean(R)
sigmaMMV=np.std(R,ddof=0)
print("muMMV=",muMMV,"sigmaMMV=",sigmaMMV)

#MMMP
R=S[1:]-S[0:-1]
muMMMP=np.sum(R)/np.sum(S[0:-1])
sigmaMMMP=np.sqrt(np.sum(R**2)/np.sum(S[0:-1]**2))
print("muMMMP=",muMMMP,"sigmaMMMP=",sigmaMMMP)

| 13
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

muMME= 0.0028416219249687296 sigmaMME= 0.014455364221935513


muMMV= 0.0028407083711013722 sigmaMMV= 0.014000841624393258
muMMMP= 0.0027807104938363412 sigmaMMMP= 0.014193261539082753

26.0

25.5

25.0

24.5

24.0

23.5
0 5 10 15 20 25

| 14
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#modelo log-normal
def St(t,u,s,s0):
return s0*np.exp((u-s**2/2)*t+s*np.sqrt(t)*np.random.randn())

t=np.arange(1,len(S[1:])+1)
#ERROR MME
SSt=St(t,muMME,sigmaMME,S[0])
ECMMME=np.sqrt(np.mean((S[1:]-SSt)**2))
EPAMMME=100*np.mean(abs(1-SSt/S[1:]))
print("ECMMME=",ECMMME,"EPAMMME(%)=",EPAMMME)

#ERROR MMV
SSt=St(t,muMMV,sigmaMMV,S[0])
ECMMMV=np.sqrt(np.mean((S[1:]-SSt)**2))
EPAMMMV=100*np.mean(abs(1-SSt/S[1:]))
print("ECMMMV=",ECMMMV,"EPAMMMV(%)=",EPAMMMV)

| 15
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#ERROR MMMP
SSt=St(t,muMMMP,sigmaMMMP,S[0])
ECMMMMP=np.sqrt(np.mean((S[1:]-SSt)**2))
EPAMMMMP=100*np.mean(abs(1-SSt/S[1:]))
print("ECMMMMP=",ECMMMMP,"EPAMMMMP(%)=",EPAMMMMP)

#RESULTADOS
ECMMME= 0.952631832932808 EPAMMME(%)= 3.58394389240433
ECMMMV= 1.208891330133252 EPAMMMV(%)= 4.624002426844856
ECMMMMP= 0.4808922892177277 EPAMMMMP(%)= 1.6690106802004774

| 16
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#mu_S(t) de log-Normal
def ELN(t,u,s,s0):
return s0*np.exp(u*t)

#sigma^2_S(t) de log-Normal
def VLN(t,u,s,s0):
return s0**2*np.exp(2*u*t)*(np.exp(s**2*t)-1)

t=np.arange(0,len(S[1:])+1)

| 17
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#IC 95% MME


ELNMME=ELN(t,muMME,sigmaMME,S[0])
SMME=np.sqrt(VLN(t,muMME,sigmaMME,S[0]))

fig,ax=plt.subplots()
ax.plot(t,ELNMME-1.96*SMME,'r',label='IC inf')
ax.plot(t,ELNMME,'g',label='E(S(t))')
ax.plot(t,ELNMME+1.96*SMME,'r',label='IC sup')
ax.plot(t,S,'b',label='S(t)')
ax.set_xlabel('t')
ax.legend()
plt.show()

| 18
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

30 IC inf
E(S(t))
29 IC sup
S(t)
28
27
26
25
24
23

0 5 10 15 20 25
t

| 19
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

Sea I± = µS (t) ± 1.96σS (t), entonces


[I− , I+ ] [I− , I+ ]
24.38 , 24.38 25.2369 , 25.4293
24.4221 , 24.4717 25.3028 , 25.5024
24.4788 , 24.5491 25.3689 , 25.5757
24.538 , 24.6244 25.4353 , 25.649
24.5986 , 24.6986 25.502 , 25.7225
24.6601 , 24.7723 25.5689 , 25.7961
24.7224 , 24.8456 25.6361 , 25.8698
24.7853 , 24.9187 25.7035 , 25.9436
24.8486 , 24.9917 25.7712 , 26.0176
24.9125 , 25.0646 25.8391 , 26.0918
24.9767 , 25.1375 25.9072 , 26.1661
25.0412 , 25.2103 25.9756 , 26.2405
25.1062 , 25.2833 26.0442 , 26.3151
25.1714 , 25.3562 26.1131 , 26.3899

| 20
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#IC 95% MMV


ELNMMV=ELN(t,muMMV,sigmaMMV,S[0])
SMMV=np.sqrt(VLN(t,muMMV,sigmaMMV,S[0]))

fig,ax=plt.subplots()
ax.plot(t,ELNMMV-1.96*SMMV,'r',label='IC inf')
ax.plot(t,ELNMMV,'g',label='E(S(t))')
ax.plot(t,ELNMMV+1.96*SMMV,'r',label='IC sup')
ax.plot(t,S,'b',label='S(t)')
ax.set_xlabel('t')
ax.legend()
plt.show()

| 21
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

30 IC inf
E(S(t))
29 IC sup
S(t)
28
27
26
25
24
23

0 5 10 15 20 25
t

| 22
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

Sea I± = µS (t) ± 1.96σS (t), entonces


[I− , I+ ] [I− , I+ ]
24.38 , 24.38 22.7771 , 27.8891
23.7881 , 25.1057 22.7495 , 28.0557
23.5796 , 25.4482 22.7245 , 28.2201
23.4337 , 25.7287 22.7019 , 28.3824
23.3199 , 25.9773 22.6815 , 28.543
23.2265 , 26.2059 22.663 , 28.7019
23.1476 , 26.4204 22.6464 , 28.8595
23.0795 , 26.6245 22.6314 , 29.0157
23.02 , 26.8203 22.618 , 29.1708
22.9675 , 27.0095 22.6061 , 29.3248
22.9208 , 27.1933 22.5955 , 29.4778
22.879 , 27.3726 22.5861 , 29.63
22.8414 , 27.548 22.578 , 29.7814
22.8076 , 27.72 22.5709 , 29.9321

| 23
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

#IC 95% MMMP


ELNMMMP=ELN(t,muMMMP,sigmaMMMP,S[0])
SMMMP=np.sqrt(VLN(t,muMMMP,sigmaMMMP,S[0]))

fig,ax=plt.subplots()
ax.plot(t,ELNMMMP-1.96*SMMMP,'r',label='IC inf')
ax.plot(t,ELNMMMP,'g',label='E(S(t))')
ax.plot(t,ELNMMMP+1.96*SMMMP,'r',label='IC sup')
ax.plot(t,S,'b',label='S(t)')
ax.set_xlabel('t')
ax.legend()
plt.show()

| 24
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

30 IC inf
E(S(t))
29 IC sup
S(t)
28
27
26
25
24
23

0 5 10 15 20 25
t

| 25
Predicción puntual y por intervalos de confianza
Estimación de parámetros y resultados

Sea I± = µS (t) ± 1.96σS (t), entonces


[I− , I+ ] [I− , I+ ]
24.38 , 24.38 22.7076 , 27.9881
23.7677 , 25.128 22.6777 , 28.1591
23.5514 , 25.4806 22.6506 , 28.3278
23.3995 , 25.769 22.6259 , 28.4944
23.2808 , 26.0246 22.6035 , 28.6592
23.1832 , 26.2595 22.583 , 28.8224
23.1004 , 26.4799 22.5645 , 28.9841
23.0289 , 26.6895 22.5477 , 29.1444
22.9662 , 26.8907 22.5324 , 29.3036
22.9107 , 27.085 22.5187 , 29.4617
22.8611 , 27.2738 22.5064 , 29.6188
22.8167 , 27.4578 22.4953 , 29.775
22.7766 , 27.6379 22.4855 , 29.9303
22.7404 , 27.8145 22.4768 , 30.085

| 26
Referencias bibliográficas

▶ Allen, E. (2007). Modeling with Itô stochastic differential equations,


volume 22. Springer Science & Business Media.
▶ Casas Morente, B. (2019). El modelo estocástico Log-Normal con
parámetros variables. Aplicación a la modelización del subyacente
cotizado Ferrovial. Universitat Politècnica de València.
http://hdl.handle.net/10251/167159
▶ Miñana Sellés, G. (2018). Modelización de activos cotizados mediante
modelos de difusión estocásticos de tipo Itô.
http://hdl.handle.net/10251/101513
▶ Soong, T.T. (1973): Random Differential Equations in Science and
Engineering. Academic Press, New York.

| 27
www.unir.net

También podría gustarte