Automatyzacja tradingu I

Automatyzacja tradingu I

przez -
11 29076
Udostępnij na:

Automatyzacja elektronicznego handlu papierami wartościowymi, kontraktami terminowymi, opcjami, czy jakimkolwiek innym instrumentem finansowym jest jeszcze mało popularna w Polsce wśród retail traderów. No może poza tzw. Expert Advisors popularnymi wśród użytkowników MetaTrader’a. W związku z tym ilość bardzo dobrych informacji dostępnych w języku polskim jest ograniczona.

Na poziomie instytucjonalnym automatyzacja wygląda trochę inaczej – jest niejako standardem.


Handel automatyczny, a handel algorytmiczny

Najcześciej mylącym podejściem jest utożsamianie handlu algorytmicznego z handlem automatycznym. Handel algorytmiczny w głównej mierze opiera się na realizacji zleceń rynkowych za pośrednictwem stworzonego algorytmu, który może ale nie musi być zautomatyzowany. Na poziomie retail tradingu szczególnie w Polsce, handel algorytmiczny jest praktycznie nieobecny. Na poziomie instytucjonalnym jest to standard. Zjawisko wykorzystania wskaźników analizy technicznej i algorytmów na poziomie instytucjonalnym zostało oględnie przedstawione w artykule „Czy wskaźniki analizy technicznej działają”.

execution method Automatyzacja tradingu  I
źródło: Algorithmic trading and Direct Market Access, Barry Johnson

W odróżnieniu od instytucji retail trader jest skazany sam na siebie i swoje umiejętności analityczne, matematyczne, intuicyjne itd. Czyli sam decyduje, czy swoje idee tradingowe należy zautomatyzować, czy też nie. Niemniej jednak wszelkiego rodzaju algorytmy oparte o wskaźniki analizy technicznej / fundamentalnej, dane mikro / makro itd. mogą posłużyć do predykcji przyszłych ruchów cenowych, czy podjęcia decyzji spekulacyjnej. Co w rezultacie może zakończyć się ręcznym lub automatycznym złożeniem zlecenia rynkowego.

Automatyzacja tradingu polega na całkowitym zautomatyzowaniu procesu decyzyjnego i realizacji zleceń rynkowych. Czyli stworzeniu programu wykonującego całą robotę za nas.

Dość częstym i błędnym podejściem jest przekonanie, iż automatyzacja pozwoli na uniknięcie wszystkich psychologicznych pułapek. Jeżeli mamy słabą strategię, a niepowodzenia zrzucamy na „psychikę”, automatyzacja tutaj niewiele pomoże. W świecie programistów jak mantra powtarzane jest „garbage in, garbage out”.

Tym samym bez obiektywnego podejścia do handlu, skuteczna automatyzacja decyzji spekulacyjnych jest praktycznie niemożliwa. Zostało to opisane w poniższych trzech artykułach.

O ile obiektywizm umożliwia wyeliminowanie wielu pułapek psychologicznych, nie jest w stanie wyeliminować strachu związanego z utratą kapitału, gdy strategia wejdzie w okres strat. Także ten czynnik psychologiczny zawsze będzie obecny bez względu na sposób realizacji zleceń.


Wybór platformy i języka programowania

Automatyzację tradingu można zlecieć innej osobie mającej doświadczeniu w programowaniu/skryptowaniu lub samemu zabrać sie za temat. Bez względu, która ścieżka zostanie wybrana należy posiadać dobrze opisaną i przetestowaną strategię.

O przygotowaniach do budowy zyskownej strategi spekulacyjnej powstały cztery artykuły.

W XXI wieku większość platform tradingowych umożliwia zarówno realizację zleceń jak i również tworzenie strategii, modelowanie, czy backtest.

Kartka papieru i długopis – najprostszy sposób na zapis swojej strategii, jej pseudo backtest, forward test itd. Ograniczenia w takim podejściu są oczywiste. Niemniej jednak papierowy zapis strategii można przekazać programiście i sprawdzić wyniki. Od czasu do czasu sam korzystam z tej metody.

232781 Automatyzacja tradingu  I

