Souvislost amerického a evropských akciových trhů Za pomoci grafických modelů v SW...

Post on 19-Mar-2016

23 views 0 download

description

Souvislost amerického a evropských akciových trhů Za pomoci grafických modelů v SW Mathematica. Vladislav Chýna Setkání uživatelů systému Mathematica 14.9.2004. Řešený problém. Základní pojmy. Algoritmus. Výsledky. Řešený problém. ?. Řešený problém. Základní pojmy. - PowerPoint PPT Presentation

transcript

Souvislost amerického a evropských akciových trhů

Za pomoci grafických modelů v SW Mathematica

Vladislav Chýna

Setkání uživatelů systému Mathematica 14.9.2004

Řešený problém

Základní pojmy

Algoritmus

Výsledky

Řešený problém

?

Řešený problém

Základní pojmy

Algoritmus

Výsledky

Grafické modely

Užitečný nástroj statistické analýzy– Umožňuje zkoumat struktury podmíněných nezávislostí v

souborech proměnných– V poslední době aplikovány rovněž ve financích

Idea: Reprezentovat data pomocí grafu – Vrcholy = proměnné– Chybějící hrana = proměnné jsou podmíněně nezávislé

Základní pojmy

Definice z teorie grafů

Kompletní graf:Graf nebo podgraf je kompletní, pokud je každý jeho vrchol spojen se všemi ostatními vrcholy.

Klika:Klika je množina vrcholů, která indukuje úplný graf, ale která po přidání dalšího vrcholu indukuje graf, který již není kompletní.

Matice sousednosti:Matice sousednosti AG = (aij) grafu G = (V,E) je čtvercová matice definovaná:aij = 1 pokud {vi , vj} E.

aij = 0 jinak.

Základní pojmy

Příklad

4

1 2

3 0 0 1 10 0 1 01 1 0 11 0 1 0

GA

Základní pojmy

Kliky = {1,3,4}, {2,3}

Výpočet varianční matice

Věrohodnostní rovnice pro grafické Gaussovské modelyX1,X2,...,XN náhodný výběr z mnohorozměrného normálního rozdělení N(0,K), kde D = K-1

pokud vrcholy i a j nejsou spojené v grafu G

pokud podmnožina a vrcholů v G tvoří kliku. (S znamená výběrovou varianční matici.).

0ˆ ijd

ˆaa aaK S

Základní pojmy

Testová statistika vhodnosti grafického modelu

DevianceTestová statistika pro testování daného grafického modelu proti modelu s úplným grafem. Má 2

f rozdělení, kde f je počet chybějících hran

Základní pojmy

Řešený problém

Základní pojmy

Algoritmus

Výsledky

Algoritmus

Načtení programových balíčků

Algoritmus

Zdrojový kód

Needs["Statistics`Master`"] Needs["Statistics`MultiDescriptiveStatistics`"]; Needs["DiscreteMath`Combinatorica`"]

Algoritmus

Algoritmus

Načtení programových balíčků

Input dat

Algoritmus

Programový kód

Soubor *.txtTextový soubor oddělený tabulátory, v prvním řádku musí být uveden počet indexů, v druhém řádku jejich názvy (+ jako první je uveden popisek mesic). Data jsou dále uspořádána do sloupců, z nichž první obsahuje pořadové číslo měsíce (tj. 1,2,...) a další pak kurzy konkrétních indexů.

Načítací algoritmusstream = OpenRead["…………/data.txt"];n = Read[stream,Number];nazvy = Read[stream, Table[Word, {n + 1}]];data = ReadList[stream, Table[Number, {n + 1}]];Close[stream]

Algoritmus

Algoritmus

Načtení programových balíčků

Input dat

Výpočet log. výnosů

Algoritmus

Zdrojový kód

