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

Podobne dokumenty