Arkusze kalkulacyjne – umiejętność posługiwania się arkuszami kalkulacyjnymi (Microsoft Excel, OpenOffice Calc, Google Spreadsheet) w tradingu jest dużym atutem. Pozwala na chociażby efektywne zarządzanie kapitałem, ryzykiem i jego monitorowanie. Dodatkowo można wykorzystać arkusze kalkukacyjne do backtestu, czy walk forward’u. Arkusze kalkukacyjne w bardzo prosty sposób umożliwiają tworzenie przeróżnych wykresów (statyczne, dynamiczne, interaktywne).

excell Automatyzacja tradingu  I

Wielu brokerów oferuje możliwość handlu z poziomu Excel’a za pośrednictwem własnych API.

Arkusze kalkulacyjne oferują szereg możliwości backtestu, wycen jak chociażby symulacje Monte Carlo swoich strategii, czyli „co by sie stało, gdyby przeszłość była inna”.

zietek Automatyzacja tradingu  I
źródło: Symulacje Monte Carlo jako metoda wyceny opcji, Katarzyna Ziętek-Kwaśniewska

Excel, czy Google Spreadsheet są dla mnie bardzo użyteczne i praktycznie dzień w dzień korzystam z funkcji oferowanych przez arkusze kalkulacyjne. Umiejętność programowania w VBA może zamienić Excel w potężne narzędzie wspomagające trading. Jednak z uwagi na swoją architekturę, jest zbyt wolnym narzędziem do przeprowadzania skomplikowanych testów strategii, czy obliczeń.

W tym zakresie polecam poniższe publikacje
T. Stridstan „Trading Systems and Money Management”
J. Walkenbach „Excel 2010 Power Programming with VBA”
M. Jackson, M. Staunton „Advanced Modelling in Finance using Excel and VBA”

Metatrader – produkt MetaQuotes, który zyskał sobie przychylność wśród retail traderów. Gigantyczna społeczność użytkowników, wsparcie i wiele innych udogodnień. Na potrzeby retail tradingu nadaje się do podstawowych i średnio zaawansowanych strategii. Wadą MT4/MT5 potocznie zwanym „Me too trader” jest jego wolny czas reakcji + dane obarczone błędem przeżywalności. To praktycznie dyskwalifikuje te narzędzie w stratagiach wykorzystujących bardzo niską latencję, czy wysoką częstotliwość realizacji zleceń. Wielu użytkowników MT4/5 nie jest tego świadomych i tym samym backtest’y przeprowadzone na danych obarczonych błędem przeżywalności nie są miarodajne/wiarygodne. Alternatywą jest zaimportowanie danych bez tego błędu jednak tego typu dane wymagają albo nakładu pieniężnego lub czasu (samodzielne przygotowanie danych). Tyczy się to głównie strategii na indeksach giełdowych i ich pochodnych.

Niemniej jednak „Me too trader” + MQL może stanowić świetny wstępniak do automatyzacji i profesjonalnego quant tradingu. Ostatnio widziałem, że chłopcy z Trading Jam Session porzucili XVIII-wieczne metody i sentymenty na rzecz nauki MQL, co mnie bardzo cieszy. W końcu tradingu XXI wieku to modelowanie i analiza szeregów czasowych, a nie jakies pitu pitu o Bóg wie czym….

NinjaTrader – narzędzie stosunkowo proste w obsłudze oferujące zdecydowanie większe możliwości backtestu, handlu aniżeli „Me too trader”. Osobiście nie korzystam z NinjaTrader.

AmiBroker – Platforma Amibrokera i Amibroker Formula Language sprawia, że jest to bardzo profesjonalne narzędzie do tworzenia i testowania swoich strategii, które znalazło uznanie zarówno na poziomie retail tradingu jak i instytucjonalnego. Z AmiBrokera korzystałem po zmianie systemu notowań GPW z WARSET na UTP i udostępnionym przez DM BOŚ – AmiBroker plugin. Mimo, iż wykorzystywany jest autorski język AFL, osoby ze znajomością języka programowania C, nie będa miały problemów z nauką AFL. Pełna licencja AmiBroker to wydatek rzędu 2000 zł. Do automatycznego handlu na GPW za pośrednictewm DM BOŚ jest to dla mnie nr. jeden. Być może istnieją jakieś alternatywy lepsze/gorsze, jednak przyzwyczajenie i znajomość przemawiają za pozostaniem przy tym rozwiązaniu.

