% -*- coding: utf8 -*-

%
% PROJEKT:		Master Thesis - Text
% AUTOR:		Martin Haviar
% SOUBOR:		text.tex
% VYTVOŘENO:	01.04.2014
% 
% Automake :
% find . -name '*.tex' | entr make

%=======================================================
\chapternonum{Úvod}
\label{chap:uvod}

% investovanie a prerozdelovanie
Už staré Babylonské učenie hovorí, že človek by mal svoj majetok rozdeliť na~tri časti - tretinu vložiť do pozemkov, tretinu do obchodu a tretinu si nechať poruke.\footnote{The Babylonian Talmud - Baba Metzi'a 42a} Podstata tejto múdrosti platí dodnes a dalo by sa povedať, že je nadčasová. Viacerí filozofi odvtedy potvrdili toto jednoduché pravidlo, avšak dlho neprichádzal výraznejší pokrok v~tejto oblasti. 

Prelom nastal až v~roku 1952, keď bola uverejnená práca Harryho Markowitza s~názvom \textit{Selekcia portfólia}. Predstavuje v~nej matematickú formuláciu metódy \textit{diverzifikácie}, teda spôsobu, akým je možné optimálne rozdeliť majetok do viacerých investícií s~ohľadom na~riziko a výnosy. Táto práca položila základy teórie neskôr známej ako \textit{Moderná teória portfólia}, za ktorú bola autorovi v~roku 1990 spolu s~Mertonom Millerom a Williamom Sharpom udelená Nobelova cena za ekonómiu. 

S odstupom času sa ukázalo, že Markowitzov model obsahuje viaceré predpoklady, ktoré často v~reálnom svete nemusia platiť a aplikácia teórie nie vždy poskytuje optimálne výsledky. Zjednodušenia, ktoré použil boli, ako autor sám potvrdil, spôsobené výpočtovými komplikáciami v~danej dobe.

V súčasnosti väčšina finančných inštitúcií využíva rozšírenie Markowitzovej teórie pod názvom \textit{Postmoderná teória portfólia}, ktorá im umožňuje naplno využiť výpočtovú silu súčasných informačných technológií v~kombinácii s~pokročilými štatistickými modelmi a optimalizátormi.

Úlohou optimalizátora je pritom nájsť vhodnú kombináciu investícií, s~ohľadom na~očakávané výnosy, riziko a ďaľšie preferencie investora. Ide o náročnú úlohu, pretože s~rastúcim počtom možných investícií exponenciálne narastá aj možnosť riešení a veľa bežných postupov zlyháva už napríklad pri desiatich komponentoch. 

Zaujímavou kategóriou optimalizátorov sú takzvané \textit{metaheuristiky}, ktoré sa pri riešení úloh zvyknú inšpirovať prírodnými javmi. Často tak dokážú nájsť odpoveď na~problémy, ktorých presné riešenie je z výpočtového dľadiska nedosiahnuteľné. Príkladmi sú optimalizácia mravčou kolóniou, simulované žíhanie, či optimalizácia časticovým rojom. 

Práve posledná spomenutá optimalizácia bude v~tejto práci použitá na~riešenie zložitého problému - optimalizáciu investičného portfólia postaveného na~Postmodernej teórii portfólia.


 % vybrať komponenty investície takým spôsobom, aby bolo riziko s ňou spojené menšie, ako riziko čiastkových investícií dokopy.

% metody doteraz
% motivacia
% moje metody
% ciel, vysledok, prinos, 

%=======================================================
\chapter{Ciele práce, metódy a postupy}

% Navrhnutie a implementácia investičného modelu, ktorý na optimalizáciu portfólia využíva metaheuristiky. Testovanie modelu na historických dátach a optimalizácia parametrov s cieľom maximalizácie zisku a stability. Porovnanie úspešnosti metaheuristík a výkonnosti portfólia so zvoleným benchmarkom.

Cieľom práce bude navrhnutie a implementácia investičného modelu, ktorý na optimalizáciu portfólia využíva metaheuristiku. Ide teda o spojenie dvoch teoretických oblastí, výsledkom čoho bude softvérová aplikácia schopná optimailzácie portfólia. 

Teoretická časť práce obsahuje extrakt teoretických základov, potrebných k porozumeniu kľúčových bodov práce. Ide len o výber nevyhnutných poznatkov, pričom čitateľovi je v prípade záujmu odporúčaný rozsiahly prehľad literatúry na konci práce. 

V prvej časti práce bude obsiahnutá rešerš, v ktorej budú popísané doterajšie metódy a postupy z teórie optimalizácie portfólia.
Druhá časť teoretickej kapitoly je venovaná problematike optimalizácie. Priblížené budú metódy ktoré používajú na optimalizáciu metaheuristiky a podrobne bude popísaná metóda PSO, na ktorej je model práce založený.

Poznatky teoretickej časti prejdú v ďaľšej kapitole syntézou, výsledkom čoho bude navrhnutá softvérová aplikácia na optimalizáciu investičného portfólia. Praktická časť práce obsahuje popis kľúčových častí architektúry modelu a spôsob ich implementácie v jazyku Python.

Model bude otestovaný na historických dátach v porovnaní s rôznymi benchmarkami a jeho parametre budú optimalizované s cieľom maximalizácie zisku a stability. Na testovanie jeho úspešnosti v extrémnych situáciách bude model vystavený globálnej finančnej kríze v rokoch 2008-2009. V závere bude zhodnotená úspešnosť modelu a prínosy práce.

%=======================================================
\chapter{Teoretické východiská práce}
\label{chap:teoria} 

V tejto kapitole budú popísané teoretické základy, na ktorých je práca založená. Budú v nej definované dôležité termíny, modely a postupy v takom rozsahu, aby čitateľ porozumel hlavným myšlienkam tejto práce.

Prvá časť sa zaoberá obecným popisom investičného portfólia, kde sú obsiahnuté fundamentálne znalosti a termíny z oblasti investovania. Za ňou nasleduje popis Modernej teórie portfólia, a jej nástupkyňu, na základe ktorej je vytvorený investičný model tejto práce. V poslednej časti je pozornosť venovaná optimalizačným metódam, ktoré využívajú metaheuristiky.
 

    \section{Investičné portfólio a jeho optimalizácia}

    	\subsection{Základné pojmy}

			\subsubsection{Portfólio}    	
		    Tento výraz je obecne chápaný ako zoskupenie finančných aktív, tvorených akciami, dlhopismi, derivátmi, peniazmi, peňažnými ekvivalentami, či inými druhmi cenných papierov, ktoré sú súhrnne označované ako triedy aktív.\cite{investopedia:portfolio}

			\subsubsection{Základné pojmy modelovania a simulácií}
			\textit{Systém} môžeme obecne definovať ako súbor elementárnych častí (prvkov systému), ktoré majú medzi sebou určité väzby.
			
			\textit{Model} je napodobenina systému iným systémom, pričom často ide o počítačový program. Modelovanie je proces vytvárania modelu na základe znalostí.
			
			\textit{Simulácia} je metóda získavania nových znalostí o systéme experimentovaním s jeho modelom.\cite{peringer2008modelovani}

            \subsubsection{Výnos}
            Portfóliá a finančné dáta vo všeobecnosti sú obyčajne analyzované podľa výnosov. Výnos je rozdiel medzi dvoma bezprostredne nasledujúcimi cenovými hodnotami aktíva, normalizovaný podľa skoršej hodnoty.\cite{aldridge2013high} Keďže sú výnosy po normalizácii nezávislé od cenovej hladiny, je výhodné ich použiť na priame porovnanie výkonnosti medzi viacerými finančnými inštrumentami. Mieru výnosu $R_t$ vypočítame podľa vzťahu \ref{eq:return}, pričom $R_t$ je výnos pre časovú periódu $t$, $P_t$ je cena finančného inštrumentu v čase $t$ a $P_{t-1}$ je cena inštrumentu v čase $t-1$.

            \begin{equation}
                \label{eq:return}
                R_t={P_t - P_{t-1} \over P_{t-1}} = {P_t \over P_{t-1}} - 1
            \end{equation}
                        
        
        \subsection{Selekcia portfólia}
        Proces výberu zložiek portfólia sa nazýva selekcia (resp. výber portfólia). Proces selekcie možno rozdeliť na dve fázy. V prvej prebieha sledovanie a analýza cenných papierov výsledkom čoho je presvedčenie o budúcom vývoji cenných papierov. V druhej fáze sa na základe týchto presvedčení vykoná samotná selekcia komponentov portfólia. \cite{markowitz1952portfolio} Podrobnejšie sa selekcii portfólia venujú kapitoly \ref{subsec:mpt} a \ref{subsec:pmpt}.

        \subsection{Strategická alokácia aktív}
        Keď je už zrejmé, o aké cenné papiere má investor záujem, je potrebné pristúpiť k nákupu, najčastejšie prostredníctvom brokera, ktorý vlastní licenciu obchodníka s cennými papiermi.

        % Proces rozdelenia investičného kapitálu medzi jednotlivé aktíva sa nazýva alokácia aktív. Je ovplyvňovaná rizikovou toleranciou investora, jeho cieľami a časovým rámcom investície.

        Pri nákupe je dôležité zvoliť stratégiu, podľa ktorej sa bude postupovať. Phillips a Lee v \cite{phillips1989differentiating} definujú strategickú alokáciu aktív ako proporčné rozdelenie aktív do jednotlivých tried aktív s ohľadom na dosiahnutie dlhodobých finančných cieľov organizácie. 

        Predpokladá sa, že investor nie je schopný predikovať zvraty na trhu a preto redukuje riziko použitím dlhodobých odhadov rizika a výnosu aktív pre celé cykly trhu, čím sa výkyvy spriemerujú. 
        Investor redukuje riziko diverzifikáciou medzi aktíva, ktoré nie sú dokonale korelované. (viď \ref{subsec:correlation})

        Autori rozlišujú dve základné stratégie vstupu do trhu.

            \subsubsection{Taktická alokácia aktív}
            Stratégia využíva na rozhodovanie vstupu na trh súčasnú hodnotu aktív. Takto vzniknuté rozhodnutia majú za následok vznik krátkodobých investičných stratégií, ktoré vytvárajú výnosy na báze cyklických vlasností trhu. Má sa za to, že investor je schopný využiť tieto vlastnosti, avšak súčasne platí tvrdenie strategickej alokácie aktív, že vzťahy medzi ohodnotenými aktívami sú z dlhodobého hľadiska stále. To znamená, že výnosy na trhu môžu byť kedykoľvej nad alebo pod normálom, ale po čase sa zvyknú vrátiť do normálu.
            Taktická alokácia aktív sa nesnaží o predikciu pohybov na trhu, či odhad podpory a rezistencie\footnote{Body grafu, cez ktoré sa cena aktíva za určité obdobie nedostane, pomyselné dno resp. strop ceny.}. Jediný nástroj s ktorým narába je riziko v porovnaní s výnosom na základe historického vývoja.\cite{phillips1989differentiating}

            Podľa štúdie \cite{brinson1986determinants} až 90\% celkových výnosov portfólií je tvorené alokáciou kapitálu medzi rôznymi triedami aktív. 

            \subsubsection{Časovanie trhu}
            Investori využívajúci túto stratégiu sa snažia o predikciu trhu, jeho vrcholov, korekcií a zvratov, pričom využívajú rôzne kvantitatívne modely s indikátormi, oscilátory alebo vlastný úsudok. Hlavným cieľom je prekonanie výnosov trhu a hlavnou otázkou, ktorú táto stratégia rieši, je či je vhodné v danom momente byť na trhu alebo nie (teda vlastniť dané aktívum alebo dané obdobie prečkať s peňažnými ekvivalentami resp. dlhopismi).
            Stratégia časovania trhu nemá obmedzenia taktickej alokácie aktív a investor sa nezaoberá rizikom z pohľadu celého portfólia. Riziko pre neho predstavuje vlastniť nesprávne aktívum v nesprávnom čase, pričom často vlastní len aktíva jednej triedy (napr. akcie jedného odvetvia alebo štátu, či menové páry).

            

        
        \subsection{Riziko a jeho meranie}
        Riziko predstavuje neoddeliteľnú súčasť investovania. Do investovania vstupuje vo viacerých podobách, avšak obyčajne je vnímané ako neistota výnosu a možnosť finančnej straty.\cite{mcneil2010quantitative}\cite{horcher2011essentials}
        
        \textit{The Basel Committee on Banking Supervision}\footnote{Viac informácií o spoločnosti je možné nájsť na http://www.bis.org/bcbs/}, autorita na rizikový manažment pre finančné služby, identifikuje nasledujúce typy rizika ovplyvňujúce cenné papiere:

        \begin{itemize}
            \item  Trhové riziko - spôsobené pohybom cien cenných papierov
            \item  Riziko kredibility protistrany - spojené so schopnosťou protistrany plniť svoje záväzky
            \item  Riziko likvidity - schopnosť zrušiť držané pozície 
            \item  Operačné rizko - riziko strát zahrnuté v každodennom obchodovaní
            \item  Legálne riziko - riziko súdnych výdajov
        \end{itemize}

        Podľa \cite{horcher2011essentials} sú hlavné zložky trhového rizika riziko kurzu cudzích mien, riziko úrokovej miery, riziko ceny komodít a aktív.        

        Pokiaľ je riziko kvantifikovateľné, metodológia jeho merania závisí na type rizika ktoré uvažujeme. Všetky súčasné postupy na meranie rizika spadajú podľa \cite{aldridge2013high} do štyroch kategórií:

        \begin{itemize}
            \item  Štatistické modely
            \item  Skalárne modely
            \item  Analýzy scenárov
            \item  Kauzálne modelovanie            
        \end{itemize}

        Štatistické modely generujú predikcie o najhorších možných podmienkach na základe údajov z minulosti. Najčastejšie sa používa metodológia hodnota v riziku (Value-at-Risk, VaR), bližšie popísaná v \ref{subsubsec:var}.

        Skalárne modely určujú maximálnu očakávanú stratu ako percentuálne vyjadrenie určitého obchodného parametru, napríklad výnosov, operačných nákladov a podobne. Skalárne modely sa často používajú na odhad operačného rizika.

        Analýzy scenárov určujú základné, najlepšie a najhoršie prípady pre kľúčové rizikové indikátory. Táto metóda je často označovaná ako ``stress test''.

        Kauzálne modelovanie zahŕňa identifikáciu príčin a efektov potenciálnych strát. Model s dynamickou simuláciou pri tom využíva expertný systém.  

        Oblasť rizika, ktoré sa snažíme minimalizovať optimalizáciou portfólia je primárne trhové riziko. Nasledujú rôzne metódy merania rizika.

            \subsubsection{Volatilita}            
            Volatilita je štatistická miera rozptylu výnosov aktíva od ich priemeru. Zároveň sa často používa ako miera rizika vo finančnom svete a označuje sa $\sigma$, zo štatistiky známa ako štandardná odchýlka. Vyššia hodnota $\sigma$ znamená vyšie riziko, pričom so zmenou času nerastie lineárne, ale s druhou odmocninou času. Preto napr. ak je denná volatilita $\sigma = 0.01$, ročná volatilita $\sigma_r = 0.01$ bude 

            \begin{equation}                
                \sigma_{r} = {0.01 \over \sqrt{\tfrac{1}{252}}} = 0.01 \sqrt{252} = 0.1587,
            \end{equation}  
            pretože sa predpokladá 252 obchodocateľných dní v roku.

            VIX je obchodovateľný symbol Chicagskej burzy cenných papierov a zároveň populárnym ukazovateľom volatility resp. ``strachu'' na burze. Jeho hodnota je počítaná na základe volatility indexu S\&P 500 v horizonte 30 dní (obr. \ref{fig:vix} ukazuje jeho rast počas paniky v roku 2008).  

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.8\textwidth]{vix.pdf} 
            \end{center}
            \vspace{-5 mm}\caption{VIX vs. S\&P 500 počas krízy v 2008}            
            \label{fig:vix}
            \end{figure}


            \subsubsection{Hodnota v riziku (Value at Risk)}  
            \label{subsubsec:var}
            Ide o koncept, ktorý v súčasnosti dominuje ako metrika odhadu trhového rizika.\cite{aldridge2013high}
            Podľa definície je to ukazovateľ, ktorý udáva odhad najvyššieho poklesu hodnoty aktíva alebo portfólia aktív (teda najvyššej ``straty'') v danom časovom horizonte, ktorá nebude presiahnutá s určitou mierou spoľahlivosti.\cite{jorion2006value}
            Miera spoľahlivosti scenára je určená ako percentil rozdelenia historických výnosov aktíva alebo celého portfólia.
            Formálne možno hodnotu v riziku $VaR_\alpha$ vyjadriť podľa vzťahu \ref{eq:var}, pričom distribučná funkcia straty je $F_L(l)=P(L \leq l)$. Pri miere spoľahlivosti $\alpha \in (0,1)$ je $VaR_\alpha$ najmenším číslom pre ktoré platí, že pravdepodobnosť, že $L$ prekročí $l$ je menšia ako $1-\alpha$. \cite{frey2002var}
            Graficky znázorňuje VaR obr. \ref{fig:var}.
            
            \begin{equation}
                \label{eq:var}
                VaR_\alpha = inf\{ l \in R,P(L>l)  \leq 1-\alpha\} 
            \end{equation}

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.7\textwidth]{./images/var.jpg} 
            \end{center}
            \vspace{-5 mm}\caption{Hodnota v riziku pre 99\% VaR ($\alpha = 1\%$) a 95\% Var ($\alpha = 5\%$)   (Zdroj: \cite{aldridge2013high})}            
            \label{fig:var}
            \end{figure}

            Voľne povedané ide o pravdepodobnosť, že strata presiahne danú hodnotu. Nevypovedá nič o tom, aké straty môžu nastať za hranicou $VaR$.

            % expected shortfall ES = ETS extreme tail loss (očakávaná strata)

            \subsubsection{Diverzifikácia}
            Diverzifikácia je vo finančníctve spôsob akým možno zredukovať riziko rozložením investície do viacerých aktív. Druh rizika, ktoré možno znížiť diverzifikáciou, sa nazýva \textit{nesystematické}, alebo \textit{idiosynkratické riziko}. Ak nie sú pohyby cien v dokonalej harmónii, diverzifikované portfólio bude mať menšie riziko ako vážený priemer rizík jeho komponentov a tiež menšie riziko ako najmenej rizikové aktívum portfólia.\cite{sullivan2003economics}            

        
        \subsection{Korelácia a korelačný koeficient}
        \label{subsec:correlation}
        Vo finančníctve je časté, že sa viaceré aktíva analyzujú naraz. Tento prístup je podstatný pre to, aby sme pochopili, ako sa aktíva pohybujú navzájom. 
        Korelácia v štatistike predstavuje akúkoľvek štatistickú závislosť dvoch premenných alebo množín. Na vyjadrenie miery korelácie sa v štatistike používajú korelačné koeficienty.

        Pearsonov korelačný koeficient $\rho_{X,Y}$ (Pearson product-moment correlation coefficient, PPMCC) vyjadruje mieru lineárnej závislosti medzi premennými $X$ a $Y$ s očakávanými hodnotami $\mu_X$ a $\mu_Y$ a štandardnými odchýlkami $\sigma_X$ a $\sigma_Y$.\cite{pearson1895note} 
        
        \begin{equation}
            \rho_{X,Y}={\mathrm{cov}(X,Y) \over \sigma_X \sigma_Y} ={E[(X-\mu_X)(Y-\mu_Y)] \over \sigma_X\sigma_Y}
        \end{equation}

        Koeficient nadobúda hodnoty $[-1,1]$, pričom 
        \begin{itemize}          
            \item 1 je dokonalá pozitívna lineárna korelácia (priama úmera),
            \item 0 znamená žiadnu koreláciu (teda premenné nie sú vzájomne závyslé) a
            \item -1 je dokonalá negatívna lineárna korelácia (nepriama úmera).
        \end{itemize}         

        \begin{figure}[h]
        \begin{center}
        \includegraphics[width=\textwidth]{./images/2000px-Correlation_examples2.png} 
        \end{center}
        \vspace{-5 mm}\caption{Príklady hodnôt korelačného koeficientu pre množiny bodov (x,y) (Zdroj: \cite{wiki:pearson})}
        \end{figure}

        \subsection{Predpovedanie a meranie výkonnosti}
        % todo viac o merani vykonnosti, benchmark

        Táto časť optimalizácie portfólia obsahuje modelovanie a predikciu vlasností aktív. Obyčajne to zahŕňa odhad budúcej distribúcie výnosov a kvantifikáciu rizík, pričom výkonnosť portfólia je vyjadrená reálnym číslom na základe rôznych výkonnostných faktorov. 
        Častou hypotézou je, že všetky dostupné informácie a očakávania ohľadom budúcich cien aktív sú zahrnuté v súčasenj (a historickej) cene, a teda budúce výnosy môžu byť brané ako náhodné veličiny.\cite{maringer2006portfolio} 
        Aj keď nie je možné presne predpovedať hodnoty výnosov, investor môže očakávať určité štatistické vlastnosti, napr. budúcu distribúciu výnosov.
        Normálne rozdelenie sa kontroverzne stalo najpopulárnejším rozdelením na modelovanie výnosov. Rôzne empirické dôkazy však naznačujú, že rozdelenie výnosov trhov je leptokurtické\footnote{Rozdelenia, ktoré majú vyššiu pravdepodobnosť extrémnych hodnôt ako normálne rozdelenie - tzv. tučné konce} (obr. \ref{fig:lepto}) a asymetrické.\cite{mills1995modelling}\cite{peiro1999skewness}\cite{chiang2010stock}.
        Napriek tomu však veľa súčasných publikácií stále používa normálne rozdelenie. Dôvodom je okrem iného jeho použitie v originálnom Markowitzovom  modeli rozptylu a kovariancie, ktorý bude stručne popísaný v kap. \ref{subsec:mpt}. 

        \begin{figure}[h]        
        \begin{center}
        \includegraphics[width=0.6\textwidth]{./images/lepto.jpg} 
        \end{center}
        \vspace{-5 mm}\caption{Porovnanie leptokurtického a normálneho rozdelenia (Zdroj: \cite{leptoimg})}
        \label{fig:lepto}
        \end{figure}

            % normalne rozdelenie
            \subsubsection{Normálne rozdelenie}
            Ide o často používané rozdelenie na modelovanie finančných výnosov. Gaussove rozdelenie, čo je tiež jeho častý názov, je symetrické rozdelenie s dvoma parametrami, priemerom $\mu$ a rozptylom $\sigma$. 

            \begin{equation}
                f(x, \mu, \sigma) = \frac{1}{\sigma \sqrt{2\pi} } e^{ -\frac{(x-\mu)^2}{2\sigma^2} } 
                \label{eq:normal}
            \end{equation}

            Normálne rozdelenie je veľmi nápomocné kvôli \textit{centrálnej limitnej vete}, ktorá hovorí, že za určitých podmienok, priemer veľkého počtu náhodných premenných nezávisle získaných z rovnakej distribúcie je rozložený približne normálne, bez ohľadu na tvar zdrojovej distribúcie - inak povedané súčty výsledkov veľkého množstva nezávislých procesov majú rozdelenie veľmi blízko normálnemu. \cite{lyon2013normal}
            Z tohtoho dôvodu sa normálne rozdelenie často používa na odhad distribúcie javov, ktorých presné rozdelenie nie je známe a normálne rozdelenie ich dobre aproximuje.   

            % lognorm
            \subsubsection{Logaritmicko-normálne rozdelenie}
            Ide o ďaľšie spojité rozdelenie pravdepodobnosti, ktorého logaritmus má normálne rozdelenie. Jeho distribučná funkcia je
            \label{subsubsec:lognorm}
            \begin{equation}
                f(x, \mu, \sigma) = \frac{1}{x\sigma\sqrt{2\pi}}\ e^{-\frac{\left(\ln x-\mu\right)^2}{2\sigma^2}}    
            \end{equation}
            Z logaritmicko-normálneho rozdelenia bol vyvynutý robustnejší model trojparametrového rozdelenia, ktorý lepšie popisuje distribúciu výnosov (/kap. \ref{subsubsec:3lognorm}). 

            % johnsonovo SU rozdelenie
            \subsubsection{Johnsonovo $S_U$ rozdelenie}
            Johnsonovo $S_U$ rozdelenie (vzťah \ref{eq:johnson}) je rozdelenie pravdepodobnosti so štyrmi parametrami $\gamma, \xi, \delta > 0, \lambda > 0$ navrhnuté N. L. Johnsonom \cite{johnson1949systems} ako transformácia normálneho rozdelenia. Toto rozdelenie umožňuje parametrickú asymetriu.
            \begin{equation}
                f(x, \gamma, \xi, \delta , \lambda ) = \frac{\delta}{\lambda\sqrt{2\pi}}\frac{1}{\sqrt{1 + (\frac{x-\xi}{\lambda})^{2}}}e^{-\frac{1}{2}(\gamma+\delta \sinh^{-1}(\frac{x-\xi}{\lambda}))^{2}}
                \label{eq:johnson}
            \end{equation}

            Johnsonovo $S_U$ rozdelenie je uvedené z dôvodu, že sa ukázalo ako najvhodnejšie zo skúmaných distribúcií na odhad rozdelenia výnosov (kap. \ref{sub:dist-estimate}, obr. \ref{fig:marketdistr}).
        

        %=======================================================

        \subsection{Moderná teória portfólia}
        \label{subsec:mpt}
        Autorom teórie (známej tiež ako \textit{Modern Portfolio Theory, MPT}) je nostiteľ nobelovej ceny za ekonómiu Harry M. Markowitz. V tejto práci s názvom ``Portfolio selection''\cite{markowitz1952portfolio} popisuje prepojenie výnosov a rizika pri investovaní a navrhuje formálny model diverzifikácie investície.

        % tachnicke veci
        Po technickej stránke ide o finančnú teóriu, ktorá modeluje výnosy z kapitálových aktív ako funkciu s normálnym rozdelením a riziko ako štandardnú odchýlku výnosov. Portfólio v nej predstavuje váženú kombináciu aktív, pričom alokáciou jednotlivých komponentov sleduje dosiahnuť maximálne výnosy pri minimálnom riziku. Použitím súboru aktív, ktorých výnosy nie sú dokonale korelované, sa MPT snaží znížiť rozptyl výnosov a tým aj riziko spojené s investíciou.

        Podľa MPT by komponenty investičného portfólia nemali byť selektované jednotlivo na základe ich jednotlivých vlasností. Dôležitejšie je akým spôsobom sa v čase mení cena aktíva vzhľadom na ostatné ceny aktív v portfóliu, teda ich korelácia.
            
            \subsubsection{Matematický model}
            V modeli MPT podľa \cite{markowitz1968portfolio} je očakávaný výnos portfólia proporčne váženou kombináciou historických výnosov jednotlivých komponentov. Očakávaný výnos portfólia ${E}(R_p)$, kde $R_p$ je výnos portfólia, $R_i$ je výnos aktíva $i$ a $w_i$ je váhový koeficient pre aktívum $i$ (teda podieľ aktíva v portfóliu).
            \begin{equation}
                \operatorname{E}(R_p) = \sum_i w_i \operatorname{E}(R_i)
            \end{equation}

            Rozptyl výnosov portfólia $\sigma_p^2$, kde $\rho_{ij}$ je korelačný koeficient medzi výnosmi aktív $i$ a $j$.
            \begin{equation}
                \sigma_p^2 = \sum_i w_i^2 \sigma_{i}^2 + \sum_i \sum_{j \neq i} w_i w_j \sigma_i \sigma_j \rho_{ij}
            \end{equation}     
            Tento vzťah može byť alternatívne vyjadrený aj ako
            \begin{equation}
                \sigma_p^2 = \sum_i \sum_j w_i w_j \sigma_i \sigma_j \rho_{ij},
            \end{equation}
            kde $\rho_{ij} = 1$ pre $i = j$.

            Volatilita portfólia $\sigma_p$ (resp. jeho výnosu) je funkciou korelácií medzi jednotlivými pármi komponentov. Pre portfólio s jedným aktívom platí
            \begin{equation}
                \sigma_p = \sqrt {\sigma_p^2}.
            \end{equation}                

            Pre výnos portfólia s dvoma aktívami platí
            \begin{equation}
                \operatorname{E}(R_p) =  w_A \operatorname{E}(R_A) +
                w_B \operatorname{E}(R_B) = w_A \operatorname{E}(R_A) + (1 - w_A) \operatorname{E}(R_B).
            \end{equation}  

            Pre rozptyl portfólia (resp. rozptyl celkového výnosu portfólia) s dvoma aktívami platí
            \begin{equation}
                \sigma_p^2  = w_A^2 \sigma_A^2  + w_B^2 \sigma_B^2 + 2w_Aw_B  \sigma_{A} \sigma_{B} \rho_{AB}.
            \end{equation} 

            Výnos porfólia s troma aktívami vypočítame jednoducho ako 
            \begin{equation}
                \operatorname{E}(R_p) = w_A \operatorname{E}(R_A) + w_B \operatorname{E}(R_B) + w_C \operatorname{E}(R_C),
            \end{equation}         
            avšak rozptyl je už komplikovanejší, pretože je kombináciou všetkých párov, teda deviatich zložiek korelačnej matice
            \begin{equation}
                \sigma_p^2  = w_A^2 \sigma_A^2  + w_B^2 \sigma_B^2 + w_C^2 \sigma_C^2 + 2w_Aw_B  \sigma_{A} \sigma_{B} \rho_{AB}
                + 2w_Aw_C  \sigma_{A} \sigma_{C} \rho_{AC} + 2w_Bw_C  \sigma_{B} \sigma_{C} \rho_{BC}            
            \end{equation}     

            % maybe efficient frontier

            Aplikovaním popísaných vzťahov možno zostrojiť graf portfólií s ich výnosmi a spojeným rizikom. Hranica, ktorú tieto portfóliá vytvoria sa nazýva efektívna hranica (angl. \textit{Efficient frontier}) a obsahuje portfóliá, ktoré dosahujú optimálne výnosy pri danej úrovni rizika (obr \ref{fig:frontier})

            \begin{figure}[h]        
            \begin{center}
            \includegraphics[width=0.8\textwidth]{efficientfrontier.jpg} 
            \end{center}
            \vspace{-5 mm}\caption{Efektívna hranica portfólií \cite{frontier}}
            \label{fig:frontier}
            \end{figure}

            % Sharpe, Sortino

            \subsubsection{Sharpov index}
            William F. Sharpe, bývalý profesor na Stanfordskej univerzite, analyzoval komplexnú Markowitzovu teóriu a podarilo sa mu z neho vyextrahovať jeho podstatu pomocou vzťahu od vtedy známeho ako \textit{Sharpov index} (angl. Sharpe ratio)\cite{sharpe1966mutual}. Za túto prácu získal v r. 1990 Nobelovu cenu za ekonómiu spolu s Markowitzom a Millerom. Ide o ukazovateľ výkonnosti investície s ohľadom na riziko s ňou spojené. Po revízii pôvodným autorom v roku 1994 ide o vzťah \ref{eq:sharpe}, kde $R_a$ je výnos aktíva, $R_b$ je výnos benchmarku, napr. bezrizikovej investície alebo indexu ako S\&P 500. $E[R_a-R_b]$ je očakávaná hodnota výnosu nad úrovňou benchmarku.

            \begin{equation}
                \label{eq:sharpe}
                S_a = \frac{E[R_a-R_b]}{\sigma_a} = \frac{E[R_a-R_b]}{\sqrt{\mathrm{var}[R_a-R_b]}}    
            \end{equation}

            Sharpov index určuje, v akej miere výnosy kompenzujú riziko, ktoré investor podstupuje. Ak porovnávame dve aktíva, opriti rovnakému benchmarku, aktívum s vyšším Sharpovým indexom poskytuje lepší výnos pri rovnakom riziku (alebo opačne, rovnaký výnos pri nižšom riziku).


            \subsubsection{Predpoklady modelu}
            Napriek veľkému významu, ktorý teória vo finančníctve predstavuje, je založená na sade predpokladov, ktoré v reálnom svete nemožno potvrdiť. Niektoré z nich nasledujú.

            \begin{itemize}
                \item Výnosy majú normálne rozdelenie - predstavuje jeden z kľúčových predpokladov výpočtov. Viaceré štúdie ukazujú, že tomu tak nie je a na trhu sa veľké výkyvy (3-6 štandardných odchýlok od priemeru) objavujú oveľa častejšie ako pri normálnom rozdelení.\cite{mandelbrot2014misbehavior}
                \item Investori sa snažia o maximalizáciu výnosu pri danom  riziku - investori sa podľa \cite{shefrin2001investors} hľadajú potenciál zisku s ochranou pred stratou.
                \item Investori sú racionálni - vyhýbajú sa riziku keď je to možné a vždy zvolia menej rizikovú investíciu pri rovnakom výnose. Behaviorálna ekonómia dokazuje, že účastníci trhu sa nesprávajú vždy racionálne\footnote{``Markets can stay irrational longer than you can stay solvent.'' John Maynard Keynes}, niekedy konajú emocionálne, alebo vplyvom \textit{stádového efektu}.\cite{ariely2008predictably}
                \item Nemennosť korelácií - korelácie cien závisia na vzťahu podkladových aktív a tieto vzťahy sa v reálnom svete často menia.

            \end{itemize}

            Z týchto a veľa ďaľších dôvodov bola v minulosti potreba model zdokonalovať a vylepšovať.

            % --- PMPT --------------------------------------------

            \subsection{Post-moderná teória portfólia} 
            \label{subsec:pmpt}
            Post-moderná teória portfólia (\textit{angl. Post-modern portfolio theory}, PMPT)\cite{rom1994portfolio,rom1994post} je rozšírením Modernej teórie portfólia a jej postupy sú používané finančnými inštitúciami v súčasnosti.
            Zameriava sa na odstránenie dvoch limitujúcich predpokladov MPT a to

            \begin{itemize}
                \item rozptyl a štandardná odchýlka portfólia je vhodná miera na odhad rizika investície a
                \item výnosy investície môžu byť vhodne reprezentované symetrickou distribučnnou funkciou ako je normálne rozdelenie.
            \end{itemize}

            Použitie rozptylu (alebo jeho odmocninu - štandardnú odchýlku) predpokladá, že neistota výnosov nad očakávanou hranicou má rovnaké rozdelenie ako neistota spojená s výnosmi pod ňou. Okrem toho, investície s vyšším počtom kladných výnosov sa po aplikovaní normálneho rozdelenia zdajú byť rizikovejšie ako v skutočnosti sú. Rovnako to platí aj v opačnom prípade, kedy môže byť podcenené riziko. Výsledkom toho je zistenie, že požitie techník Modernej teórie portfólia na konštrukciu a vyhodnotenie investície často nezodpovedá realite.\cite{sortino2001managing}

            Už dávno bolo pozorované, že investori nepovažujú za rizikové tie výnosy, ktoré sú nad minimálnou hranicou výnosu investície - tzv. \textit{cieľovým výnosom}. Za rizikové považujú výnosy pod touto hranicou, pričom straty majú v ponímaní väčšiu váhu ako rovnako veľké výnosy. Tento efekt bol pozorovaný a potvrdený výskumami vo finančníctve, ekonómii a psychológii. Sám Sharpe uviedol (1964):

            \blockquote{``V určitých podmienkach možno dokázať, že analýza kovariancie a rozptylu môže viesť k neuspokojivým predikciám správania investorov. Markowitz naznačuje, že by preferoval model s použitím polovičného rozptylu, avšak kvôli výpočtovým problémom založil svoju analýzu na priemere a štandardnej odchýlke.''}

            Pokrok vo finančnej teórii skombinovaný s vzostupom výpočtovej techniky však umožnil prekonať tieto limitácie a položil základy Postmodernej teórie portfólia.

            Podľa Sortina podstatné udalosti, ktoré umožnili vznik PMPT sú:\cite{sortino2001managing}

            \begin{itemize}
                \item Peter Fishburn z University of Pensylvania vyvinul matematické vzťahy na výpočet rizika poklesu a poskytol dôkaz o tom, že Markowitzov model je podmnožinou vačšieho systému.
                \item Atchison a Brown z Cambridge University vyvinuli trojparametrové logaritmicko-normálne rozdelenie, ktoré bolo robustnejším modelom ako symetrické rozdelenie použité v MPT.
                \item Bradley Efron zo Standford University vyvinul vzorkovaciu procedúru, ktorá lepšie popisuje neistotu finančných trhov.
                \item William Sharpe zo Standford University vyvinul analýzu založenú na výnosoch, ktorá umožnovala lepšie odhadnúť budúce riziko a výnosy
                \item Daniel Kahneman z Princetonu a Amos Tversky zo Standfordu, ktorý položili základy behaviorálnej finančnej teórie
            \end{itemize}

            \subsubsection{Nástroje PMPT}
            V roku 1987 Pension Research Institute v San Franciscu vyvinul praktické matematické algoritmy pre PMPT, ktoré sa používajú dodnes. Tieto metódy poskytujú systém, ktorý zohľadňuje investorovu preferenciu kladnej volatility výnosov pred zápornou. Taktiež bol popísaný robustnejší model na odhad distribúcie výnosov - trojparametrové logaritmicko normálne rozdelenie.

            \subsubsection{Trojparametrové logaritmicko-normálne rozdelenie}
            \label{subsubsec:3lognorm}
            Toto rozdelenie vzniklo modifikáciou logaritmicko-normálneho rozdelenia (kap. \ref{subsubsec:lognorm}) pridaním parametru $\gamma$. Parametre nadobúdajú hodnoty $0\leq\gamma<x$, $\mu \in R$, $\sigma > 0$.\cite{aristizabal2012estimating}

            \begin{equation}
                f(x, \mu, \sigma, \gamma) = \frac{1}{(x-\gamma)\sigma\sqrt{2\pi}}\ e^{-\frac{\left(\ln (x-\gamma)-\mu\right)^2}{2\sigma^2}}    
            \end{equation}

            \subsubsection{Riziko poklesu}
            Riziko poklesu (\textit{angl. downside risk}), je finančné riziko spojené zo stratou, teda riziko, že reálny výnos bude pod úrovňou očakávaného výnosu, resp. vyjadruje mieru neistoty medzi týmito úrovňami.\cite{mcneil2010quantitative,horcher2011essentials} \textit{Spodná odchýlka}, ako býva riziko poklesu často označované, sa vypočíta ako polorozptyl výnosov, ktoré sú menšie ako cieľový výnos, vzhľadom na cieľový výnos. Existujú dva spôsoby výpočtu: \cite{sortino2001managing}

            \begin{itemize}                
                \item Diskrétna spodná odchýlka
                \begin{equation}
                    d_d = \sqrt{\sum_{-\infty}^{t} (X - t)^2 } 
                \end{equation}
                \item Spojitá spodná odchýlka
                \begin{equation}
                    d_c = \int_{-\infty}^t \mathrm{(t-X)}^{\alpha}\,\mathrm{d}f(X),
                \end{equation}
            \end{itemize}
            kde $t$ je cieľový výnos, $X$ je náhodná veličina výnosu, $\alpha$ je averzia investora voči riziku, a $f(x)$ je hustota pravdepodobnosti distribúcie, ktorá podporuje asymetriu, napr. trojparametrová logaritmicko-normálna distribučná funkcia.
            PMPT silne preferuje spojitú formu výpočtu, pretože diskrétne hodnoty nemajú dostatočnú výpovednú hodnotu o neistote spojenej z výnosmi. Obvyklý proces analýzy v PMPT je: \cite{sortino2001managing}

            \begin{enumerate}
                \item Pozorujeme mesačné výnosy,
                \item Odhadneme distribúciu výnosov pomocou distribučnej funkcie, ktorá podporuje asymetriu\footnote{Na odhad parametrov distribúcie použijeme metódu maximálnej vierohodnosti, MLE},
                \item Prepočítame výnosy na ročné, pričom dbáme na to aby sa distribúcia nezmenila\footnote{To je možné docieliť spomínaným bootstrapingom.}
                \item Aplikujeme integrál na výslednú distribučnú funkciu, čím získame štatistiky výnosov.
            \end{enumerate}

            \subsubsection{Sortinov index}
            \label{sec:sortino}
            Sortinov index je miera výnosu investície upraveného o riziko. Ide o modifikáciu Sharpovho indexu, pritom však penalizuje iba výnosy pod špecifikovanou hladinou. Oproti tomu, Sharpov index bez rozdielu penalizuje spodnú aj hornú volatilitu (obr. \ref{fig:uppervolatility}a). Sortinov index vyjadruje vzťah \ref{eq:sortino}, pričom R je očakávaný (priemerný) výnos, T je cieľový výnos a DR je riziko poklesu z predchádzajúcej kapitoly.

            % volatility skewness

            \begin{equation}
                \label{eq:sortino}
                S = \frac{R-T}{DR}
            \end{equation}

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.7\textwidth]{volatility.png} 
            \end{center}
            \vspace{-5 mm}\caption{Horná a spodná volatilita (Zdroj: \cite{volatility})}            
            \label{fig:uppervolatility}
            \end{figure}

                
        
    

    %=======================================================

    \section{Optimalizácia a metaheuristiky}
        \subsubsection{Optimalizácia}
        Optimalizácia je proces, v rámci ktorého sa hľadajú také hodnoty nezávisle premenných, aby pri určitých obmedzeniach na ne kladených dosahovala závislá premenná extrémnu hodnotu.\cite{janicek2007systemove}
        Závislá premenná má pritom často formu tzv. \textit{účelovej funkcie}, ktorú je optimalizáciou potreba maxlimalizovať, resp. minimalizovať.

        Uvažujeme \textit{účelovú funkciu f}, ktorá každému bodu n-rozmerného priestoru priradí reálnu hodnotu.
        \begin{equation}
            \label{eq:fittness}
            f:\mathbb{R}^n \rightarrow \mathbb{R}
        \end{equation}
        Na minimalizovanie funkcie $f$ potrebujeme nájsť také $\vec{a} \in \mathbb{R}^n$ aby platilo:
        \begin{equation}            
            \forall \vec{b} \in \mathbb{R}^n : f(\vec{a}) \leq f(\vec{b})
        \end{equation}   
        Potom $\vec{b}$ je \textit{globálnym minimom} funkcie $f$.\cite{pedersen2010good}
                                 
    % maybe - implicitne explicitne a priame metody
    % global local

    \subsubsection{Metaheuristiky}
    
    \blockquote{\textit{Metaheuristiky} predstavujú obecný súbor algoritmov, ktoré sú často inšpirované prírodou a sú navrhnuté na riešenie zložitých optimalizačných problémov.

    Môže tiež ísť o procedúru vyššej úrovne alebo heuristiku, ktorá má za úlohu nájsť, vygenerovať alebo vybrať procedúru nižšej úrovne alebo heuristiku (čiastkový vyhľadávací algoritmus), ktorý poskytuje dostatočne dobré riešenia optimalizačného problému.\cite{bianchi2009survey}}
    
    Súvisiaci termín - \textit{heuristika}, je stratégia, pomocou ktorej môžu ľudia a stroje riešiť problémy s použitím dostupných - aj keď len voľne aplikovateľných - informácií.\cite{pearl1984heuristics} 

    Príkladom najjednoduchšej heuristiky je metóda ``pokus - omyl"", ktorú možno použiť na šírokú škálu problémov od hľadania rovnakých tvarov predmetov až po riešenie algebraických problémov. Niektoré ďaľšie bežne používané heuristiky z Pólyovej klasickej knihy ``Ako to vyriešiť"" \cite{polya2014solve}:
    
    \begin{itemize}
        \item Pozrite sa na problém.
        \item Pokiaľ mu nerozumiete, skúste si nakresliť obrázok.
        \item Ak nemôžete nájsť riešenie, skúste predpokladať, že ho máte a pozrite sa, či z neho nemôžno získať postup (``práca odzadu"").
        \item Ak je problém abstraktný, skúste najprv riešiť konkrétny príklad.
        \item Skúste najprv riešenie obecného problému (``paradox vynálezcu''\footnote{Ambicióznejší plán má lepšie predpoklady na úspech.\cite{polya2014solve}})        
    \end{itemize}

    V posledných rokoch predstavujú metaheuristiky aktívnu oblasť výskumu kvôli širokej možnosti aplikácii týchto metód a ich dosahovaným výsledkom. Kvôli vysokej náročnosti niektorých optimalizačných problémov často nie je možné použiť klasické postupy - také ktoré nájdu najoptimálnejšie riešenie exaktným spôsobom - alebo je možné ich použiť len pre prípady s malým rozsahom kvôli vysokej výpočtovej alebo pamäťovej náročnosti. Na druhej strane, postupy založené na metaheuristikách sú schopné nájsť dostatočne dobré a niekedy dokonca optimálne riešenia problémov v reálnom rozsahu a za kratší čas.

    Príkladom náročného problému je \textit{problém obchodného cestujúceho}, ktorý v roku 1800 formuloval Hamilton. Jeho riešením je nájdenie najkratšej cesty medzi mestami, pričom sú nám známe vzdialenosti medzi mestami a je potrebné navštíviť každé mesto práve raz a vrátiť sa do počiatočného mesta.
    Hlavným úskalím tohto problému je rýchlo sa zväčšujúci vyhľadávací priestor - ten sa zväčšuje rýchlejšie ako exponenciálne vzhľadom na veľkosť problému (teda počet miest), čo robí problém ťažko zvládnuteľný pre exaktné algoritmy už pri nižšom počte miest.\footnote{Súčasný rekord analytického riešenia drží  Applegate et al. - 85 900 miest.\cite{applegate2006traveling}}

    Metaheuristika ktorá bola použitá na riešenie tohto problému je založená na optimalizácii mravčou kolóniou.\cite{dorigo1997ant} (obr. \ref{fig:aco})
    Algoritmus vyšle veľký počet virtuálnych mravčích agentov, ktoré skúšajú možné cesty na mape (bod 2). Každý mravec sa na základe pravdepodobnosti rozhoduje ktoré mesto navštívi ako ďaľšie, pričom berie do úvahy vzdialenosť mesta a množstvo virtuálneho feromónu, ktorý sa na danej ceste nachádza. Mravce prechádzajú medzi mestami a vylučujú feromón, až kým každý nedokončí celú cestu medzi všetkými mestami. Vtedy mravec, ktorý našiel zatiaľ najkratšiu cestu umiestni feromón pozdĺž celej tejto cesty, čím sa pre ostatných zvýrazní (bod 3). Množstvo feromónu na ceste je teda nepriamo úmerný dĺžke cesty a po určitom počte opakovaní zvýrazní výslednú najkratšiu cestu (bod 4).
    \begin{figure}[h]
        \centering                                      
        \includegraphics[width=0.9\textwidth]{./images/aco.pdf} 
        \caption{Optimalizácia problému obchodného cestujúceho mravčou kolóniou (Zdroj: \cite{wiki:aco})}
        \label{fig:aco}
    \end{figure} 

        \subsubsection{Klasifikácia}
        Existuje veľa variánt rôznych druhov metaheuristík a taktiež vlastností, podľa ktorých môžu byť klasifikované.\cite{blum2003metaheuristics} (obr. \ref{fig:metaClassif})

        \begin{figure}[t]
            \centering                                      
            \includegraphics[width=0.9\textwidth]{./images/Metaheuristics_classification.pdf} 
            \caption{Klasifikácia metaheuristík (Zdroj: \cite{wiki:metaClassif})}                                    
            \label{fig:metaClassif}
        \end{figure} 
          
        
        Jednou z klasifikačných vlastností je vyhľadávacia stratégia. Tá môže byť vylepšením \textit{jednoduchého lokálneho vyhľadávania}\footnote{Vyhľadávanie ktoré určí počiatočné riešenie a ďalej prehľadáva jeho okolie aby našlo lepšie riešenie. Takto nájdené riešenia sú lokálne optimálne vzhľadom na počiatočné riešenie.\cite{aarts2003local} } - do tejto kategórie patria metaheuristiky ako \textit{simulované žíhanie, tabu vyhľadávanie, iteratívne lokálne vyhľadávanie, vyhľadávanie s premenlivým okolím a GRASP}\footnote{\textit{Greedy randomized adaptive search procedure} - iteratívna aplikácia lokálneho vyhľadávania}.        

        Druhá kategória vyhľadávacích stretégií obsahuje pamäťovú zložku - patria sem napr. \textit{optimalizácia pomocou mravčej kolónie, evolučné algoritmy a genetické algoritmy}.

        Ďaľšou klasifikačnou dimenziou je početnosť vyhľadávacích agentov - vyhľadávanie s jedným výsledkom v porovnaní s vyhľadávaním založeným na populácii.\cite{talbi2009metaheuristics} Medzi vyhľadávania s jedným výsledkom, ktoré pracujú na princípe vylepšovania jedného riešenia, patria \textit{simulované žíhanie, iteratívne lokálne vyhľadávanie, vyhľadávanie s premenlivým okolím a navádzané lokálne vyhľadávanie}.

        Algoritmy založené na populácii vylepšujú viac kandidátov na riešenie zároveň, pričom využivajú určité heuristické vlastnosti populácií na navádzanie vyhľadávania. Patrí sem väčšina metód obecne označovaných ako \textit{evolučné výpočtové metódy}, napr. \textit{genetické programovanie, optimalizácia pomocou roja častíc, či diferenciálna evolúcia}.

        \textit{Inteligencia roja} predstavuje osobitnú kategóriu metaheuristík, v ktorej je využité kolektívne správanie decentralizovaných samoorganizovaných agentov v rámci populácie roja. Inteligenciu roja využíva napr. \textit{optimalizácia mravčou kolóniou, optimalizácia pomocou roja častíc a umelá včelia kolónia}\cite{talbi2009metaheuristics,dorigo1992optimization,karaboga2010artificial}.    
        
        \subsubsection{Vlastnosti}
        Nasledujúce vlastnosti sú charakteristické pre väčšinu metaheuristík \cite{blum2003metaheuristics}:
        \begin{itemize}
            \item Metaheuristiky sú stratégie, ktoré navádzajú vyhľadávací proces.
            \item Ich cieľom je efektívne prehľadať vyhľadávací priestor a nájsť ``takmer optimálne'' riešenie.
            \item Algoritmy metaheuristík využívajú rôzne techniky od jednoduchého lokálneho vyhľadávania až po komplexné učiace procesy.
            \item Metaheuristické algoritmy sú aproximačné a obyčajne nedeterministické.
            \item Metaheuristiky sú univerzálne a riešia väčšinou istú triedu problémov.
        \end{itemize}
    
    \subsection{Simulované žíhanie}
    Ide o pravdepodobnostnú metaheuristiku na riešenie globálneho optimalizačného problému pre rozsiahle vyhľadávacie priestory a 
    bola nezávisle popísaná viacerými autormi. \cite{kirkpatrick1983optimization,vcerny1985thermodynamical} 

    Názov a inšpirácia pochádza z metalurgie, presnejšie z procesu \textit{žíhania kovov}. Ide o techniku spracovania zliatin, ktorej cieľom je zmena mechanických vlastností materiálu vďaka zmene jeho mikroskopickej štruktúry použitím tepla v troch krokoch: \cite{green1970syntectonic}

    \begin{enumerate}
        \item Kov sa rovnomerne zahreje na určenú teplotu.
        \item Následne sa schladí na tzv. \textit{žíhaciu teplotu} v ktorej zotrvá určitý čas, počas čoho dochádza k izotermickému\footnote{Za stálej teploty.} spracovaniu
        \item Kov sa nechá pomaly vychladnúť.
    \end{enumerate}

    Tento postup má za následok, že sa v zliatine vytvorí kryštalická štruktúra (obr. \ref{fig:anneal}), ktorá eliminuje kazy a výsledný kov má lepšie mechanické vlastnosti.    
 
    \begin{figure}%
        \centering
        \subfloat[Rýchle ochladenie]{{\includegraphics[width=.3\textwidth]{SimulatedAnnealingFast.jpg} }}%
        \qquad
        \subfloat[Pomalé ochladenie]{{\includegraphics[width=.3\textwidth]{SimulatedAnnealingSlow.jpg} }}%
        \caption{Efekt rýchlosti ochladzovania pri simulovanom žíhaní (Zdroj:\cite{wiki:annealing})}%
        \label{fig:anneal}%
    \end{figure}

    Algoritmickou reprezentáciou simulovaného žíhania je stochastický\footnote{Nedeterministický, založený na náhode.} algoritmus, ktorý nevyužíva žiadne derivácie účelovej funckie, ktorú optimalizuje. (alg. \ref{alg:anneal})

    Algoritmus v prvých krokoch prejde inicializáciou počiatočného stavu $\omega$ a počítadla zmien teploty $k$. Počiatočný stav predstavuje vektor vyhľadávacieho priestoru a funkčná hodnota $f(\omega)$ (nazýva sa tiež \textit{energia}), je hodnota ktorú treba minimalizovať. Inicializuje sa tiež schéma chladnutia (často sa používa rýchla, cauchyho, boltzmanova a iné).\cite{scipy:anneal}
    
    Funkcia $N(\omega)$ vracia náhodnú susednú hodnotu vzhľadom na polohu v stavovom priestore $\omega$, pričom jej implementácie sa v literatúre líšia.
    Po výpočte funkčnej hodnoty účelovej funkcie nového stavu sa určí, či sa do neho presunieme a to na základe hodnoty energie a pravdepodobnosti, ktorá závisí od teploty. V prípade, že je nová hodnota energie nižšia ako pôvodná, prebehne presun okamžite, v prípade ak tomu tak nie je, tak môže presun nastať s istou pravdepodobnosťou vzhľadom na momentálnu teplotu a vybranú schému. To zabezpečí aby optimalizácia neuviazla v lokálnom minime pri vysokých počiatočných teplotách (červený krok v obr. \ref{fig:localmax}). 

    \begin{figure}[h]
        \centering                                      
        \includegraphics[width=0.6\textwidth]{./images/LocalMax.jpg} 
        \caption{Prekonanie lokálneho minima funkcie $c(x)$ s využitím pravdepodobnosti \cite{clausthal} } 
        \label{fig:localmax}
    \end{figure} 

    \begin{figure}[h]
        \centering                                      
        \includegraphics[width=0.8\textwidth]{./images/temp.jpg} 
        \caption{Znižovanie teploty (Temp) pri optimalizácii nákladov (Kosten) \cite{clausthal} } 
        \label{fig:tempcooling}
    \end{figure} 

    S postupom času teplota klesá a suboptimálne hotnoty energie sa vyberajú s nižšou pravdepodobnosťou, ktorá nakoniec klesne na nulu. Vnútorný cyklus sa opakuje, pokiaľ nie je dosiahnutý počet opakovaní pre danú teplotu určený parametrom $M_k$.
    Vonkajší cyklus sa obvykle opakuje pokiaľ nie je dosiahnutá určitá hladina energie, alebo sa neprekročí maximálny počet iterácií cyklu.

    % pseudokod Simulované žíhanie
    \begin{algorithm}[h!]                    
    \caption{Simulované žíhanie \cite{eglese1990simulated}}        
    \label{alg:anneal}
        \begin{algorithmic}[1]
        \State $\omega \gets \omega_0$
        \State $k\gets 0$
        \State init $t_k, M_k$
        \Repeat 
            \State $m \gets 0$
            \Repeat                 
                \State $\omega' \gets N(\omega)$
                \State $\Delta_{\omega,\omega'} \gets f(\omega') - f(\omega)$
                \If {$\Delta_{\omega,\omega'} \leq 0 $}
                    \State $\omega\gets \omega'$
                \Else                 
                    \State $\omega\gets \omega'$ with probability $exp(\Delta_{\omega,\omega'}/t_k)$
                \EndIf
                \State $m \gets m+1$
            \Until{$m = M_k$}
            \State $k \gets k+1$
        \Until{stopping criterion is met}               
        \end{algorithmic}         
    \end{algorithm}      


    % varianta basinhopping

    % ---------------------------------------------------

    \subsection{Optimalizácia rojom častíc}
    \label{subsec:pso}
    Optimalizácia rojom častíc (angl. \textit{Particle Swarm Optimization}, PSO) je optimalizačná metóda popísaná autormi Kennedy a Eberhart \cite{eberhart1995new} a funguje na princípe roja častíc, ktoré sa pohybujú vo vyhľadávacom priestore, pričom využívajú informácie ostatných častíc.
    
    \blockquote{\textit{Roj} je podľa \cite{kennedy2001swarm} populácia spolupracujúcich častíc, ktoré sú schopné optimalizovať globálnu úlohu pomocou spoločného vyhľadávania v priestore. Interakcie, ktoré sú z topologického hľadiska lokálne, sú často zdôraznené. V roji existuje náhodná tendencia častíc presúvať sa do centra populácie, výsledkom ktorej je konvergencia k optimálnemu riešeniu.}

    V praxi to znamená, že každá častica sa snaží sama za seba nájsť optimálne miesto vo vyhľadávacom priestore, ale zároveň prihliada na to ako sa darí ostatným časticiam, pričom je priťahovaná tou najúspešnejšou.

    Metóda bola inšpirovaná pohybom živočíchov v prírode, napr. kŕdle škorcov (obr. \ref{fig:starlings}), húfy rýb, či roje včiel. Takouto spoluprácou sa napríklad dokážu jedince lepšie brániť pred predátormi, či efektívne využívať získané informácie v rámci populácie. 

    \begin{figure}
        \centering                                      
        \includegraphics[width=0.8\textwidth]{starlings.jpg}         
        \caption{Kŕdeľ z tisíciek škorcov \cite{theAtlanticStarlings}}
        \label{fig:starlings}
    \end{figure}

    Každá častica v PSO je podľa \cite{clerc2012standard} zložená z:
    \begin{itemize}
        \item pozície vo vyhľadávacom priestore,
        \item hodnoty účelovej funkcie v danom bode priestoru,        
        \item rýchlosti, resp. posunu, ktorý bude započítaný v ďaľšom kroku,
        \item pamäte, ktorá obsahuje pozíciu zatiaľ najpešej nájdenej pozície a
        \item hodnotu účelovej funkcie pre najlepšiu nájdenú pozíciu.        
    \end{itemize}

    % výhody, nevýhody
    Výhoda použitia optimalizačnej metódy PSO je v tom, že nezávisí na výpočte gradientu účelovej funkcie, a teda si vie poradiť so širokou doménou problémov. To je obzvlášť nápomocné, pokiaľ účelová funkcia obsahuje veľa šumu alebo ak nie je vo všetkých bodoch diferencovateľná.
    Všestrannosť tejto metódy má ale aj negatívnu stránku, pretože sa často stáva, že vyžaduje určitú formu dolaďovania a kalibrácie pre jednotlivé problémy.\cite{trelea2003particle,van2006analysis}
    Tiež nie je vždy zaručená globálna optimálnosť nájdeného riešenia.

    Nasleduje popis princípu fungovania PSO podľa \cite{clerc2012standard}.

    % swarm inteligence
    \subsubsection{Inicializácia roja}
    Pre každú časticu:
    \begin{itemize}
        \item vyber náhodnú pozíciu vo vyhľadávacom priestore. Vypočítaj hodnotu účelovej funkcie. Začni s najlepšou doposiaľ nájdenou hodnotou.
        \item vyber náhodnú rýchlosť     
    \end{itemize}

    \subsubsection{Iterácia}
    \begin{itemize}
        \item Vypočítaj novú rýchlosť kombináciou nasledujúcich prvkov:
        \begin{itemize}
            \item súčasnej pozície,
            \item súčasná rýchlosť,
            \item predošlá najlepšia pozícia častice,
            \item najlepšia predošlá pozícia v okolí.
        \end{itemize}            
        \item Presuň sa aplikovaním novo vypočítanej rýchlosti na súčasnú pozíciu.
        \item Uprav pozíciu aby spadala do vyhľadávacieho priestoru. (je možné vynechať)
        \item Ak je hodnota účelovej funkcie v novom bode lepšia ako najlepšia doposiaľ nájdená hodnota, nahraď globálne najlepšiu hodnotu súčasnou hodnotou účelovej funkcie a globálnu najlepšiu pozíciu súčasnou pozíciou.
    \end{itemize}    

    Iterácia ma dve koncové kritériá:
    \begin{itemize}
        \item ak je hodnota účelovej funkcie optima známa a nájdený bod sa od nej líši menej ako je prípustná odchýlka,
        \item ak bol určený maximálny počet iterácií a táto hodnota bola dosiahnutá.
    \end{itemize}    

    % pseudocode
    \subsubsection{Výpočet pohybu častice}   
    Pôvodný algoritmus ``Global best PSO'' \cite{engelbrecht2007computational} predpokladá, že všetky častice zdieľajú svoje informácie a každá vie o najlepšej pozícii ostatných častíc. Nasledujúca pozícia častice $x_{i,d}(it+1)$ a jej rýchlosť $v_{i,d}(it+1)$ sa vypočítajú nasledovne:

    \begin{equation}
        \label{eq:particle-pos}
        x_{i,d}(it+1)=x_{i,d}(it) + v_{i,d}(it+1)
    \end{equation}
    \begin{equation}
        \label{eq:particle-vel}
        \begin{split}
        v_{i,d}(it+1) &=v_{i,d}(it) \\
        &+ C_1 * Rnd(0,1) * [pb_{i,d}(it) - x_{i,d}(it)] \\
        &+ C_2 * Rnd(0,1) * [gb_{d}(it) - x_{i,d}(it)]
        \end{split}
    \end{equation}

    \textbf{Premenné:}
    %\setlist[description]{font=\itshape\emph,leftmargin=1cm}
    \begin{description}
        \boldmath % make math symbols bold
        \item[$i$] index častice ako jej identifikátor,
        \item[$d$] aktuálna dimenzia, každá častica má pozíciu a rýchlosť pre danú dimenziu,
        \item[$it$] počítadlo iterácie
        \item[$x_{i,d}$] pozícia častice $i$ v dimenzii $d$,
        \item[$v_{i,d}$] rýchlosť častice $i$ v dimenzii $d$,
        \item[$C_{1}$] kognitívny koeficient akcelerácie - preferencia vlastného optima častice,
        \item[$C_{2}$] sociálny koeficient akcelerácie - preferencia globálneho optima spomedzi všetkých častíc,
        \item[$Rnd(0,1)$] stochastický komponent algoritmu, náhodné číslo medzi 0 a 1,
        \item[$pb_{i,d}$] najlepšia poloha častice $i$ v dimenzii $d$ vzhľadom na hodnotu účelovej funkcie,
        \item[$gb_{d}$] najlepšia poloha spomedzi všetkých častíc v dimenzii $d$ vzhľadom na hodnotu účelovej funkcie,
        \unboldmath % revert math symbols to non bold
    \end{description}
    
    \begin{figure}[]
        \centering                                      
        \includegraphics[width=0.6\textwidth]{particle-movement.png}         
        \caption{Grafické znázornenie komponentov pohybu častice \cite{wang2010annealed}}        
        \label{fig:particle-movement}
    \end{figure}

    Grafické znázornenie zložiek vektoru rýchlosti každej častice znázorňuje obr. \ref{fig:particle-movement}.

    % parametre
    \subsubsection{Veľkosť roja}    
    Zvolené hodnoty parametrov PSO môžu mať veľký vplyv na výkonnosť optimalizácie. Výberom vhodných parametrov sa preto zaoberalo viacero výskumov \cite{van2006analysis, trelea2003particle}, avšak dá sa povedať, že neexistuje univerzálny kľúč pre akýkoľvek riešený problém.

    Odporúčaná veľkosť roja $S$, teda počet častíc, vzhľadom na počet dimenzií $D$ riešeného problému je podľa \cite{clerc2012standard}:
    \begin{equation}
        \label{eq:swarm-size}
        S=10 + [2\sqrt{D}]
    \end{equation}

    \begin{figure}[H]
        \centering                                      
        \includegraphics[width=0.8\textwidth]{particle-count.png}         
        \caption{Odporúčaný počet častíc podľa vzťahu \ref{eq:swarm-size} (Zdroj: vlastný)}        
        \label{fig:particle-count}
    \end{figure}

    \subsubsection{Sociálny a kognitívny parameter}    
    Tieto parametre ovplyvňujú mieru v akej je častica priťahovaná globálnym resp. vlastným optimom. Existuje veľké množstvo štúdií, ktoré sa zaoberajú vhodnými kombináciami týcho parametrov. V \cite{van2006study} možno nájsť vzťah \ref{eq:convergence}, ktorý určuje, či budú častice konvergovať. Parameter $w$ predstavuje koeficient hybnosti, ktorým sa každou iteráciou znižuje pôvodná rýchlosť každej častice. Tento vzťah graficky reprezentuje obr. \ref{fig:pso-convergence}, biely trojuholník vpravo symbolizuje oblasť divergencie a v svetlomodrej oblasti vľavo rastie rýchlosť konvergencie smerom nadol. Populárnym parametrom je podľa \cite{eberhart2000comparing} kombinácia $w=0.7298, c_{1,2}=1.49445$, ostatné odporúčané zobrazuje tabuľka.

    \begin{equation}
        \label{eq:convergence}
        w>0.5 (c_1+c_2) - 1
    \end{equation}    

    \begin{figure}[H]
        \centering                                      
        \includegraphics[width=0.6\textwidth]{pso-params.png}         
        \caption{Oblasť konvergencie PSO \cite{jiang2007stochastic}}         
        \label{fig:pso-convergence} 
    \end{figure}    

    \begin{table}
        \centering 
        \begin{tabular}[width=4cm]{ll}
        \toprule        
        w & $c_{1,2}$\\\midrule
        0.001 &2.0\\
        0.7298 & 1.49618\\ 
        0.7 & 1.4\\
        0.7 & 2.0\\
        0.9 & 2.0\\
        1.0 & 2.0\\\bottomrule
        \end{tabular}        
        \caption{Vhodné parametre PSO \cite{van2006study}} 
        \label{tab:nicevars}
    \end{table} 
    

