Algotrading, automaty do gry giełdowej, systemy mechaniczne na FOREX oraz przezentacja Turbo Shark’a ;-)
Posted by Marek | Posted in Edukacja finansowa | Posted on 27-03-2014 7:37 pm
17
W ubiegłym miesiącu, jeden z moich Czytelników podesłał mi artykuł o firmie, która chciała zajmować się tworzeniem i komercjalizacją automatów do gry, na co parę lat temu zebrała niemałe środki z emisji akcji.
Co z tego wyszło? Parkiet podaje, że nic sensownego. Szef rady nadzorczej skwitował całość bardzo prosto: „chłopakom nie wyszło”. Ostatecznie uruchamiając swoje automaty na własny rachunek stracono w kilka miesięcy kilkaset tysięcy złotych.
Popełniono wiele strategicznych błędów. Po pierwsze nie przeprowadzono dostatecznie długich testów systemu na danych rzeczywistych. Zamyka się kod i przez trzy, cztery lata sprawdza czy automat przejdzie próbę czasu. Drogi na skróty nie ma.
Sam bardzo dużo czasu poświęciłem na zagadnienia automatycznego tradingu i wiem jaki to niezwykle trudny orzech do zgryzienia. Z olbrzymiej liczby automatów jakie napisałem, jedynie garstka wyszła sensowna. Sygnały z moich autorskich oscylatorów kontraktowych można było za darmo obserwować na moim blogu przez cały okres ich publicznego działania, aż do zamrożenia projektu. Ani razu nie przyniosły hańby 😉
Dziś natomiast z ciekawości zerknąłem na jeden z moich automatów dedykowanych do rynku FOREX. Nazywał się roboczo TurboShark i tak już mu zostało do czasu zamrożenia kodu. Zerknąłem bo byłem po prostu ciekaw jak mu idzie „leżakowanie” i czy po takiej przerwie nadaje się od razu do kosza, czy może jeszcze ma szansę na jakąś przyszłość.
Test wykonano na danych z konta real jednego z polskich brokerów. Do testu wykorzystano model „Każdy tick” (najbardziej precyzyjna metoda oparta na najmniejszych dostępnych przedziałach czasowych).
Spread został ustalony na 33 (tutaj ciekawostka, wielu naciągaczy miszczów marketingu sprzedających sygnały, przeprowadza symulacje „egzotyki” na danych bez uwzględniania spread’u! Co za tupet 😉 ). Kapitał początkowy w testach został ustalony na 10000PLN.
Teraz znając szczegóły konfiguracyjne zobaczmy jak się prezentuje krzywa kapitału z okresu, gdy TurboShark „leżakuje” na zamrożonym kodzie:
Patrząc na statement końcowy nie ma co narzekać, choć zawsze mogłoby być lepiej. Jednak póki co automat może dalej leżakować i nie ma powodu by wyrzucać go do kosza 😉
Ktoś ciekaw ile linii kodu było potrzebnych? Zerknijmy zatem na „wnętrze”, a konkretnie na sam koniec pliku z kodem źródłowym 😉
Jak widać, da się na spokojnie zejść do poziomu poniżej 1000 linii kodu, choć nie do końca jestem pewien czy w pełni wszystko zostało zabezpieczone pod kątem uodpornienia automatu na różne „dziwne” dane wejściowe, także nie wykluczam, że TurboShark w przyszłości może przybrać na wadze. Główna matematyka jednak nie powinna się już zmienić.
Przy okazji niedawno wygrzebałem jedno archiwalne zdjęcie i z perspektywy czasu widzę, że opłacało się zawsze zgłaszać do tablicy, bo wiedza matematyczna po takich eskapadach zostaje na dużo dłużej, aniżeli łapać by się ją miało siedząc cicho na miejscu i łudząc się, że ktoś inny to rozwiąże, bo po co niby używać mózgu 😛
Wracając jeszcze do tematu automatów, pamiętacie slogany typu: „Sprzedam skuteczny system do gry w totolotka. W przeszłości trafił wiele szóstek”? Właśnie do takiego czegoś można porównać reklamowanie automatu, który ma ledwie parę miesięcy, a naciągacz miszcz marketingu wykorzystuje go do sprzedaży sygnałów, bez minimum trzyletniego okresu „leżakowania” na zamkniętym kodzie. Warto o tym pamiętać, zwłaszcza, że żeruje masa różnej maści naciągaczy. Znam osobę, która dała się nabrać jednemu bezrobotnemu studentowi na „cudowny” automat płacąc za niego bardzo dużo i tracąc na nim większość oszczędności. Ot automat się rozpędził i pohulał sobie 😉 Dlatego nie można bać się używać mózgu!
Do tego podstawową rzeczą jaką trzeba mieć w świadomości przy pracy z automatami to ich data ważności. Do tego testy na danych historycznych sprzed daty powstania automatu są jedynie ciekawostką, a nie podstawą to wyciągania jakichkolwiek wniosków. Dlatego tak ważny jest 3-4 letni okres testów od czasu kiedy kod automatu zostanie zamknięty. To są dopiero pierwsze miarodajne wyniki określające jak dane narzędzie sobie radzi.
PS
Pozdrowienia dla Tomka i całej jego rodziny, za podesłanie newsa i inspirację do tego wpisu 🙂
Heh dlaczego wcześniej nie wbiłem na ten blog. Na swoich systemach wyczyściłem kilka razy rachunki … choć każdy system na backtestach zarabiał …
Teraz dowiedziałem się co robiłem źle.
Dzięki Marku za bardzo cenny wpis. Może kiedyś wrócę do systemów w MT4 i teraz będę wiedział, gdzie tkwił błąd. Obecnie nie mam kapitału …
TurboShark miał również wcześniej spektakularne wyniki na danych historycznych, ale takie testy są nic nie warte bo to jedynie historia. Dlatego też powstał ten wpis edukacyjny by to ukazać co jest często lekceważone.
Dopiero testy na danych powstałych po zamknięciu kodu, czyli utworzenia finalnej wersji automatu są miarodajne.
Wrzucanie kapitału do świeżo upieczonego automatu nie jest dobrym pomysłem. Znam to z autopsji. Kiedyś wrzucałem symboliczne 4-5k pod ocenę systemu i żaden „świeżak” długo nie wytrzymał 😉
Dlatego teraz przykładam dużą wagę do testów na danych powstałych po zamknięciu kodu, które uwiarygodniają dany system. Z olbrzymiej liczby automatów jakie npisałęm jedynie garstka przeszła do tej pory próbę czasu 😉 Za dwa lata się okaże, czy TS dołączy do tego grona, czy trafi do kosza 😉
Czy można gdzieś pobrać tego lub innego Twojego robota?
Albo kupić?
Planuje Pan jakieś szkolenia z automatów? Jestem chętny 🙂
Przykro mi, ale niestety nie planuję tego typu szkoleń. Pomimo kilkunastoletniego doświadczenia w programowaniu jak i wielu startów w konkursach algorytmicznych czy maratonach programistycznych, uważam, że jest to zbyt mało by móc kompleksowo i z największą jakością przekazywać wiedzę z dziedziny tworzenia automatów (EA).
Jeśli coś przekazuję dalej, to muszę mieć pewność, że będzie to na jak najwyższym poziomie. W automatach mam świadomość, że jeszcze wiele mam do opanowania 😉
Bardzo ciekawy wpis. Naprawdę wielki szacunek za wiedzę i trzeźwe podejście do rzeczywistości. Sama coś tam tworzę od kilku lat i mam podobne wnioski. Testy na danych historycznych to miraże 😉
no proszę, proszę, na wielu stronach chwalą automaty pod niebiosa, odpalasz, śpisz i kasa sama leci
a tutaj zgoła odmienne podejście zdroworozsądkowe. trafiłem tu niedawno i nie mam jeszcze wyrobionego zdania, ale po takich wpisach widać kto zna się na rzeczy. odemnie plus dla gospodarza
Nie ma to jak techniki z ES. Automaty wysiadają 🙂
Co fakt to fakt 🙂
Czyli w przyszłości można liczyć na jakiś kurs z Mt4 i algotradingu?
Niestety nie. Nie mam już prawie wcale czasu na prowadzenie jakichkolwiek szkoleń, a bardzo dużo nowych wyzwań czeka do realizacji 😉
Marku a jak podchodzisz do takich sytuacji jak np, konflit na Ukrainie – czy inwestor wtedy powinien wstrzymać się z zakupami czy w ogóle wycofać się z rynku akcji?
Gra się zgodnie ze swoją wiedzą i doświadczeniem, i tyle 😉
tylko 1000 linii kodu? to bardzo mało bym powiedział jak na automat który może zarabiać. Myśle że z komentarzami wyszło by pewnie z 700 linii 😉 A na tablicy to czyżby macierze? czy coś z systemu binarnego? 🙂
Komentarze faktycznie trochę miejsca zajmują 😉 Jest też sporo „enterów”, także jest co skracać 😉
A na tablicy ciekawe rzeczy z systemów binarnych 😉
Bardzo dojrzałe podejście do tematu automatów. Rzadko spotykane w blogosferze. Gratuluję otwartego umysłu i ciekawego bloga. Dodaję do ulubionych.
Po cóż komu nieprzetestowany kompleksowo automat? 🙂