logvynosy[cena_] := Log[Drop[cena, 1]/Drop[cena, -1]];data3 = Transpose[Map[logvynosy[#]&, Transpose[data2]]];

1

tt

t

PrP

Algoritmus

Algoritmus

Načtení programových balíčků

Input dat

Výpočet log. výnosů

Test předpokladů

Algoritmus

Zdrojový kód

pvaluenormal[hodnota_] := (1-CDF[NormalDistribution[0,1],hodnota])*2;

pvn = pvaluenormal;testznamenekdiferenci[list_] :=

Module[{d, k, n}, d = DeleteCases[(Drop[list, 1] - Drop[list, -1]) // N, 0.]; k = Length[Select[d, (# > 0) &]]; n = Length[d] + 1; Abs[k - (n - 1)/2]/Sqrt[(n + 1)/12]];

tzd = testznamenekdiferenci;pvaluetestu = Map[pvn[tzd[#]] &, Transpose[data3]];vysledkytestu = Transpose[{Drop[nazvy, 1], pvaluetestu // N}];

Algoritmus

Algoritmus

Načtení programových balíčků

Input dat

Výpočet log. výnosů

Test předpokladů

Začátek iterativní procedury

(s kompletním grafem)

Algoritmus

Algoritmus – pokrač.

Vynechání jedné hrany

Reprezentace grafu pomocí klik

Výpočet deviance

Maticovýalgoritmus

Algoritmus

Maticový algoritmus

Probíhá v cyklu po klikách c Stop pravidlo testuje, zda Kc,c = Sc,c

1. K0 = I

2.

a = ac1,...,acm, b = V \ {a}, n = n´ mod m

nba

naaaa

naa

nab

nbbaa

naa

nab

nba

naaaaaan

RRBIRRRBRR

RRBBK

,1

,,1

,,,,1

,,

,1

,,,1

KR

aaaa SB ,,

Algoritmus

Generování Kn+1

nba

naaaa

naa

nab

nbbaa

naa

nab

nba

naaaaaan

KKSIKKKSKK

KKSSK

,1

,,1

,,,,1

,,

,1

,,,1

Algoritmus

Zdrojový kód

a = clique[[Mod[iter, Length[clique]] + 1]];iter = iter + 1; b = Complement[Range[kk], a]; knova[[a, a]] = s[[a, a]];knova[[a, b]] = s[[a, a]].Inverse[kstara[[a, a]]].

kstara[[a, b]];knova[[b, a]] = kstara[[b, a]].Inverse[

kstara[[a, a]]].s[[a, a]];knova[[b, b]] = kstara[[b, b]] - kstara[[b, a]].

Inverse[kstara[[a,a]]]. (IdentityMatrix[Length[a]] - s[[a,a]]. Inverse[kstara[[a, a]]]).s[[a, b]];kstara = knova;

Algoritmus

Algoritmus – pokrač.

Nalezení minima

Porovnání minima s

krit. hodnotou

Vynechání jedné hrany

Reprezentace grafu pomocí klik

Výpočet deviance

Maticovýalgoritmus

Menší

Vynechání hrany s min. deviancí

Procedura novygraf

Algoritmus

Procedura novygraf

IdeaPokud vynecháme jednu hranu z kliky, dostaneme 2 kliky, ve jejichž zápisu chybí vždy jeden vrchol z vynechané hrany

Problém– Graf má 2 nebo více klik– Kliky nemají prázdný průnik

{1,2,3} {2,3}, {1,3} {1,3,4} {1,3,4} {1,3,4}

4

1 2

3 4

1 2

3

Algoritmus

Zdrojový kód

podmnozina[mnozina_, prvek_] := Module[{vp}, vp = Map[( Intersection[prvek, #]) &, mnozina]; MemberQ[vp, prvek]];neobsazena[m1_, m2_] := Complement[m2, Select[m2, (submnozina[m1, #])

&]];novygraf[graf_, hrana_] := Module[{klikys, klikybez, bez1, bez2,

bezduplicit}, klikys = Select[graf, MemberQ[#, hrana[[1]]] && MemberQ[#, hrana[[2]]] &]; klikybez = Complement[graf, klikys]; bez1 = DeleteCases[klikys, edge[[1]], 2]; bez2 = DeleteCases[klikys, edge[[2]], 2]; bezduplicit = neobsazena[klikybez, Union[bez1, bez2]]; Union[klikybez, bezduplicit]];clique = {Range[kk]};vektorvynechhran = Select[Position[maticesousednosti, 0], (#[[1]] >

#[[2]]) &];Map[(clique = novygraf[clique, vektorvynechhran [[#]]]) &, Range[Length[vektorvynechhran]]];

Algoritmus

Algoritmus – pokrač.

Nalezení minima

Porovnání minima s

krit. hodnotou

Vynechání jedné hrany

Reprezentace grafu pomocí klik

Výpočet deviance

Maticovýalgoritmus

Menší

Vynechání hrany s min. deviancí

Procedura novygraf

Výpisvýsledků

Větší

Algoritmus

Výpis výsledků – vykreslení grafu

ShowLabeledGraph[ g = MakeGraph[ Range[kk], (MemberQ[ Position[maticesouslednosti +

Transpose[maticesouslednosti], 1], {#1, #2}]) &]];

Algoritmus

Řešený problém

Základní pojmy

Algoritmus

Výsledky

Zvolené indexy

DJIA

DJTA

DJUA

DAX

FTSE100

CAC40

Výsledky

Testy předpokladů

Index Test založený na

znamenkách diferencí (p-value)

Shapiro-Wilk test

(p-value) 1992-1995 2000-2003 1992-1995 2000-2003

DJIA 0.80 0.80 0,23 0,49

DJTA 0.80 0.80 0,28 0,22

DJUA 0.46 0.46 0,09 0,41

DAX 0.80 0.46 0,48 0,20

FTSE100 0.46 0.46 0,54 0,58

CAC40 0.46 0.80 0,24 0,13

PX50 xxx 0.80 xxx 0,72

Výsledky

Výsledky

1992-1995

1 – DJIA

2 – DJTA

3 – DJUA

4 – DAX

5 - FTSE100

6 - CAC40

2 1

3 6

54

2000-2003

2 1

3 6

54

Výsledky

Výsledky

1 – DJIA

2 – DJTA

3 – DJUA

4 – DAX

5 - FTSE100

6 - CAC40

7 - PX502000-2003

2 1

3 6

54

7

Výsledky

Otázky

??!?