Coś małe zainteresowanie...
Na zachętę opis mojego systemu:
1).
Handluję z Holandii, bo tu mieszkam. W zasadzie tylko instrumentami TURBO (podobno nie ma ich jeszcze w Polsce – coś jak „Lewarowane Certyfikaty”).
Od razu zaznaczam, że nie znam się na Polskim rynku.
Pytałem o nie tutaj: http://www.stockwatch.pl/forum/default.aspx?g=posts&t=2688
2).
Platformę napisałem sobie sam. Delphi, core >100k linii, z “osprzętem” tj: DM (Data Miner), Data Post Processing, Overview Server, Vault Server, Moduł Analiz, Sim Server + Sim Slave (spread computing) + moduly testowe (DUnit), razem będzie pewnie >400k linii. (4 lata pracy).
3).
Dane zczytuję samemu (dedykowany komp z aplikacją DM (Data Miner)) z częstotliwością 4s (można by jeszcze troche przyspieszyć ale broker u którego mam konto nie dostarcza ich o wiele szybciej, nie udostępnia też API (Application Programing Interface) więc napisałem własny.
Dziennie daje to ok 8000 próbek danych (Level2) czyli Ask/Bid i cała reszta. Zakładając 250 dni w roku = 2 mln próbek / rok.
4).
Z jednego konta brokerskiego system może „kontrolować/śledzić” 50 instrumentów.
5).
Instrumenty na których gram mają spread w EUR (prowizja zawsze stała = 10 EUR od transakcji bez wzgledu na kwotę)
- index AEX – spread = 0.01 EUR
- złoto – spread = 0.05 EUR
- Forex (EUR/USD) – spread = 0.03 EUR
6).
Do symulacji używam obliczeń rozproszonych, jeden procesor(rdzeń) = jeden wątek(SIM slave) (1 mikroprocessor - four core multi thread = 8 SIM Slave’ów).
Symuluję zawsze 3 (a nie dwa parametry) bo wymyśliłem sobie jak zobrazować 4 wymiary na ekranie PC-ta :-).
Przykładowo dla rozdzielczości 25 (powiedzmy EMA_slow z okresem od 20..45, oraz EMA_fast 5..30 – step co 1 ) i jakiś trzeci parametr z rozdzielczością 10 ==> 25 x 25 x 10 kombinacji = 6250 kombinacji
Trzeba to przepuścić przez próbki testowe (ja na przykład używam ok 200 dni LONG jako serię testową do optymalizacji, oraz 200 dni SHORT jako Out Of Sample do weryfikacji) daje to 6250 kombinacji x 2.000.000 probek = 12,5 mld ciężkich obliczeń zmienno przecinkowych – a to przecież tylko trzy parametry – dlatego potrzeba obliczeń rozproszonych.
7).
Nie ma zewnętrznego języka programowania strategii. Są za to GENy, wraz z ich parametrami, (nie zaprogramowałem jeszcze genetycznego algorytmu selekcji genów, chromosomów itp, ale platforma jest do tego gotowa), RMS (Risk Managemet System) ze stop-loss’ami, MMS (Money Management System) z trailing stopami, itp, TMS (Time management System), żeby np nie kupować zaraz przed i po otwarciu NYSE albo z innych powodów.
8.
Symulator uwzglednia czasy opóźnień w dostarczaniu zlecenia SYSTEM – BROKER – EXCHANGE, uwzględnia czas potwierdzenia wykonania zlecenia, i uwzględnia ewentualną konieczność operacji REJECT przy skokach cenowych. Można symulować PRICE SHOCK.
9).
Oczywiście w trybie REAL system potrafi obsługiwać zlecenia zrealizowane częściowo (BTW: to ciężki kawałek chleba).
10).
Start sesji i urzymanie sesji aktywnej zapewnia moduł HW - przerobiony loger plus karta IO/USB
11).
Nie mam jeszcze zabezpieczenia przed „falsh crash” (nie wiem jak to zrobić) , ale Amerykanie wprowadzili „watch doga”, mam nadzieję, że Holendrzy i Polacy też :-)
Przetestowałem do tej pory sporo różnych strategii, i jak na razie jestem „sceptycznym optymistą” :-)
Zaraz przedstawię „hard data”, ale od razu powiem tak:
a). Symulacje są optymistyczne jeśli chodzi o index (jak gram na AEX’ie).
b). O wiele mniej jeśli chodzi o złoto (prawie zero)
c). Najgorzej jest z Forexem – bardzo źle, kompletny brak zbieżności w Out Of Sample.
Innych instrumentów nie symulowałem (jeszcze).
Performance: (symulacja)
Nie testowałem w REALU.
(Niestety wskaźniki moje własne – i tylko te, które bywają mi potrzebne). Liczone trochę po „chińsku” - nie chcę się rozpisywać dlaczego. System obraca stałą ilością instrumentów = 3000 sztuk. Przy średniej wartości instrumentu = 1,50 EUR, kapitał obrotowy to ok 4500 EUR.
AEX LONG – 223 dni
Zysk brutto po 223 dniach = 8260 EUR (wszystkie prowizje wzięte pod uwagę)(ale przed ewentualnym opodatkowaniem)
Średnio/dziennie 37,04 EUR
DrawDown = -30 EUR (maksymalny pewnie gdzieś będzie większy ale go nie liczę)
Number of trades: 60 (buy/sell)
Profitable trades: 55,77%
Profitable days: 56%
Fitness Function: 5963.1 (ale liczona moim własnym sposobem więc nic nie powie)
Out of Sample
AEX SHORT – 219 dni (mniej dni bo czasem jakiś Turbasek się „przekręci” zaraz po rozpoczęciu sesji – wtedy nie ma co symulować).
Zysk brutto po 219 dniach = 2960 EUR (wszystkie prowizje wzięte pod uwagę)(ale przed ewentualnym opodatkowaniem)
Średnio/dziennie 13,52 EUR
DrawDown = 0 EUR (maksymalny pewnie gdzieś będzie większy ale go nie liczę)
Number of trades: 69 (buy/sell)
Profitable days: 47%
Profitable trades: 45%
Fitness Function: 4737,2 (ale liczona moim własnym sposobem więc nic nie powie)
Ciekawe czy jeszcze ktoś się tym zajmuje w Polsce.