Tranzacționare algoritmică. Soulless Expert Advisors - robo-advising și tranzacționare algoritmică: viitorul noilor tehnologii Tranzacționare algoritmică și automatizată
Profesorul de matematică la Universitatea din New York și expertul pieței financiare Marco Avellaneda a făcut o prezentare în care a vorbit despre modul în care marii investitori își „ascund” tranzacțiile mari folosind algoritmi, în timp ce alți comercianți prevăd modificări ale prețurilor acțiunilor.
În materialul nostru de astăzi - punctele principale ale acestei lucrări.
De ce avem nevoie de algoritmi
Tranzacționarea algoritmică a fost un instrument pentru investitorii mari și fondurile speculative încă de la începutul anilor 90 ai secolului trecut. Decimalizare (tranziție la Bursa de Valori din New York pentru a utiliza în tranzacționarea acțiunilor pe un sistem zecimal - treapta de preț minim a devenit egală cu 1 cent, nu 1/16 din dolar), tehnologii de acces direct la piață (DMA), schimburi electronice 100% , reducerea comisioanelor burselor și brokerilor, apariția diverselor platforme de schimb în SUA și în alte țări - toate acestea au dus la o creștere explozivă a numărului de comercianți care folosesc algoritmi.Avellaneda descrie obiectivele utilizării algoritmilor în tranzacționarea cu acțiuni după cum urmează. Potrivit profesorului, în cazul marilor investitori instituționali, aceștia sunt utilizați în principal nu pentru a maximiza profitul posibil dintr-o anumită tranzacție, ci pentru a controla riscul de piață și costurile de executare a ordinelor.
Pur și simplu, investitorii mari trebuie să facă tranzacții cu un volum mare de acțiuni. Adesea, volumul tranzacției este mai mare decât poate „digera” piața fără a modifica prețul acțiunilor. Necesitatea de a face o achiziție a unui număr mare de acțiuni va duce la o modificare a prețului acestora și la apariția așa-numitei „slippage”. Astfel, nu va fi posibilă executarea întregii comenzi la un preț - la început, tranzacțiile vor avea loc la prețul corect, dar treptat va deveni din ce în ce mai puțin profitabilă.
Pentru a evita acest lucru, este necesar să împărțiți comenzile mari în altele mai mici, care sunt executate prin Internet în câteva minute, ore sau zile.
Pentru ca acest lucru să fie cât mai profitabil, algoritmul trebuie să controleze prețul mediu al unei acțiuni. Îl puteți evalua comparându-l cu „benchmark”-ul pieței - prețul mediu global pe zi, prețul de închidere sau deschidere etc.
Dar problema de a determina exact cum să împărțim o ordine mare în altele mai mici nu este singura. Algoritmul trebuie să decidă, de asemenea, cum să comercializeze ordinul - ca limită sau ordin de piață - și la ce preț. Este necesar să se obțină cel mai bun preț pentru fiecare astfel de comandă de copil.
Dezvoltarea piețelor financiare și apariția de noi instrumente de tranzacționare au făcut această sarcină mult mai complexă și interesantă.
A trecut vremurile în care clienții puteau trimite ordine la brokerii lor doar prin telefon sau fax. Acum există diferite moduri de conectare la tranzacționarea electronică. De exemplu, este posibil să conectați un robot de tranzacționare la un sistem de brokeraj folosind API - în acest caz, ordinele sunt trimise către sistemul de brokeraj și de acolo merg la bursă (ITinvest are propriul său API SmartCOM).
În cazul tranzacționării algoritmice, de regulă, viteza strategiei este importantă, așa că mulți comercianți preferă să folosească tehnologia de acces direct la piață (DMA - ITinvest oferă un astfel de acces la schimburile rusești și străine). Dacă este folosit, robotul de tranzacționare interacționează direct cu sistemul de tranzacționare al bursei, ocolind sistemul brokerului, ceea ce vă permite să câștigați timp.
Dar aceasta este departe de cea mai dificilă opțiune de tranzacționare. Apariția unui număr mare de platforme de tranzacționare diferite a condus la dezvoltarea algoritmilor pentru „rutarea inteligentă” a comenzilor - astfel de sisteme nu numai că încearcă să facă cele mai profitabile tranzacții pe o anumită bursă, ci și analizează care dintre site-urile disponibile este momentan mai bine pentru a trimite comanda acolo .
Astfel, există trei niveluri de dezvoltare ale algoritmilor moderni.
- Algoritmi de tranzacționare macro- determina strategia de tranzactionare;
- Algoritmi de microtrading- de fapt, tranzacționarea „motoarelor” pentru plasarea comenzilor;
- Algoritmi inteligenti de rutare- daca lucrarea se desfasoara pe mai multe schimburi in acelasi timp.
Exemple de algoritmi de tranzacționare
Există mai multe tipuri de strategii algoritmice. Una dintre ele este strategiile de execuție care vizează rezolvarea problemei cumpărării sau vânzării unui volum mare al unui instrument financiar (de exemplu, acțiuni) cu o abatere minimă a prețului mediu ponderat final al tranzacției de la prețul curent al pieței.Exemple de algoritmi care rezolvă această problemă sunt algoritmii TWAP și VWAP.
Algoritmul TWAP
Utilizarea TWAP (Tie Weighted Average Price - preț mediu ponderat în timp) implică o execuție uniformă a unui ordin de cumpărare sau vânzare pentru un anumit număr de iterații într-o anumită perioadă de timp. Pentru a face acest lucru, ordinele de piață sunt plasate în mod constant la prețurile celei mai bune oferte sau oferte, ajustate pentru o anumită abatere procentuală.De exemplu, cumpărarea a 100.000 de acțiuni într-o zi ar putea arăta astfel (se folosesc intervale consecutive de cinci minute):
Algoritmul VWAP
VWAP (Prețul mediu ponderat în volum - preț mediu ponderat în volum) funcționează conform următoarei scheme. Volumul de tranzacționare este de obicei mai mare la începutul și la sfârșitul sesiunii de tranzacționare, iar la mijlocul acesteia este mai mic. Pentru a executa o comandă mare cu costuri minime, aceasta este împărțită în comenzi mai mici, ținând cont de ora din zi.Pentru asta:
- Algoritmul estimează volumul mediu de tranzacționare la intervale de cinci minute.
- În fiecare interval se efectuează tranzacții pentru numărul de instrumente proporțional cu volumul standard.
Volumul procentual (POV)
Algoritmul procentaj de volum (POV) rezolvă aceeași problemă ca și VWAP, dar folosind informații despre volumul de tranzacționare într-o anumită zi curentă ca punct de referință. Ideea este de a avea un procent constant de participare la licitație pe toată perioada selectată.Dacă este necesară „tranzacționarea” mai multor acțiuni din volumul Q, iar „coeficientul de participare” la tranzacții este γ, atunci algoritmul calculează volumul tranzacțiilor V tranzacționate în perioada (t – ΔT, t) și execută ordine pentru numărul de instrumente financiare q = min(Q,V *γ).
V(t) = volumul total de tranzacționare care a avut loc pe piață la momentul t;
Q(t) = numărul de acțiuni care urmează să fie cumpărate/vândute (Q(0) = cantitatea inițială).
Cum altfel sunt folosiți algoritmii?
Pe lângă strategiile de execuție, există o serie de strategii care vizează obținerea de profit folosind alte modele. Iată câteva dintre ele:- Strategii de arbitraj- un subset de strategii de tranzacționare în perechi care se bazează pe analiza raporturilor prețurilor a două instrumente financiare foarte corelate. În cazul arbitrajului, o astfel de pereche constă din aceleași active sau active aferente, a căror corelație este apropiată de unul - de exemplu, acțiuni ale aceleiași companii pe diferite burse. Pentru tranzacționarea de succes în cadrul strategiilor de arbitraj, viteza de obținere a datelor și de plasare/modificare a ordinelor de cumpărare sau vânzare este critică.
- Furnizarea de lichiditate (crearea pieței)- market making presupune menținerea spread-urilor pentru cumpărarea și vânzarea unui instrument financiar. Creatorii de piață sunt principalii furnizori de lichiditate instantanee, astfel încât bursele îi implică adesea în lucrul cu instrumente nelichide, oferind condiții preferențiale.
- Previziunea prețului- strategii care analizează diverse date (inclusiv folosind indicatori de analiză tehnică) pentru a construi ipoteze cu privire la direcția în care se poate mișca prețul unui instrument financiar într-o anumită perioadă de timp.
Predicția prețului în tranzacționarea de înaltă frecvență
Pentru a „prevece” mișcarea prețului, algoritmul trebuie să simuleze lichiditatea ascunsă a pieței având în vedere lichiditatea ordinelor de cumpărare și vânzare. „Epuizarea” cozii de ordine de cumpărare sau vânzare poate indica o mișcare iminentă a prețului.O modificare a prețului are loc atunci când toate comenzile de cumpărare sau de vânzare dispar la unul dintre nivelurile de preț și există următorul nivel de preț de ofertă și cerere.
Probabilitatea ca coada de cereri să se epuizeze înainte ca coada de oferte să fie epuizată este calculată după cum urmează:
Formula finală pentru probabilitatea unei creșteri de preț:
Unde H este lichiditatea ascunsă a pieței, adică tranzacții care nu sunt cunoscute publicului larg (de exemplu, tranzacții ale marilor organizații financiare care se încheie în afara burselor).
Procedura de evaluare este următoarea:
- În prima etapă, datele colectate sunt împărțite pe burse, o zi de tranzacționare fiind analizată la un moment dat;
- Cotațiile valorilor de ofertă și cerere sunt aranjate pe decile. Pentru fiecare astfel de set (i,j), se calculează frecvența de creștere a prețului u_ij.
- Numărul de apariții ale fiecărei valori d_ij este numărat.
- Potrivirea modelului este analizată folosind metoda celor mai mici pătrate:
Concluzie
Pe multe burse de valori (de exemplu, în SUA și Rusia), cifra de afaceri a tranzacționării algoritmice a fost de mai mult de 50% de ceva timp. În același timp, algoritmii sunt adesea folosiți nu numai pentru a „depăși” concurenții în viteza tranzacțiilor și pentru a câștiga bani din aceasta.Jucătorii mari pot folosi acest instrument pentru a împărți tranzacțiile mari în altele mai mici, care vă permit să efectuați o tranzacție cu o anumită sumă a unui instrument financiar fără a schimba prețul pieței acestuia într-o direcție sau alta. Pentru aceasta se folosesc algoritmi TWAP, VWAP și PoV.
În plus, algoritmii sunt utilizați pentru a implementa „strategii cuantice” precum arbitrajul sau crearea de piață. În plus, există oportunități de a calcula probabilitatea unei modificări a prețului unor instrumente financiare specifice.
Asta e tot pentru azi, mulțumesc pentru atenție!
Utilizarea algoritmilor în tranzacționare (algo trading) este o tendință din ultimele decenii care a schimbat piața în multe privințe. Orice sistem automat poate depăși cu ușurință o persoană în viteză, productivitate și rezistență, în timp ce va fi aproape imposibil să concurezi cu o mașină.
Conținutul articolului:
Ce este tranzacționarea algoritmică, caracteristicile sale și utilizarea pe diverse piețe - mai departe.
Ce este tranzacționarea algoritmică (trading algoritmic)
Tranzacționarea algoritmică (din engleză Trading algoritmic) poate avea două semnificații:
- Algo tranzacționare- acesta este un sistem automat care deschide tranzacții fără participarea unui comerciant în cadrul unui anumit algoritm;
- este o tehnică de executare a unei comenzi mari pe piață, când aceasta este împărțită automat în părți și deschisă treptat conform regulilor specificate.
În primul sens, sunt necesari algoritmi pentru a obține direct profit prin analiza automată a pieței și deschiderea pozițiilor. Astfel de algoritmi mai sunt numiți „ roboți de tranzacționare" sau " consilieri". Numele de familie a venit de la piața Forex.
În al doilea caz, sistemul este utilizat pentru a facilita munca manuală a comercianților în fonduri de investiții atunci când efectuează tranzacții excesiv de mari pe care este de dorit să le facă mai puțin vizibil. De exemplu, dacă sarcina este să cumpărați 100.000 de acțiuni ale companiei și trebuie să deschideți poziții câte 1-4 acțiuni la un moment dat, pentru a nu atrage atenția în feedul și carnetul de comenzi.
Despre ce este tranzacționarea algoritmică, el scrie:
“Tranzacționarea algoritmică, sau tranzacționarea algoritmică, este o metodă de executare a unui ordin mare (prea mare pentru a fi executat deodată), atunci când, folosind instrucțiuni algoritmice speciale, o comandă mare (ordine părinte) este împărțită în mai multe sub-ordine (ordine copil) . ) cu caracteristicile sale de preț și volum, iar fiecare dintre subcomenzi este trimisă pe piață la un anumit moment pentru executare. Astfel de algoritmi au fost inventați astfel încât comercianții să nu fie nevoiți să monitorizeze constant cotațiile și să împartă manual o comandă mare în unele mici.“
Principala formă de tranzacționare algoritmică este Tranzacționare HFT (din engleza. Tranzacționare de înaltă frecvență - „tranzacționare algoritmică de înaltă frecvență”). Esența sa constă în efectuarea tranzacțiilor într-o fracțiune de secundă. Cu alte cuvinte, astfel de sisteme își folosesc principalul avantaj - viteza.
Esența tranzacționării algoritmice
Quantum ( cantități) comercianții, sau așa cum sunt numiți și - comercianți algoritmici, folosesc doar teoria probabilității ca prețurile să se încadreze în intervalul dorit. Calculele se fac pe baza intervalului de preț anterior, sau a mai multor instrumente financiare. Este important să înțelegem că regulile se pot schimba pe măsură ce comportamentul pieței se schimbă. Comercianții Algo caută în mod constant ineficiențe ale pieței, modele recurente în istoria cotațiilor și calculează probabilitatea de repetare a acestora în viitor. Astfel, esența tranzacționării algoritmice este în selectarea regulilor de deschidere a pozițiilor și a familiilor de roboți. Această selecție ar putea fi:
- manual- realizat de cercetător pe baza modelelor matematice și fizice;
- automat- necesare pentru enumerarea în masă a regulilor și testarea în cadrul programului;
- genetic- în acest caz, regulile sunt elaborate de un program cu elemente de inteligență artificială.
Restul ideilor și utopilor despre tranzacționarea algoritmică sunt doar ficțiune, chiar și un robot nu poate prezice viitorul cu o garanție. De asemenea, piața nu poate fi atât de ineficientă încât să existe un set de reguli pentru un robot care funcționează peste tot și întotdeauna.
În astfel de mari companii de investiții precum Tehnologia Renașterii, Cetatea, Virtu care folosesc algoritmi, există sute de familii (serii) de roboți de tranzacționare, care acoperă mii de instrumente. Această abordare le oferă profit zilnic, acesta este un fel de diversificare a algoritmilor.
Când și cum a apărut tranzacționarea algoritmică
Începutul oficial al utilizării algoritmilor este 1998, când SEC (Comisia Valorilor Mobiliare) în Statele Unite au permis utilizarea platformelor electronice. După aceea, a început o adevărată cursă tehnologică.
Puncte cheie:
- anii 2000- timpul efectuării tranzacțiilor automate în câteva secunde, ponderea roboților pe piața din SUA este mai mică de 10%;
- 2009 - tranzacțiile sunt efectuate cu o viteză mai mare de o milisecundă (fracții de microsecunde), cota de piață este de peste 60%;
- 2012 și o perioadă ulterioară - din cauza acțiunilor eronate masive ale algoritmilor, volumul pieței acestora a scăzut la 50% din toate tranzacțiile.
Astfel, algoritmii HFT sunt utilizați până în prezent. Băncile de investiții și fondurile speculative sunt pionierii în acest domeniu și trebuie să automatizeze executarea comenzilor mari mai mult decât oricine altcineva. Au investit cu succes mulți bani în dezvoltarea unor astfel de algoritmi, în urma cărora au apărut diverse sisteme care au influențat piața.
Tranzacționare algoritmică pe bursă
Piața de valori, precum și piața de instrumente derivate, deschid oportunități largi de utilizare a tranzacționării automate. Cu toate acestea, tranzacționarea algoritmică este mai frecventă în fondurile mari decât în rândul investitorilor privați. Există mai multe tipuri de tranzacționare algoritmică pe bursă:
- Sisteme bazate pe analize tehnice- implică utilizarea ineficiențelor pieței și identificarea tendințelor folosind mai mulți indicatori. În cele mai multe cazuri, astfel de strategii vizează extragerea de profituri prin tehnicile analizei tehnice clasice.
- Perechi și coș de tranzacționare- intr-un astfel de sistem se foloseste un raport de doua sau mai multe instrumente, care au un procent de corelatie relativ mare, dar nu egal cu unul. În consecință, dacă unul dintre instrumente a deviat de la cursul stabilit, atunci este foarte probabil să se întoarcă în grupul său. Urmărind astfel de abateri, algoritmii efectuează tranzacții și aduc profit proprietarilor lor.
- Crearea pieței- un alt tip de strategii care vizează menținerea lichidității pieței. Creatorii de piață satisfac cererea pentru diverse instrumente chiar și în beneficiul lor, pentru care primesc o recompensă din schimb. Totuși, acest lucru nu împiedică astfel de algoritmi să profite de o strategie specială bazată pe un flux rapid și ținând cont de datele pieței.
- alergare în față- în cadrul unor astfel de sisteme se utilizează analiza volumului tranzacțiilor pentru instrument și identificarea comenzilor mari. Algoritmii țin cont de faptul că o comandă mare va menține prețul și va provoca apariția unor tranzacții de contor în direcția opusă. Astfel, ei surprind fluctuații din cauza vitezei de analiză a datelor pieței în carnetul de ordine și bandă, încercând să depășească alți participanți și făcând mișcări mici în timpul executării ordinelor foarte mari.
- Arbitraj- comerţul cu instrumente financiare, a căror corelaţie este apropiată de unu. De obicei, abaterea la astfel de instrumente este minimă, poate fi un stoc și un futures ale aceleiași companii sau aceleași acțiuni, dar pe piețe diferite. Sistemul monitorizează modificările de preț ale instrumentelor aferente și face tranzacții de arbitraj care egalizează prețul.
- Tranzacții cu volatilitate- cel mai dificil tip de tranzacționare, bazat pe achiziționarea de opțiuni de diferite tipuri, cu așteptarea că volatilitatea unui anumit instrument va crește. O astfel de tranzacționare algoritmică necesită o putere mare de calcul și o echipă de specialiști.
Principalele strategii de tranzacționare algoritmică de pe piețele bursiere și futures au fost enumerate mai sus. Acum luați în considerare caracteristicile asociate cu moneda.
Tranzacționare Forex algoritmică
Utilizarea roboților automati a devenit larg răspândită pe piața valutară interbancară. În special, consilierii de tranzacționare au câștigat popularitate datorită platformei MetaTrader 4 si limbaj de programare MQL4, care permite chiar și comercianților începători să efectueze tranzacții algoritmice Forex:
- utilizarea acestui limbaj este în puterea unui utilizator obișnuit, ca urmare, există tranzacții algoritmice pentru începători în cartea de referință cu o descriere completă a funcțiilor limbii;
- Expert Advisors programați pot fi compilați imediat în formatul terminalului și puși în funcțiune;
- roboții creați nu necesită putere mare de calcul, un computer staționar este suficient;
- o gamă largă de instrumente pentru testarea robotului pe un interval lung de timp este disponibilă în terminal.
Astfel, MetaTrader și MQL4 vor fi o oportunitate excelentă pentru începători de a-și încerca mâna la programarea unor roboți de tranzacționare algoritmici reali.
Sondaj: Ce tip de tranzacționare preferați?
Opțiunile de sondaj sunt limitate deoarece JavaScript este dezactivat în browser.
Poziție de tranzacționare 17%, 24 vot
Prezentare generală a programelor pentru comercianții cu algoritmi
Există o mică listă de software pentru tranzacționarea algoritmică și scrierea codului pentru roboți.
TSLabTSLab este un software autohton în limbaj C#, compatibil cu majoritatea brokerilor Forex și bursiere. Are o interfață destul de simplă și ușor de învățat datorită diagramelor de flux speciale.
Puteți utiliza programul gratuit, puteți testa și optimiza sistemele, dar pentru tranzacționare reală va trebui să cumpărați un abonament.
Un program pentru dezvoltarea algoritmilor în C#. Cu acest program, puteți scrie software pentru tranzacționare algoritmică folosind biblioteca Wealth Script, ceea ce simplifică foarte mult procesul de scriere a codului. De asemenea, puteți conecta citate din diverse surse la software. Pe lângă backtesting, este posibilă și lansarea pe piețele financiare pentru tranzacționare reală.
R Studio- software mai avansat pentru quants (nu este potrivit pentru începători). Acest software combină mai multe limbi, dintre care unul folosește un limbaj R special pentru procesarea datelor și serii de timp. În program, puteți nu numai să creați algoritmi, ci și să testați, optimizați, creați interfețe, obțineți statistici și multe alte date. Programul R Studio este gratuit și destul de serios, descrie modele matematice și econometrice complexe în câteva rânduri, datorită diverselor biblioteci încorporate, testere, modele etc.
TWAP (din engleza. Preț mediu ponderat în timp - „preț mediu ponderat în timp”) - un astfel de algoritm deschide comenzi la intervale regulate la prețuri cu cea mai bună ofertă sau ofertă.
VWAP (din engleza. Prețul mediu ponderat în volum) - este necesar pentru a deschide uniform o poziție în părți egale dintr-un anumit volum într-un anumit timp, precum și la prețuri care nu sunt mai mari decât media ponderată din momentul lansării.
aisberg- folosit pentru a plasa cereri cu un volum total nu mai mare decat cantitatea specificata in parametri. Pe multe schimburi, algoritmul este încorporat în miezul sistemului, ceea ce vă permite să specificați volumul „vizibil” în parametrii comenzii.
Strategia de execuție- obligat să cumpere un activ la un preț mediu ponderat în volum mare, utilizat de obicei de jucători mari (fonduri speculative și brokeri).
Strategia speculativă- un model standard pentru comercianții privați, care urmărește obținerea celui mai favorabil preț pentru intrarea într-o tranzacție pentru a obține profit ulterior.
extragerea datelor este o căutare de noi modele pentru noi algoritmi. Mai mult de 75% din data extragerii cade pe colectarea datelor înainte de începerea testării. Rezultatul căutării depinde doar de o abordare profesională și profundă. Căutarea în sine este efectuată de diverși algoritmi pentru setări manuale. De exemplu, software-ul Stock Pattern Viewer - aici puteți încărca cotații și puteți găsi anumite modele de sfeșnic (și nu numai modele de sfeșnic), după care are loc o anumită reacție a pieței. De exemplu, găsiți un model după care piața a crescut de 2000 de ori peste trei lumânări și a scăzut doar de 200 de ori. După aceea, modelele găsite sunt încorporate în algoritmii roboților de tranzacționare și tranzacționate cu succes (sau nu).
Training și cărți despre tranzacționarea algoritmică
Domeniul de aplicare al instruirii și al literaturii despre tranzacționarea automată este destul de restrâns. Este destul de dificil să evidențiezi studii de specialitate fiabile și de înaltă calitate. De obicei, se rezumă la învățare:
- modele matematice și modelare economică;
- limbaje de programare - Python, C++, MQL4 ( pentru Forex);
- informații despre contractele de schimb și caracteristicile instrumentelor (acțiuni, opțiuni, futures).
Cu toate acestea, cărțile bune despre tranzacționarea algoritmică ar trebui evidențiate:
Barry Johnsonși cartea lui Tranzacționare algoritmică și acces direct la schimb» (Algorithmic Trading & DMA, Barry Johnson).
Ernest Chan « Tranzacționarea cuantică» (Tranzacționare cantitativă, Ernest Chan).
Lyu Yu-Dau « Metode și algoritmi de matematică financiară» (Inginerie financiară și calcul, Yuh-Dauh Lyuu).
Rishi Narang„În interiorul cutiei negre” (Rishi K. Narang)
Este de remarcat faptul că cea mai mare parte a literaturii relevante din acest domeniu este în limba engleză. În Rusia, direcția este încă puțin dezvoltată. Pe lângă cărțile cu părtinire în programare, va fi util să citiți orice literatură de schimb, în special despre analiza tehnică.
Avantajele și dezavantajele tranzacționării algoritmice
Tranzacționarea algoritmilor poate fi luată în considerare doar din punctul de vedere al opuserii tranzacționării manuale. Prin urmare, dezavantajele tranzacționării cu mâinile vor fi avantajele algoritmilor și invers. Deci, dezavantajele tranzacționării manuale clasice:
- Lipsa de cunoaștere și înțelegere adecvată a pieței. Acest lucru este valabil pentru marea majoritate a începătorilor, nu comercianților profesioniști. 95% dintre oameni pierd mâini de tranzacționare cu bani, ca urmare, acest fapt nu poate fi ratat.
- Psihologie și non-sistematică. O persoană prin natură este predispusă la defecțiuni, entuziasm și alte izbucniri emoționale. Tranzacționarea este o activitate foarte costisitoare din punct de vedere psihologic, este dificil pentru oameni să-și urmeze cu strictețe propriul sistem, așa cum ar trebui să fie. Rezultatul sunt bani pierduți.
- Limitări fiziologice. Oamenii nu pot urmări piața 24/7 pentru că trebuie să mănânce, să doarmă și să se odihnească.
- Influența caracteristicilor personale asupra rezultatelor tranzacționării. Din păcate, fiecare comerciant trebuie să aibă propriul său sistem de tranzacționare care i se potrivește în mod specific. Rareori se întâmplă ca un întreg grup de oameni să tranzacționeze în liniște pe același sistem. Pentru aceeași strategie, doi comercianți vor tranzacționa întotdeauna diferit.
În consecință, toate dezavantajele de mai sus sunt absente în algoritmi și roboți. Nu au limitări fizice, nu sunt supuși căderilor emoționale și trăsăturilor de personalitate, își urmează cu strictețe sistemul (algoritmul).
Cu toate acestea, roboții sunt și imperfecți, să fim atenți la deficiențele lor:
- Probabilitatea de eroare în algoritm. Dacă dezvoltatorul robotului face o inexactitate sau un alt defect în cod, robotul va continua să funcționeze și va pierde bani.
- Complexitatea algoritmilor. Pentru a compila și programa un robot, trebuie să înțelegeți nu numai codul (limbajul programului), ci și tranzacționarea în sine. În general, aceasta este o procedură destul de complicată și necesită o experiență considerabilă.
- Lipsa de informatie. Tranzacționarea algoritmică este aproape imposibil de învățat din orice cărți sau cursuri, informațiile pur și simplu nu sunt disponibile gratuit.
- Lipsa de flexibilitate. Va fi mai ușor pentru un comerciant manual să se adapteze la schimbările de pe piață decât pentru un comerciant algoritmic să reconstruiască întreg algoritmul robotului.
Astfel, roboții au problemele lor, dar sunt mai puțin semnificative decât dezavantajele din tranzacționarea manuală, care duc cel mai mult la pierderi uriașe pe piețele financiare. Dar nu totul este atât de simplu, în practică se dovedește adesea că tranzacționarea algoritmică aduce pierderi. Un exemplu clar este Barclay's Systematic Trader Index
Graficul arată că din 2010 până în 2013, comercianții de sistem au fost într-o retragere și s-au scurs decent. Imaginea devine clară când ne uităm la următorul grafic, care este similar, dar numai pentru comercianții manuali (non-sistem):
După cum puteți vedea, aceștia au reușit să se adapteze la piață și sunt mai stabili decât algoritmii. După analizarea ambelor grafice, puteți observa că, în general, ambele abordări dau aproximativ același rezultat. Prin urmare, alegerea stilului de tranzacționare este o chestiune personală pentru toată lumea. De exemplu, dacă nu ești puternic în programare, iar codul este plictisitor, atunci este mai bine să nu te încurci cu algoritmii, ci să lucrezi manual și invers.
Mituri celebre despre tranzacționarea algoritmică
Tranzacționarea automată provoacă o rezonanță serioasă în rândul comercianților, în legătură cu care au apărut multe mituri despre algoritmi. Să acordăm atenție unora dintre ele:
- Tranzacționarea algoritmică nu oferă profit și este o înșelătorie. Din păcate, mulți sunt supuși acestei opinii, mai ales cei care au experimentat achiziționarea de Expert Advisors care nu au justificat investiția. Acest lucru este infirmat de indicele de profitabilitate de mai sus al comercianților algoritmici care câștigă bani de 20 de ani.
- Trading este psihologie, nu sistem de tranzacționare pentru roboți. După cum sa menționat deja, piața are ineficiențe și există algoritmi pentru a le identifica.
- Testarea sistemului nu funcționează. Mulți oameni spun că testarea înapoi pe istorie nu oferă niciun beneficiu, deoarece robotul va pierde oricum pe un cont real. Aceasta este, de asemenea, o iluzie, dacă abordați corect procesul de testare, ținând cont de toate caracteristicile și nuanțele, atunci joacă un rol important.
- Sistemele Martingale și grilele de comandă sunt singura modalitate de a câștiga bani. Ele pot face cu adevărat profit, dar nu pentru mult timp. O astfel de rentabilitate este extrem de instabilă și va duce cu siguranță la o scurgere.
- Indicatorii nu funcționează. O altă concepție greșită, indicatorii au fost creați pentru a ajuta comerciantul să evalueze vizual acțiunea prețului, nu să se bazeze orbește pe ei. Prin urmare, cu o abordare rezonabilă, cu siguranță vor da rezultate.
Lista nu este exhaustivă, acestea sunt doar cele mai cunoscute mituri.
Concluzie
Ce este tranzacționarea algoritmică pe burse? Tranzacționarea Algo este tranzacționarea folosind sisteme automate programate pentru a deschide tranzacții. Poate fi folosit pentru a extrage profit de pe piață sau pentru a reduce sarcina manuală a comerciantului atunci când deschide o poziție foarte mare.
Există diferite strategii de tranzacționare algoritmică. Poate fi arbitraj sau tranzacționare cu perechi, precum și multe alte variații. Acest stil de tranzacționare este disponibil atât pe bursă, cât și pe piața valutară Forex.
Dacă găsiți o eroare, evidențiați o bucată de text și faceți clic Ctrl+Enter.
Procedura de deschidere și închidere a tranzacțiilor formulată de un comerciant, care se bazează pe un algoritm clar pentru funcționarea sistemelor de tranzacționare automate sau mecanice - ATS și respectiv MTS.
Specificitatea și aplicarea tranzacționării algoritmice
Tranzacționarea algoritmică este o modalitate convenabilă de a automatiza manipulările de rutină ale comerciantului, ca urmare, timpul necesar pentru a analiza situația de schimb, a efectua operațiuni și a efectua calcule matematice este redus. ATS ajută la minimizarea influenței factorului uman - emoții, panică, grabă, speculații, care adesea fac neprofitabile chiar și strategiile profesionale. Tranzacționarea se bazează pe probabilitatea existentă ca cotațiile să se încadreze într-un interval dat. Calculele se bazează pe date istorice referitoare la un anumit activ și pot include un întreg set de instrumente de lucru. În urma schimbărilor continue ale pieței, dezvoltatorii de algoritmi caută constant modele repetate, pe baza cărora formulează regulile de efectuare a tranzacțiilor, selectează roboți de tranzacționare care ajută la implementarea acestui mecanism. Metode de selectare a modelului:
- genetic - crearea algoritmilor este încredințată sistemelor informatice;
- automat - se folosesc programe care pot funcționa cu cantități uriașe de date și strategii de testare;
- manual - abordarea științifică ține cont de modele matematice și fizice.
Cele mai importante companii de tranzacționare algoritmică folosesc mii de instrumente care reduc semnificativ probabilitatea erorilor și eșecurilor.
Tipuri și potențial
Un algoritm este un set de instrucțiuni precise pentru atingerea unor obiective specifice. În funcție de acestea din urmă, pe bursă se disting 5 tipuri de tranzacționare:
- statistic;
- tranzacționare cu algoritm de execuție;
- acoperire automată;
- acces direct;
- tranzacționare algoritmică de înaltă frecvență.
Popularitatea tot mai mare a MTS și ATS în rândul speculatorilor se datorează creșterii automatizării proceselor, tranziției tranzacțiilor valutare și reducerii costurilor de operare. Băncile au început, de asemenea, să folosească algoritmi pentru a furniza cotații actualizate pe platformele de tranzacționare, pentru a crește viteza de actualizare a datelor, pentru a reduce rolul muncii manuale în stabilirea prețurilor și pentru a minimiza costurile de tranzacție.
Esența tranzacționării algoritmice de înaltă frecvență
Tranzacționarea algoritmică de înaltă frecvență se mai numește și tranzacționare HFT, este cea mai solicitată dintre alte forme de tranzacții automate. Avantajul său este capacitatea de a încheia rapid tranzacții cu mai mult de un instrument, aici lucrul cu pozițiile (deschidere și închidere) se efectuează într-o fracțiune de secundă. Operațiile se caracterizează prin microvolume, în plus, sunt echilibrate de numărul lor mare. Rezultatele - pierderi și profituri - sunt fixate instantaneu, așa că aici este nevoie de o bază tehnică complexă și de o conexiune directă de înaltă calitate cu gateway-uri de comunicare. Caracteristici cheie ale tranzacționării de înaltă frecvență:
- utilizarea unor sisteme inovatoare capabile să execute poziții în milisecunde;
- implementarea tranzacțiilor de mare viteză, caracterizate prin volume mari și cel mai mic profit posibil;
- exclusiv tranzacționare intraday;
- profit din micro-fluctuațiile marjei și prețurilor;
- utilizarea tuturor categoriilor de tranzacții de arbitraj.
Cele mai comune strategii HFT sunt crearea de piață, arbitrajul întârziat și forma sa statistică, front running. Acesta din urmă constă în căutarea unor oferte mari pentru achiziție și plasarea propriei mici, caracterizate de un preț mai mare. Pe măsură ce execuția avansează, algoritmul plasează automat comenzile puțin mai sus, mizând pe manifestarea fluctuațiilor însoțitoare. Operațiunile robotizate efectuate ca parte a algo trading creează aproximativ 55% din lichiditatea burselor mondiale. Odată cu dezvoltarea tehnologică a instrumentelor, procesul de obținere a profitului devine mai complicat și mai costisitor. Companiile de nivel mediu sunt treptat scoase din piața de bază, pe măsură ce costurile de modernizare a bazei tehnice și de actualizare a software-ului cresc.
Foarte des, se folosesc strategii speculative algoritmice, al căror scop nu este de a vinde un activ, ci de a profita de fluctuațiile prețului unui instrument de tranzacționare. Spre deosebire de strategiile de execuție, care urmăresc să vândă cât mai liniștit o cantitate mare de active pentru propriile scopuri, fără a afecta prețurile pieței, strategiile speculative contribuie adesea la intervenția pe piață pentru a obține profit suplimentar. Există 8 grupuri principale de strategii speculative. Cu toate acestea, unele grupuri de strategii speculative se bazează pe alte grupuri sau acționează ca derivate ale acestora.
Strategii de creare a pieței speculative (piaţă- realizarea)
De fapt, strategia Market Maker presupune intervenția în piață, și obținerea de profit suplimentar din aceasta. Conform strategiei de formare a pieței, un mare participant instituțional pe piața financiară deține poziții mari (de la sute de mii la milioane și chiar miliarde de dolari) atât pentru cumpărare, cât și pentru vânzare în același timp. Plasarea simultană a pozițiilor opuse nu aduce profit (de fapt, aceasta este blocare) și în sine nu afectează modificarea prețului unui activ, ci doar crește volumul comerțului pe piață. Astfel, creatorii de piață ajută la menținerea lichidității ridicate a activelor financiare. Mai mult, bursele și organizațiile OTC sunt interesate de formatorii de piață pe active ilichide, de unde sunt atrași prin oferirea de condiții preferențiale de tranzacționare și, uneori, „închizând ochii” la intervenția lor pe piață.
Intervenția creatorilor de piață în piață este următoarea.
Când prețul unui activ începe să crească, market maker-ul închide parțial sau complet poziția de cumpărare, mutând astfel prețul în jos. Când prețul se prăbușește, după ce a câștigat pe poziția de vânzare, creatorul de piață poate închide poziția de vânzare, mutând prețul înapoi în sus. În acest fel, market maker-ul poate ști exact când va avea loc o inversare a tendinței, permițându-le să plaseze poziții suplimentare și să obțină profituri suplimentare. Despre asta, puteți citi într-un articol separat.
Strategii speculative „urmărirea tendințelor” (urmărirea tendințelor)
Aceste strategii se bazează pe principiul simplu al urmăririi tendințelor. Tranzacționarea algoritmică pe strategii de urmărire a tendințelor speculative utilizează diverși indicatori de analiză tehnică pentru a obține semnale de tranzacționare ( trebuie remarcat faptul că participanții mari de pe piața instituțională folosesc indicatori de design propriu, pe care nu îi veți găsi disponibili pentru un comerciant obișnuit.). Avantajul strategiilor de urmărire a tendințelor este versatilitatea lor, deoarece pot fi utilizate pe orice tip de active de tranzacționare și în orice interval de timp.
Influența asupra pieței, atunci când se utilizează strategii speculative de urmărire a tendințelor din partea participanților instituționali de pe piață, poate fi exprimată printr-o creștere a tendinței: dacă un participant își deschide o poziție mare de-a lungul tendinței, el crește astfel cererea, ceea ce mișcă prețul. chiar mai mult.
Strategii de tranzacționare cu perechi speculative
Strategiile de tranzacționare cu perechi speculative funcționează pe raporturile instrumentelor de tranzacționare cu corelație încrucișată ridicată, cum ar fi, de exemplu, acțiunile miniere de aur și futures pe aur.
Principiul strategiei de pereche este următorul:
Sunt selectate două active corelate (interconectate), să spunem aurul și acțiunile companiilor miniere de aur. Dacă prețurile mondiale ale aurului cresc, atunci prețurile acțiunilor companiilor miniere de aur cresc și ele. Cu toate acestea, graficele de preț pot varia. Se analizează abaterea graficelor de preț de la mediile mobile. Cu o creștere semnificativă a prețului unuia dintre active, acesta este vândut și, în același timp, activul care a căzut este cumpărat. Astfel, așa-numitul Portofoliu Beta Neutru , în care rezultatul unei astfel de tranzacții va depinde nu de tendința pieței, ci de raportul dintre prețul unui activ la altul. Când graficele de preț revin la mediile mobile, pozițiile sunt închise. Pentru analiza tranzacționării perechilor pe intervale de timp mici, sunt utilizați algoritmi de indicatori de analiză tehnică. Pe intervale mari de timp, se utilizează analiza fundamentală a pieței, cu indicatori ai multiplilor pieței și diverse rate financiare. Această strategie este adesea folosită de fondurile mari de investiții și fondurile speculative care efectuează tranzacții mari prin algoritmi TWAP, VWAP, Iceberg sau POV.
Strategii de tranzacționare cu coș speculativ
Tranzacționarea coșului funcționează după un algoritm practic similar cu tranzacționarea perechilor, cu diferența că tranzacționarea algoritmică se desfășoară nu cu două active corelate, ci cu două coșuri de active corelate (din engleză Basket - coș). Astfel, are loc diversificarea, care permite minimizarea riscurilor de tranzacționare. Tranzacționarea algoritmică în tranzacționarea coșurilor se efectuează, de regulă, în cadrul unei singure sesiuni de tranzacționare prin ordine de piață, iar activele foarte lichide sunt incluse în coșuri.
Strategii speculative de arbitraj (arbitraj)
Tranzacționarea prin arbitraj este oarecum similară cu tranzacționarea perechilor, cu diferența că este efectuată de mai multe instrumente de tranzacționare similare (identice sau corelate). Tranzacționarea prin arbitraj implică profitul din diferența de prețuri a activelor similare (identice), și nu din mișcările prețurilor. Atunci când instrumentele înrudite sau identice demonstrează o diferență între cotații, apare o situație de arbitraj.
Strategiile de arbitraj pot fi împărțite în următoarele subtipuri, în funcție de activele utilizate:
- Strategia de arbitraj spațial— sunt utilizate active de tranzacționare absolut identice, dar pe piețe financiare diferite. De exemplu, tranzacționarea algoritmică a acțiunilor aceleiași companii pe diferite burse de valori. De exemplu, dacă pe o platformă de schimb cotațiile companiei sunt de 100 USD pentru vânzare (Bid) și 101 USD pentru cumpărare (Ask), iar pe un alt site este oferit la prețuri de 102 USD pentru vânzare și 103 USD pentru cumpărare, atunci un comerciant poate cumpăra pe o acțiune de schimb la 101 USD și vinde-le pentru alta la 102 USD, câștigând 1 USD din fiecare acțiune.
- Strategie de arbitraj echivalentă— sunt utilizate instrumente de tranzacționare conectate între ele și care au o relație liniară între ele. De exemplu: acțiuni ale unei companii și futures pe acțiuni ale unei companii. Adică, se întâmplă ca prețul acțiunilor să fi crescut, dar futures pentru acestea au rămas în același loc, sau chiar au scăzut puțin. În acest caz, ar trebui să vindeți acțiuni și să cumpărați futures pentru aceste acțiuni și apoi să vă așteptați să converge prețurile acestora. În mod similar, puteți tranzacționa în direcția opusă.
- Index Strategie de arbitraj— este o subspecie de tranzacționare în coș și se bazează pe legătura dintre un futures pe un indice și un coș de active care sunt incluse în acest indice.
Tranzacționarea cu arbitraj contribuie la sincronizarea și alinierea prețurilor, întrucât arbitragerii algoritmici reacţionează foarte rapid la orice dezechilibru de pe pieţele financiare.
În tranzacționarea prin arbitraj algoritmic, furnizarea de cotații, viteza și calitatea transferului de date joacă un rol important. Prin urmare, participanții de pe piața instituțională conectează o bază materială și tehnică semnificativă pentru a asigura tranzacționarea prin arbitraj.
Strategii algoritmice pentru volatilitatea tranzacționării (Tranzacții cu volatilitate
Tranzacționarea cu volatilitate se desfășoară pe instrumente financiare derivate, în special pe opțiuni. Principiul tranzacționării se reduce la dependența valorii unui contract de opțiune de volatilitatea instrumentului de tranzacționare în perioada până la data expirării. În termeni simpli, tranzacționarea cu volatilitate presupune că valoarea unei opțiuni este afectată de luarea în considerare a riscurilor mișcării prețurilor.
Volatilitate- un indicator care afișează probabilitatea unei schimbări de preț. Cu cât volatilitatea este mai mare, cu atât este mai mare probabilitatea ca prețul să se schimbe.
O opțiune cu așteptarea unei volatilități mai mari este cumpărată deoarece prețul acesteia va crește. O opțiune cu așteptarea unei volatilități mai scăzute este vândută, deoarece valoarea acesteia va scădea. Atunci când cumpărați o opțiune, trebuie acoperire pozitii de comert opus.
Calculele de tranzacționare cu volatilitate sunt foarte complexe, ale căror calcule matematice funcționează conform algoritmilor automatizați ai participanților instituționali de pe piețele financiare.
Strategii speculative low cost (Tranzacționare cu latență scăzută)
Strategiile algoritmice low-cost sunt similare cu strategiile de urmărire a tendințelor, deoarece implică tranzacționarea cu tendința și tranzacționarea perechilor, deoarece folosesc instrumente corelate. Cu toate acestea, tranzacționarea algoritmică presupune utilizarea mai multor instrumente, în timp ce mișcarea pieței este determinată de activul suport, iar tranzacțiile se fac direct pe alt instrument. Punctul cheie al strategiilor cu costuri reduse este că, pe instrumentele de tranzacționare foarte corelate, un activ (subiacent) cu mai multă lichiditate reacționează mai rapid decât alte active (funcționale) cu lichiditate mai mică. De exemplu, la început prețul petrolului (baza) scade, ceea ce trage în jos acțiunile companiilor producătoare și de rafinare a petrolului (instrumente de tranzacționare de lucru). Tendințele activului de bază sunt analizate pe cele mai mici intervale de timp, ținând cont de fiecare modificare a cotațiilor. De îndată ce activul suport începe să prezinte o schimbare bruscă a prețului, se efectuează o tranzacție cu instrumente de tranzacționare funcționale în direcția modificării activului suport. Atunci când tranzacționați algoritmic cu strategii low cost, este esențial să aveți acces ultrarapid la piață și informații despre piață pentru a implementa toate semnalele de tranzacționare.
Strategii anticipate speculative (alergare în față)
Front-running implică analiza lichidității curente și a volumului mediu al pozițiilor activelor într-o anumită perioadă de timp. Dacă piața determină cel mai bun preț de ofertă și ofertă pentru una sau mai multe comenzi, în care volumul total depășește volumul mediu de comenzi pentru o anumită perioadă de timp cu o anumită sumă, atunci o comandă este plasată la un preț cu câteva puncte mai mare (când cumparare) sau mai mici (la vanzare) din pret aplicatii mari. Se dovedește că comanda plasată va fi plasată înaintea comenzilor mari. Când acest ordin este executat, ordinul opus este plasat imediat cu câteva puncte mai mare dacă este completat ordinul de cumpărare, sau cu câteva puncte mai jos dacă este completat ordinul de vânzare. Totul sună complicat, dar ideea este simplă: pozițiile mari, de regulă, sunt ocupate pentru un anumit timp, timp în care pot apărea mai multe tranzacții opuse. Când se execută o poziție mare, prețul se poate mișca semnificativ, ceea ce va aduce profit la prima comandă. Pentru tranzacționarea algoritmică în avans, se folosesc active de tranzacționare cu lichiditate ridicată. Funcționarea frontală devine posibilă doar cu acces de mare viteză la piață și informații despre piață.
Concluzie
Tranzacționarea algoritmică permite participanților mari de pe piața instituțională să vândă volume mari de active, precum și să primească profit suplimentar din speculații pe piețele bursiere și over-the-counter. Algoritmi sofisticați analizează și execută automat tranzacții care pot afecta situația de pe piață.
Majoritatea roboților de tranzacționare care sunt utilizați în tranzacționarea algoritmică nu sunt disponibili pentru comercianții obișnuiți, deoarece aceștia sunt dezvoltări proprii ale marilor participanți la tranzacționare. Tranzacționarea cu algoritm necesită o acuratețe ridicată a execuției și acces direct la lichiditatea și informațiile pieței, care este oferit prin accesul direct la furnizorii de lichidități.
Cu Yuri Maslov, care la ITinvest dezvoltă infrastructura pentru lucrul la bursă folosind roboți de tranzacționare. În blogul de pe Habré, publicăm fragmente din această conversație, dedicate răspunsurilor la întrebările frecvente referitoare la tehnologiile folosite în bursa din Rusia.
Avantajele tranzacționării algoritmice
O creștere a numărului de comercianți care folosesc roboți speciali pentru a tranzacționa la bursă este o tendință globală. Nu toată lumea este mulțumită de acest fapt, mulți consideră că tranzacționarea algoritmică este o speculație dăunătoare, dar vă permite să mențineți lichiditatea pe piețe. Numărul de comercianți de înaltă frecvență (HFT) și impactul lor asupra pieței este determinat de legile generale ale pieței - am scris despre acest lucru într-un subiect dedicat perspectivelor tranzacționării algoritmice în Rusia:În plus, utilizarea tehnologiei în tranzacționare vă permite să scăpați de una dintre principalele probleme care apar atunci când lucrați pe piața financiară - predominanța emoțiilor asupra rațiunii, care poate duce la greșeli și pierderi de bani. În plus, situația de pe piața de valori se schimbă adesea atât de rapid încât o persoană poate să nu aibă timp să reacționeze la ea - robotul nu este atât de lent.
De exemplu, cu mult timp în urmă, în 2002-2003. oamenii tranzacționau cu mâinile lor contracte futures Gazprom vs Gazprom de arbitraj simplu. A primit dobândă nebună pe an. Dar în 2008, această nișă era deja complet ocupată de algoritmi. După septembrie 2011, această nișă a fost complet ocupată de algoritmi de înaltă frecvență.
De câți bani ai nevoie pentru a tranzacționa un robot
Este posibilă algoritmizarea strategiilor de tranzacționare chiar dacă nu există o sumă foarte mare de fonduri pentru tranzacționare la bursă. În același timp, este necesar să fii conștient de faptul că există diverse domenii de tranzacționare algoritmică. Există varietăți ale acestuia care nu impun o cerință crescută de viteză - de exemplu, strategii inteligente care beneficiază de înțelegerea pieței. Dacă aveți nevoie de tranzacționare de înaltă frecvență (strategii care îi depășesc pe toată lumea de pe piață) sau intenționați să utilizați modele microstructurale, atunci biletul de intrare este mai scump, deoarece aveți nevoie de o infrastructură serioasă și de costul suportării acesteia.Yuri Maslov
Înainte de a vă grăbi pe piața reală, este necesar să testați strategia și să calculați profitabilitatea acesteia (în principiu, acest lucru se poate face chiar și în MS Excel). Această rentabilitate ar trebui, în mod ideal, să acopere costurile de dezvoltare și întreținere a unui robot de tranzacționare - plătind pentru serviciile unui programator sau, în cazul dezvoltării proprii, costuri de timp.
Există oameni pe piață care au început cu 100 de mii de ruble. Poate doar au început într-un moment mai bun. Astăzi, suma de la 500 de mii de ruble la 1 milion de ruble este pragul de intrare la care este deja posibil să începeți să lucrați cu strategii algoritmice. În același timp, există instrumente convenabile care pot fi folosite pentru a algoritmiza o strategie chiar și pentru 20.000 de ruble. Sunt din ce în ce mai multe dintre ele pe piață. Acestea vă permit să realizați algoritmi fără costuri semnificative de dezvoltare.
Aceste soluții includ sistemele TS Lab sau produsele Cofite. Există din ce în ce mai multe astfel de soluții - esența lor constă în utilizarea limbajelor de scripting care simplifică dezvoltarea în timp. Ele sunt „ascuțite” pentru implementarea rapidă a algoritmilor. Un exemplu de astfel de limbaj de scripting este TradeScript, creat de americanii de la Modulus Financial Engineering. Această tehnologie a fost licențiată (OEM) pentru a crea terminalul SmartX. Acest limbaj este foarte simplu și vă permite să descrieți o strategie de tranzacționare într-un timp scurt, doar citind manualul (sau publicațiile despre Habré - unu, doi)
Aplicații dus-întors
Viteza robotului de tranzacționare depinde de diverși factori. Unul dintre cele mai importante este protocolul de transfer de date utilizat.Să luăm protocoalele care sunt folosite pentru a lucra cu Bursa din Moscova pe piața spot. Există diferite moduri de conectare: protocol de schimb „nativ”, se mai numește și nativ, conexiune FIX și funcționează printr-un sistem de tranzacționare de brokeraj. Oamenii care încearcă să fie primii în „ochelari” folosesc o conexiune FIX, mai rar un protocol nativ.
Când vă conectați printr-un sistem de brokeraj, viteza este de obicei mai mică. Dacă vorbim de FIX pe bursa MICEX, atunci dus-întors, în partea de schimb, este de aproximativ 300-350 de microsecunde, traseul complet al comenzii, ținând cont de întârzierea canalelor de comunicare și pe echipamentele clientului, poate fi exprimat. în valori semnificativ mai mari.
Aceste cifre sunt aceleași pentru toți brokerii, depind într-o măsură mai mare de calitatea canalului către schimb, de echipamentele instalate și de viteza de procesare a aplicației în nucleu. În cazul utilizării protocolului de schimb „nativ” TEAP, întârzierea tipică este mai mare și variază de la 420 µs.
Timpul pentru plasarea comenzilor care trec prin sistemul de tranzacționare ITinvest (din momentul în care este primit de la client la gateway (gateway) până la momentul în care clientul primește un răspuns la acesta - trebuie să înțelegeți că atunci când lucrați prin Internet pot exista întârzieri imprevizibile în zona de la poarta brokerului la echipamentul clientului) este de la 1,5 la 2,5 ms. În același timp, există o soluție pentru comercianții de înaltă frecvență care implică lucrul la protocolul FIX și conectarea la serverele de management al riscului ITinvest. Este nevoie de câteva microsecunde pentru a controla riscurile, iar acestea sunt invizibile în valoarea totală a schimbului dus-întors.
Tehnologii de dezvoltare
Experiența arată că procesoarele universale sunt cea mai bună soluție tehnologică pentru crearea roboților de tranzacționare pe piața rusă. Gama de aplicare a diferitelor soluții este limitată - puteți construi o strategie rapidă pe FPGA, dar pentru calcule complexe este mai bine să utilizați un procesor universal. GPU-urile au dezavantajele lor, cum ar fi manipularea lentă a memoriei și consumul mare de energie. Optimizarea robotului pentru un procesor universal pe piața locală este în prezent soluția principală.Când vine vorba de sisteme de operare, cu cât o persoană își dorește mai mult performanță, cu atât este mai interesată să folosească Linux. Dacă există vreo idee de afaceri funcțională, atunci creșterea vitezei vă poate permite să câștigați mai mult. Dar costul dezvoltării și angajării unui programator de top s-ar putea să nu merite costul. În principiu, soluții destul de rapide pot fi create și pe Windows. Linux este bun, deoarece este personalizat pentru nevoile emergente ale comerciantului utilizator - noi nuclee cu cipuri noi sunt lansate. Windows este mai conservator în aceste chestiuni.
C# este popular în ultima vreme. Este foarte ușor de dezvoltat, iar o persoană care nici măcar nu are o educație de specialitate și are doar abilități de dezvoltare de bază poate stăpâni C# și scrie un algoritm de robot. Pentru evoluții mai serioase de pe piața financiară, se folosesc C și C ++, care vă permit să obțineți o viteză acceptabilă la costuri optime (în cazurile severe, este vorba de Assembler). Dezvoltatorii de software de schimb începători folosesc de obicei C#.
Trebuie să folosesc produse din cutie pentru a crea roboți
Pe de o parte, avantajul unor astfel de soluții este că economisesc timp de dezvoltare. Pe de altă parte, este o „cutie neagră” cu propria ei logică și este cu adevărat dificil să înțelegi unele produse fără a-i consulta creatorii. Dar faptul că facilitează dezvoltarea roboților de tranzacționare este dincolo de îndoială. Majoritatea brokerilor au o interfață ușor de utilizat, care vă permite să scrieți o aplicație rapid și convenabil. De exemplu, ITinvest are API-ul SmartCom.Manualul său conține exemple, iar o persoană care cunoaște C # va putea să-și scrie robotul suficient de repede. În același timp, comercianții de înaltă frecvență scriu aproape întotdeauna sisteme de tranzacționare pentru ei înșiși - această metodă vă permite să obțineți un produs unic și să contați pe un câștig mai mare pe piață.
Asta e tot pentru astăzi, vă mulțumesc tuturor pentru atenție. De asemenea, am dori să întrebăm utilizatorii Habr despre ce subiecte legate de bursă ar fi interesați să citească. Aplicațiile și întrebările sunt acceptate în comentarii!
P.S. Dacă observați o greșeală sau o greșeală - scrieți un mesaj personal și vom corecta totul prompt.