Algorytmiczny handel na giełdzie/u brokerów

0

Cześć, pytanie do was, ekspertów od klikania w komputery i robienia rzeczy trudnych.

Czy ktoś z was interesował się/interesuje realizowaniem zautomatyzowanych strategii inwestycyjnych na giełdzie? Mam wrażenie, że osoby techniczne siedzące w IT mają pełne zaplecze aby robić to poprawnie, ale bardzo rzadko o tym słyszę aby ktokolwiek się tym zajmował. Zastanawiam się, czy po prostu jest małe zainteresowanie tym, bądź brak chęci chwalenia się dużymi sukcesami czy może po prostu, jest to zbyt czasochłonne?

Wiem, że są fundusze inwestycyjne które zatrudniają ekspertów od każdego obszaru (kodowanie, research, utrzymanie itd itp) lecz ich ambicje raczej nastawiają się na exploitowanie każdego sygnału który umożliwia statystyczny arbitraż, a my pewnie byśmy raczej zadowolili się jakkolwiek działającymi strategiami, byleby przynosiły jakiś zysk.

Sam z ogromnym zapałem zajmuję się (póki co amatorsko) tematyką algorytmicznego handlu na instrumentach pochodnych które najlepiej rozumiem, też w sektorze który jako tako ogarniam i nie ukrywam, jest to po prostu ciekawe i satysfakcjonujące. A co więcej, fajniejsze niż klepanie w javie cruda i kafki w projekcie na codzień.
Nie udaje mi się na tym jeszcze zarabiać, ale wierzę, że to się zmieni a jeśli chodzi o czasochłonności, potrafi to zjeść ogromną ilość czasu - od integracji z zewnętrznymi api po modelowanie instrumentów bazowych czy testowanie jakichś strategii.

Może są tu ludzie zainteresowani tą tematyką i mają jakieś doświadczenia z tym? Bądź ewentualnie, będą w stanie od razu zmieszać z błotem moje aspiracje do tworzenia takiego softu, konstruktywnie uzasadniają, że wielkich pieniędzy na tym się nie ugra?

ps. HFT mnie interesuje, ale nie mam bezpośredniego dostępu do api giełdowych. Również, wydzierżawianie dostępu do takich api jest cholernie drogie i bez pewności, że się da zarobić, też nie ma sensu się w to bawić.

1

Czyli co robisz, modelujesz/zastępujesz analizę techniczną, z czego korzystasz, język, biblioteki?

0
lion137 napisał(a):

Czyli co robisz, modelujesz/zastępujesz analizę techniczną, z czego korzystasz, język, biblioteki?

To idąc po kolei, napisałem integracje z kilkoma api domów maklerskich oraz giełdami kryptowalut. Póki co ta część głównie nasłuchuje na porty i strumieniowo zapisuje poszczególne dane,
zależnie od instrumentu bazowego, ceny i wolumen danego instrumentu który jest notowany na danej platformie. Wszystko leci do InfluxDb.

Tutaj, pojawia się druga część która jest zaimplementowana w pythonie, podłączona do Influxa. W tej części implementuje przede wszystkim modele oparte o analizę stochastyczną/procesy stochastyczne do modelowania cen instrumentów bazowych, aby na nich opierać strategie na kontraktach CFD.
Głównie opieram modele o procesy stochastyczne typu point diffusion processes lub stochastic volatility models ale też badam cross-correlation (koleracje krzyżową) między szeregami czasowymi. No i wiadomo, z tego modeluje potencjalne zwroty na kontraktach CFD. Ogólnie metod jest ogrom, ale ja staram się póki co podchodzić do tematu "u podstaw". Czyli póki co bez MLa, bądź jakichś bardzo skomplikowanych modeli, ale jak jakaś praca ciekawa wpadnie na arxiv to raczej staram się z tych prostszych opracowań, coś stosować.
I interesują mnie póki co intraday strategie po pierwsze aby nie trzymać otwartych pozycji w ciągu dnia, a po drugie, tutaj wydaje się, że da się najwięcej ugrać(jeśli w ogóle się uda :) ) na czystym modelowaniu matematycznym.

Jeśli chodzi o biblioteki, to klepie to w dużej mierze ręcznie, głównie opierając się o numpy, polars oraz numbe. Do backtestów używam pythonowy backtrader.

Ogólnie, póki co jestem dalej niż bliżej aby to zarabiało. Co więcej, jakby backtesty by pokazały, że byłaby szansa na zysk, to pewnie przepisywałbym to na C++, natomiast mojej maszynce bliżej do generatora liczb losowych, niż do faktycznej działającej strategii.

