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 kontakt@inime.pl www.inime.pl
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
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). Max (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. Max (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
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 T 1 w której zostało stwierdzone, że oczekiwany spadek wartości ceny ask, zadany wzorem Ask(1) Ask(T 1 ) przekroczył zadaną z góry wielkość S > 0. Moment T 1 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 T 1 poprzez: T 1 = 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 T 1 rozpoczyna sie etap drugi strategii, którego zadaniem jest wyznaczenie chwili T 2 w której spadek wartości kursu już się zakończył oraz zamknięcie transakcji. Moment T 2 będzie nazywany momentem stopu strategii. Końcowy zysk ze strategii inwestycyjnej zamkniętej w momencie T 2 zadany jest wzorem: Z = Ask(T 2 ) + 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(T 2 ) jest ceną ask pary walutowej w chwili zamknięcia transakcji T 2 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(T 2 ) Ask(1). 1. TSL Parametry: S > 0, S 1 > 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 T 1 zadany jest równaniem: Definiujemy teraz rekurencyjnie słabo malejącą funkcję: T SL: {n N: n T 1 } [S, ) str. 4
poprzez warunki: oraz T SL(T 1 ) = Ask(T 1 ) + S 1 T SL(t + 1) = min{t SL(t), Ask(t) + S 1 }, t T 1. Funkcja T SL śledzi wykres kursu znajdując się nad nim w odległości co najwyżej S 1. Interesujący jest dla nas moment pierwszego przecięcia z tym wykresem. Moment zamknięcia transakcji T 2 zadany jest wzorem: T 2 = min{t > T 1 : T SL(t) Ask(t)}. Moment T 2 wyznacza pierwszy moment czasowy po czasie T 1, w którym wykres kursu uzyskał wartość większą o S 1 od najniższej wartości osiągniętej po momencie T 1. 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 T 1 zadany jest równaniem: 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 T 2 dany jest wzorem: T 2 = min{t > T 1 : M(t) Ask(t)}. Moment T 2 wyznacza pierwszy moment czasowy po chwili T 1 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 T 1 zadany jest równaniem: str. 5
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 Mt(mt) = M(k). Moment zamknięcia transakcji T 2 dany jest wzorem: T 2 = min{t > T 1 : Mt(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 T 1 zadany jest równaniem: 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: Moment zamknięcia transakcji T 2 dany jest wzorem: Ask(t n + 1), Ask(t n + 2),..., Ask(t). T 2 = min{t > T 1 : MA(t) Ask(t)}. Moment T 2 wyznacza pierwszy moment czasowy po czasie T 1 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 T 1 zadany jest równaniem: Niech MAt(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 MAt(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 MAt(nt) = MA(k). Moment zamknięcia transakcji T 2 dany jest wzorem: T 2 = min{t > T 1 : MAt(nt) Ask(t)}. str. 6
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 T 2 oznaczmy moment stopu danej strategii przy ustalonym zestawie parametrów. Zyskiem ze strategii dla pojedynczej publikacji będziemy nazywać różnicę: Z T = Ask(1) Ask(T 2 ) Spread = Bid(1) Ask(T 2 ) Z T = Bid(T 2 ) Bid(1) Spread = Bid(T 2 ) Ask(1) dla pozycji krótkiej, dla pozycji długiej. Skutecznością strategii dla pojedynczej publikacji nazywamy: S T = Ask(T 2) + Ask(1) Max (Ask,T ) S T = Bid(T 2) Bid(1) Max (Bid,T ) dla pozycji krótkiej, dla pozycji długiej. Efektywność strategii dla pojedynczej publikacji określamy jako: E T = Ask(T 2) + Ask(1) Spread Max (Ask,T ) Spread dla pozycji krótkiej, E T = Bid(T 2) Bid(1) Spread Max (Bid,T ) Spread dla pozycji długiej. przy założeniu, że Max (Ask,T ) Spread > 0 w pierwszym przypadku oraz Max (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 Max (Ask,T ) Spread 0 lub Max (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
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