MatLab – w 100% profesjonalne narzędzie do tworzenia i testowania strategii spekulacyjnych, modeli rynkowych, statystyki, machine learning, sieci neuronowych i wielu wielu innych kwestii związanych ze spekulacją i tradingiem. Zastosowanie na poziomie instytucjonalnym, akademickim. Z uwagi na koszty licencji, mało popularne wśród retail traderów. Koszt z wszystkimi dodatkami wynosi około 14 tys. zł. Studenci mają za free, więc zawsze można coś pokombinować po znajomych.

R, Python, C/C++ – Gdy w 2012 r. rozpoczynałem przygodę z automatyzacją swojego handlu na FW20, zaciekawiłem się językiem i środowiskiem do obliczeń statystycznych RR-Project i biblioteką Quantmod – Quantitative Financial Modelling & Trading Framework for R. Język ten okazał sie na tyle przyjazny, iż w zaledwie 8 miesięcy udało się go opanować w stopniu pozwalającym na kodowanie własnych idei. Jest to język na tyle intuicyjny, iż absolutnie każdy jest w stanie się go nauczyć. A bogactwo bibliotek, społeczności, wsparcia sprawi, że użytkownik nie pozostanie sam na polu walki.

Polecane:
R-Bloggers
Gekko Quant – blog, który towarzyszy mi od początku mojej przygody z automatyzacją.

Niemniej to Python i C/C++ wiodą prym wśród handlu automatycznego, algo tradingu i szeroko pojętym researchu. Nauka tych języków programowania nie jest już na tyle łatwa jak w przypadku R. Jednak ich znajomość jest tak jakby kwintesencją wszystkich możliwych dostepnych rozwiązań.

Z racji tego, że Excel, R i Python są mi najbliższe, w kolejnych częściach postaram się opisać w miarę przystępny sposób poszczególne etapy automatyzacji zyskownej strategii spekulacyjnej z wykorzystaniem tych narzędzi.


Pzygotowanie do automatyzacji handlu

Mikrostruktura rynkowa – jej poznanie jest absolutnym minimum przy automatyzacji własnego handlu. Niekiedy brak wiedzy z zakresu mikrostruktury rynkowej może doprowadzić do tragedii portfelowej.

W tym zakresie polecam poniższe publikacje
Barry Johnson „Algorithmic trading and Direct Market Access”
Larry Harris „Trading and Exchanges: Market Microstructure for practitioners”
C.A. Lehalle, S. Laruelle „Market Microstructure in Practice”

Po przeczytaniu tych książek zdobędziemy wiedzę teoretyczną odnośnie mikrostruktury rynkowej, najpopularniejszych algorytmów i poznamy trochę psychologii rynkowej.

W poszukiwaniu ciekawej strategii mozna wykorzystać Internet. Oczywiście jest sporo firm/osób oferujących na swoich stronach internetowych płatne strategie/systemy inwestycyjne, jednak proszę uwierzyć, iż nie różnią się niczym od tych bezpłatnych.
I tak w poszukiwaniu bezpłatnych strategii można odwiedzić:

  1. Forex Forum Nawigator – Chyba najstarsza i najlepsza polska strona poświęcona rynkowi Forex. Można znaleźć tam wiele ciekawych strategii, które możemy wykorzystać dla siebie.
  2. Elite Trader – Anglojęzyczne Forum, kopalnia wiedzy, niczym „Snatch” z Bradem Pitem jako kopalnia przekleństw w języku angielskim :-)

Jest to pakiet minimum i pewnie większość osób stawiająca swoje pierwsze kroki wybierze fora internetowe, jednak z czasem przekonają się, że nie zastąpi to dobrej książki.

Wszystko pięknie ładnie, strategia jest i co dalej ? Jak testować algorytm ?
Jak modyfikować/optymalizować ?

Poniższy tutorial może mieć zastosowanie jeżeli nie chcemy korzystać z gotowych rozwiązań – webowych środowisk typu:

Powyższe platformy i ich wykorzystanie przeze mnie, ograniczenia oraz możliwości zostaną przedstawione w kolejnych częściach.

Na samym początku pisałem o języku „R”, Excell. Warto jednak uzbroić się również w możliwość korzystania z systemów z rodziny Linux.
Jeżeli mamy zainstalowane środowisko „R” na naszym Windowsowym komputerze, wypadałoby jeszcze dodać Linuxa. Do tego celu nie trzeba kupować nowego laptopa/desktopa, wystarczy nam środowisko wirtualne.

