Pisanie botów do giełdy walutowej FOREX

Prowadzący

Sebastian Jaszczur, do którego można śmiało pisać na sebastian.jaszczur@gmail.com :)

Opis


Dzisiaj każdy wie czym jest giełda. Legendy mówią, że można zacząć inwestować i prawie natychmiastowo zostać milionerem. Prawda jest jednak taka, że większość graczy na giełdzie tylko traci swój kapitał - głównie przez brak doświadczenia, a nawet posiadając już doświadczenie zbyt często ulegają emocjom.

Dlatego napisanie bota do gry na giełdzie ma niewątpliwe zalety: program może szybko wykryć powtarzające się na giełdzie schematy (analizując historię kursu) i podejmuje on decyzje bez emocji, chłodno kalkulując ryzyko, zysk i stratę. Ponadto - kto by nie chciał zarabiać i nie musieć pracować?

Zaprogramowanie automatu do zarabiania nie jest rzeczą prostą i wymaga dobrych pomysłów oraz dużo pracy. Nie jest to jednak niemożliwe. Głównym problemem dla nas byłby wysoki spread (czyli różnica ceny kupna i sprzedaży). Dlatego nasze programy będą działać w warunkach rzeczywistych z wyjątkiem właśnie wysokości spreadu - który ustawimy na niższy poziom.

Dzięki temu będziemy w stanie zmieniając wysokość spreadu (np. z 10% rzeczywistego podnosząc go do 30%) zmieniać poziom trudności dla naszych programów - i podnosić go w miarę rozwoju naszych algorytmów. Dzięki temu warsztaty nie będą dla nikogo za trudne ani za łatwe!

Masz pytania? FAQ niżej!

Mało ważne, techniczne rzeczy

Na warsztatach zajmiemy się konkretnie Forex-em, czyli rynkiem wymiany walut - a jeszcze konkretniej parą walut USD/EUR, ponieważ jest to najpopularniejsza i najpłynniejsza para walutowa. Transakcji będziemy dokonywać w okresach rzędu kilku-kilkunastu minut przy kursie notowanym co minutę.

Wymagania

Podstawowa znajomość Pythona. Ale spokojnie, na zajęciach nie będzie nic trudniejszego niż w zadaniach kwalifikacyjnych ;) Dostarczę bibliotekę, która będzie obsługiwać m.in. testowanie algorytmu na danych historycznych (z podanym spreadem) czy ręczne lub maszynowe analizowanie tych danych.
(W razie co polecam do nauki tego pięknego języka Zanurkuj w Pythonie. Warto, nie tylko dla tych warsztatów!)

Podstawowa znajomość pojęć związanych z giełdą i inwestowaniem; wszystkich potrzebnych rzeczy dowiecie się robiąc zadania ;) No i tutaj: Babypips.com-preschool (przeczytać, kliknąć "next lesson", powtórzyć).


Zadania kwalifikacyjne (SĄ JUŻ WSZYSTKIE!)

Zadania podzielone są na trzy części: matematyczną, programistyczną i pseudo-ekonomiczną (przede wszystkim sprawdzenie podstawowych pojęć, prawie jak ankieta).

Są już wszystkie części: matematyczna(~2.5p), programistyczna(~2.5p) i ekonomiczna (~1p).

Pamiętaj! Nie musisz zrobić wszystkich zadań, żeby dostać się na warsztaty. W szczególności możesz wysłać tylko szkice rozwiązań i dalej się dostać ;)

FAQ

Q: Napisanie bota, który zarabia na giełdzie jest niemożliwe.


A: Nieprawda, są firmy, które się zajmują tylko tym. Bardzo bliski przykład: sponsorem tegorocznej Olimpiady Informatycznej był JaneStreet, który zajmuje się półautomatycznym handlem na giełdzie (choć akurat nie na Forex-ie, z tego co wiem).
Linki na wiki, które uwiarygadniają to co mówię: Algorithmic trading; High-frequency trading

 

Q: Ale tym zajmują się profesjonalne, duże firmy, a ja słabo umiem kodzić. Jak mam to zrobić w trzy dni? :(


A: Dlatego też spread będzie sztucznie zmniejszony.

 

Q: Jaki byłby najprostszy algorytm, żeby zarobić przy zerowym spreadzie? Napisałeś, że to kilka linii.


A: Patrzymy na obecny kurs i kurs z minuty temu. Jeśli wzrósł to kupujemy, jeśli spadł to sprzedajemy. Taki algorytm zarabia dość niestabilnie w perspektywie dnia lub kilku, ale w perspektywie miesiąca jest już OK. (powtarzam, przy zerowym spreadzie!)

 

Q: Czy jest realne napisać coś, co zarabia w prawdziwych warunkach?


A: Nie w trzy dni. Ale osobiście wierzę, że się da w rozsądnym czasie. Dlatego się tym zainteresowałem i dlatego to robię ;)

 

Q: Jak dużo będzie pracy własnej, a jak dużo wykładów?


A: Większość czasu warsztatów to będzie praca własna, wstęp teoretyczny będzie krótki (ale wystarczający, jeśli zrobiłeś zadania).

 

Q: Mam jeszcze jakieś pytanie.


A: Napisz na "sebastian.jaszczur@gmail.com". Odpowiem Ci i dodam je też tutaj. Z sugestiami i innymi rzeczami też można pisać. Piszcie śmiało! :)