%=======================================================
\chapter{Analýza problému}
% Navrhnutie a implementácia investičného modelu, ktorý na optimalizáciu portfólia využíva metaheuristiky. Testovanie modelu na historických dátach a optimalizácia parametrov s cieľom maximalizácie zisku a stability. Porovnanie úspešnosti metaheuristík a výkonnosti portfólia so zvoleným benchmarkom.

V úvodných kapitolách boli popísané fundamentálne základy problematiky ktorou sa práca zaoberá, aby čitateľ porozumel postupy navrhnuté a implementované v časti ktorá nasleduje. Obsiahnuté boli základné termíny z oblasti investičných portfólií, popis a spôsoby meranie rizika. V stručnosti bol popísaný historický vývoj optimalizácie a jej nedostatky. Druhá časť obsahovala obecný pohľad na proces optimalizácie a schopnosti metaheuristík riešiť náročné problémy. 

Cieľom práce je navrhnúť a implementovať investičný model, ktorý optimalizuje portfólio. Táto úloha môže byť splnená v rôznych úrovniach komplexnosti a presnosti. S cieľom dosiahnuť čo najlepšie výsledky budú v modeli aplikované metódy Postmodernej teórie portfólia, ktoré síce predstavujú výpočtovo náročnejší proces, avšak poskytujú objektívnejší pohľad na výnosy, riziko a trh vo všeobecnosti. Výsledkom nemá byť konečné robustné optimalizačné riešenie medzi rôznymi triedami aktív, ale investičný model strategickej alokácie na úrovni aktív v ktorom bude možné otestovať framework PMPT v spojení s optimalizáciou pomocou metaheuristiky. 