Uwaga ! Poniższe screeny są z tutoriala opublikowanego w 2013 r. Aktualna wersja Ubuntu to 17.X.. Niemniej jednak kontekst i poszczególne kroki są niezmienione.

W tym celu należy pobrać tzw. Virtual Box przeznaczony do wirtualizacji systemów. Oprogramowanie można pobrać ze strony producenta VirtualBox.org

virtual box Automatyzacja tradingu  I Jeżeli działamy na system Windows należy pobrać VirtualBox 4.3.2 for Windows hosts x86/amd64

Kolejnym krokiem jest pobranie systemu Ubuntu ze strony Ubuntu.com. Pobieramy najnowszą wersję Desktopową 13.10.
ubuntu Automatyzacja tradingu  I

Do wyboru będziemy mieć 32- i 64-bitową wersję. W tym przypadku pobieramy wersję 64-bitową.
ubuntu2 Automatyzacja tradingu  I

Po ściągnięciu plików przystępujemy do instalacji, rozpoczynamy od Virtual Boxa. Sam proces instalacyjny zarówno Ubuntu jak i systemu do wirtualizacji jest bardzo prosty i nie wymaga skomplikowanej wiedzy technicznej.

Odpalamy plik instalacyjny:

1) Klikamy Next
vb1 Automatyzacja tradingu  I

2) Klikamy Next
vb2 Automatyzacja tradingu  I

3) Na końcu otrzymamy komunikat ostrzegający przed zresetowaniem interfejsu sieciowego i chwilowym brakiem dostępu do Internetu.
vb3 Automatyzacja tradingu  I

4) Po zakończeniu instalacji pojawi się okno VirtualBox Manager, w tym przypadku zainstalowane mam już 4 wirtualne maszyny, ale stworzę kolejną specjalnie przystosowaną tylko i wyłącznie do testowania strategii w handlu algorytmicznym. Uprzednio ściągnięty plik *.iso z Ubuntu należy wypalić na płycie, lub skorzystać z wirtualnych dysków za pomocą Daemon Tools Lite do pobrania stąd: http://www.disk-tools.com/download/daemon

5) Aby stworzyć nową „wirtualkę” klikamy na przycisk „New” w lewym górnym rogu. Wpisujemy nazwę naszego virtual box i przystępujemy do instalacji systemu.
handel algorytmiczny 1 Automatyzacja tradingu  I

6) Następnie określamy ilość pamięci RAM jaką przydzielimy dla naszego wirtualnego systemu. Ja przydzieliłem 2 GB, ale standardowe ustawienie 512 MB winno w zupełności wystarczyć. Należy jednak pamiętać, iż bardziej skomplikowane operacje będą bardziej „pamięciożerne”. Jeżeli mamy 4GB Ramu w laptopie/komputerze, przydzielenie 1-1,5 GB będzie optymalne. Kolejnym krokiem będzie wydzielenie miejsca dla dysku wirtualnego

handel algorytmiczny 2 Automatyzacja tradingu  I

handel algorytmiczny 3 Automatyzacja tradingu  I

Standardowe ustawienia są wystarczające, toteż w kolejnych oknach wystarczy klikać Next, a na końcu „Create”. Jeżeli wszystko przebiegło poprawnie powinniśmy zobaczyć takie o to okno:

handel algorytmiczny 4 Automatyzacja tradingu  I

Odpalamy Ubuntu, w tym celu należy nacisnąć przycisk Start. Jeżeli podczas uruchamiania otrzymamy taki oto błąd:
handel algorytmiczny 5 Automatyzacja tradingu  I

Należy zamknąć okno, a następnie wejść w ustawienia i wybrać 64-bitową wersję Ubuntu.
handel algorytmiczny 6 Automatyzacja tradingu  I
handel algorytmiczny 7 Automatyzacja tradingu  I

Gdy już to zostanie zmienione, można przystąpić do uruchumienia Ubunt i instalacji. W pierwszej kolejności pojawi nam się ekran powitalny z wyborem języka i tego co chcemy zrobić. Oczywiście klikamy na „Zainstaluj Ubuntu”.
handel algorytmiczny 8 Automatyzacja tradingu  I

