Optymalizacja parametrów w strategiach inwestycyjnych dla
Transkrypt
Optymalizacja parametrów w strategiach inwestycyjnych dla
Raport 1/2015 Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu metodologia badań autor: Michał Osmoła INIME Instytut nauk informatycznych i matematycznych z zastosowaniem w ekonomii ul. Cystersów 13A/1 31-553 Kraków NIP: 6751504218 Regon: 123131534 tel. +48 (12) 341 46 48 [email protected] www.inime.pl Working paper: 1/2015 Spis treści I. Opis strategii inwestycyjnych 4 1. TSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Mediana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Mediana z czasem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Średnia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Średnia z czasem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 II. Metodologia obliczeń 7 str. 2 Working paper: 1/2015 Streszczenie Publikacja odczytów makroekonomicznych często związana jest z gwałtowną reakcją rynku walutowego, powodując znaczny wzrost bądź spadek kursu waluty z którą powiązany jest ogłoszony odczyt. Sytuacja ta daje możliwość tworzenia strategii inwestycyjnych opartych na próbie przewidywania reakcji rynku w zależności od różnicy pomiędzy rzeczywistą, a przewidywaną wartością danego odczytu. Niniejsza publikacja prezentuje propozycję sposobu optymalizacji parametrów w strategiach inwestowania na rynku Forex zaproponowanych w pracy [1]. Oznaczenia: Ask(t)-Cena zakupu waluty bazowej w chwili kwotowania t przez inwestora (w szczególności przez Ask(1) oznaczamy cenę zakupu waluty w chwili ogłoszenia danego odczytu). Bid(t)-Cena sprzedaży waluty bazowej w chwili kwotowania t przez inwestora (w szczególności przez Bid(1) oznaczamy cenę sprzedaży waluty w chwili ogłoszenia danego odczytu). Spread(t)-różnica pomiędzy ceną Ask a ceną Bid w chwili kwotowania t, w szczególności przez Spread będziemy oznaczać różnicę w cenach w chwili ogłoszenia odczytu, tzn. Spread = Ask(1) − Bid(1). M ax(Ask,T ) -Maksymalna wartość różnicy Ask(1) − Ask(t) dla t ∈ 1, ..., k, gdzie k jest numerem ostatniego ticku ogłoszonego przed upływem czasu T od momentu ogłoszenia odczytu. M ax(Bid,T ) -Maksymalna wartość różnicy Bid(t) − Bid(1) dla t ∈ 1, ..., k,gdzie k jest numerem ostatniego ticku ogłoszonego przed upływem czasu T od momentu ogłoszenia odczytu. Delta-Różnica pomiędzy rzeczywistymi a przewidywanymi wartościami danego odczytu makroekonomicznego. str. 3 Working paper: 1/2015 I. Opis strategii inwestycyjnych W niniejszym rozdziale przedstawiony został dokładny opis strategii inwestycyjnych będących przedmiotem badań. Opisy strategii TSL, Mediana i Średnia zostały zaczerpnięte bezpośrednio z publikacji [1]. Strategie Mediana z czasem i Średnia z czasem są drobnymi modyfikacjami strategii bazowych i nie występowały w publikacji. Ciąg Ask(t), t = 1, 2, . . . , reprezentuje kolejne wartości ceny kupna pary walutowej dla kwotowań zarejestrowanych od momentu publikacji wskaźnika. Ogólny mechanizm dla przedstawionych strategii jest dwuetapowy. Pierwszym etapem jest wyznaczenie chwili T1 w której zostało stwierdzone, że oczekiwany spadek wartości ceny ask, zadany wzorem Ask(1) − Ask(T1 ) przekroczył zadaną z góry wielkość S > 0. Moment T1 będzie krótko nazywany momentem startu strategii ( NIE jest on tożsamy z momentem zawarcia transakcji w efekcie publikacji wskaźnika ekonomicznego). Parametr S > 0, definiujący moment startu strategii T1 poprzez: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S} będzie nazywany parametrem startu strategii. Właściwie dobrana wartość parametru S jest warunkiem koniecznym dla poprawnego działania każdej z omawianych strategii. Zbyt mała wartość parametru S może spowodować przedwczesne zamknięcie strategii, natomiast zbyt duża wartość parametru S może przekroczyć odpowiedź rynku na publikację wskaźnika i spowodować że strategia nie zostanie zamknięta w zyskownym momencie. W momencie T1 rozpoczyna sie etap drugi strategii, którego zadaniem jest wyznaczenie chwili T2 w której spadek wartości kursu już się zakończył oraz zamknięcie transakcji. Moment T2 będzie nazywany momentem stopu strategii. Końcowy zysk ze strategii inwestycyjnej zamkniętej w momencie T2 zadany jest wzorem: Z = −Ask(T2 ) + Bid(1), gdzie Bid(1) jest wartością bid pary walutowej w chwili otwarcia transakcji (bezpośrednio po publikacji wskaźnika ekonomicznego) oraz, zgodnie z przyjętymi oznaczeniami, Ask(T2 ) jest ceną ask pary walutowej w chwili zamknięcia transakcji T2 wyznaczonej przez ustaloną strategię inwestycyjną. Analogicznie, w przypadku gdyby wartości wskaźników prognozowały wzrost kursu, końcowy zysk zadany jest wzorem: Z = Bid(T2 ) − Ask(1). 1. TSL Parametry: S > 0, S1 > 0. Przypomnijmy, że {Ask(t)}t∈N jest ciągiem o czasie dyskretym reprezentującym kolejne wartości kursu ceny kupna pary walutowej zarejestrowane po momencie publikacji wskaźnika. Moment startu T1 zadany jest równaniem: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S}. Definiujemy teraz rekurencyjnie słabo malejącą funkcję: T SL : {n ∈ N : n ≥ T1 } → [S, ∞) str. 4 Working paper: 1/2015 poprzez warunki: T SL(T1 ) = Ask(T1 ) + S1 oraz T SL(t + 1) = min{T SL(t), Ask(t) + S1 }, t ≥ T1 . Funkcja T SL ”śledzi” wykres kursu znajdując się nad nim w odległości co najwyżej S1 . Interesujący jest dla nas moment pierwszego przecięcia z tym wykresem. Moment zamknięcia transakcji T2 zadany jest wzorem: T2 = min{t > T1 : T SL(t) ≤ Ask(t)}. Moment T2 wyznacza pierwszy moment czasowy po czasie T1 , w którym wykres kursu uzyskał wartość większą o S1 od najniższej wartości osiągniętej po momencie T1 . Przypomnijmy, że przedstawiona powyżej funkcja TSL ma zastosowanie w przypadku posiadania pozycji krótkiej. Dla pozycji długiej odpowiednia funkcja nierosnąca jest zdefiniowana analogicznie. 2. Mediana Parametry: S > 0, m ∈ N. Przypomnijmy, że {Ask(t)}t∈N jest ciągiem o czasie dyskretym reprezentującym kolejne wartości kursu ceny kupna pary walutowej zarejestrowane po momencie publikacji wskaźnika. Moment startu T1 zadany jest równaniem: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S}. Niech M (t) oznaczana medianę z ostatnich m wartości wykresu zaobserwowanych do momentu t, tj. medianę z następujących punktów: Ask(t − m + 1), Ask(t − m + 2), . . . , Ask(t). Moment zamknięcia transakcji T2 dany jest wzorem: T2 = min{t > T1 : M (t) ≤ Ask(t)}. Moment T2 wyznacza pierwszy moment czasowy po chwili T1 w którym wartość ask dla pary walutowej uzyskała wartość większą od mediany z ostatnich m zaobserwowanych wartości. 3. Mediana z czasem Parametry: S > 0, mt ∈ R+ . Strategia jest drobną modyfikacją strategii Mediana. Różnica polega na rozpatrywaniu kwotowań mających miejsce w ciągu ostatnich mt sekund, zamiast ostatnich m kwotowań. Moment startu T1 zadany jest równaniem: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S}. str. 5 Working paper: 1/2015 Ustalamy k - minimalną ilość ticków jaka musi zostać uwzględniona w wyliczeniu mediany. Niech M t(mt) oznaczana medianę z wartości wykresu z ostatnich mt sekund, o ile w ciągu tego czasu wystąpiło co najmniej k kwotowań, w przeciwnym wypadku M t(mt) = M (k). Moment zamknięcia transakcji T2 dany jest wzorem: T2 = min{t > T1 : M t(mt) ≤ Ask(t)}. 4. Średnia Parametry: S > 0, n ∈ N. Przypomnijmy, że {Ask(t)}t∈N jest ciągiem o czasie dyskretym reprezentującym kolejne wartości kursu ceny kupna pary walutowej zarejestrowane po momencie publikacji wskaźnika. Moment startu T1 zadany jest równaniem: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S}. Niech M A(t) oznaczana średnią arytmetyczną z ostatnich n wartości wykresu zaobserwowanych do chwili t, tj. średnią arytmetyczną z następujących punktów: Ask(t − n + 1), Ask(t − n + 2), . . . , Ask(t). Moment zamknięcia transakcji T2 dany jest wzorem: T2 = min{t > T1 : M A(t) ≤ Ask(t)}. Moment T2 wyznacza pierwszy moment czasowy po czasie T1 w którym wykres kursu uzyskał wartość większą od średniej arytmetycznej z ostatnich n zaobserwowanych wartości. 5. Średnia z czasem Parametry: S > 0, nt ∈ R+ . Strategia jest drobną modyfikacją strategii Średnia. Różnica polega na rozpatrywaniu kwotowań mających miejsce w ciągu ostatnich nt sekund, zamiast ostatnich n kwotowań. Moment startu T1 zadany jest równaniem: T1 = min{t ∈ N : Ask(t) ≤ Ask(1) − S}. Niech M At(nt) oznaczana średnią arytmetyczną z wartości wykresu z ostatnich nt sekund. Ustalamy k minimalną ilość ticków jaka musi zostać uwzględniona w wyliczeniu średniej. Niech M At(nt) oznaczana medianę z wartości wykresu z ostatnich nt sekund, o ile w ciągu tego czasu wystąpiło co najmniej k kwotowań, w przeciwnym wypadku M At(nt) = M A(k). Moment zamknięcia transakcji T2 dany jest wzorem: T2 = min{t > T1 : M At(nt) ≤ Ask(t)}. str. 6 Working paper: 1/2015 II. Metodologia obliczeń W wyznaczeniu optymalnych parametrów dla strategii inwestycyjnych posłużono się danymi historycznymi z dni ogłoszenia danego odczytu mającymi miejsce między 1 stycznia 2010 roku a 31 grudnia 2013 roku. Dla każdej ze strategii arbitralnie ustalono zestaw parametrów dopuszczalnych oraz wartości delty, dla których następuje przewidywany wzrost i spadek kursu. Następnie ze zbioru parametrów dopuszczalnych wybierano ten zestaw, który okazał się najlepszy. Przyjęto trzy miary jakości danego zestawu parametrów: średni zysk, średnią skuteczność i średnią efektywność. Przypomnijmy, że przez T2 oznaczmy moment stopu danej strategii przy ustalonym zestawie parametrów. Zyskiem ze strategii dla pojedynczej publikacji będziemy nazywać różnicę: ZT = Ask(1) − Ask(T2 ) − Spread = Bid(1) − Ask(T2 ) dla pozycji krótkiej, ZT = Bid(T2 ) − Bid(1) − Spread = Bid(T2 ) − Ask(1) dla pozycji długiej. Skutecznością strategii dla pojedynczej publikacji nazywamy: ST = −Ask(T2 ) + Ask(1) M ax(Ask,T ) ST = Bid(T2 ) − Bid(1) M ax(Bid,T ) dla pozycji krótkiej, dla pozycji długiej. Efektywność strategii dla pojedynczej publikacji określamy jako: ET = −Ask(T2 ) + Ask(1) − Spread M ax(Ask,T ) − Spread ET = Bid(T2 ) − Bid(1) − Spread M ax(Bid,T ) − Spread dla pozycji krótkiej, dla pozycji długiej. przy założeniu, że M ax(Ask,T ) − Spread > 0 w pierwszym przypadku oraz M ax(Bid,T ) − Spread > 0 w przypadku drugim. Średni zysk, skuteczność i efektywność wyznaczamy jako średnią arytmetyczną na danych historycznych, przy czym wyliczając średnią efektywność pomijamy obserwacje dla których odpowiednio M ax(Ask,T ) −Spread ≤ 0 lub M ax(Bid,T ) − Spread ≤ 0. Za najlepsze parametry uznajemy te, które maksymalizują zdefiniowane powyżej miary. Dla przetestowania rzeczywistej jakości wyznaczonych parametrów użyto danych historycznych z dni odczytów ogłoszonych pomiędzy 1 stycznia 2014 roku, a 1 listopada 2014 roku. Dla każdego z zestawów parametrów optymalnych wyliczono średni zysk, skuteczność i efektywność na danych testowych oraz zestawiono je z odpowiednimi średnimi zyskami, skutecznościami i efektywnościami jakie można było uzyskać stosując najlepszy możliwy (dla danych testowych) zestaw parametrów. Najlepszy możliwy zestaw parametrów dla danych testowych był wyznaczany w ten sam sposób i dla tego samego zestawu parametrów dopuszczalnych, jak w przypadku estymacji parametrów optymalnych z tą różnicą, że cała procedura została powtórzona na danych testowych. str. 7 Working paper: 1/2015 Bibliografia [1] D. Tarłowski, P. Pagacz, S. Śmiarowski Event-driven trading. Reaktywność rynku i potencjał inwestycyjny zjawiska. http://inime.org/wp-content/uploads/2014/07/Event-driven-1-2014.pdf str. 8