Optimalizácia portfólia je vo všeobecnosti náročný problém, pri ktorom hľadáme vhodnú kombináciu veľkého počtu vstupných parametrov ako historický vývoj aktív, preferencie investora, či vplyv transakčných poplatkov. Rozsah problému, teda počet dostuplných aktív, má pritom exponenciálny vplyv na počet možných výsledkov. Základom modelu - dá sa povedať jeho ``mozgom'' je účelová funkcia, ktorá musí zahrnúť všetky tieto aspekty optimalizácie. Možno preto očakávať, že bude obsahovať veľa ``šumu'' a tým pádom aj lokálnych extrémov.

Druhým pilierom modelu, jej ``telom'' bude metóda prehľadávania stavového priestoru. Ten s počtom aktív rastie exponenciálne a je prakticky nemožné prehľadať ho celý v rozumnom čase. Na túto úlohu bude použitá metaheuristika optimalizácia časticovým rojom. Jej výkonnosť pri hľadaní optimálneho portfólia bude porovnaná s optimalizáciou založenou na simulovanom žíhaní.

Implementáciou modelu vznikne softvérová aplikácia, ktorou bude možné analyzovať historické dáta a vytvárať investičné simulácie s rôznymi parametrami. V rámci každej simulácie bude model periodicky meniť zloženie portfólia v závislosti od aktuálnej situácii na trhu. Aplikácia by mala byť dostatočne flexibilná, aby umožňovala experimenty s rôznymi parametrami a poskytovala štatistiky výsledných investičných simulácií. Tým pádom bude možné model upravovať a zároveň určovať efekt vykonaných zmien na kľúčové metriky. Vhodná bude grafická reprezentácia dát a výsledkov experimentov.