W kolejnym oknie zostaniemy poproszeni o wybór aktualizacji. Warto zaznaczyć opcję „Pobranie aktualizacji podczas instalacji”, a następnie klikamy przycisk „Naprzód”. W kolejnym oknie pojawi się komunikat ostrzegawczy „Wyczyszczenie dysku i zainstalowanie Ubuntu. Uwaga ! Trwale usuwa z dysku wszystkie pliki”. Jako, że działamy na środowisku wirtualnym, nie trzeba się przejmować tym ostrzeżeniem, naszym plikom na dyskach nic się nie stanie. Klikamy Zainstaluj.

W kolejnych etapach proszeni będziemy o podanie naszej lokalizacji, układu klawiatury oraz tożsamość użytkownika:
handel algorytmiczny 9 Automatyzacja tradingu  I
Klikamy Naprzód. Może pojawić się okno z prośbą o logowanie do konta Ubuntu, ale w tym przypadku klikamy na „Zaloguj mnie później”. Rozpoczyna się proces instalacji, który troszkę potrwa. Po zakończeniu zostaniemy poproszeni o zrestartowanie naszego wirtualnego komputera.

Jeżeli wszystko przebiegło pomyślnie powinniśmy zalogować się do Ubuntu kontem stworzonym podczas instalacji.

handel algorytmiczny 10 Automatyzacja tradingu  I

Następnie musimy uruchomić terminal by zainstalować odpowiednie paczki, aktualizacje, etc. W tym celu należy wybrać Szukanie z lewego menu i wyszukać Terminal.
Ekran powinien wyglądać następująco:

handel algorytmiczny 11 Automatyzacja tradingu  I

Teraz w terminalu wykonujemy dwie komendy:

sudo apt-get -y update
sudo apt-get -y upgrade

Przystępujemy do instalacji środowiska obliczeniowego do testów naszych strategii inwestycyjnych.

sudo apt-get install python-pip python-dev

handel algorytmiczny 12 Automatyzacja tradingu  I


sudo pip install numpy

Proces ten trwa dość długo, więc można zająć się czymś innym w tym czasie.
handel algorytmiczny 13 Automatyzacja tradingu  I

Gdy już numpy zostanie zainstalowane, kolejnym krokiem jest wykonanie komendy, która zainstaluje kompilator GNU Fortran i biblioteki ATLAS.

sudo apt-get install libatlas-base-dev gfortran

Kolejną rzeczą, którą należy zainstalować jest SciPy:

sudo pip install scipy

Z racji tego, że w Pythonie będziemy tworzyć graficzne wykresy należy zainstalować bibliotek graficzne, czcionki typu „FreeType” no i oczywiście biblioteki obsługujące wykresy w Pythonie.

sudo apt-get install libjpeg8-dev libfreetype6-dev
sudo pip install matplotlib

W Windowsym R do obliczeń statystycznych korzystaliśmy z bibliotek quantmod. W Pythonie będziemy korzystać z bibliotek pandas i scikit-learn. Aby je zainstalować wykonujemy komendy:

sudo pip install -U scikit-learn
sudo pip install pandas

Mamy już praktycznie wszystko, pozostaje nam tylko lekko ulepszyć konsolę pythona, która sama w sobie wygląda mizernie. Programiści jednak przychodzą nam na pomoc z interpreterem Pythona o jakże ciekawej nazwie iPython.

sudo pip install ipython

Na sam koniec pozostało nam już zainstalowanie bibliotek środowiska Qt dedykowanego dla takich języków jak C++ oraz kilka dodatkowych paczek dla konsoli qt.

sudo apt-get install libqt4-core libqt4-gui libqt4-dev
sudo apt-get install libzmq-dev
sudo pip install pyzmq
sudo pip install pygments

I gotowe, mamy środowisko przygotowane do obliczeń statystycznych, testu strategii inwestycyjnych i tworzenia nowych algorytmów. Na podobnej konfiguracji działa większość dużych funduszy hedgingowych oraz osób tworzących skomplikowane algorytmy. Oczywiście dla bardzo dużych obliczeń potrzebna będzie osobna stacja robocza z odpowiednimi parametrami technicznymi, jednak do działań domowych oraz do nauki środowisko wirtualne zaspokaja wszelkie potrzeby.

handel algorytmiczny 15 Automatyzacja tradingu  I


Instalacja R na Windows

Poniższy fragment jest częścią tutoriala napisanego w 2013 r. także proszę wybaczyć dość „naiwne” słownictwo. Niemniej jednak kontekst jest zachowany.

