1 / 34

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

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.

sheba
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Řešený problém Základní pojmy Algoritmus Výsledky

  5. Grafické modely Základní pojmy • 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é

  6. Definice z teorie grafů Základní pojmy • 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 sousednostiAG = (aij) grafuG = (V,E) je čtvercová matice definovaná: aij = 1 pokud{vi, vj} E. aij = 0 jinak.

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

  8. Výpočet varianční matice Základní pojmy Věrohodnostní rovnice pro grafické Gaussovské modely X1,X2,...,XN náhodný výběr z mnohorozměrného normálního rozděleníN(0,K), kde D = K-1 pokud vrcholyiajnejsou spojené v grafu G pokud podmnožinaavrcholůvGtvoří kliku. (Sznamená výběrovou varianční matici.).

  9. Testová statistika vhodnosti grafického modelu Základní pojmy • Deviance Testová statistika pro testování daného grafického modelu proti modelu s úplným grafem. Má 2f rozdělení, kde f je počet chybějících hran

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

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

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

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

  14. Programový kód Algoritmus • Soubor *.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ů. • Načí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]

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

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

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

  18. Zdrojový kód Algoritmus 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}];

  19. 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)

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

  21. Maticový algoritmus Algoritmus • Probíhá v cyklu po klikáchc • Stop pravidlo testuje, zda Kc,c= Sc,c • K0 = I a = ac1,...,acm, b = V \ {a}, n = n´ mod m

  22. GenerováníKn+1 Algoritmus

  23. Zdrojový kód Algoritmus 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;

  24. Nalezení minima Porovnání minima s krit. hodnotou Algoritmus – pokrač. Algoritmus Vynechání jedné hrany Reprezentace grafu pomocí klik Výpočet deviance Maticovýalgoritmus Procedura novygraf Menší Vynechání hrany s min. deviancí

  25. Procedura novygraf Algoritmus • Idea Pokud 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} 3 4 3 4 1 1 2 2

  26. Zdrojový kód Algoritmus 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]]];

  27. Nalezení minima Porovnání minima s krit. hodnotou Větší Výpisvýsledků Algoritmus – pokrač. Algoritmus Vynechání jedné hrany Reprezentace grafu pomocí klik Výpočet deviance Maticovýalgoritmus Procedura novygraf Menší Vynechání hrany s min. deviancí

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

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

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

  31. Testy předpokladů Výsledky

  32. Výsledky Výsledky 2 1 2 1 6 3 6 3 4 4 5 5 1992-1995 2000-2003

  33. Výsledky Výsledky 7 2 1 6 3 4 5 2000-2003

  34. Otázky ?!? ?

More Related