Stiahnite si súbor s kódmi z prednášky 19.2.2019 a aktualizovaný súbor s funkciami. Pre Vami vybraný jeden kurz (nie EURUSD) a denné dáta urobte nasledovné:
- (Voliteľne) Ak chcete, zvoľte si inú objective-function; nazvite ju napr. objFun2(). Na default parametroch (prípadne aj na nejakých iných) porovnajte, čím sa nová funkcia líši od pôvodnej. Pre všetky príklady 2-5 použite potom túto novú funkciu, aby výsledky boli vzájomne porovnateľné.
- Nájdite optimálne parametre pomocou Nelder-Mead metódy, implementovanej vo funkcii optim(); pritom ako začiatočnú hodnotu zvoľte default parametre. Skúste metódu spustiť aj s inou začiatočnou hodnotou. V oboch prípadoch vypíšte optimálne parametre, hodnotu objective-funkcie a vykreslite výnosovú krivku (hodnoty skopírujte do R-súboru a obrázky uložte).
- Vyberte si jednu z ďalších metód (BFGS, CG, SANN) implementovaných vo funkcii optim() a zopakujte úlohu 2 s touto metódou.
- Navrhnite 5-rozmerný grid parametrov pinbar-stratégie (tak, aby obsahoval maximálne niekoľko tisíc riadkov) a pomocou grid-optimalizácie nájdite najlepšiu sadu parametrov. Ako v príklade 2 vypíšte optimálne parametre, hodnotu objective-funkcie, vykreslite výnosovú krivku a všetko uložte.
- Nájdite optimálne parametre pomocou randomSearch-optimalizácie (počet iterácií zvoľte napríklad 1000); nezabudnite tesne pred začatím optimalizácie nastaviť set.seed() kvôli replikovateľnosti Vašich výsledkov. Skúste túto localSearch-optimalizáciu spustiť ešte aspoň raz alebo dvakrát (s inými set.seed()) aby ste videli, že (veľmi pravdepodobne) dostanete zakaždým iné výsledky. Výsledky aj výnosové krivky uložte.
Všetky výsledky uložte vo forme komentára, hneď za príslušným R-kódom. Pri riešení nepoužite žiadnu z externých R-knižníc, len funkcie z nmf-functions-v03.R a prípadné Vaše funkcie.
R-súbor/súbory spolu so súbormi obrázkov zazipujte do súboru s názvom [priezvisko]-2.zip a pošlite na email vladimir.spitalsky (doména umb.sk) do 24.2.2019.