Ostatnio
poruszyłem temat znaczenia pozycji
początkowej
w symulacji systemu transakcyjnego. Omówione zostało podejście
polegające na zajmowaniu stale określonej pozycji na rynku Forex.
Jednak w opozycji do tego założenia została przedstawiona metoda,
w której początkowa pozycja gracza jest neutralna, symbolizowana
przez liczbę 0. Został zasygnalizowany poważny problem niemożności
jednoznacznego określenia wejścia na pozycję (długą lub krótką)
w przypadku gdy w danym interwale czasowym oba warunki determinujące
wejście są spełnione. Jako rozwiązanie tego problemu proponuję
wykorzystać metodę symulacji działania 2
wirtualnych inwestorów.
Metoda
jest banalnie prosta. Nawiązując do idei
2 braci
bliźniaków
proponuję zasymulować efekt działania 2 graczy, z których każdy
rozpoczyna działanie na rynku w przeciwnej pozycji do drugiego.
Jeden rozpoczyna od pozycji długiej, a drugi od krótkiej.
Oczywiście – jak proponowałem wcześniej – zyskami dzielą się
po połowie. Zatem historia ich wspólnego rachunku będzie utworzona
jako średnia
arytmetyczna
trajektorii generowanych przez każdego z osobna.
A
teraz przejdźmy do konkretów – pora na arkusz ilustrujący
proponowane przeze mnie podejście. Jak pisałem poprzednio, zakładka
quotes
w arkuszu zawiera dane podstawowe: w kolumnach od B do J znajdują
się daty początków interwałów czasowych oraz notowania OHLC w
wersjach BID i ASK. Przy okazji rozszerzenia symulacji proponuję też
modyfikację arkusza o automatyczne zadawanie parametrów odległości
poziomu odwrócenia pozycji od kursu początkowego.
W
komórkach A12 i A14 odpowiednio zostają określone: minimalna
wartość progu odwrócenia pozycji nazywana initThresh
oraz krok threshStep
– wartość o którą będzie ten poziom zwiększany w kolejnych
kolumnach obrazujących wersje strategii. Poniżej przedstawiam
fragment arkusza obrazujący tę ideę.
A
teraz część właściwa: symulacja działania strategii
uśredniającej start z pozycji długiej i krótkiej. Na te potrzeby
utworzyłem 2 nowe zakładki: FollL
i FollS.
Ich nazwy są intuicyjnie zrozumiałe – są one kopiami zakładki
Foll
(przedstawionej poprzednio) w wersjach, gdy pozycja początkowa jest
określona za pomocą wartości odpowiednio +1 i -1. A obecna
zakładka Foll
zawiera średnie arytmetyczne wartości pozycji zajmowanych przez
gracza w obu wersjach. Widok tej zakładki wraz z przykładową
formułą definiującą uśrednienie pozycji obu wirtualnych
inwestorów przedstawiam poniżej:
Natomiast
cały arkusz dostępny jest pod tym adresem.
Sens
zastosowania omówionej powyżej metody będzie jaśniejszy, kiedy
dotrzemy do formuł definiujących rozliczenia
pozycji
dla różnych wartości parametrów i obu początkowych pozycji.
Zostanie to przedstawione w jednym z kolejnych odcinków.
"Bliźniacy" zrównają się przy pierwszym większym wychyleniu i od tego momentu wiadomo, po której stronie rynku pozostać, co jest pożądaną właściwością, na wypadek gdybyśmy się pomylili. Z punktu widzenia realnego grania i niełamania zasad praktyczniejsze mogłoby być inne podejście - doczytanie N starszych interwałów z historii i wyznaczenie na nich pozycji, przy czym nie brane byłyby one dalej do symulacji.
OdpowiedzUsuńPomysł użycia "rozbiegowej" serii interwałów jest dobry i też stosuję go alternatywnie w swoich symulacjach. Tutaj zdecydowałem przedstawić podejście neutralne aby była jeszcze jedna okazja do przypomnienia koncepcji VI. Poza tym ma to jeszcze jedną ciekawą konsekwencję z punktu widzenia wpływu parametru na trajektorie graczy. Podejmę temat w następnym wpisie.
Usuń