Dlaczego R ? Dlaczego nie :-) a tak na poważnie… jest to potężne środowisko do obliczeń statystycznych, oczywiście ma swoje plusy i minusy, w niektórych aspektach jest o niebo lepsze od Pythona czy C++, w innych gorsze. Dla początkujących jest jak znalazł z uwagi na prostotę składni, co bardziej pozwala na poznanie całego mechanizmu działań algorytmów. Funkcje czy skrypty napisane w R bez problemu będzie można implementować w kodach źródłowych napisanych w innych językach, a następnie wykorzystywać je np. na platformach Meta Trader czy na systemach transakcyjnych oferowanych chociażby przez Bank Ochrony Środowiska. Dlaczego akurat wymieniłem ten bank ? Platformy transakcyjne BOŚ są mi najlepiej znane i pozwalają na handel algorytmiczny.

Środowisko R można pobrać ze strony Uniwersytetu Wrocławskiego


Ważna informacja !

Jeżeli R instalowany jest na komputerze 64 bitowym systemem operacyjnym Vista, do prawidłowego działania przedstawionych algorytmów, po instalacji należy uruchamiać środowisko z 64-bitowego pliku startowego.
1 Automatyzacja tradingu  I

Po uruchomienia pojawi się konsola

2 Automatyzacja tradingu  I

Nie będę rozpisywać się nad składnią, bo można przeczytać o niej chociażby na stronie domowej R, gdzie dostępna jest pełna dokumentacja. Tak czy inaczej będę starać się w miarę prosto opisywać co do czego służy. W tym wpisie przedstawię totalne podstawy i gotowy kod źródłowy do tworzenia gotowych wykresów, które później będą wykorzystywane…

Przed przystąpieniem do pisania czegokolwiek, należy zainstalować kilka bibliotek, bez których tworzenie algorytmów jest niemożliwe. Poniższe polecenia można wpisywać ręcznie do konsoli, ale wygodniej będzie skopiować tekst z tej strony i za pomocą ctrl + v lub shift + insert wkleić do konsoli. W kolejnych wpisach będę omawiać szczegółowo każdą z zainstalowanych bibliotek.

Najważniejsza z tych paczek to quantmod, czyli środowisko pozwalające na tworzenie różnego rodzaju statystycznych modeli pozwalających na wybór najlepszej strategi spekulacyjnej.
Więcej o tej paczce można przeczytać tutaj:
Quantitative Financial Modelling & Trading Framework for R skojarzenia z QE 3 ? Słusznie :-)

install.packages('quantmod')
install.packages('TTR')
install.packages('PerformanceAnalytics')
install.packages('RColorBrewer')
install.packages('ggplot2')

Pojawi się okno wyboru serwerów skąd mogą zostać pobrane repozytoria. Wybieramy Poland (Wroclaw). Repozytoria zostaną pobrane, rozpakowane i automatycznie zainstalowane. Powyższe biblioteki są już zainstalowane na moim komputerze, więc aby przedstawić jak wygląda okno wybory serwera, pobrałem u siebie przypadkową paczkę.

3 Automatyzacja tradingu  I

Gdy już wszystko zostanie zainstalowane, możemy sprawdzić podstawowe działanie.

W tym celu musimy pobrać historyczne dane np. dla kontraktów terminowych na WIG 20. Skorzystałem z danych udostępnionych na portalu stooq.pl http://stooq.pl/q/d/?s=fw20. Interwał dzienny, data początkowa 20 stycznia 1998. Kilkam w „Pobierz dane w pliku csv” i dane ściągnięte. Oczywiście można korzystać z innego źródła danych, co będzie przedstawione w późniejszych wpisach.

4 Automatyzacja tradingu  I

5 Automatyzacja tradingu  I

Otwieramy plik w OpenOffice lub Excel.
Jeżeli program zapyta o separator, należy wybrać „przecinek”.
Teraz należy zamienić nazwy nagłówków:
Otwarcie -> Open, Najwyższy -> High, Najniższy -> Low, Wolumen -> Volume

Kopiujemy kod i wklejamy do konsoli R:

