Osakesalkun optimointi Anni Halkola Epäsileä optimointi Turun yliopisto Huhtikuu 2016
Sisältö 1 Johdanto 1 2 Taustatietoja 2 3 Laskumetodit 3 3.1 Optimointiongelmat........................ 4 4 Epäsileän optimoinnin käyttäminen 5 5 Diskreetin gradientin menetelmä 7 5.1 Laskevan suunnan hakeminen.................. 7 5.2 Diskreetin gradientin algoritmi.................. 7 6 Algoritmien testaus 8 7 Rinnakkaistaminen 9 Lähde 9 1 Johdanto Tämä on Epäsileä optimointi -kurssin harjoitustyö, joka perustuu artikkeliin [1]. Osakesalkun optimoinnilla pyritään löytämään sijoituskohteille sopivat painokertoimet ja samalla toteuttamaan halutut riski- ja tuottovaatimukset. Value-at-risk (VaR) on yleinen riskienhallinnassa käytetty mitta. Toinen riskin mittari on odotettu alijäämä (ehdollinen VaR) CVaR, joka määritellään tappion ehdollisena odotusarvona, kun tappio ylittää VaR-rajan. Lineaarisen optimoinnin ja epäsileän optimoinnin tekniikoilla voidaan laskea VaR ja CVaR samalla, kun suoritetaan osakesalkun optimointi. Tämä perustuu myöhemmin esiteltävän epäsileän funktion F β minimointiin. 1
2 Taustatietoja Osakesalkussa on n kohdetta ja se esitetään kohteiden suhteellisten painokertoimien avulla. Merkitään painokerroinvektoria w R n ja w i 0, w i = 1. Merkitään vektorilla x R n kohteiden tulevia tuottoja, jotka ovat satunnaismuuttujia tiheysfunktiolla p(x). Jos kohde aiheuttaa tappiota, ajatellaan se negatiivisena tuottona. Osakesalkun tappio L(w, x) on satunnaismuuttuja ja esimerkiksi lineaarisessa tapauksessa L(w, x) = w T x = w i x i. Todennäköisyys, että tappio ei ylitä arvoa α määritellään seuraavasti P (L(w, x) α) = P (α) = p(x)dx. L(w,x) α VaR määritellään arvona, jota tappio L(w, x) ei ylitä todennäköisyydellä β (yleensä 95 %). Se voidaan esittää kvantiilina α β = min{α R : P (α) β}. CVaR (ψ β ) määritellään tappion L(w, x) odotusarvona ehdolla, että tappio on suurempi kuin α β (VaR). CVaR on muun muassa konveksi ja aliadditiivinen. ψ β = E(L(w, x) L(w, x) α β ) = (1 β) L(w,s) α 1 L(w, x)p(x)dx β = (1 β) R 1 max{l(w, x) α β, 0}p(x)dx. n Tarkastellaan osakesalkun optimointitehtävää, jossa tarkoituksena on löytää painokerroinvektori w, joka minimoi osakesalkkuun liittyvän riskin (esimerkiksi VaR tai CVaR). Ratkaisun täytyy kuulua joukkoon S = {w R n : w i 0, w i = 1}. Ratkaisujoukkoa voidaan rajoittaa myös lisäehdolla, että odotetun tuoton on oltava suurempi kuin jokin arvo R eli L(w, E(x)) R tai vastaavasti L(w, E(x)) R. 2
Epäsileää optimointia voidaan käyttää osakesalkun optimointiin sekä VaR- ja CVaR-arvojen laskemiseen. Määritellään funktio F β seuraavasti F β (α) = α + (1 β) 1 R n max{l(w, x) α, 0}p(x)dx. Riskit VaR ja CVaR löydetään minimoimalla funktio F β. ψ β = min F β (α), α β = alaraja arg min F β (α). CVaR-arvon minimointi yli kaikkien arvojen w S vastaa tehtävää, jossa minimoidaan F β (w, α) yli arvojen (w, α) S R: min ψ β (w) = min F w β(w, α). w,α Samalla kerralla voidaan siis laskea molemmat riskit sekä osakesalkun optimointitehtävän ratkaisu suhteessa arvoon CVaR. Funktio F β on muuttujan α suhteen konveksi ja jatkuvasti differentioituva. Konveksin tappion L(w, x) tapauksessa se on konveksi myös suhteessa muuttujaan w. Käyttämällä minimoitavan riskin mittana arvoa CVaR voidaan siis käyttää konveksin optimoinnin metodeja. Jos osakesalkkua optimoitaisiin suhteessa riskiin VaR, päädyttäisiin epäkonveksiin kohdefunktioon, jolla on paljon lokaaleja minimiarvoja. 3 Laskumetodit Kohdefunktio F β sisältää moniulotteisen integraalin, joka voidaan laskea käyttämällä Monte-Carlo-metodia. Tätä varten generoidaan q vektoria x 1,..., x q R n käyttäen satunnaismuuttujan x jakautumaa. Approksimoidaan kohdefunktion arvoa seuraavasti ˆF β ˆF β (w, α) = α + 1 q(1 β) q max{l(w, x i ) α, 0}. i=1 on konveksi ja paloittain lineaarinen suhteessa muuttujaan α ja jos L(w, x) on konveksi, ˆFβ on konveksi myös suhteessa muuttujaan w. Jos 3
lisäksi L(w, x) on lineaarinen, ˆFβ on konveksi ja paloittain lineaarinen molempien muuttujien suhteen. 3.1 Optimointiongelmat Tarkastellaan kahta eri ongelmaa. Ongelma A: CVaR ja VaR, kun w on kiinnitetty min α ˆFβ (w, α) Ongelma B: Osakesalkun optimointi s.t. w kiinnitetty. min α,w ˆF β (w, α) s.t. w S D, missä D on kompakti joukko, joka esittää mahdollisia lisävaatimuksia, esimerkiksi D = {w S : (L(w, E(x)) R}. Tarkastellaan tapausta, jossa tappio on lineaarinen, L(w, x) = w T x. Tällöin molemmat ongelmat voidaan muotoilla lineaarisiksi optimointiongelmiksi. Ongelma A : min α,ɛ α + 1 q(1 β) q i=1 s.t. α + ɛ i L(w, x i ), i = 1,..., q, ɛ i 0, w kiinnitetty. ɛ i 4
Ongelma B : min α + 1 q ɛ i α,w,ɛ q(1 β) i=1 n s.t. α + ɛ i + w j x ij 0, i = 1,..., q, ɛ i 0, j=1 w S D. Tässä x ij on vektorin x i komponentti j. Nyt voidaan ratkaista joko tehtävä A (/B) epäsileän optimoinnin avulla tai tehtävä A (/B ) käyttäen lineaarisia metodeja, kuten simplexiä. Hyvää approksimaatiota varten täytyy generoitujen vektoreiden määrän q olla suuri. Tällöin ongelmilla A ja B on q + 1 ja n + q + 1 muuttujaa. Tämä on paljon enemmän kuin ongelmilla A (yksi muuttuja) ja B (n + 1 muuttujaa). Laskennalliselta kannalta ei kuitenkaan ole aivan selvää, kumpi lähestymistapa on tehokkaampi. 4 Epäsileän optimoinnin käyttäminen Ongelma B on epäsileä osakesalkun optimointitehtävä, jolla on lineaariset rajoitteet. Tehtävä voidaan ratkaista diskreetin gradientin menetelmällä. Koska menetelmää käytetään rajoittamattomille tehtäville, lineaariset rajoitteet täytyy käsitellä jotenkin. Sakkofunktion käyttämisen lisäksi tarkastellaan toista tapaa. Voidaan osoittaa, että muotoa min f(x) (1) s.t. x X = {y R n : Ay = b} 5
oleva rajoitettu optimointitehtävä, jonka kohdefunktion oletetaan olevan konveksi ja epäsileä, voidaan muokata rajoittamattomaksi tehtäväksi min h(y) (2) s.t. y R n m. Oletetaan, että A on m n matriisi ja b R m. Oletetaan myös, että matriisin aste on m ja m < n. Tässä tapauksessa lineaariset rajoiteyhtälöt voidaan ratkaista. Muuttujat x 1,..., x n voidaan jakaa kahteen osaan x = (x B, x N ), missä x B R n m,x N R m. Lisäksi A = (A 1, A 2 ), missä A 1 sisältää muuttujia x B vastaavat sarakkeet ja A 2 koostuu muuttujia x N vastaavista sarakkeista. Oletetaan, että A 2 on epäsingulaarinen ja siis kääntyvä. Nyt rajoitteet voidaan kirjoittaa A 1 x B + A 2 x N = b x N = A 1 2 (b A 1 x B ). Alkuperäinen kohdefunktio voidaan kirjoittaa uudelleen Määritellään funktio f(x) = f(x B, x N ) = f(x B, A 1 2 (b A 1 x B )). h(y) = f(y, A 1 2 (b A 1 y)). Seuraava lause esitetään ilman todistuksia. Lause 4.1. 1. Jos x X on alkuperäisen tehtävän (1) ratkaisu, on olemassa y R n m, jolle x = (y, A 1 2 (b A 1 y )) ja y on tehtävän (2) ratkaisu. 2. Olkoon y R n m ongelman (2) ratkaisu. Tällöin x = (y, A 1 2 (b A 1 y )) on ongelman (1) ratkaisu. Tehtävän (1) sijaan voidaan siis ratkaista rajoittamaton tehtävä (2) esimerkiksi diskreetin gradientin menetelmällä. 6
5 Diskreetin gradientin menetelmä Diskreetin gradientin menetelmää käytetään epäsileiden optimointiongelmien ratkaisemisessa. Se hyödyntää diskreettien gradienttien suljettua konveksia joukkoa alidifferentiaalin approksimoinnissa. 5.1 Laskevan suunnan hakeminen Laskeva suunta haetaan käyttämällä annettuja parametrien arvoja ja satunnaista suuntavektoria g, jolle g = 1. Annetussa pisteessä x lasketaan diskreetti gradientti v 1. Asetetaan konveksi suljettu joukko D 1 (x) = {v 1 }. Lasketaan joukon D 1 (x) etäisyys origosta w k 2 = min{ w 2 : w D k (x)}, missä k on kierroslaskuri. Jos etäisyys on pienempi, kuin annettu raja δ, lopetetaan ja hyväksytään x stationaarisen pisteen approksimaatioksi. Muuten asetetaan uusi hakusuunta g k+1 = w k 1 w k. Jos suunta on laskeva, lopetetaan. Muuten lasketaan diskreetti gradientti v k+1 käyttämällä suuntaa g k+1. Lisätään v k+1 diskreettien gradienttien konveksiin joukkoon ja palataan laskemaan joukon etäisyyttä origosta. On osoitettu, että laskevan suunnan haku lopetetaan l (l < ) kierroksen jälkeen. 5.2 Diskreetin gradientin algoritmi Valitaan jokin aloituspiste x 0 ja lasketaan laskeva suunta. Tuloksena saadaan diskreettien gradienttien joukko D l (x k s), missä k ja s ovat kierroslaskureita ja l on kierros, jonka jälkeen laskevan suunnan haku lopetetaan. Lisäksi saadaan vektori, joka antaa joukon etäisyyden origoon. Jos etäisyys on pienempi kuin annettu raja, asetetaan x k+1 = x k, asetetaan k = k + 1 palataan laskemaan laskevaa suuntaa. Muuten asetetaan uusi piste käyttämällä löydettyä laskevaa suuntaa x k s+1 = x k s +σ s gs k. Asetetaan s = s+1 ja palataan laskevan suunnan hakemiseen. 7
6 Algoritmien testaus Testataan eri vaihtoehtoja ongelmien A ja B ratkaisemiseksi. Tässä käydään läpi vaihtoehdot 1. Ratkaistaan alkuperäisen sijaan ongelma A (B ) simplex-metodilla. 2. Ratkaistaan A (B ) sisäpistemenetelmällä. 3. Ratkaistaan ongelman A (B ) duaalitehtävä simplex-metodilla. 4. Ratkaistaan duaalitehtävä sisäpistemenetelmällä. 5. Ratkaistaan A (B) diskreetin gradientin menetelmällä käyttäen sakkofunktiota rajoitteiden käsittelyssä. 6. Ratkaistaan A (B) diskreetin gradientin menetelmällä ja muodostamalla rajoittamaton tehtävä kuten luvussa 4. Taulukko 1 sisältää artikkelissa [1] esitetyt laskuajat (s) yhdessä esimerkissä, jossa CVaR (ja VaR) on laskettu käyttäen todennäköisyyttä β = 0, 95. Tappio L(w, x) = w T x, n = 3 ja testiaineistossa muttujat x ovat normaalisti jakautuneita. Taulukko 1 q 1. 2. 3. 4. 5. 6. Ongelma A/A 1000 0,01 39 0,01 0,01 0,01 0,01 20000 5-1 216 0,1 0,01 40000 22-4 1070 0,1 1 100000 147-23 6603 2 2 500000 3716-555 >14h 9 15 1000000 >14h - 2215 >14h 19 38 Ongelma B/B 1000 0,01 50 0,01 1 0,01 0,01 20000 21-11 - 7 1 40000 129-62 - 11 2 100000 2223-467 - 64 4 500000 >14h - 10014-163 21 1000000 >14h - >14h - 322 49 8
Tämän esimerkin ja muiden artikkelissa esitettyjen testien perusteella diskreetin gradientin menetelmä on tehokkaampi sekä VaR- ja CVaR-arvojen, että optimaalisen osakesalkun laskemisessa, kun kohteiden määrä n on kohtalainen ja generoitujen tapausten määrä q on suuri. Toisaalta lineaarisesta lähestymistavasta (ongelmat A ja B ) on hyötyä, kun osakesalkun koko on n on suuri, mutta generoituja tapauksia on vähän. Kohdefunktion F β sisältämän integraalin hyvää approksimaatiota varten tarvitaan kuitenkin paljon tapauksia ja lukumäärän q on oltava riittävän suuri (yli 10 5 ). Epäsileän optimoinnin lähestymistapa (ongelmat A ja B) sietää hyvin lukumäärän kasvattamisen, koska tehtävien muuttujien määrä ei riipu arvosta q. Toisaalta ongelmat A ja B ovat yleisempiä kuin ongelmat A ja B, sillä ne eivät oleta lineaarista tappiota. Diskreetin gradientin menetelmä toimii myös konvekseille tapauksille. Jos L(w, x) onkin konkaavi, kohdefunktiolla ˆF β voi olla paljon lokaaleja minimejä. Diskreetin gradientin menetelmällä päästään matalien lokaalien minimikohtien ohi ja jollei konvergoida kohti globaalia minimiä, päästään ainakin tarpeeksi syvään lokaaliin minimiin. 7 Rinnakkaistaminen Supertietokoneiden käyttämisen sijaan voidaan jakaa laskutehtäviä useammalle nopealla yhteydellä yhdistetylle tietokoneelle. Suuri laskuprosessi voidaan rinnakkaistaa jakamalla tehtäviä usealle koneelle. Tällöin yhdeltä koneelta ei tarvita niin paljon tehokkuutta tai muistia. Diskreetin gradientin menetelmän rinnakkaistamisen sijaan voidaan rinnakkaistaa myös kohdefunktion F β arvon laskeminen. Funktion sisältämän integraalin laskeminen vaatii eniten työtä. Siksi on ehkä järkevämpää käyttää yksinkertaisempaa versiota optimointimetodista ja rinnakkaistaa summan ˆF β laskeminen. 9
Lähde [1] Gleb Beliakov & Adil Bagirov (2006) Non-smooth optimization methods for computation of the Conditional Value-at-risk and portfolio optimization. Optimization, 55:5-6, 459-479, DOI: 10.1080/02331930600816353 10