Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CLUSTER
PROBLEMA DEL
FABRICANTE DE CAMISAS
Un fabricante de camisas quiere elegir unos pocos tamaños y formas para maximizar la
cobertura de la población masculina.
Elegirá tamaños en términos de cuello, tórax y longitud de los brazos.
Formará grupos de clientes.
Fabricará un tamaño de camisa para cada grupo.
x it xi x jt x j
Correlación serial ij t 1
, dij 2 1 ij
n n
x xi x xj
2 2
it jt
t 1 t 1
MÉTODOS DE PARTICIÓN
Separar de forma óptima n objetos en un número arbitrario de k grupos
Fernando Fernández Rodríguez (ULPGC) 7
TABLA EJEMPLO
MATRIZ DE DISTANCIAS
d351,24 min d351,2 , d351,4 min 7, 6 6
dendrogram(Z)
2
1.5
4 5 1 3 2
dendrogram(Z)
1.5
% 17: INDITEX
5 27 15 12 8 23 1 10 3 2 7 19 21 29 30 13 25 4 20 18 22 16 24 28 14 6 11 9 26 17
Fernando Fernández Rodríguez (ULPGC) 15
DIVERSIFICACIÓN
MEDIANTE
DENDOGRAMA (1-CORR)
IBEX 35
load IBEX35_2011_14_ACTIVOS.txt
X=diff(log(IBEX35_2011_14_ACTIVOS));
0.9
Y=pdist(X','correlation');
0.8
Z=linkage(Y);
0.7
dendrogram(Z) 0.6
0.1
% 17: INDITEX
Fernando Fernández Rodríguez (ULPGC) 5 27 15 12 19 22 25 2 20 6 21 8 23 4 1 10 28 11 29 26 9 16 7 14 3 24 13 18 30 17 16
CLUSTER NO JERÁRQUICO O REPARTICIÓN
Base de datos p variables n observaciones
Separar las n observaciones en un número prefijado k de grupos de individuos homogéneos
(similares)
Cluster de k-medias: cada observación pertenece al grupo con la media más cercana.
Para p=2, n puntos , k centros
x , y ,..., x , y , S S ,..., S
1 1 n n 1 k
k
1 ni 1 ni
arg min x, y xi , yi 1 k k i k N
S n, k 1 k
S1 , S2 ,..., Sk i 1 x , y Si ni i 1 ni i 1 k ! i 1 i
Varianza dentro
del cluster
i
N º de dist int as particiones en subconjuntos
T = clusterdata(X,'Maxclust',4);
%1 2 2 43 1 1 1 4 2
scatter3(X(:,1),X(:,2),X(:,3),100,T,'filled')
% Representa las 3 primeras variables
Fernando Fernández Rodríguez (ULPGC) 24
CLASIFICAR LOS LIRIOS DE
FISHER
load fisheriris;
X=meas; 7
6
T = clusterdata(X,'Maxclust',3); 5
scatter3(X(:,1),X(:,2),X(:,3),100,T,'filled') 1
5
8
% Representa las 3 primeras variables 4
7
3 6
5
2 4
find(T==4)
4
% 23 (22/02/2000) 3.5
% 25 (24/02/2000) 3
% 37 (13/03/2000) 2.5
1.5
1
0 50 100 150 200 250
Fernando Fernández Rodríguez (ULPGC) 26
CLASIFICACIÓN DE LOS ACTIVOS DEL
IBEX35 EN 5 CLUSTERS (20011-2014)
load IBEX35_2011_14_ACTIVOS.txt
R_IBEX35=diff(log(IBEX35_2011_14_ACTIVOS));
Clasificación activos del IBEX35 (2011-2014)
T=clusterdata(R_IBEX35' ,'Maxclust',5); 5
4
find(T==1) %= 11 GAMESA
3.5
find(T==3) %=9 FCC
3
find(T==4) %=26 SACYR
2.5
1
0 5 10 15 20 25 30
Fernando Fernández Rodríguez (ULPGC) 27
ANÁLISIS
28
CLUSTER EN LA
FORMACIÓN DE
CARTERAS
GUERRA A LA MULTICOLINEALIDAD
2 N N N
p wi w j ij w w E p E ( R p ) wi E ( Ri )
Max
t
Min
w
i 1 j 1
w
i 1
N N
s.a. p wi w j ij wt w V
N
s.a. E p E ( R p ) wi E ( Ri ) E
2
i 1 i 1 j 1
Único objetivo
w1 .... wN 1 , wi 0 w1 .... wN 1 , wi 0
N
1
wi i w w
t
max
w
i 1 2 w 1
s.a w1 .... wN 1
Fernando Fernández Rodríguez (ULPGC)
29
LA MALDICIÓN DE MARKOWITZ
AL AUMENTAR EL NÚMERO DE ACTIVOS DE UNA
CARTERA LOS AUTOVALORES MÁS PEQUEÑOS DE
TIENDEN A CERO
Problema Media-Varianza
λ : aversión al riesgo
1 t
w w w
t
Min
w 2
t
s.a. 1 w 1
Solución
w
* 1
1
C1 C2
1 (i, j )
iC1
jC2
MARVIN (2015)
Fernando Fernández Rodríguez (ULPGC)
CREATING DIVERSIFIED PORTFOLIOS
USING CLUSTER ANALYSIS. MARVIN
(2015)
Efecto contagio: las correlaciones tienden a 1 en periodos de estrés
Medida alternativa de similaridad basada en el éxito previo de la empresa o su potencial de
crecimiento
Criterio de similitud: promedio ponderado de diferencia entre dos ratios
Ingresos/Patrimonio
Ingresos netos (beneficios)/Patrimonio
DIFERENTES
Cluster t
RETARDOS
SP500 Cluster Cluster
t 1 1 t 1 2 t 2
Kurtosis
Heteocedasticidad
Fernando Fernández Rodríguez (ULPGC)
HECHOS EMPÍRICOS SOBRE LAS
RENTABILIDADES
Las series diarias de rentabilidades, en general, no son IID, aunque su autocorrelación no sea
significativamente distinta de cero.
La volatilidad de las rentabilidades no es constante con el tiempo.
Las distribuciones de las rentabilidades son leptokúrticas (la ocurrencia de eventos extremos, en
las colas, es más probable que en la normal)
Los rendimientos extremos están próximos (clusters de volatilidad)
Las distribuciones tienen sesgo negativo. Los rendimientos negativos extremos son más probables
que los positivos.
Memoria larga: alta autocorrelación entre la volatilidad, el valor absoluto o el cuadrado de las
rentabilidades, para periodos muy separados de tiempo
Ejemplos
t de Student
Pareto-Lévy estables
Mixtura de normales
1 N1 x; 1 , 12 2 N 2 x; 2 , 22
2 2
1 x 1 1 x 2
1 2 1
1 2 2
1 e 2 e ; 1 2 1
2 2
1 2 2
2
c N x; c , c
ri c
c ' N x; c ' , c '
c'
La mixtura implica un cluster
ri 2 ri1 xi c2
Fernando Fernández Rodríguez (ULPGC) 50
M-STEP (MAXIMIZATION)
Partiendo de actualizamos los valores iniciales , ponderando cada observación con
mc
c : fracción de responsabilidad asignada al cluster c
n º clusters
1
c ri c xi : media ponderada de los datos
mc i
1
r x x : varianza ponderada de los datos
T
c ic i c i c
mc i
Fernando Fernández Rodríguez (ULPGC) 51
SIMULACIÓN DE UNA
MIXTURA
p=0.4; m1=-1; s1=sqrt(0.5); m2=2; s2=sqrt(2);
x=[]; Mixtura de normales
0.25 14000
z=rand; 10000
0.15
if z<=0.4 8000
6000
0.1
x(i)=m1+s1*randn; 4000
else 0.05
2000
x(i)=m2+s2*randn; 0
-6 -4 -2 0 2 4 6
0
-5 0 5 10
end
end
X=-5:0.01:6; Y=p*pdf('norm',X,m1,s1)+(1-p)*pdf('norm',X,m2,s2);
Fernando Fernández Rodríguez (ULPGC) 52
plot(X,Y)
ESTIMACIÓN CON MATLAB
GMDISTRIBUTION.FIT
obj = gmdistribution.fit(x',2)
Component 1:
Mixing proportion: 0.4073 (0.4)
Mean: -1.0028 (-1)
Sigma: obj.Sigma 0.4844 (0.5)
Component 2:
Mixing proportion: 0.5927 (0.6)
Mean: 2.0191 (2)
Sigma: obj.Sigma 1.8879 (1.41)
Fernando Fernández Rodríguez (ULPGC) 53
EXCESO DE KURTOSIS DE UNA MIXTURA
ALEXANDER I.3.3.6
Media y varianza de una mixtura de dos normales
1 1 2
1 1 1 1 2
2 2 2 2 2 2
1 2 1 2
Curtosis cuando
4 1 4
3 1 2
2 1 2 2
1 2
Una mixtura de normales tiene una curtosis superior que una densidad normal de la misma
varianza
Fernando Fernández Rodríguez (ULPGC) 54
SESGO Y CURTOSIS DE UNA MIXTURA NORMAL
X=-1:0.01:1; Y=P*PDF('NORM',X,M1,S1)+(1-P)*PDF('NORM',X,M2,S2);
sqrt(252)*std(x) =0.3366
obj = gmdistribution.fit(x,2)
Component 1:
Mixing proportion: 0.520714
Mean: -2.2269e-04, (-5.61% annual)
Sigma:1.3841e-04 (sqrt(1.3841e-04*256)=0.1882 18.82% annual)
Component 2:
Mixing proportion: 0.479286
Mean: 2.8916e-04 (7.29 % annual)
Sigma: 7.8646e-04 (sqrt(7.8646e-04*256)=0.4487 44.87% annual)
Fernando Fernández Rodríguez (ULPGC) 56
MIXTURA DE TRES
NORMALES EN EL BBVA
load BBVA.txt
x=diff(log(BBVA));
obj = gmdistribution.fit(x,3)
install.packages("mclust")
library(mclust)
data(iris)
class <- iris$Species
table(class)
X <- iris[,1:4]
head(X)
mod2 <- MclustDA(X, class, modelType = "EDDA")
summary(mod2)
#summary(mod2,parameters=TRUE) #df: número de parámetros estimados
plot(mod2, what = "scatterplot")
plot(mod2, what = "classification")
G x F1 x; 1 , 12 1 F2 x; 2 , 22
P X x G x F1 x ; 1 , 12 1 F2 x ; 2 , 22
VaR x tal que P X x
1 1
2 2 2
2 2
Re solver la ecuación F x ; , 1 F x ; ,
fun=@(x) 0.27*cdf('norm',x,-0.01,0.3)+(1-0.27)*cdf('norm',x,0.1,0.08)-0.05
1
Er max S K , 0
r T t
dS rSdt SdW , Ct e
Rentabilidad del subyacente sigue una mixtura de normales
f x f x; ,
1
Precio del call en la mixtura: 1
2
1 f x; , 2
1 ponderado de los 2call bajo Black-Scholes
promedio 2 2
Ct Ct 1 Ct f 2
f1 (ULPGC)
Fernando Fernández Rodríguez 61
VALORACIÓN DE
DERIVADOS CON MIXTURA
DE NORMALES
Precio del call en la mixtura: promedio
Fórmula Black-Scholes
Ct Er max S K , 0
max S K , 0 f1 x 1 f 2 x dx
Ct f1 1 Ct f 2
Son modelos de series temporales con transición entre un conjunto finito de estados
Los estados son inobservables (latentes) y hay cambios de estado en el proceso generador de
datos
Tanto el tiempo de transición entre estados como la duración en un estado son aleatorios
Las transiciones siguen un proceso de Markov (no hay memoria)
Podemos estimar unos parámetros que dependen del estados y otros que son independientes de
los estados
VOLATILIDAD r(i)=m1+s1*a;
0.5
e=1;
Mark_Switch_Fernando.m
yt 1 t , t N 0, 1
2
elseif z>0.95 & e==1 0
r(i)=m2+s2*a;
yt 2 t , t N 0,
-0.5
2
Rentabilidad 2
e=2;
elseif z<=0.95 & e==2 -1
0 10 20 30 40 50 60 70 80 90 100
r(i)=m2+s2*a;
2
e=2;
1.9
r(i)=m1+s1*a; 1.7
1.6
e=1; 1.5
p22 0.05 0.95
1.3
estados=[estados e];
p21 end
1.2
1.1
subplot(2,1,2); plot(estados);
Fernando Fernández Rodríguez (ULPGC) 69
REGRESIÓN CON
MÚLTIPLES ESTADOS Matriz de transición
yt 1, St xt 2, St zt t , t N 0, 2
St
St 1,..., k estado en el tiempo t p11 ... p1k
S [1 ,1 ,1] los 3 parámetros cambian de estado
... ... ...
S [1 ,1 , 0] la de la parturbación no cambia p pkk
k 1 ...
S [0 ,1 ,1] 1 no cambia
https://github.com/msperlin/MS_Regress-Matlab
en esta otra si estás registrado en SSRN (revisión 2015) https://papers.ssrn.com/sol3/papers.cfm?
abstract_id=1714016
Fernando Fernández Rodríguez (ULPGC) 73
La última grafica: probabilidad de los distintos estados
, t N 0,
library("MSwM")
telefon=scan("telefonica_2000.txt") yt 1 t 2
1
, t N 0,
rend.telefon=diff(log(telefon))
yt 2 t 2
2
mod=lm(rend.telefon ~ 1)
mod.mswm=msmFit(mod, k=2, sw=c(T,T), p=0)
summary(mod.mswm)
plot(mod.mswm)
par(mar=c(3,3,3,3))
plotProb(mod.mswm, which=1)
plotProb(mod.mswm, which=2)
Fernando Fernández Rodríguez (ULPGC) 75
MARKOV-SWITCHING EN R
MODEL AR(1)
install.packages("MSwM") yt 1 yt 1 t , t N 0, 12
library("MSwM")
telefon=scan("telefonica_2000.txt")
yt 2 yt 1 t , t N 0, 2
2
rend.telefon=diff(log(telefon))
mod<-lm(ftse.ret[2:360] ~ ftse.ret[1:359])
mod.mswm=msmFit(mod, k=2, sw=c(T,T,T), p=1)
summary(mod.mswm)
plot(mod.mswm)
par(mar=c(3,3,3,3))
plotProb(mod.mswm, which=1)
plotProb(mod.mswm, which=2)
Fernando Fernández Rodríguez (ULPGC) 76
APÉNDICE
BUILDING DIVERSIFIED
77 PORTFOLIOS THAT
AUTPERFORM OUT-OF-
SAMPLE
LÓPEZ DE PRADO 2015
Fernando Fernández Rodríguez (ULPGC)
HIERARQUICAL RISK PARITY
CONSTRUCCIÓN DE CARTERAS
JERARQUIZADAS
Para una matriz de correlación todas inversiones son potencialmente sustitutivas unas de otras.
Las matrices de correlación carecen de la noción de jerarquía.
1
i , j X i , X j d X i , X j
2
1 i , j D d i , j
d d n, j
2
di , j d Di , D j
N
n 1 n ,i
Li Li1 Li 2
, Var Li j Vi j wi j TVi j wi j
j j
Vi matriz cov arianzas elementos Li
j 1
diag Vi
w i j
tr diag Vi
1
j
Vi 1
Factor actualizador de pesos i 1 1
Fernando Fernández Rodríguez (ULPGC) Vi Vi 2 84