dataFile < - "fw20_d.csv"
dataFile_strip < - "fw20.csv"
dataDir < - "C:/Stock"
file < - paste(dataDir,"/",dataFile,sep="")
file2 < - paste(dataDir,"/",dataFile_strip,sep="")
csv < - read.csv(file,header=TRUE,sep=",")
csv$row.names < - as.POSIXct(as.character(csv$row.names),tz="",format="%d.%m.%Y")
write.csv(csv[-7],file2,row.names=FALSE)

Jeżeli pojawi się błąd, można go zignorować.
6 Automatyzacja tradingu  I

Kopiujemy i wklejamy kod:

library(quantmod)
install.packages('zoo')
dataFile_strip < - "fw20.csv"
dataDir < - "C:/Stock"
file2 < - paste(dataDir,"/",dataFile_strip,sep="")
zz < - read.zoo(file2,sep=",",format="%d.%m.%Y",header=TRUE,cindex.column=1,colClasses=c("character",rep("numeric",5)))
head(zz)
xx < - as.xts(zz)
#dowolny zakres dat
FW20< -xx['2012-01::2013-02-15']
candleChart(FW20,theme='white', type='candles')

W przypadku wystąpienia błędów należy nacisnąć Enter. W kolejnych wpisach wyjaśnię te błędy i ich korekcję. Jeśli wszystko przebiegło zgodnie z instrukcją, pojawił się nam wykres kontraktów terminowych na WIG20

7 Automatyzacja tradingu  I


W kolejnym wpisie przedstawię modelowanie procesów decyzyjnych, sprawdzanie własnych predykcji rynkowych oraz podstawowe funkcje w Pythonie, wykorzystanie średnich kroczących do tworzenia prostych strategii podążania za trendem, mean reversion oraz momentum.

Pytania, komentarze mile widziane.

Pytania w komentarzach odnośnie aktualnej kondycji rynkowej, prognoz, czy pozycjonowania będą usuwane. Jest to wpis nt. automatyzacji.

11
Dodaj komentarz

Dodaj zdjęcia
 
 
 
 
 
Dodaj video
 
 
 
 
 
Dodaj inne pliki
 
 
 
 
 
9 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
  Subscribe  
najnowszy najstarszy
Powiadom o
Grzegorz

U mnie wywala „BŁĄD: nie znaleziono obiektu ‚dataFile’

Radek

Interesujący wpis.
Czy powstała kolejna część?

Romeo

„Jeżeli mamy zainstalowane środowisko „R” na naszym Windowsowym komputerze, wypadałoby jeszcze dodać Linuxa. ” —- pytanie po co komplikowac? Nie lepiej miec tylko WIndowsa?

system trader

Super tekst.

Od siebie wspomne o TradeStation (platforma jak i broker zarazem). W Polsce nie spotkalem nikogo, kto by z tego korzystal (co nie znaczy, ze nikt tego robi :)) – na pewno nie jest popularny w dobie me too traderow :)

TS to rozbudowana platforma deweloperska, umozliwiajaca automatyzcje handlu. Osobiscie na TS uprawiam zautomatyzowany algo-trading na kontraktach w USA.

Mariusz Szepietowski

Bardzo dobry tekst. Brakowało takiego, który przekaże podstawy nowym osobom. Jedno co bym proponował dodać, to akapit o tym, że to jeden z trudniejszych biznesów. A automatycznym można go nazwać po kilku latach frustrującej pracy, nie mówiąc już o inwestycji finansowej.

oscilllo

Nie wiem czy nie jest to przerost formy nad trescia, ktorej swoja droga jest duzo. Pytanie tylko po co… Kazdy algorytm zyje sobie i zarabia na rynku kilka do kilkanastu miesiecy, pozniej najczesciej zostaje skanibalizowany. Jak to sie mowi, nie ma darmowych obiadkow. Rynki zmieniaja sie, zmienia sie ich dynamika, ludzki umysl jest bardzo elastyczny i wbrew pozorom dosc fajnie te zmiany wychwytuje i dostraja sie. Podsumowujac, moim zdaniem nic nie przemawia za strategiami i podejsciem, o ktorych pisze autor.

jona

Nie jest prawdą, że „Na poziomie retail tradingu szczególnie w Polsce, handel algorytmiczny jest praktycznie nieobecny” Polecam zapoznać się z EXERIĄ

jamajma-ddr

no niezle, kompetnie za raczke ;)

Maciej

Bardzo dobry wpis, do R polecam R-Studio.