%=======================================================
\chapter{Návrh vlastného riešenia}
V tejto kapitole bude popísaný návrh a implementácia investičného modelu, ktorý má slúžiť ako nástroj na podporu rozhodovania pri optimalizácii investičného porfólia, teda pri jeho selekcii a alokácii. Model vychádza z poznatkov popísaných v kap. \ref{chap:teoria}, pričom sa snaží o elimináciu nedostatkov jednotlivých komponentov.

Účelom výslednej aplikácie nie je priame nasadenie v praxi, ide skôr o prototyp investičného modelu, ktorého vlastnosti a princípy môžu byť použité v robustnejšej aplikácii. 

V prvej časti bude popísaná architektúra modelu a použité technológie. 
V druhej časti príde na rad metaoptimalizácia modelu, v ktorej sa budú hľadať optimálne parametre pre jednotlivé metaheuristiky. Nasledujú prípadové štúdie na reálnych dátach a nakoniec vyhodnotenie ich výkonnosti.
V závere sú navrhnuté rozšírenia a aplikácie dosiahnutých výsledkov.

% pripadove studie
% metaoptimization for calibration + graph  

    \section{Architektúra modelu}        
        Investičný model je navrhnutý modulárne a skladá sa z týchto hlavných modulov:

        \begin{itemize}
            \item \textbf{Trieda Data} - zabezpečuje sťahovanie historických dát a ich skladovanie. Pri opakovaných spusteniach aplikácie sa dáta nesťahujú znova, ale sa použijú už stiahnuté dáta, čím sa šetrí čas.
            \item \textbf{Trieda Portfolio} - centrálna časť aplikácie, ktorá obsahuje účelovú funkciu, funkcie na posun časového okna a metódy na vyhodnocovanie výkonnosti. Z tejto triedy sú volané jednotlivé metaheuristiky.
            \item \textbf{Trieda Simulator} - obsahuje riadenie optimalizácie a celkový manažment realokácie portfólia počas investície.
            \item \textbf{Metaheuristiky} - Sada optimalizačných metód, ktoré optimalizujú alokáciu portfólia.
            \item \textbf{Experiments} - sada experimentov, ktoré slúžia na kalibráciu optimálnych parametrov modelu.
            \item \textbf{main} - Hlavná procedúra, ktorá riadi chod pogramu a manipuláciu s objektami. Slúži na konfiguráciu aplikácie, pričom po spustení je ďalej aplikácia riadená pomocou príkazov.
        \end{itemize}

        % TODO uml, data flow

        \subsection{Technológie}
        \begin{wrapfigure}{R}{0.3\textwidth}        
            \centering
            \includegraphics[width=0.2\textwidth]{python.png}
            \caption{Python}        
        \end{wrapfigure} 

        Aplikácia je navrhnutá v objektovo orientovanom jazyku Python. Ide o vysoko-úrovňový programovací jazyk, ktorý kladie dôraz na čitateľnosť kódu za súčasného použitia menšieho rozsahu kódu. Podporuje viaceré programovacie paradigmá vrátane objektovo orientovaného a imperatívneho prístupu, ako aj funkcionálne programovanie.

        Výhodou tohoto jazyka je dostupnosť širokého sortimentu knižníc, vrátane modulov určených na spracovanie veľkého objemu dát a ich grafickú reprezentáciu.

            \subsubsection{Knižnica pandas}
            \textit{pandas} je knižnica funkcií pre Python, ktorá poskytuje rýchle, flexibilné a expresívne dátové štruktúry ktoré umožňujú jednoduchú a intuitívnu prácu s relačnými a pomenovanými dátami.\footnote{Z repozitára projektu pandas (https://github.com/pydata/pandas)}
            K funkciám ktoré podporuje a značne uľahčujú prácu s dátami patrí napr.:
            \begin{itemize}
                \item jednoduché ošetrenie chýbajúcich dát,
                \item selekcia a \textit{slicing} dát,
                \item aplikácia funkcie na celú časovú radu resp. vektor,
                \item robustné vstupno-výstupné operácie (CSV, Excel, ale aj veľmi rýchly HDF5 formát).
            \end{itemize}

            \subsubsection{Hardware}
            Na testovanie modelu bol použitý notebook s parametrami
            \begin{itemize}
                \item Intel Core i5 450M s frekvenciou 2,4 GHz
                \item 3 MB L3 Cache
                \item 2 jádra, 4 thready
                \item Intel Turbo Boost s frekvenciou 2,93 GHz
                \item RAM 4GB DDR3
            \end{itemize}

        \subsection{Zdrojové dáta}
        Na získanie historických dát cien akcií je v modeli použitá služba Yahoo Finance. Dáta sú v nej prístupné pomocou verejného API\footnote{Application programming interface, rozhranie pre programovanie aplikácií}. 

        Pomocou knižnice \textit{pandas} je možné sťahovať dáta z viacerých zdrojov, zo serverov Yahoo je možné ich získať pomocou kódu \ref{code:yahoo}
                   

        \begin{lstlisting}[caption={Stiahnutie dát z Yahoo Finance},label={code:yahoo}]        
import pandas.io.data as web
data = web.DataReader(symbol,  "yahoo", self.start, self.end)
        \end{lstlisting}

        Výstupom API je štruktúra typu {\tt pandas.DataFrame} a jej obsah je v tab. \ref{tab:data}.

        \begin{table}                    
            \centering
            \begin{tabular}{lrrrrrr}            
            \toprule                        
            Date  & Open  & High  & Low   & Close & Volume & Adj Close \\\midrule
            2009-01-02 & 85.88 & 91.04 & 85.16 & 90.75 & 186503800 & 12.28        \\
            2009-01-05 & 93.17 & 96.18 & 92.71 & 94.58 & 295402100 & 12.80        \\
            2009-01-06 & 95.95 & 97.17 & 92.39 & 93.02 & 322327600 & 12.58        \\
            2009-01-07 & 91.81 & 92.50 & 90.26 & 91.01 & 188262200 & 12.31        \\
            2009-01-08 & 90.43 & 93.15 & 90.04 & 92.70 & 168375200 & 12.54        \\\bottomrule
            \end{tabular}
            \caption{Tvar zdrojových dát pre APPL z Yahoo Finance API}
            \label{tab:data}            
        \end{table} 

        Zľava do prava ide o dátum záznamu, otváracia cena, najvyššia a najnižšia cena za daný deň, uzatváracia cena, obchodovaný objem a nakoniec upravená uzatváracia cena. Práve posledný stĺpec je dôležitý pre analýzu historických cien, pretože, ide o ceny upravené o efekt dividendov, rozdelenia akcií, či emisiu nových akcií.

        Zoznam symbolov obsahuje súbor {\tt constituents.csv} (kód \ref{code:constituents}). Ide o sadu symbolov zahrnutých v indexe S\&P 500\footnote{Standard \& Poor's 500 - index obsahujúci 500 najväčších amerických firiem, často sa používa ako najlepšia reprezentácia amerického trhu, zdroj CSV: \url{http://data.okfn.org/data/core/s-and-p-500-companies}}, vrátane zaradenia do príslušnej oblasti podnikania.

        \begin{lstlisting}[caption={Zoznam symbolov S\&P 500},label={code:constituents}]         
Symbol,Name,Sector
ABT,Abbott Laboratories,Health Care
ABBV,AbbVie Inc.,Health Care
ACN,Accenture,Information Technology
ACE,ACE Limited,Financials
ACT,Actavis Inc,Health Care
ADBE,Adobe Systems Inc,Information Technology
AES,AES Corp,Utilities      
...
        \end{lstlisting}

        Následne sa vypočítajú percentuálne zmeny výnosov, ktoré sa znížia o úrokovú mieru bezrizikového aktíva (na tento účel boli použité krátkodobé americké dlhopisy). V každom roku sa pri tom predpokladá 252 obchodovateľných dní (kód \ref{code:excessdaily}).

        \begin{lstlisting}[caption={Výpočet výnosov upravených o riziko},label={code:excessdaily}]
s["pct_daily_ret"] = s["Adj Close"].pct_change()    
s["excess_daily_ret"] = s["pct_daily_ret"] - risk_free/252
        \end{lstlisting}

        Tento krok má za následok posun optimálneho portfólia, pretože berieme do úvahy potenciálne bezrizikovú investíciu ako alternatívu k súboru skúmaných portfólií. 

        Nakoniec sa dáta uložia do formátu HDF5 - ide o formát vyvynutý organizáciou \textit{National Center for Supercomputing Applications} navrhnutý na skladovanie a rýchlu manipuláciu s veľkým objemom numerických dát.\footnote{Viac o formáte HDF5: \url{http://www.hdfgroup.org/HDF5}}

        \subsection{Posuvné okno}
        Selekcia komponentov portfólia a jeho následná optimalizácia prebiehajú vždy vzhľadom na určitý časový úsek, nazvime ho \textit{posuvné okno} (obr. \ref{fig:window}). Ak by sme teda chceli vybrať optimálne portfólio pre dnešný dátum, nachádzal by sa v pravej časti posuvného okna a analyzovali by sme historicé dáta cien aktív niekoľkých mesiacov alebo rokov do minulosti. Následne by sme vybrali zložky portfólia a aplikovali optimalizáciu. Pozíciu tohoto portfólia by sme ďalej držali na dobu nášho investičného horizontu. Tento proces sa opakuje vždy po dosiahnutí investičného horizontu, ktorý tiež môže mať šírku niekoľkých mesiacov alebo rokov.

        \begin{figure}[h]        
        \begin{center}
        \includegraphics[width=0.5\textwidth]{okno2.png} 
        \end{center}
        \vspace{-5 mm}\caption{Posuvné okno analýzy (Zdroj: vlastný)}
        \label{fig:window}
        \end{figure}

        Je potrebné si uvedomiť, že rozmedzie dátumov vo veľkej miere ovplyvňuje výkonnosť portfólia. Podstatnejšia je z nášho hľadiska ani nie tak absolútna hodnota rozmedzia týchto parametrov, ako ich relatívna vzájomná hodnota. Intuitívne by mala byť analyzovaná oblasť širšia ako investičný horizont. 
        Príliš malé rozmedzie dátumov nemusí mať dostatočnú štatistickú výpovedú hodnotu, a zároveň priveľké rozmedzie nemusí byť dostatočne citlivé na zmenu dynamiky na trhu. Pričasté zásahy do portfólia by tiež mali za následok zvýšenie nákladov za transakčné poplatky.

        Na odhadnutie optimálnych hodnôt týchto parametrov bude preto potrebné vykonať sériu experimentov.

        \subsection{Účelová funkcia}
        Účelová funkcia je dôležitou časťou modelu, pretože je zodpovedná za alokáciu jednotlivých zložiek portfólia. Našim cieľom je nájsť portfólio ktoré by malo maximálne výnosy pri minimálnom riziku. Na tento účel bol použitý Sortinov index (kap. \ref{sec:sortino}), pretože nepenalizuje kladné výnosy, naopak - riziko odhaduje iba z negatívnych výnosov (teda strát). 

        \subsubsection{Výpočet rizika poklesu}
        Ako bolo popísane v teoretickej časti, na výpočet rizika poklesu existuje niekoľko rôznych metód, z čoho vypýva, že aj Sortinov index bude mať viacero podôb.
        Diskrétne riziko poklesu ide v jazyku python jednoducho implementovať pomocou dátových štruktúr modulu {\tt pandas} (kód \ref{code:sortinod}). Parameter {\tt returns} je typu {\tt pandas.Series} a negatívne výnosy sa odfiltrujú v piatom riadku, pričom parameter {\tt target} je implicitne nulový. 

        \begin{lstlisting}[caption={Výpočet diskrétneho Sortinovho indexu (Zdroj: vlastný)},label={code:sortinod}]
def sortino_d(returns, target=0):
    """ Discrete sortino ratio """    
    f_mean = returns.mean()
    days = 252
    negative_returns = returns[returns < target]          
    downside_risk = np.sqrt((negative_returns**2).mean())
    f_sortino = f_mean * np.sqrt(days) / downside_risk
    return f_sortino  
        \end{lstlisting}

        Spojitá forma rizika poklesu zahŕňa aplikáciu určitého integrálu na funkciu hustoty pravdepodobnosti pozorovaného rozdelenia. Na určenie parametrov rozdelenia bude použitá funkcia {\tt scipy.stats.rv\_continuous.fit}, ktorá na dáta aplikuje metódu maximálnej vierohodnosti. Ako bude popísané ďalej, v modeli bude aplikované Johnsonovo $S_U$ rozdelenie. V prvom kroku sa teda vypočítajú parametre rozdelenia výnosov. V druhom kroku sa táto funkcia hustoty pravdepodobnosti použije na zostavenie funkcie rizika poklesu (obr. \ref{fig:downsideriskfunction}). Nakoniec sa funkcia rizika poklesu integruje v intervale $(-\infty, target)$ použitím funkcie {\tt scipy.integrate.quad}.

        \begin{figure}[h]
        \begin{center}
        \includegraphics[width=0.8\textwidth]{downsideriskfunction.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Funkcia rizika poklesu pre $t = 0$ (Zdroj: vlastný)}
        \label{fig:downsideriskfunction}
        \end{figure}

        Výsledný kód \ref{code:sortinoc} je implementáciou Sortinovho indexu využitím metodiky PMPT na výpočet rizika poklesu z kap. \ref{subsec:pmpt}, nazvime ho \textit{spojitý Sortinov index}.

        \begin{lstlisting}[caption={Výpočet spojitého Sortinovho indexu (Zdroj: vlastný)},label={code:sortinoc}]
def sortino_c(returns, target=0):
    """ PMPT continuous Sortino """
    """ Returns and target are in annualized percent """
    
    # annualized target in percent to daily percent target
    target = target / 252.0    

    # get params of shape of distribution
    params = scipy.stats.johnsonsu.fit(returns.dropna())
    
    # downside risk from PMPT
    f = lambda x: (target - x)**2 \
    	* scipy.stats.johnsonsu.pdf(x,*params)    
    
    # integrate over function
    i, abs_error = scipy.integrate.quad(f, -numpy.inf, target)
    
    return np.sqrt(252) * (returns.mean() - (target)) / np.sqrt(i)    
        \end{lstlisting}        

        Doporučený výpočet rizika poklesu podľa PMPT je spojitá metóda. Z hľadiska optimalizácie však ide o pomerne náročný výpočet\footnote{Merania ukázali, že spojitá forma je 450 až 500 krát pomalšia ako diskrétna. Analýza profilerom kódu ukázala, že je to z dôvodu použitia MLE a numerickej integrácie v pomere 60:40 výpočtového času.}, preto bude na optimalizáciu portfólia v modeli použitá diskrétna forma. Spojitá sa využije pri selekcii portfólia, kde je výpočtov aj o dva rády menej. Tento postup nie je celkom korektný, avšak výpočet sa tým značne zjednodušuje a pri dostatočnom rozsahu dát dosahuje uspokojivú výpovednú hodnotu rizika.

        Ďaľšou časťou účelovej funkcie je implementácia transakčných nákladov v podobe penálty. V prvotnej verzii účelovej funkcie bola transakčná penálta započítaná v prípade, že váha daného aktíva v portfóliu bola nenulová. Pri testovaní modelu sa však ukázalo, že častice mali tendenciu ostávať na nulovej hodnote váhy aktíva, pretože už pri malom percente alokácie bola do účelovej funkcie započítaná celá penálta. To znamenalo veľkú negatívnu zmenu účelovej funkcie a takmer nulovú pozitívnu zmenu, pretože malá váha aktíva nemala takmer žiadny vplyv na diverzifikáciu rizika ani na výnosy.

        Vhodným riešením sa ukázalo byť lineárne aplikovanie penálty do úrovne rovnomerne vyváženého portfólia  (obr. \ref{fig:penalty}, koeficient penálty $p$, váha alokácie $w$). Tým pádom sa častice ``neboja'' preskúmať oblasť mimo nuly, pretože zmena nie je nárazová a zároveň sú takpovediac na naklonenej rovine, teda musia preukázať pozitívny prínos k Sortinovmu indexu. Súčet koeficientov penálty každého aktíva v portfóliu sa následne rovnomerne aplikuje na výnosy portfólia pre daný horizont v podobe transakčných nákladov. Tento výpočet sa vykonáva osobitne od výpočtu skutočných nákladov v simulácii.
                
        \begin{figure}[h]
        \begin{center}
        \includegraphics[width=0.6\textwidth]{penalty.jpg}  
        \end{center}
        \caption{Lineárna aplikácia penálty pri desiatich aktívach (Zdroj: vlastný)} 
        \label{fig:penalty}
        \end{figure}

        Ďaľšou penáltou, ktorá bola testovaná je diverzifikačná penálta, ktorá zabraňovala vytváraniu portfólií s malým počtom komponentov. Jej koeficient je však potrebné odhadnúť vzhľadom na počet aktív v portfóliu. Dobré výsledky vzhľadom na počet komponentov $n$ poskytoval koeficient $k = 3/n$. Schematická podoba účelovej funkcie má tvar vzťahu \ref{eq:utilityfunction}, kde $r$ sú výnosy, $w$ je alokačný vektor, $i$ je výška investície a $t_c$ sú transakčné poplatky.
        Pretože niektoré použité optimalizátory predpokladajú minimalizačnú úlohu, účelová funkcia má znamienko mínus.
        
        \begin{equation}
            \label{eq:utilityfunction}
            U(\pmb{r, w}, i, t_c) = -sortino_d(\pmb{r}) + P_{c}(\pmb{w},t_c,i) + P_{d}(\pmb{w}) 
        \end{equation}            
        
        \subsection{Selekcia portfólia}
        Výber komponentov portfólia je ovplyvnený historickou výkonnosťou jednotlivých aktív v rámci posuvného okna. Na meranie výkonnosti aktív bude použitý Sortinov index, pričom do portfólia budú zaradené tie komponenty, ktoré v rámci rozmedzia dátumov posuvného okna zaznamenali najlepšie hodnoty. Počet komponentov portfólia je pritom možné zadať ako parameter selekcie. Tabuľka \ref{tab:sorted} obsahuje výber desiatich najvýkonnejších aktív indexu S\&P 500 na začiatku roka 2014 pre šírku posuvného okna jeden rok.
        Netflix Inc. v tomto prípade dosiahol najlepšie hodnotenie pomeru výnosu k riziku.

        % graf aktiv

        Ako možno vidieť v tabuľke, systém nastavil rovnomerné počiatočné rozdelenie aktív. Tie je následne potrebné optimalizovať.

        \begin{table}
        \centering        

        \begin{tabular}{l*5r} 
        \toprule        
        Symbol & weights & mean     & std      & sharpe   & sortino  \\\midrule
        
        NFLX   & 0.1     & 0.006042 & 0.041142 & 2.331095 & 6.317351 \\
        NOC    & 0.1     & 0.002098 & 0.010101 & 3.297890 & 5.960571 \\
        AIZ    & 0.1     & 0.002493 & 0.011933 & 3.316861 & 5.733895 \\
        ADS    & 0.1     & 0.002164 & 0.010569 & 3.249599 & 5.662121 \\
        BBY    & 0.1     & 0.005161 & 0.028393 & 2.885207 & 5.478466 \\
        MCK    & 0.1     & 0.001901 & 0.011495 & 2.625851 & 5.452144 \\
        ACT    & 0.1     & 0.002723 & 0.015419 & 2.803103 & 5.381757 \\
        MA     & 0.1     & 0.001935 & 0.011285 & 2.722248 & 5.168223 \\
        TMO    & 0.1     & 0.002118 & 0.011701 & 2.872821 & 4.982586 \\
        GOOGL  & 0.1     & 0.001651 & 0.013780 & 1.902446 & 4.863535 \\\bottomrule
    
        \end{tabular}
        \caption{Selekcia komponentov portfólia podľa Sortinovho indexu}
        \label{tab:sorted}
        \end{table}

        \begin{figure}[h]         
        \begin{center}
        \includegraphics[width=1\textwidth]{2014-best.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Jednotlivé výnosy aktív portfólia}
        \label{fig:2014-best}
        \end{figure}

        \subsection{Optimalizácia portfólia}
        Model využíva na optimalizáciu niekoľko optimalizačných metód:
        \begin{itemize}
            \item simulované žíhanie,
            \item optimalizácia rojom častíc,
            % TODO doplnit
        \end{itemize}     

        Každá z metód ma špecifické parametre, ktoré ovplyvňujú vlastnosti vykonanej optimalizácie ako napr. rýchlosť konvergencie, optimálnosť riešenia, pamäťová a časová náročnosť. 
        % Úlohou optimalizátora je nájsť takú kombináciu alokácie aktív portfólia, aby účelová funkcia tejto kombinácie dosahovala globálneho extrému.
        Primárnou optimalizačnou metódou modelu je optimalizácia pomocou častocového roja, PSO bližšie popísaná v kap. \ref{subsec:pso}.

        Jej implementácia v jazyku Python nie je náročná, pretože je možné bezproblémovo využiť vektorové operácie na polia. Kód hlavného iteračného cyklu vidno v kóde \ref{code:pso}. 

        Ako ukončovacie kritérium optimalizácie pomocou PSO bol zvolený stav keď priemer noriem vektorov rýchlosti častíc klesne pod minimálnu hodnotu (vzťah \ref{eq:stop-crit}).

        \begin{equation}
            \label{eq:stop-crit}
            \begin{split}
            {1 \over n} \sum_n \|\vec{v_n}\|  < 0.001 \\
            kde\\
            \|\vec{v}\| = \sqrt{v_1^2 + \cdots + v_n^2}.                
            \end{split}
        \end{equation}

        \begin{minipage}{0.96\textwidth}
        \begin{lstlisting}[caption={Implementácia PSO v jazyku Python (hlavný iteračný cyklus)},label={code:pso}]     
while i < iter_max :        
    for p in particles:
        utility = u(p.params)
        if utility < p.utility:
            p.utility = utility
            p.best = p.params                
        if utility < gbest.utility:                
            gbest = p
        p.v = w*p.v \
        + c1 * numpy.random.random(1) * (p.best - p.params) \
        + c2 * numpy.random.random(1) * (gbest.params - p.params)
        p.params = p.params + p.v            
    i += 1
    if i>iter_max:
        break
    if pandas.Series(map (lambda x : numpy.linalg.norm(x), 
        [px.v for px in particles]) ).mean() < 0.001:
        print "Saturated"
        break
        \end{lstlisting}
        \end{minipage}


        Napriek tomu, že kód vyzerá skôr ako pseudokód, až na inicializáciu častíc a importovanie knižníc ide o plne funkčný kód. Väčšinu z jeho funkcionality a výpočtov možno intuitívne spojiť s postupom popísaným v kap. \ref{subsec:pso}. Jediným menej intuitívnym krokom je výpočet ukončovacej podmienkym v ktorom je použitý lambda výraz. V tomto riadku sa mapuje funkcia knižnice numpy -- {\tt linalg.norm(x)} (výpočet normy vektoru) -- na zoznam s vektormi rýchlostí jednotlivých častíc. Výsledný zoznam sa pomocou rady {\tt pandas.Series} spriemeruje, čím dostávame kompletný vzťah \ref{eq:stop-crit}.            

        Aplikovaním optimalizácie PSO na portfólio z predošlej kapitoly dostávame optimalizované portfólio. Obr. \ref{fig:utility} ukazuje konvergenciu hodnoty účelovej funkcie a na obr. \ref{fig:speed} vidno ako sa zmení priemerná rýchlosť častíc pri objavení nového optima.
        
        \begin{figure}[h]         
        \begin{center}
        \includegraphics[width=0.8\textwidth]{utility2.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Konvergencia hodnoty účelovej funkcie f(x) pri PSO (Zdroj: vlastný)}
        \label{fig:utility}
        \end{figure}
        
        \begin{figure}[!h]         
        \begin{center}
        \includegraphics[width=0.8\textwidth]{speed.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Vývoj priemernej rýchlosti častíc PSO pri objavení nového optima (Zdroj: vlastný)}
        \label{fig:speed}
        \end{figure}


        \subsubsection{Obmedzenia optimalizácie}
        Z podstaty riešeného problému je potrebné aby súčet alokácií dával dohromady 100\%, pretože chceme využiť všetok dostupný kapitál. Častým riešením toho problému je úprava \textit{krokovej funkcie} algoritmov, ktorá má na starosti posun vo vyhľadávacom priestore takým spôsobom aby zamedzovala posunutie mimo povolenej zóny. Iné riešenie predstavuje úpravu účelovej funkcie, aby penalizovala riešenia, ktoré nespĺňajú stanovené obmedzenia.

        Metóda, ktorá bude použitá v tejto práci spočíva v transformácii vektoru optimalizátora takým spôsobom, aby každý prehľadávaný bod vyhľadávacieho priestoru predstavoval možné riešenie. Vzťah použitý na túto transformáciu je \ref{eq:transformation}, pričom $\vec{w_t}$ je transformovaný vektor alokácie $\vec{w}$, a $w_i$ je zložka vektoru dimenzie $i$. 
        \begin{equation}
            \label{eq:transformation}
            \vec{w_t} = \vec{w} {1 \over \sum_i w_i}
        \end{equation}

        Súčet zložiek tak bude po transformácii pre akýkoľvek nenulový vektor rovný jednej.

        % \subsection{Meranie výkonnosti}
    \FloatBarrier
    % \afterpage{\clearpage} % flushes float content
    \section{Optimalizácia modelu}
    	V tejto časti budú testované rôzne kombinácie parametrov modelu s cieľom zvýšiť jeho stabilitu a určiť vhodné optimalizačné postupy.

        \subsection{Odhad distribúcie výnosov}
        \label{sub:dist-estimate}
        V post-modernej teórii portfólia predstavuje odhad distribučnej funkcie výnosov dôležitý prvok určujúci presnosť štatistických výpočtov, pretože na rozdiel od MPT sa pri výpočtoch nepoužívajú diskrétne hodnoty výnosov.

        V zásade ide o to použiť také rozdelenie, ktoré umožňuje asymetriu. V literatúre sa na tento účel často používa logaritmicko-normálne rozdelenie s troma parametrami. \cite{sortino2001managing}

        Po niekoľkých analýzach historických dát sa však ukazuje, že výnosy aktív kopírujú niektoré rozdelenia lepšie ako logaritmicko-normálne rozdelenie. Z tohoto dôvodu bol v rámci práce vykonaný experiment, v ktorom boli analyzované jednotlivé výnosy akcií indexu S\&P 500 v horizonte 10 rokov (teda súbory s max. 2521 bodmi). 

        Na orientačné určenie vhodných distribúcií bol použitý index \textasciicircum{GSPC}, na ktorý boli pomocou \textit{metódy maximálnej vierohodnosti} (MLE) postupne aplikované známe štatistické modely. Z množiny 80 modelov\footnote{http://docs.scipy.org/doc/scipy-0.14.0/reference/stats.html} boli na základe Kolmogorov–Smirnovho testu vybrané distribúcie s najvyššou p-hodnotou.  
        Následne bol tento postup použitý na všetky zložky indexu, priemerné p-hodnoty sú v tabuľke \ref{tab:meanp}. Z výsledkov vyplýva, že výnosy najlepšie kopírujú Johnsonovo $S_U$ rozdelenie (obr. \ref{fig:marketdistr}).

        \begin{table} 
        \centering
        \begin{tabular}{llr} 
        \toprule
        Rozdelenie & Model scipy & priemerná p-hodnota  \\
        \midrule
        Johnsonovo $S_U$ r. & johnsonsu   & 0.840181 \\
        Excentrické študentovo r. & nct         & 0.801890 \\
        Gama r. &dgamma      & 0.333378 \\
        Weibullovo r. & dweibull    & 0.299329 \\
        Hyperbolické r. & hypsecant   & 0.232530 \\
        Laplaceovo r. & laplace     & 0.195377 \\
        Logistické r. & genlogistic & 0.059185 \\
        Gen. normálne r. & powernorm   & 0.003631 \\
        Logaritmicko-normálne r. & lognorm     & 0.003261 \\
        Normálne r. & norm        & 0.003129 \\\bottomrule        
        \end{tabular}
        \caption{Priemerné p-hodnoty výnosov pre jednotlivé rozdelenia (Zdroj: vlastný)}
        \label{tab:meanp}
        \end{table}

        \begin{figure}[h]         
        \begin{center}
        \includegraphics[width=0.9\textwidth]{market10y.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Odhad rozdelenia výnosov trhu - Johnsonovo $S_U$ rozdelenie (Zdroj: vlastný)}
        \label{fig:marketdistr}
        \end{figure}

        \subsection{Optimalizácia posuvného okna}
        Úlohou tohoto experimentu je odhadnúť vhodný pomer šírky posuvného okna vzhľadom na investičný horizont. Pre dáta z posuvného okna určitej šírky najprv určíme optimálne parametre Johnsonovho $S_U$ rozdelenia pomocou MLE. Predpokladáme, že dáta investičného horizontu budú mať určitú dobu rozdelenie podobné tomu z posuvného okna. Potrebujeme teda zistiť pre akú hodnotu šírky investičného horizontu, vieme s určitou mierou štatistickej významnosti vyvrátiť nulovú hypotézu, že vzorka dát z okna investičného horizontu už nemá parametre rozdelenia posuvného okna.

        Tento experiment nemá byť exaktným postupom na vypočet optimálnych parametrov okna, taký postup zrejme ani nie je možný.
        Cieľom je systematicky určiť hranicu, od ktorej je možné zo štatistického hľadiska tvrdiť neplatnosť predpokladov a na základe tejto hranice určiť vhodný investičný horizont.

        Šírka posuvného okna bola pre experiment určená na 2 roky s ohľadom na dostatočný rozsah dát a zároveň schopnosť okna prispôsobovať sa zmenám dynamiky na trhu. Testovacie dáta predstavujú denné hodnoty  indexu S\&P 500 (ticker \textasciicircum{GSPC}) s rozhraním 10 rokov. Zámerne nebol zvolený väčší rozsah, aby rozdelenia presnejšie reflektovali extrémne udalosti posledných rokov.  

        Na testovacích dátach bolo pre každú šírku horizontu vykonaných 84 meraní aplikovaním Kolmogorov-Smirnovovho testu pre šírky horizontu až do úrovne šírky posuvného okna (730 dní). P-hodnoty pre jednotlivé šírky horizontu boli následne spriemerované (obr \ref{fig:horizont}).  

        \begin{figure}[h]             
        \begin{center}
        \includegraphics[width=0.8\textwidth]{bestHorizontSimulation-2y-200M-fit-johnson-final.pdf} 
        \end{center}
        \vspace{-5 mm}\caption{Predikčná schopnosť modelu vzhľadom na veľkosť horizontu (Zdroj: vlastný)}            
        \label{fig:horizont}
        \end{figure}

        Pri štatistickej významnosti $\alpha = 10\%$ možno teda povedať, že horizont s rozsahom viac ako 200 dní nemá rovnaké rozdelenie pravdepodobnosti ako posuvné okno so šírkou 2 roky. V pomerových číslach by teda malo byť posuvné okno aspoň 3,65-krát širšie ako investičný horizont. V modeli bude preto použitý pomer 5:1.
        

        % \subsection{Simulované žíhanie}
            % metaoptimalizacia teploty a ost. param.

        \subsection{Optimalizácia parametrov PSO}

            \subsubsection{Sociálny a kognitívny parameter}
            Tieto parametre spolu s parametrom hybnosti ovplyvňujú konvergenčné vlastnosti častíc. Pri tomto experimente bude pozorovaná schopnosť častíc konvergovať k optimu pre meniace sa parametre c1 a c2 pri stálych parametroch počtu populácie a parametru hybnosti. 

            Experiment bol pre rýchlosť výpočtu vykonaný v piatich dimenziách (päť aktív) pri hodnote parametru hybnosti $w=0.7$ a 100 iterácií. Priemerné výsledky nájdeného optima z desiatich meraní zobrazuje obr. \ref{fig:pso-convergence}.

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.8\textwidth]{c2.pdf} 
            \end{center}
            \caption{Priemerné hodnoty účelovej funkcie pre rôzne kombinácie $c1$ a $c2$}            
            \label{fig:c12}
            \end{figure}

            \begin{figure}[h]         
            \begin{center}
            \includegraphics[width=0.8\textwidth]{c3i.pdf} 
            \end{center}
            \caption{Priemerné hodnoty počtu iterácií do konvergenice (Zdroj: vlastný)}
            \label{fig:c12i}
            \end{figure}

            Najlepšie výsledky dosiahli kombinácie $c_1, c_2 = [1.0,1.2], [1.4, 1.8]$ avšak ich rozdiel nie je oproti ostatným hodnotám výrazný. Z výsledkov nie je možné určiť gradient ako obr. \ref{fig:c12}, preto bude v modeli použitá odporúčaná kombinácia hodnôt $c_1, c_2 = 1.49618$ a $w=0.7298$. Tento výber potvrdzujú aj merania odporúčaných hodnôt (tab. \ref{tab:nicevarsresults}), kde táto kombinácia dosahuje dobrý pomer výkonnosti k priemernému počtu iterácií.

            Pri meraní priemerného počtu iterácií pre meniace sa hodnoty $c_{1,2}$ (obr. \ref{fig:c12i}) možno pozorovať zvyšovanie počtu iterácií pre väčšie $c_1+c_2$, ako aj častejšie divergencie pri $c_1 \neq c_2$ (tmavomodré oblasti). Je to spôsobené zvýšeným faktorom náhody, ktorý do výpočtu tieto parametre vnášajú nad hranicou 1, tým pádom spôsobujú silnejšie oscilácie vektoru rýchlosti, ktorý je inak utlmovaný parametrom $w$.
            

            % -----------

            \begin{table}
                \centering 
                \begin{tabular}{rrrr}
                \toprule        
                w & $c_{1,2}$       & Iterácie  & Účelová funkcia\\\midrule
                0.001 & 2.0          &  78.400 $\pm$ 47.838 & 3.282 $\pm$ 0.142 \\
                0.7298 & 1.49618    & 170.200 $\pm$ 35.007 & 3.423 $\pm$ 0.052 \\
                0.7 & 1.4           & 121.000 $\pm$ 24.545 & 3.412 $\pm$ 0.066 \\
                0.7 & 2.0           &   773.900 $\pm$ 252.548 & 3.452 $\pm$ 0.060 \\
                0.9 & 2.0           &  neskonvergoval &  - \\\bottomrule
                \end{tabular}                        
                \caption{Priemerný počet iterácií do konvergencie (Zdroj: vlastný)} 
                \label{tab:nicevarsresults}
            \end{table}


            \subsubsection{Veľkosť populácie častíc}
            Úlohou tohoto experimentu bude určiť optimálny počet častíc vzhľadom na počet dimenzií problému, teda počet aktív portfólia. Očakáva sa, že so zvýšením počtu častíc by malo dôjsť k rýchlejšej konvergencii a nájdeniu optimálnejších výsledkov.

            V prvom kroku sa spustí optimalizácia pre fixný počet aktív pre rôzny rozsah populácií a bude sa sledovať konvergencia účelovej funkcie. Keďže PSO je stochastický algoritmus, treba meranie pre každý rozsah populácie vykonať niekoľko krát a výsledky spriemerovať, aby sme získali lepšiu predstavu o výkonnosti častíc. 

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.9\textwidth]{particles5D.pdf} 
            \end{center}
            \caption{Konvergencia účelovej funkcie pre rôzne veľkosti populácie (Zdroj: vlastný)}            
            \label{fig:particles5D}
            \end{figure}

            Obr. \ref{fig:particles5D} zobrazuje vývoj účelovej funkcie pre rôznu veľkosť populácie pri piatich dimenziách. Všetky prípady skonvergovali, niektoré z menšími populáciami uviazli v lokálnom optime. Možno potvrdiť zrýchlenie konvergencie so zvyšujúcim počtom častíc. 
            Podľa vzťahu \ref{eq:swarm-size} by však napr. pre 50 dimenzií malo stačiť 24 častíc. Merania ukazujú, že tento počet nie je pre charakter úlohy dostačujúci, preto bude potrebné optimálny vzťah odvodiť od pozorovaných hodnôt empiricky.

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=1.0\textwidth]{dpu2.pdf} 
            \end{center}
            \vspace{-5 mm}
            \caption{Účelová funkcia vzhľadom na počet častíc a dimenzií\\(Zdroj: vlastný, software: Matplotlib)}
            \label{fig:dptuc}
            \end{figure} 

            Druhým predpokladom bolo, že zvýšenie počtu častíc povedie k optimálnejším výsledkom. Výsledky merania tento efekt potvrdzujú, priemernú hodnotu účelovej funkcie vzhľadom na počet častíc a rozsah problému zobrazuje obr. \ref{fig:dptuc}. Na obr. je vidieť, že pri piatich dimenziách problému dosiahlo desať častíc porovnateľné výsledky ako optimalizácia s vyšším počtom častíc, teda táto hodnota je postačujúca. Pre dvadsať dimenzií však už možno pozorovať odchýlku od ostatných optimalizácií v rámci dimenzie. Pri 35 dimenziách je badateľné, že desať častíc nemá dostatočnú prehľadávaciu silu a ostávajú uviaznuté v lokálnom extréme hlboko pod optimálnou úrovňou.  

            Z grafu a ďaľších meraní bol odhadnutý počet optimálnych častíc pre rôzne počty dimenzií a na základe regresnej analýzy (obr. \ref{fig:regr}) bol určený vhodný vzťah medzi optimálnym počtom častíc a počtom aktív. 

            \begin{figure}[h]            
            \begin{center}
            \includegraphics[width=0.8\textwidth]{wolfram2.png} 
            \end{center}
            \vspace{-5 mm}
            \caption{Regresná analýza optimálneho vzťahu počtu častíc a dimenzií PSO (Zdroj:vlastný, software: Wolfram Aplha)} 
            \label{fig:regr}
            \end{figure}             

            Z regresnej analýzy bol vybraný kvadratický vzťah, pretože najlepšie reprezentoval vzťah aj mimo bodov regresie. Graf optimálneho vzťahu častíc a dimenzií je na obr. \ref{fig:regrfinal}

            \begin{figure}[h]            
            \begin{center} 
            \includegraphics[width=0.7\textwidth]{particleseq.png} 
            \end{center}
            \vspace{-5 mm}
            \caption{Výsledný vzťah regresie (Zdroj: vlastný, software: Wolfram Aplha)} 
            \label{fig:regrfinal}
            \end{figure}             
            
        \subsection{Použitie alternatívnej metaheuristiky}
        V tomto teste bude porovnaná výkonnosť metaheuristík PSO a simulovaného žíhania. Tabuľka \ref{tab:annealcomp} obsahuje priemerné hodnoty meraní pre rôzne počty aktív.
        Simulovahé žíhanie dosahuje pri menšom počte aktív podobných výsledkov ako PSO za nižší čas, avšak pri dvadsiatich aktívach nedosahuje optimálnych výsledkov. Z tohto hľadiska sa javí PSO ako ideálnejšia optimalizačná metóda pri väčšom rozsahu problému. 
        

        \begin{table}
            \centering 
            \begin{tabular}[width=4cm]{llrr}
            \toprule        
            Počet aktív & 					& PSO 	& simulované žíhanie \\\midrule
            5 			& účelová funkcia	& 2.964	& 2.952 \\             
            			& počet výpočtov 	& 4060	& 3608 	\\             
            			& čas (s)			& 14.3	& 13.8  \\\midrule             

            10 			& účelová funkcia	& 2.973	& 2.943\\             
            			& počet výpočtov 	& 9361	& 6143\\             
            			& čas (s)			& 25.3	& 19.8\\\midrule             

            20 			& účelová funkcia	& 4.250	&  3.922 \\             
            			& počet výpočtov 	& 21154	& 11763 \\             
            			& čas (s)			& 45.3	& 23.1 \\\bottomrule            
            \end{tabular}        
            \caption{Porovnanie výkonnosti PSO so simulovaným žíhaním} 
            \label{tab:annealcomp}
        \end{table} 

        \subsection{Zhrnutie optimalizácie}
        Cieľom tejto časti bolo určiť vhodné parametre modeu s ohľadom na jeho stabilitu. Johnsonove $S_U$ rozdelenie sa v teste ukázalo ako najvhodnejšie na odhad distribúcie výnosov. Ako optimálne sa ukázali kombinácie kognitívneho a sociálneho parametru PSO na úrovni 1.49618 pri parametre hybnosti 0.7298 kedy model dosahoval najlepšieho pomeru počtu iterácií k nájdenému výsledku. Bol odhadnutý minimálny pomer posuvného okna k investičnému horizontu na pomer 1:5. Regresnou analýzou nameraných hodnôt bol určený optimálny vzťah počtu častíc a dimenzií. Posledný test ukázal, že pri väčšom počte aktív dosahuje lepšie výsledky optimalizácia PSO oproti simulovanému žíhaniu.

    % \clearpage
    \FloatBarrier
    \section{Prípadové štúdie}
        V tejto časti bude vytvorený investičný model testovaný na historických dátach. Jeho úlohou bude optimalizovať portfólio v rámci časového horizontu vo vopred určených intervaloch. Výsledky budú analyzované a bude zhodnotená úspešnosť selekcie aj alokácie aktív.

        \subsection{Globálna finančná kríza 2008-2009}
        Finančná kríza v rokoch 2008-2009 je mnohými ekonómami považovaná za najhoršiu finančnú krízu od Veľkej hospodárskej krízy v tridsiatych rokoch. Dôvodom bolo prasknutie bubliny amerického hypotekárneho trhu, ktoré vyvrcholilo v roku 2006. Veľkým finančným inštitúciám hrozil totálny kolaps a museli byť zachraňované vládami po celom svete. Trh s cennými papiermi popri tom celosvetovo utrpel veľký pokles.

        V tejto prípadovej štúdii bude testovaná schopnosť modelu prekonať krízu v rokoch 2008-2009 a hlavne pozorovať rýchlosť zotavenia. Keďže budú ako vstupné dáta použité indexy akcií S\&P 500, ktoré sú označované ako ``blue chip'' akcie\footnote{Označenie \textit{blue chip stocks} pochádza z pokru, kde modré čipy predstavujú najvyššiu hodnotu. Blue chip korporácie sú obyčajne stabilné firmy, ktoré zaujímajú vedúcu pozíciu vo svojom segmente a majú trhovú hodnotu rádovo v miliardách dolárov. (\url{http://www.investopedia.com/video/play/blue-chip/})}, ktoré predstavujú najväčšie americké firmy, očakáva sa vysoký stupeň korelácie s trhom. Ďaľšie svetové trhy neboli pridané zámerne, aby sa otestovala stabilita modelu v náročných podmienkach - teda na trhu, ktorý doslova celý spadne.

        V simulácií boli postupne použité rôzne počty aktív a bola pozorovaná výkonnosť v rokoch 2007 až 2014. V selekcii aj účelovej funkcii bol použitý diskrétny Sortinov index kvôli rýchlosti výpočtu. Dosiahnuté výsledky zobrazuje tabuľka \ref{tab:bench3}. Grafický výstup simulácie pre 30 aktív je na obr. \ref{fig:bench3}. Výkonnosť modelu je porovnávaná benchmarkami v dvoch aspektoch:
        \begin{itemize}
            \item Selekcia - schopnosť modelu výberu správnych komponentov, pričom mierou úspešnosti je rozdiel medzi krivkou trhu a rovnomerne váženým portfóliom.
            \item Optimalizácia - schopnosť modelu optimálne alokovať vybrané aktíva. Mierou úspešnosti je rozdiel výnosov optimalizovaného portfólia (stratégia sim) a sadou benchmarkov s alternatívnou alokáciou. Na tento účel boli použité tieto benchmarky:
            \begin{itemize}
                \item Rovnomere alokované portfólio (stratégia equal)
                \item Portfólio alokované v pomere priemerných výnosov (stratégia return)
                \item Portfólio alokované v pomere Sortinovho indexu (stratégia sortino)
                \item Portfólio alokované v pomere Sharpovho indexu (sharpe)
            \end{itemize}
        \end{itemize}

        % ---bench3  30p ----------

        \begin{sidewaystable}         
        \centering 
        \begin{tabular}{llrrrrrrr} 
        \toprule                  
        & & \multicolumn{6}{c}{Metriky výnosov} \\
        Počet aktív & Portfólio & Sortino  & $\phi$ denný výnos    & $\sigma$      & Celk. výnos (\%) & Výnos p.a. (\%)  & $VaR_{\alpha=5\%}$ (\%) \\\midrule 

        20 &Optimalizované (sim)    & 2.344815 & 0.000896 & 0.016449 & 282.051923 & 13.722892 & -11.316310 \\
        &Sortino benchmark          & 2.039363 & 0.000785 & 0.016439 & 259.610008 & 12.559559 & -11.325882 \\
        &Sharpe benchmark           & 2.006605 & 0.000778 & 0.016474 & 258.015788 & 12.473607 & -11.327442 \\
        &Rovnomerné (equal)         & 1.979446 & 0.000744 & 0.015991 & 251.082892 & 12.094323 & -11.026996 \\
        &Výnosové (return)          & 1.887699 & 0.000798 & 0.018007 & 262.229895 & 12.699811 & -12.525716 \\
        &S\&P 500 (market)          & 0.977289 & 0.000323 & 0.014082 & 165.699481 & 6.463141  & -9.712272  \\\midrule   

        30 &Optimalizované (sim)    & 2.304262 & 0.000860 & 0.015898 & 274.764900   & 13.354328 & -10.757825 \\
        &Sortino benchmark          & 1.946316 & 0.000739 & 0.016035 & 250.133425   & 12.041668 & -11.055496 \\
        &Sharpe benchmark           & 1.923749 & 0.000730 & 0.016050 & 248.288300   & 11.938838 & -11.043542 \\
        &Rovnomerné (equal)         & 1.873487 & 0.000696 & 0.015766 & 241.502496   & 11.554813 & -10.878929 \\
        &Výnosové (return)          & 1.848282 & 0.000767 & 0.017486 & 255.844036   & 12.355765 & -12.132338 \\
        &S\&P 500 (market)          & 0.977289 & 0.000323 & 0.014082 & 165.699481   & 6.463141  & -9.712272  \\\midrule 

        50 &Optimalizované (sim)    & 2.315187 & 0.000931 & 0.018459 & 289.259580 & 14.079326 & -12.207271 \\
        &Výnosové (return)          & 1.899121 & 0.000798 & 0.017889 & 262.129603 & 12.694464 & -12.336534 \\
        &Sortino benchmark          & 1.827906 & 0.000681 & 0.015732 & 238.345332 & 11.372909 & -10.837370 \\
        &Sharpe benchmark           & 1.801248 & 0.000671 & 0.015756 & 236.393334 & 11.259384 & -10.823812 \\
        &Rovnomerné (equal)         & 1.756852 & 0.000644 & 0.015601 & 230.865754 & 10.933394 & -10.732621 \\
        &S\&P 500 (market)          & 0.977289 & 0.000323 & 0.014082 & 165.699481 & 6.463141  & -9.712272  \\\bottomrule  
        

        \end{tabular}                         
        \caption{Výsledky simulácií počas rokov 2007-2014 pre rôzne veľkosti portfólií zoradené podľa výsledného Sortinovho indexu.\\Hodnota v riziku VaR je počítaná na dobu jedného mesiaca.} 
        \label{tab:bench3}
        \end{sidewaystable}


        \begin{sidewaysfigure}            
        \begin{center}
        \includegraphics[width=1.0\textwidth]{bench3-30b.pdf}  
        \end{center}
        \vspace{-5 mm}
        \caption{Výsledky simulácie počas rokov 2007-2014 pre portfólio o veľkosti 30 aktív. Doba výpočtu: 1 hod 35 min.\\Optimalizované portfólio (sim), benchmarky s rovnakou selekciou alokované rovnomerne (equal), podľa výnosov (return), Sortinovho a Sharpovho indexu. (Zdroj: vlastný, software: Matplotlib) }    
        \label{fig:bench3}
        \end{sidewaysfigure}


        Výsledky ukazujú, že portfólio s dvadsiatimi aktívami dosahuje najvyššieho Sortinovho indexu, avšak má však mierne vyššiu hodnotu v riziku ako portfólio s tridsiatimi komponentami. Portfólio s 50-timi aktívami dosiahlo najvyšší priemerný výnos ale aj najvyššie riziko.

        S narastajúcim počtom aktív možno pozorovať zvyšujúci sa pozitívny efekt optimalizácie - rozdiely simulácie od benchmarkov sú pri menších portfóliách nižšie ako pri veľkom portfóliu. Vo všetkých prípadoch však simulácia prekonala benchmarky vo všetkých metrikách, preto možno považovať selekciu aj optimalizáciu za úspešnú.

	    \subsection{Hedging pomocou indexu VIX}

		V tejto prípadovej štúdii bude do zoznamu aktív pridaný index VIX (obr. \ref{fig:vix}), ktorý je od svojej podstaty negatívne korelovaný k trhu. Očakáva sa, že model by mal rozpoznať nestabilitu na trhu a tento stav poistiť\footnote{Táto metóda sa nazýva hedging a jej cieľom je znížiť možné straty z obchodu.} tým, že časť portfólia alokuje do indexu VIX, ktorý je normálne obchodovateľný. Sledovaný bude časový úsek dvoch rokov počas krízy s~investičným horizontom jeden mesiac. Výsledok simulácie je na obr. \ref{fig:vixbench}, pričom na spodku grafu vidno alokačný pomer indexu VIX v danom čase.

		Je vidieť, že model aktívne vyžíval index VIX - v kritických momentoch bol alokovaný až na 29\% portfólia - a podarilo sa mu výrazne znížiť mesačné riziko poklesu VaR z $-15\%$ na $-9\%$. 

		Po necelých dvoch rokoch od prepuknutia krízy sa priemer trhu ešte len dostáva na pôvodnú nulovú hodnotu a portfólio už vykazuje $31,8\%$ zisku (v priemere $13,57\%$ p. a.). Porovnanie metrík s~benchmarkami je v tab. \ref{tab:vixbench}. Na obr. \ref{fig:vixbenchdistr} vidieť, ako optimalizácia portfólia eliminovala extrémne výnosy a prispela tak k zvýšeniu ich stability.

		\begin{table}         
		\centering 
		\begin{tabular}{lrrrr} 
		\toprule                  	
		Portfólio & Sortino  &   Celk. výnos (\%) & Výnos p.a. (\%)  & $VaR_{\alpha=5\%}$ (\%) \\\midrule 

		Optimalizované (sim)    & 0.755637  & 131.813584 & 13.570363 & -9.067471  \\
		Výnosové (return)          & 0.744748  & 155.328128 & 22.492052 & -15.671162 \\
		Rovnomerné (equal)         & 0.725725  & 146.119982 & 19.091522 & -13.125742 \\
		Sharpe benchmark           & 0.576958  & 137.370210 & 15.751432 & -13.710915 \\
		Sortino benchmark          & 0.559347  & 136.141244 & 15.273200 & -13.678329 \\
		S\&P 500 (market)          & -0.023435 & 98.225536  & -0.821434 & -15.609235 \\\midrule   

		\end{tabular}                         
		\caption{Výsledky simulácií počas rokov 2008-2009 s~použitím indexu VIX.\\Hodnota v~riziku VaR je počítaná na dobu jedného mesiaca. \\Ročný výnos predpokladá 252 obchodovacích dní.} 
		\label{tab:vixbench}
		\end{table}

	    \begin{figure}[h]            
	    \begin{center}
	    \includegraphics[width=1.0\textwidth]{vixbench.pdf}  
	    \end{center}
	    \vspace{-5 mm}
	    \caption{Hedging pomocou indexu VIX (Zdroj: vlastný)} 
	    \label{fig:vixbench}
	    \end{figure}         


	    \begin{figure}[h]            
	    \begin{center}
	    \includegraphics[width=0.8\textwidth]{vixdistr.pdf}  
	    \end{center}
	    \vspace{-5 mm}
	    \caption{Porovnanie distribúcie výnosov optimalizovaného portfólia a trhu\\(Zdroj: vlastný)} 
	    \label{fig:vixbenchdistr}
	    \end{figure}
        

    	% \subsection{Zhodnotenie prípadových štúdií}    


    \section{Možnosti rozšírenia} 
    Možnosti rozšírenia aplikácie sú nespočetné. Model, ktorý bol v~práci navrhnutý a implementovaný predstavuje iba skelet programu, ktorý by bol potrebný pre reálne použitie v~praxi. 

    Zaujímavým rozšírením by mohla byť dynamická adaptácia investičného horizontu vzhľadom na~volatilitu trhu. Tým by bola docielená rýchlejšia odozva v~prípade nečakaných zvratov na~trhu. 

    Iným vylepšením by mohla byť optimalizácia v~reálnom čase, kedy by model sústavne vyhodnocoval podmienky na~trhu a kalkuloval vhodné možnosti na~realokáciu, berúc do úvahy transakčné náklady.

    Z technologického hľadiska by bola napríklad potrebná integrácia brokerských platforiem a užívateľského rozhrania. Zvýšeniu výkonu by mohla pomôcť reimplementácia aplikácie do kompilovaného kódu.

    Z hľadiska finančníctva by bolo zaujímavé zahrnúť pokročilejšie modely narábajúce s~derivátmi ako opcie, forwardy, či swapy.

    % z hladiska statistiky kopuly


%=======================================================
% \setstretch{1.47}
% \vspace{-1.5cm}
% \vspace*{-2cm}
\chapternonum{Záver}

Diplomová práca sa zaoberala možnosťou využitia metaheuristiky na~optimalizáciu investičného portfólia. Úvodné kapitoly obsahovali teoreticé základy optimalizácie portfólia s~prehľadom používaných metód, ich výhod, či nedostatkov. Následne bola ozrejmená problematika optimalizácie a metaheuristík s~dôrazom na~metódu optimalizácie časticovým rojom. Syntézou týchto oblastí vznikol návrh a implementácia aplikácie v~jazyku Python, určenej na~periodickú optimalizáciu portfólia. 

Model počas svojho vývoja prešiel rozsiahlou optimalizáciou. Markowitzov model bol nahradený metódami Postmodernej teórie portfólia, vďaka čomu bolo možné presnejšie odhadnúť riziko investície. Na~odhad distribúcie výnosov bolo použité Johnsonove $S_U$ rozdelenie, keďže sa v~teste ukázalo ako najvhodnejšie zo skúmaných rozdelení. Sériou testov a experimentov boli určené optimálne parametre kognitívneho a sociálneho správania častíc optimalizácie, koeficientu hybnosti a regresnou analýzou nameraných hodnôt bol určený optimálny vzťah častíc vzhľadom na~počet dimenzií problému.

S úmyslom otestovať stabilitu implementovaného modelu v~náročných situáciách bola aplikácia testovaná na~udalostiach globálnej finančnej krízy v~rokoch 2008-2009. Model bol schopný adekvátne reagovať na~meniacu sa situáciu a aktívne využil opačne korelované komponenty na~zaistenie stability portfólila. Tým sa mu podarilo znížiť mesačné riziko poklesu z -15\% na~-9\% a vykázať ziskovosť 31,8\% v~čase, keď sa trh ešte len dostával na~pôvodnú hodnotu.

Model je napriek svojim dobrým výsledkom a prekonaniu stanovených benchmarkov len základom reálne využiteľnej aplikácie. Pre použitie v~praxi by bolo vhodné ho rozšíriť o ďaľšiu funkcionalitu, ako popisuje predošlá kapitola.

Z uvedeného je možné vyvodiť záver, že ciele práce boli naplnené a metóda metaheuristiky bola úspešne využitá na~optimalizáciu investičného portfólia. Ako hlavný prínos práce vidím jej akademický prínos, keďže rozsah použitej literatúry môže slúžiť ako významný zdroj poznatkov pre záujemcov o danú problematiku. Mimo teoretickej roviny je práca aj praktickým návodom na~implementáciu metód Postmodernej teórie portfólia, ktoré v súčasnosti využíva väčšina finančných inštitúcií. Okrem tohto prínosu má aplikácia vytvorená v tejto práci na~základe dobrých výsledkov potenciál na~vytvorenie ekonomického prospechu, či už pre firmy alebo jednotlivcov. V neposlednom rade je práca prínosom pre autora, v zmysle získania nových znalostí a zručností. Táto práca poukazovala na~spôsob použitia metaheuristiky pri optimalizácii investičného portfólia s~cieľom vytvorenia stabilného finančného prospechu.