Elementele de bază ale tranzacționării algoritmice: Concepte și exemple

Europa, continentul dividendelor (Iulie 2024)

Europa, continentul dividendelor (Iulie 2024)
Elementele de bază ale tranzacționării algoritmice: Concepte și exemple

Cuprins:

Anonim

Un algoritm este un set specific de instrucțiuni clar definite care vizează îndeplinirea unei sarcini sau a unui proces.

Comerțul algoritmic (tranzacționarea automată, tranzacționarea cu negru-box sau pur și simplu algo-trading) este procesul de utilizare a calculatoarelor programate să urmeze un set definit de instrucțiuni pentru plasarea unui comerț pentru a genera profituri la o viteză și o frecvență imposibil pentru un comerciant uman. Seturile de reguli definite se bazează pe momentul, prețul, cantitatea sau orice model matematic. În afară de oportunitățile de profit pentru comerciant, algo-trading-ul face piețele mai lichide și face comerțul mai sistematic prin excluderea impactului emoțional al oamenilor asupra activităților de tranzacționare. (Pentru mai multe, verificați Alegerea software-ului de tranzacționare algoritmică adecvat .)

Să presupunem că un comerciant respectă aceste criterii comerciale simple:

  • Cumpărați 50 de acțiuni dintr-un stoc atunci când media mobilă de 50 de zile depășește media mobilă de 200 de zile
  • atunci când media mobilă de 50 de zile se situează sub media mobilă de 200 de zile

Folosind acest set de două instrucțiuni simple este ușor să scrieți un program de calculator care să monitorizeze automat prețul acțiunilor (și indicatorii mediei mobile) comenzile de vânzare și cumpărare atunci când sunt îndeplinite condițiile definite. Comerciantul nu mai are nevoie să păstreze un ceas pentru prețurile și graficele live sau să pună ordinele manual. Sistemul de tranzacționare algoritmică o face automat pentru el, identificând în mod corect oportunitatea de tranzacționare. (Pentru mai multe informații despre mediile mobile, vedeți Simple Moving Average Makes Trends Stand Out .)

-

[Dacă doriți să aflați mai multe despre strategiile dovedite și care pot fi elaborate în cele din urmă într-un sistem de tranzacționare aloritmică, consultați cursul Invest Dedical Academy Become a Day Trader.]

Beneficiile Algoritmul de tranzacționare

Algo-trading oferă următoarele beneficii:

  • Tranzacții executate la cele mai bune prețuri
  • Plasare instantanee și exacte a ordinelor comerciale (prin urmare, șanse ridicate de execuție la nivelele dorite)
  • , pentru a evita modificările semnificative ale prețurilor
  • Costuri reduse ale tranzacțiilor (a se vedea exemplul deficitului de implementare de mai jos)
  • Verificări automate simultane ale mai multor condiții de piață
  • Risc redus de eroare manuală în plasarea tranzacțiilor
  • Backtest algoritmul privind datele disponibile în timp real și istoric
  • Posibilitatea redusă de greșeli ale comercianților umani pe baza factorilor emoționali și psihologici