Edit. precyzując, analizą sochastycznę modeluję wartości szeregu i zmienność, a następnie wyznaczam zwroty i wyceniam zbudowany portfel korzystając z podejścia monte carlo.

0

Pracowałem przy algotradingu. Kodowanie bota to pikuś, tym bardziej, że są gotowe boty np. do krypto. Cały bajer polega na pisaniu strategii, bo okodowanie api giełdy czy brokera to pikuś.

1

Ostatecznie chyba wolę stosować pasywną strategię i zobaczyć na tę chwilę jak będzie. Co do HFT to chyba mógłbyś użyć XTB, oni mają wystawione API RESTowe, choć do składania zleceń nigdy nie używałem więc nie wiem czy jest to dostatecznie wydajne, itd. Poza tym Exante podobno wystawia dobre API, ale tam to jest wyższy próg wejścia 10kEUR.

0

Nie znam się na tym kompletnie natomiast kolega ze studiów robił z tego dyplom. Z tego co pamiętam to jakoś mu to działało ale nigdy nie doszło to do pozycji gdzie włączył i poszedł spać, a bot sam na niego zarabiał. Ilość zmiennych wpływających na zachowanie rynku była tak ogromna, że musiał praktycznie codziennie reagować i "dostrajać" się do aktualnych uwarunkowań. Nawet problem był gdy szedł spać bo po kilku godzinach snu okazywało się, że nie działa to dobrze. Po około roku/półtora po studiach poszedł normalnie na etat porzucając ten temat także trzymam mocno za Ciebie kciuki.

0
MateInf napisał(a):

ps. HFT mnie interesuje, ale nie mam bezpośredniego dostępu do api giełdowych. Również, wydzierżawianie dostępu do takich api jest cholernie drogie i bez pewności, że się da zarobić, też nie ma sensu się w to bawić.

Na HFT cię nie stać. By się bawić w "HFT" to musisz być kolokowany w DC giełdy (np. NY11) i nikt się w api nie bawi bo tam się ścigasz na mikrosekundy/nanosekundy już nawet nie wspominając że Java czy C++ są dużo wolniejsze niż strategie naklepane w verilogu i latające na FPGA. Dane z giełdy dostajesz po multicaście w SBE typu ITCH gdzie L1 switch (na takim switchu masz już FPGA więc nawet na niego możesz wrzucać coś co gra na giełdzie) rozrzuca te dane po serwerach z kartami FPGA na których siedzi jakiś xilinx z strategią czy innymi serwisami które "wspomagają granie" (coś do risk managementu np.) i trade z powrotem leci po tcp do giełdy. Do tego jeszcze potrzebujesz dokładnego czasu po PTP gdzie master clock jest dyscyplinowany np. GPSem plus HFT ma sporo regulacji by nie wywalili rynku (znowu). Także HFT jest poza zasięgiem jak już to algo trading tylko że takich osób jak Ty jest mnóstwo i gdyby granie na giełdzie było takie proste by zrobić miliony to byś znalazł tutorial na jutubie od majfrendów :) Niemniej jednak powodzenia!

0

Monte carlo dobrze się spisuje przy szacowaniu kształtu prawdopodobieństwa, dobrze jak są jakieś pewne prawdopodobieństwa, czyli idzie coś wyliczyć, przy kompletnym randomie nie ma w sumie czego liczyć.

W sumie na giełdzie jest tak, że wystarczy jakiś impuls społeczności i nagle akcje wzrastają, nawet media próboują manipulować, np. takie ceny paliwa jak mówili, że zabraknie to sprawili, że ludzie wykupili na zapas znacznie więcej przez co wartość wzrosła.
Takich dziwnych fluktuacji spowodowanych błędami poznawczymi u ludzi trudniej to wyliczyć z samego wykresu bo trzeba analizować wszystko.

Sam nie wiem jak dobrze takie coś zrobić, na pewno potrzebowałbyś jakiejś oceny czy dana firma się rozwija, czy nic nowego nie osiągnęła w dłuższym okresie, czy jakiś surowiec powoli zanika z globu, wtedy teoretycznie można spekulować spadki, czy wzrosty, ale też może być tak że nagonka w mediach, kupujcie kryptowaluty i wszyscy inwestują i są wzrosty, jednak ludzie są podatni na manipulacje, ale jak to wziąć pod uwagę w obliczeniach.
Są jeszcze urojone prawdopodobieństwo, nie jest zbyt łatwo zaadaptować to do istniejących problemów, może kiedyś da się to jakoś zgrabnie zastosować poza mechaniką kwantową.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.