Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1 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

2 Řešený problém Základní pojmy Algoritmus Výsledky

3 Řešený problém ?

4 Základní pojmy Algoritmus Výsledky

5 Grafické modely nUž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 nIdea: Reprezentovat data pomocí grafu –Vrcholy = proměnné –Chybějící hrana = proměnné jsou podmíněně nezávislé Základní pojmy

6 Definice z teorie grafů nKompletní graf: Graf nebo podgraf je kompletní, pokud je každý jeho vrchol spojen se všemi ostatními vrcholy. nKlika: Klika je množina vrcholů, která indukuje úplný graf, ale která po přidání dalšího vrcholu indukuje graf, který již není kompletní. nMatice sousednosti: Matice sousednosti A G = (a ij ) grafu G = (V,E) je čtvercová matice definovaná: a ij = 1 pokud {v i, v j }  E. a ij = 0 jinak. Základní pojmy

7 Příklad 4 1 2 3 Základní pojmy Kliky = {1,3,4}, {2,3}

8 Výpočet varianční matice Věrohodnostní rovnice pro grafické Gaussovské modely X 1,X 2,...,X N 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.). Základní pojmy

9 Testová statistika vhodnosti grafického modelu nDeviance Testová 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

10 Řešený problém Základní pojmy Algoritmus Výsledky

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

12 Zdrojový kód nNeeds["Statistics`Master`"] nNeeds["Statistics`MultiDescriptiveStatistics`"]; nNeeds["DiscreteMath`Combinatorica`"] Algoritmus

13 Načtení programových balíčků Input dat Algoritmus

14 Programový kód nSoubor *.txt Textový 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ů. nNačítací algoritmus stream = OpenRead["…………/data.txt"]; n = Read[stream,Number]; nazvy = Read[stream, Table[Word, {n + 1}]]; data = ReadList[stream, Table[Number, {n + 1}]]; Close[stream] Algoritmus

15 Načtení programových balíčků Input dat Výpočet log. výnosů Algoritmus

16 Zdrojový kód logvynosy[cena_] := Log[Drop[cena, 1]/Drop[cena, -1]]; data3 = Transpose[Map[logvynosy[#]&, Transpose[data2]]]; Algoritmus

17 Načtení programových balíčků Input dat Výpočet log. výnosů Test předpokladů Algoritmus

18 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

19 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

20 Algoritmus – pokrač. Vynechání jedné hrany Reprezentace grafu pomocí klik Výpočet deviance Maticový algoritmus Algoritmus

21 Maticový algoritmus nProbíhá v cyklu po klikách c nStop pravidlo testuje, zda K c,c = S c,c 1. K 0 = I 2. a = ac 1,...,ac m, b = V \ {a}, n = n´ mod m Algoritmus

22 Generování K n+1 Algoritmus

23 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

24 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

25 Procedura novygraf nIdea Pokud vynecháme jednu hranu z kliky, dostaneme 2 kliky, ve jejichž zápisu chybí vždy jeden vrchol z vynechané hrany nProblé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

26 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

27 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ýpis výsledků Větší Algoritmus

28 Výpis výsledků – vykreslení grafu ShowLabeledGraph[ g = MakeGraph[ Range[kk], (MemberQ[ Position[maticesouslednosti + Transpose[maticesouslednosti], 1], {#1, #2}]) &]]; Algoritmus

29 Řešený problém Základní pojmy Algoritmus Výsledky

30 Zvolené indexy DJIA DJTA DJUA DAX FTSE100 CAC40 Výsledky

31 Testy předpokladů Index Test založený na znamenkách diferencí (p-value) Shapiro-Wilk test (p-value) 1992-19952000-20031992-19952000-2003 DJIA0.80 0,230,49 DJTA0.80 0,280,22 DJUA0.46 0,090,41 DAX0.800.460,480,20 FTSE1000.46 0,540,58 CAC400.460.800,240,13 PX50xxx0.80xxx0,72 Výsledky

32 1992-1995 1 – DJIA 2 – DJTA 3 – DJUA 4 – DAX 5 - FTSE100 6 - CAC40 2 1 3 6 5 4 2000-2003 2 1 3 6 5 4 Výsledky

33 1 – DJIA 2 – DJTA 3 – DJUA 4 – DAX 5 - FTSE100 6 - CAC40 7 - PX50 2000-2003 2 1 3 6 5 4 7 Výsledky

34 Otázky ? ?!?


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google