tranzacționarea algoritmică (numită și tranzacționare automată, tranzacționare cu cutie neagră sau algo-tranzacționare) utilizează un program de calculator care urmează un set definit de instrucțiuni (un algoritm) pentru a plasa o tranzacție. Comerțul, în teorie, poate genera profituri la o viteză și o frecvență care este imposibilă pentru un comerciant uman.
seturile definite de instrucțiuni se bazează pe Sincronizare, preț, cantitate sau orice model matematic. În afară de oportunitățile de profit pentru comerciant, algo-trading face piețele mai lichide și tranzacționarea mai sistematică prin excluderea impactului emoțiilor umane asupra activităților de tranzacționare.
- tranzacționare algoritmică în practică
- bazele tranzacționării algoritmice
- beneficiile tranzacționării algoritmice
- strategii de tranzacționare algoritmică
- strategii de urmărire a tendințelor
- oportunități de arbitraj
- reechilibrarea Fondului de indici
- strategii matematice bazate pe modele
- gama de tranzacționare (reversiune medie)
- preț mediu ponderat în volum (VWAP)
- preț mediu ponderat în timp (TWAP)
- procent de volum (POV)
- deficit de implementare
- dincolo de algoritmii obișnuiți de tranzacționare
- cerințe tehnice pentru tranzacționarea algoritmică
- un exemplu de tranzacționare algoritmică
tranzacționare algoritmică în practică
Să presupunem că un comerciant urmează aceste criterii comerciale simple:
- cumpărați 50 de acțiuni ale unui stoc atunci când media sa mobilă de 50 de zile depășește media mobilă de 200 de zile. (O medie mobilă este o medie a punctelor de date anterioare care netezește fluctuațiile zilnice ale prețurilor și identifică astfel tendințele.)
- vinde acțiuni ale stocului atunci când media sa mobilă de 50 de zile scade sub media mobilă de 200 de zile.
folosind aceste două instrucțiuni simple, un program de calculator va monitoriza automat prețul acțiunilor (și indicatorii medii mobile) și va plasa comenzile de cumpărare și vânzare atunci când sunt îndeplinite condițiile definite. Comerciantul nu mai trebuie să monitorizeze prețurile și graficele live sau să introducă manual comenzile. Sistemul de tranzacționare algoritmică face acest lucru automat prin identificarea corectă a oportunității de tranzacționare.
bazele tranzacționării algoritmice
beneficiile tranzacționării algoritmice
Algo-trading oferă următoarele beneficii:
- tranzacțiile sunt executate la cele mai bune prețuri posibile.
- plasarea comenzilor comerciale este instantanee și precisă (există șanse mari de execuție la nivelurile dorite).
- tranzacțiile sunt programate corect și instantaneu pentru a evita modificările semnificative ale prețurilor.
- costuri reduse de tranzacție.
- controale automate simultane privind mai multe condiții de piață.
- risc redus de erori manuale la plasarea tranzacțiilor.
- Algo-trading poate fi testat folosind datele istorice și în timp real disponibile pentru a vedea dacă este o strategie viabilă de tranzacționare.
- a redus posibilitatea greșelilor de către comercianții umani pe baza factorilor emoționali și psihologici.
majoritatea tranzacțiilor algo de astăzi sunt tranzacții de înaltă frecvență (HFT), care încearcă să valorifice plasarea unui număr mare de comenzi la viteze rapide pe mai multe piețe și mai mulți parametri de decizie pe baza instrucțiunilor preprogramate.
Algo-trading este utilizat în multe forme de activități de tranzacționare și de investiții, inclusiv:
- investitori pe termen mediu și lung sau firme de cumpărare – fonduri de pensii, fonduri mutuale, companii de asigurări-folosesc algo-trading pentru a cumpăra acțiuni în cantități mari atunci când nu doresc să influențeze prețurile acțiunilor cu investiții discrete, cu volum mare.
- comercianții pe termen scurt și participanții la vânzare-factorii de decizie de piață (cum ar fi casele de brokeraj), speculatorii și arbitrageurs—beneficiază de executarea automată a comerțului; în plus, algo—trading ajută la crearea unei lichidități suficiente pentru vânzătorii de pe piață.
- comercianți sistematici—adepți ai tendințelor, fonduri speculative sau comercianți de perechi (o strategie de tranzacționare neutră pe piață care se potrivește cu o poziție lungă cu o poziție scurtă într-o pereche de instrumente foarte corelate, cum ar fi două acțiuni, fonduri tranzacționate la bursă (ETF-uri) sau valute)—consideră că este mult mai eficient să își programeze regulile de tranzacționare și să lase programul să tranzacționeze automat.
tranzacționarea algoritmică oferă o abordare mai sistematică a tranzacționării active decât metodele bazate pe intuiția sau instinctul comerciantului.
strategii de tranzacționare algoritmică
orice strategie de tranzacționare algoritmică necesită o oportunitate identificată care este profitabilă în ceea ce privește câștigurile îmbunătățite sau reducerea costurilor. Următoarele sunt strategii comune de tranzacționare utilizate în algo-trading:
strategii de urmărire a tendințelor
cele mai frecvente strategii de tranzacționare algoritmică urmăresc tendințele mediilor mobile, întreruperilor canalelor, mișcărilor nivelului prețurilor și indicatorilor tehnici aferenți. Acestea sunt cele mai simple și mai simple strategii de implementat prin tranzacționare algoritmică, deoarece aceste strategii nu implică realizarea de predicții sau previziuni de preț. Tranzacțiile sunt inițiate pe baza apariției tendințelor dorite, care sunt ușor și simplu de implementat prin algoritmi fără a intra în complexitatea analizei predictive. Utilizarea mediilor mobile de 50 și 200 de zile este o strategie populară de urmărire a tendințelor.
oportunități de arbitraj
cumpărarea unei acțiuni listate dual la un preț mai mic pe o piață și vânzarea simultană a acesteia la un preț mai mare pe o altă piață oferă diferența de preț ca profit fără risc sau arbitraj. Aceeași operațiune poate fi reprodusă pentru acțiuni vs.instrumente futures, deoarece diferențele de preț există din când în când. Implementarea unui algoritm pentru identificarea unor astfel de diferențe de preț și plasarea eficientă a comenzilor permite oportunități profitabile.
reechilibrarea Fondului de indici
fondurile de indici au definit perioade de reechilibrare pentru a-și aduce participațiile la egalitate cu indicii lor de referință respectivi. Acest lucru creează oportunități profitabile pentru comercianții algoritmici, care valorifică tranzacțiile așteptate care oferă profituri de 20 până la 80 de puncte de bază în funcție de numărul de acțiuni din fondul index chiar înainte de reechilibrarea fondului index. Astfel de tranzacții sunt inițiate prin sisteme de tranzacționare algoritmică pentru executarea la timp și cele mai bune prețuri.
strategii matematice bazate pe modele
modele matematice dovedite, cum ar fi strategia de tranzacționare neutră delta, permit tranzacționarea pe o combinație de opțiuni și securitatea subiacentă. (Delta neutral este o strategie de portofoliu formată din mai multe poziții cu delte pozitive și negative compensatoare—un raport care compară modificarea prețului unui activ, de obicei o garanție tranzacționabilă, cu modificarea corespunzătoare a prețului derivatului său—astfel încât delta globală a activelor în cauză totalizează zero.)
gama de tranzacționare (reversiune medie)
strategia de reversiune medie se bazează pe conceptul că prețurile ridicate și scăzute ale unui activ sunt un fenomen temporar care revin periodic la valoarea medie (valoarea medie). Identificarea și definirea unui interval de preț și implementarea unui algoritm bazat pe acesta permite plasarea automată a tranzacțiilor atunci când prețul unui activ intră și iese din intervalul definit.
preț mediu ponderat în volum (VWAP)
strategia de preț mediu ponderat în volum sparge o comandă mare și eliberează pe piață bucăți mai mici determinate dinamic ale Ordinului folosind profiluri de volum istoric specifice stocurilor. Scopul este de a executa comanda aproape de prețul mediu ponderat în volum (VWAP).
preț mediu ponderat în timp (TWAP)
strategia de preț mediu ponderat în timp descompune o comandă mare și eliberează bucăți mai mici determinate dinamic ale Ordinului pe piață folosind intervale de timp împărțite uniform între ora de început și de sfârșit. Scopul este de a executa ordinul aproape de prețul mediu între orele de început și sfârșit, minimizând astfel impactul pieței.
procent de volum (POV)
până când ordinul de tranzacționare este complet completat, acest algoritm continuă să trimită comenzi parțiale în funcție de raportul de participare definit și în funcție de volumul tranzacționat pe piețe. „Strategia de pași” aferentă trimite comenzi la un procent definit de utilizator din volumele pieței și crește sau scade această rată de participare atunci când prețul acțiunilor atinge niveluri definite de utilizator.
deficit de implementare
strategia de deficit de implementare vizează minimizarea costului de execuție al unui ordin prin tranzacționarea pe piața în timp real, economisind astfel costul ordinului și beneficiind de costul de oportunitate al executării întârziate. Strategia va crește rata de participare vizată atunci când prețul acțiunilor se mișcă favorabil și o va scădea atunci când prețul acțiunilor se mișcă negativ.
dincolo de algoritmii obișnuiți de tranzacționare
există câteva clase speciale de algoritmi care încearcă să identifice „întâmplările” de cealaltă parte. Acești „algoritmi de adulmecare” -folosiți, de exemplu, de un producător de piață pe partea de vânzare—au inteligența încorporată pentru a identifica existența oricăror algoritmi pe partea de cumpărare a unei comenzi mari. O astfel de detectare prin algoritmi va ajuta producătorul de piață să identifice oportunități mari de comandă și să le permită să beneficieze prin completarea comenzilor la un preț mai mare. Acest lucru este uneori identificat ca fiind front-running de înaltă tehnologie.
cerințe tehnice pentru tranzacționarea algoritmică
implementarea algoritmului folosind un program de calculator este componenta finală a tranzacționării algoritmice, însoțită de backtesting (încercarea algoritmului pe perioade istorice ale performanței bursiere anterioare pentru a vedea dacă utilizarea acestuia ar fi fost profitabilă). Provocarea constă în transformarea strategiei identificate într-un proces computerizat integrat care are acces la un cont de tranzacționare pentru plasarea comenzilor. Următoarele sunt cerințele pentru tranzacționarea algoritmică:
- Computer-Cunoștințe de programare pentru a programa strategia de tranzacționare necesară, programatori angajați sau software de tranzacționare pre-fabricat.
- conectivitate în rețea și acces la platformele de tranzacționare pentru a plasa comenzi.
- accesul la fluxurile de date de piață care vor fi monitorizate de algoritmul de oportunități de a plasa comenzi.
- capacitatea și infrastructura de a backtest sistemul odată ce este construit înainte de a merge direct pe piețele reale.
- Date istorice disponibile pentru backtesting în funcție de complexitatea regulilor implementate în algoritm.
un exemplu de tranzacționare algoritmică
Royal Dutch Shell (RDS) este listată la Bursa de Valori din Amsterdam (AEX) și la Bursa de Valori din Londra (LSE). Începem prin construirea unui algoritm pentru a identifica oportunitățile de arbitraj. Iată câteva observații interesante:
- AEX tranzacționează în euro, în timp ce LSE tranzacționează în lira sterlină britanică.
- datorită diferenței de timp de o oră, AEX se deschide cu o oră mai devreme decât LSE, urmată de ambele schimburi care tranzacționează simultan pentru următoarele câteva ore și apoi tranzacționează numai în LSE în ultima oră, pe măsură ce AEX se închide.
putem explora posibilitatea tranzacționării arbitrajului pe acțiunile Royal Dutch Shell listate pe aceste două piețe în două valute diferite?
Cerințe:
- un program de calculator care poate citi prețurile curente ale pieței.
- feed-uri de preț de la ambele LSE și AEX.
- un flux de curs valutar (valutar) pentru GBP-EUR.
- capacitate de plasare a comenzilor care poate direcționa comanda către schimbul corect.
- capacitatea de Backtesting pe feed-uri de preț istorice.
programul de calculator trebuie să efectueze următoarele:
- citiți feedul de preț al acțiunilor RDS de la ambele burse.
- folosind cursurile de schimb valutar disponibile, convertiți prețul unei monede în cealaltă.
- dacă există o discrepanță de preț suficient de mare (reducerea costurilor de brokeraj) care duce la o oportunitate profitabilă, atunci programul ar trebui să plaseze comanda de cumpărare pe bursa la prețuri mai mici și să vândă comanda pe bursa la prețuri mai mari.
- dacă ordinele sunt executate după dorință, profitul arbitrajului va urma.
simplu și ușor! Cu toate acestea, practica tranzacționării algoritmice nu este atât de simplă de întreținut și executat. Amintiți-vă, dacă un investitor poate plasa un comerț generat de algo, la fel și alți participanți pe piață. În consecință, prețurile fluctuează în milioane și chiar microsecunde. În exemplul de mai sus, ce se întâmplă dacă o tranzacție de cumpărare este executată, dar tranzacția de vânzare nu se întâmplă deoarece prețurile de vânzare se modifică în momentul în care comanda ajunge pe piață? Comerciantul va rămâne cu o poziție deschisă, ceea ce face ca strategia de arbitraj să nu aibă valoare.
există riscuri și provocări suplimentare, cum ar fi riscurile de eșec al sistemului, erorile de conectivitate la rețea, decalajele de timp între ordinele comerciale și execuție și, cel mai important dintre toate, algoritmii imperfecți. Cu cât un algoritm este mai complex, cu atât este nevoie de backtesting mai strict înainte de a fi pus în acțiune.