Algoritamska trgovina (koja se naziva i automatizirano trgovanje, trgovanje crnom kutijom ili algo-trgovanje) koristi računalni program koji slijedi definirani skup uputa (algoritam) za postavljanje trgovine. Trgovina, u teoriji, može donositi profit brzinom i frekvencijom koja je nemoguća za trgovca ljudima.
Definirani skupovi uputa temelje se na vremenu, cijeni, količini ili bilo kojem matematičkom modelu. Osim profitnih prilika za trgovca, algo-trgovina čini tržišta likvidnijima, a trgovanje sustavnijim, isključujući utjecaj ljudskih emocija na trgovačke aktivnosti.
Algoritamsko trgovanje u praksi
Pretpostavimo da trgovac slijedi ove jednostavne trgovinske kriterije:
- Kupite 50 dionica dionica kada 50-dnevni pomični prosjek prijeđe pokretni prosjek od 200 dana. (Pomični prosjek je prosjek prošlih bodova podataka koji izjednačava svakodnevna oscilacija cijena i na taj način identificira trendove.) Prodajte dionice dionica kada 50-dnevni pomični prosjek padne ispod pomičnog prosjeka od 200 dana.
Koristeći ove dvije jednostavne upute, računalni program automatski će nadzirati cijenu dionica (i kretanje prosječnih pokazatelja) i postavljati narudžbe za kupnju i prodaju kada su ispunjeni definirani uvjeti. Trgovac više ne treba nadzirati cijene uživo i grafikone niti naručivati ručno. Algoritamski trgovinski sustav to radi automatski ispravnim prepoznavanjem mogućnosti trgovanja.
Osnove algoritma trgovanja
Prednosti Algoritamske trgovine
Algo-trgovanje pruža sljedeće prednosti:
- Trgovine se izvršavaju po najboljim mogućim cijenama. Postavljanje narudžbe je trenutno i točno (postoji velika vjerojatnost izvršenja na željenim razinama). Trgovine su tempirane ispravno i trenutno kako bi se izbjegle značajne promjene cijena. Smanjeni troškovi transakcija. Istovremene automatizirane provjere na više tržišnih uvjeta. Smanjeni rizik od ručnih pogrešaka pri stavljanju obrta. Algo-trgovanje se može ponovno testirati korištenjem dostupnih povijesnih i stvarnih podataka da se vidi je li to održiva strategija trgovanja. Umanjio je mogućnost pogrešaka ljudskih trgovaca na temelju emocionalnih i psiholoških čimbenika.
Većina algo-trgovanja danas je visokofrekventno trgovanje (HFT), koje pokušava iskoristiti plasiranje velikog broja naloga brzim brzinama na više tržišta i više parametara odluke na temelju unaprijed programiranih uputa.
Algo-trgovanje koristi se u mnogim oblicima trgovanja i investicijskih aktivnosti, uključujući:
- Srednjoročni i dugoročni investitori ili tvrtke koje kupuju - mirovinski fondovi, uzajamni fondovi, osiguravajuća društva - koriste algo-trgovanje za kupovinu dionica u velikim količinama kada ne žele utjecati na cijene dionica s diskretnim ulaganjima velikih količina. - vremenski trgovci i sudionici na prodaju - proizvođači tržišta (poput brokerskih kuća), špekulanti i arbitraži - imaju koristi od automatizirane trgovine; pored toga, algo trgovanje pomaže u stvaranju dovoljne likvidnosti za prodavače na tržištu. Sistematični trgovci - sljedbenici trenda, hedge fondovi ili trgovci parovima (tržišno neutralna strategija trgovanja koja odgovara dugoj poziciji i kratkoj poziciji u paru visoko povezani instrumenti kao što su dvije dionice, fondovi kojima se trguje na burzi (ETF-ovi) ili valute - mnogo je učinkovitije programirati svoja pravila trgovanja i pustiti da se program trguje automatski.
Algoritamska trgovina pruža sustavniji pristup aktivnom trgovanju od metoda temeljenih na intuiciji ili instinktu trgovca.
Algoritamske strategije trgovanja
Svaka strategija za algoritamsko trgovanje zahtijeva identificiranu priliku koja je profitabilna u smislu poboljšane zarade ili smanjenja troškova. Sljedeće su uobičajene strategije trgovanja koje se koriste u trgovanju algo:
Strategije koje slijede u trendu
Najčešće algoritamske strategije trgovanja prate trendove kretanja prosjeka, probijanja kanala, kretanja razine cijena i odgovarajućih tehničkih pokazatelja. Ovo su najlakše i najjednostavnije strategije za implementaciju kroz algoritamsko trgovanje, jer te strategije ne uključuju predviđanja ili predviđanja cijena. Trgovine se pokreću na temelju pojave poželjnih trendova, koje je lako i jednostavno implementirati kroz algoritme, ne ulazeći u složenost prediktivne analize. Upotreba pokretnih prosjeka od 50 i 200 dana popularna je strategija praćenja trenda.
Arbitražne mogućnosti
Kupnja dionica s dvojnim kotacijama po nižoj cijeni na jednom tržištu i istodobna prodaja po višoj cijeni na drugom tržištu nudi razliku u cijeni kao profitni ili arbitražni postupak bez rizika. Ista se operacija može ponoviti za dionice i future instrumente jer povremeno postoje razlike u cijenama. Primjena algoritma za prepoznavanje takvih razlika u cijenama i učinkovito izvršavanje narudžbi omogućava profitabilne mogućnosti.
Rebalansiranje indeksnih fondova
Indeksni fondovi definirali su razdoblja rebalansa kako bi se njihova udjela izjednačila s njihovim referentnim indeksima. To stvara profitabilne mogućnosti za algoritmičke trgovce, koji iskorištavaju očekivane transakcije koje nude 20 do 80 baznih bodova dobiti, ovisno o broju dionica u indeksnom fondu neposredno prije rebalansa indeksnog fonda. Takve trgovine pokreću se putem algoritamskih trgovačkih sustava za pravovremenu izvedbu i najpovoljnije cijene.
Strategije temeljene na matematičkom modelu
Dokazani matematički modeli, poput delta-neutralne strategije trgovanja, omogućuju trgovanje kombinacijom opcija i temeljne sigurnosti. (Delta neutralna je strategija portfelja koja se sastoji od više pozicija s nadoknađivanjem pozitivnih i negativnih delta - omjer koji uspoređuje promjenu cijene imovine, obično tržišne vrijednosnice i odgovarajuće promjene cijene njenog derivata - tako da ukupna vrijednost delta dotične imovine iznosi nula.)
Raspon trgovanja (srednja reverzija)
Strategija srednje reverzije temelji se na konceptu da su visoke i niske cijene sredstva privremeni fenomen koji se povremeno vraća na srednju vrijednost (prosječnu vrijednost). Prepoznavanje i definiranje raspona cijena i implementacija algoritma na temelju njega omogućava da se trgovanje automatski plasira kada se cijena imovine probije i iz njenog definiranog raspona.
Prosječno ponderirana prosječna cijena (VWAP)
Strategija prosječno ponderisane količine cijena razbija veliku narudžbu i na tržište pušta dinamički određene manje dijelove naloga koristeći povijesne profile volumena specifične za dionice. Cilj je izvršiti narudžbu blizu prosječne ponderirane cijene (VWAP).
Prosječna ponderisana prosječna cijena (TWAP)
Vremenska ponderisana prosječna cijena razbija veliku narudžbu i na tržište pušta dinamički određene manje dijelove narudžbe koristeći ravnomjerno podijeljene vremenske intervale između početnog i krajnjeg vremena. Cilj je izvršiti narudžbu blizu prosječne cijene između početnog i krajnjeg vremena, čime se minimizira utjecaj na tržište.
Postotak volumena (POV)
Dok se trgovinski nalog ne ispuni u potpunosti, ovaj algoritam nastavlja slati djelomične narudžbe prema definiranom omjeru sudjelovanja i prema količini kojima se trguje na tržištima. Povezana „strategija koraka“ šalje narudžbe po korisničkom postotku tržišnog volumena i povećava ili smanjuje ovu stopu sudjelovanja kada cijena dionica dosegne razine definirane od strane korisnika.
Nedostatak u provedbi
Strategija manjka u provedbi ima za cilj minimizirati troškove izvršenja narudžbe trgovanjem izvan tržišta u stvarnom vremenu, čime se štedi na trošku narudžbe i koristi se prigodnim troškovima odgođenog izvršenja. Strategija će povećati ciljanu stopu sudjelovanja kada se cijena dionica povoljno kreće i smanjiti kad se cijena dionica nepovoljno kreće.
Iza uobičajenih algoritama trgovanja
Postoji nekoliko posebnih klasa algoritama koji pokušavaju identificirati „zbivanja“ na drugoj strani. Ti „algoritmi njuškanja“ - na primjer, proizvođač tržišta prodaje - imaju ugrađenu inteligenciju za prepoznavanje postojanja bilo kakvih algoritama na strani velike kupovine. Takvo otkrivanje putem algoritama pomoći će proizvođaču tržišta da identificira velike mogućnosti narudžbe i omogućiti im da imaju koristi popunjavanjem naloga po višoj cijeni. To se ponekad identificira kao visokotehnološko prednje trčanje.
Tehnički zahtjevi za algoritam trgovanja
Primjena algoritma pomoću računalnog programa posljednja je komponenta algoritamskog trgovanja, praćena ponovnim testiranjem (isprobavanje algoritma na povijesnim razdobljima prošlih tržišnih performansi kako bi se vidjelo da li bi njegovo korištenje bilo isplativo). Izazov je transformirati identificiranu strategiju u integrirani računalni proces koji ima pristup trgovačkom računu za davanje naloga. Slijede zahtjevi za algoritamsko trgovanje:
- Znanje računalnog programiranja za programiranje potrebne strategije trgovanja, unajmljeni programeri ili unaprijed izrađeni softver za trgovanje. Mrežna povezanost i pristup trgovačkim platformama za naručivanje. Pristup do feedova sa podacima o tržištu koji će se nadzirati algoritmom kako bi se omogućile prilike za naručivanje. Sposobnost i infrastruktura da testiraju sustav nakon što je izgrađen prije nego što krene uživo na stvarna tržišta. Dostupni povijesni podaci za ponovno testiranje, ovisno o složenosti pravila implementiranih u algoritam.
Primjer algoritamske trgovine
Kraljevska nizozemska školjka (RDS) kotirana je na Amsterdamskoj berzi (AEX) i Londonskoj berzi (LSE). Započinjemo izgradnjom algoritma za prepoznavanje mogućnosti arbitraže. Evo nekoliko zanimljivih opažanja:
- AEX trguje u eurima dok LSE trguje britanskim funtama. S obzirom na jednosatnu razliku, AEX se otvara sat vremena ranije od LSE-a, a slijede ga obje burze istovremeno u sljedećih nekoliko sati, a zatim trguju samo LSE-om tijekom posljednjeg sata. AEX se zatvara.
Možemo li istražiti mogućnost arbitražnog trgovanja dionicama Royal Dutch Shell navedene na tim dvama tržištima u dvije različite valute?
zahtjevi:
- Računalni program koji može čitati trenutne tržišne cijene. Hraniti se i iz LSE i AEX.A forex (deviznog) tečaja za GBP-EUR. Mogućnost plasmana koji može preusmjeriti narudžbu do ispravne razmjene. Mogućnost vraćanja bodova na povijesnu cijenu hrani.
Računalni program trebao bi obavljati sljedeće:
- Pročitajte ulaznu cijenu RDS dionica s obje burze. Upotrebom raspoloživih deviznih tečajeva pretvorite cijenu jedne valute u drugu. Ako postoji dovoljno velika razlika u cijenama (diskontiranje troškova posredovanja), što dovodi do profitabilne mogućnosti, tada program treba postaviti nalog za kupnju na burzi nižih cijena i prodati nalog na burzi s više cijene. Ako se nalozi izvrše po želji, slijedi arbitražni dobitak.
Jednostavno i jednostavno! Međutim, praksa algoritamskog trgovanja nije tako jednostavna za održavanje i izvršavanje. Imajte na umu da ako jedan investitor može staviti trgovinu proizvedenu od alga, to mogu učiniti i drugi sudionici na tržištu. Posljedično, cijene osciliraju u milionima, pa čak i mikrosekundama. U gornjem primjeru, što se događa ako se trgovina kupi izvrši, ali trgovina se ne događa jer se prodajne cijene mijenjaju do trenutka kada narudžba dođe na tržište? Trgovac će ostati otvorena pozicija čineći arbitražnu strategiju bezvrijednom.
Tu su i dodatni rizici i izazovi poput rizika od kvara sustava, pogreške u mrežnom povezivanju, vremenskog odmaka između trgovinskih naloga i izvršenja i, što je najvažnije, nesavršenih algoritama. Što je algoritam složeniji, potrebno je strože ponovno testiranje prije nego što se pokrene.