Cea mai mare parte a tranzacțiilor cu algo-uri în prezent este tranzacționarea cu frecvențe înalte (HFT), care încearcă să valorifice plasarea unui număr mare de comenzi la viteze foarte rapide pe mai multe piețe și mai mulți parametri de decizie, cu instrucțiuni pre-programate.(

Algo-trading este utilizat în multe forme de tranzacționare și activități de investiții, inclusiv:

  • Investitorii intermediari sau pe termen lung cumpără firme partenere (fonduri de pensii, fonduri mutuale, societăți de asigurări) care cumpără stocuri în cantități mari, dar nu doresc să influențeze prețurile acțiunilor cu investiții discreționare și de volum mare.
  • Comercianții pe termen scurt și cei care vinde participanți (producătorii de piață, speculatorii și arbitrii) beneficiază de execuția automată a tranzacțiilor; în plus, ajutoarele pentru comercializarea algo-urilor în crearea unei lichidități suficiente pentru vânzătorii de pe piață.
  • Comercianții sistematici (adepții tendințelor, comercianții de perechi, fondurile speculative etc.) consideră că este mult mai eficient să își programeze regulile de tranzacționare și să lase programul automat să tranzacționeze.

Comerțul algoritmic oferă o abordare mai sistematică tranzacțiilor active decât metode bazate pe intuiția sau instinctul unui comerciant uman.

Strategii de tranzacționare algoritmică

Orice strategie pentru tranzacționarea algoritmică necesită o oportunitate identificată, care este profitabilă în ceea ce privește câștigurile îmbunătățite sau reducerea costurilor. Următoarele sunt strategiile comune de tranzacționare utilizate în tranzacționarea algo:

  • Strategii urmărite după:

Cele mai frecvente strategii de tranzacționare algoritmice urmăresc tendințele în mediile mobile, în evoluția canalelor, în mișcarea nivelului prețurilor și în indicatorii tehnici aferenți. Acestea sunt cele mai simple și mai simple strategii de implementare prin tranzacționarea algoritmică, deoarece aceste strategii nu implică realizarea de previziuni sau prognoze de prețuri. Tranzacțiile sunt inițiate pe baza apariției unor tendințe dorite, care sunt ușor și ușor de implementat prin algoritmi, fără a intra în complexitatea analizei predictive. Exemplul menționat mai sus a mediei mobile de 50 și 200 de zile este o tendință populară în urma strategiei. Pentru mai multe informații despre strategiile de tranzacționare în tendințe, consultați: Strategii simple pentru valorificarea tendințelor .

  • Oportunități de arhitectură:

Achiziționarea unui stoc dublu listat la un preț mai mic într- 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 față de 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 comenzilor permite oportunități profitabile într-o manieră eficientă.

  • Rebalansarea fondurilor indexului :

Fondurile indexului au definit perioade de reechilibrare pentru a-și aduce participațiile la paritate cu indicii lor de referință. Acest lucru creează oportunități profitabile pentru comercianții algoritmi, care valorifică tranzacțiile așteptate care oferă profituri de 20-80 de puncte de bază în funcție de numărul de acțiuni din fondul index, chiar înainte de reechilibrarea fondului de indice. Astfel de tranzacții sunt inițiate prin intermediul sistemelor de tranzacționare algoritmică pentru execuția la timp și cele mai bune prețuri.

  • Strategii bazate pe modele matematice:

Multe modele matematice dovedite, cum ar fi strategia de tranzacționare neutră delta, care permit tranzacționarea combinațiilor de opțiuni și a securității sale subiacente, unde sunt plasate tranzacții pentru a compensa deltele pozitive și negative delta portofoliului este menținută la zero.

  • Gama de tranzacționare (Revenire medie):

Strategia medie de reversiune se bazează pe ideea că prețurile ridicate și scăzute ale unui activ reprezintă un fenomen temporar care revine periodic la valoarea medie. Identificarea și definirea unui interval de preț și a algoritmului de implementare bazat pe acesta permite ca tranzacțiile să fie plasate automat atunci când prețul activului se încadrează în și din intervalul definit.

  • VWAP:

Strategia medie a prețului ponderată la volum împarte o comandă mare și eliberează bucăți mai mici, determinate în mod dinamic, ale comenzii către piață utilizând profiluri de volum istorice specifice stocului. Scopul este de a executa comanda aproape de prețul mediu ponderat în volum (VWAP), beneficiind astfel de prețul mediu.

  • Prețul mediu ponderat în timp (TWAP):

Strategia medie ponderată pe timp distruge o comandă mare și eliberează în mod dinamic cantități mai mici de comenzi ale pieței utilizând sloturi de timp egal împărțite între timpul de început și sfârșit. Scopul este de a executa ordinul aproape de prețul mediu între orele de început și de sfârșit, minimizând astfel impactul pe piață.

  • Procentajul volumului (POV):

Până la completarea comenzii comerciale, acest algoritm continuă să trimită comenzi parțiale, în funcție de rata de participare definită și în funcție de volumul tranzacționat pe piețe. Strategia "etapelor" aferente 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.

  • Scădere de implementare:

Strategia privind deficitul de implementare vizează minimizarea costului de execuție a unei comenzi prin tranzacționarea pe piața în timp real, economisind astfel costul ordinului și beneficiind de costul oportunității executării întârziate. Strategia va crește rata de participare țintă atunci când prețul acțiunilor se va mișca favorabil și va scădea atunci când prețul acțiunilor se va mișca 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 sniffing", utilizați, de exemplu, de un producător de piață pentru vânzări 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 de ordin larg și să îi permită să beneficieze prin completarea comenzilor la un preț mai mare. Acest lucru este uneori identificat ca o tehnologie high-tech frontală. (Pentru mai multe informații despre tranzacțiile cu frecvență înaltă și practicile frauduloase, a se vedea: Dacă cumpărați stocuri online, sunteți implicat în HFT .)

Cerințe tehnice pentru tranzacționarea algoritmică

Implementarea algoritmului folosind un calculator programul este ultima parte, clubbed cu backtesting. Provocarea este transformarea strategiei identificate într-un proces computerizat integrat, care are acces la un cont de tranzacționare pentru plasarea comenzilor. Sunt necesare următoarele:

  • Cunoștințe de programare pe calculator pentru programarea strategiei de tranzacționare necesare, a programatorilor angajați sau a software-ului de tranzacționare pre-fabricat
  • Conectivitatea la rețea și accesul la platformele de tranzacționare pentru plasarea comenzilor
  • să fie monitorizată de algoritmul pentru oportunități de plasare a comenzilor
  • Abilitatea și infrastructura de a backtest sistemul odată construit înainte de a intra pe piețele reale
  • Datele istorice disponibile pentru backtesting, în funcție de complexitatea regulilor implementate în algoritm < Iată un exemplu cuprinzător: Royal Dutch Shell (RDS) este listată la Bursa de Valori din Amsterdam (AEX) și la Bursa de Valori din Londra (LSE).Să construim un algoritm pentru identificarea oportunităților de arbitraj. Aici sunt câteva observații interesante:

AEX tranzacționează în euro, în timp ce LSE tranzacționează în Sterling Pounds

  • Datorită diferenței de o oră de o oră, AEX se deschide cu o oră mai devreme decât LSE, urmată de ambele burse tranzacționate simultan pentru următoarele ore și atunci tranzacționăm numai în LSE în ultima oră, pe măsură ce AEX se închide
  • Putem examina 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 actuale ale pieței

  • Feed-uri de preț atât din LSE, cât și din AEX
  • O rată de schimb valutar pentru cursul de schimb GBP-EUR
  • Programul de computere ar trebui să efectueze următoarele:
  • Citiți fluxul de prețuri de intrare a stocului RDS de la ambele burse

Folosind cursurile de schimb valutar disponibile

  • , convertiți prețul unei valute în alte valori
  • Dacă există o discrepanță de preț destul de mare (cu discount la costurile de brokeraj), ceea ce duce la o oportunitate profitabilă, plasați apoi comanda de cumpărare cu un preț mai mic și comanda de vânzare la un preț mai mare > Dacă ordinele sunt executate după cum doriți, profitul arbitrajului va urma
  • Simplu și ușor! Cu toate acestea, practica tranzacționării algoritmice nu este atât de simplă încât să fie menținută și executată. Amintiți-vă, dacă puteți plasa un comerț generat de algo, la fel și ceilalți participanți la piață. În consecință, prețurile fluctuează în milli- și chiar microsecunde. În exemplul de mai sus, ce se întâmplă dacă tranzacția dvs. de cumpărare este executată, dar vindeți comerțul, deoarece prețurile de vânzare nu se schimbă până la momentul în care comanda dvs. atinge piața? Veți ajunge cu o poziție deschisă, ceea ce face ca strategia dvs. de arbitraj să fie fără valoare.
  • Există riscuri și provocări suplimentare: de exemplu, riscurile de eșec al sistemului, erorile de conectivitate a rețelei, întârzierile între ordinele comerciale și execuție și, cel mai important, algoritmi imperfecți. Cu cât este mai complex un algoritm, este nevoie de o testare mai stringentă înainte de a fi pusă în practică.

Linia de fund

Analiza cantitativă a performanței unui algoritm joacă un rol important și ar trebui analizată critic. Este interesant să mergi la automatizare ajutată de computere, cu o noțiune de a face bani fără efort. Dar trebuie să vă asigurați că sistemul este testat temeinic și că sunt setate limitele necesare. Traderii analitici ar trebui să ia în considerare învățarea programării și a sistemelor de construcție pe cont propriu, pentru a avea încredere în implementarea strategiilor corecte într-o manieră falsă. Utilizarea cu precauție și testarea amănunțită a tranzacțiilor cu algo-uri pot crea oportunități profitabile. (Pentru mai multe detalii, consultați Cum să codificați propriul Robot Algo de tranzacționare.)