Algoritminė prekyba. Soulless Expert Advisors – roboto patarimai ir algoritminė prekyba: naujų technologijų ateitis Algoritminė ir automatizuota prekyba
Niujorko universiteto matematikos profesorius ir finansų rinkos ekspertas Marco Avellaneda surengė pranešimą, kuriame kalbėjo apie tai, kaip stambūs investuotojai „slepia“ savo didelius sandorius naudodami algoritmus, o kiti prekiautojai prognozuoja akcijų kainų pokyčius.
Mūsų šiandieninėje medžiagoje - pagrindiniai šio darbo punktai.
Kodėl mums reikia algoritmų
Algoritminė prekyba buvo priemonė dideliems investuotojams ir rizikos draudimo fondams nuo pat jos atsiradimo praėjusio amžiaus 90-ųjų pradžioje. Decimalizacija (perėjimas Niujorko vertybinių popierių biržoje naudoti prekyboje akcijomis dešimtaine sistema – minimalus kainos žingsnis tapo lygus 1 centui, o ne 1/16 dolerio), tiesioginės prieigos prie rinkos (DMA) technologijos, 100% elektroninės biržos , biržų ir brokerių komisinių mažėjimas, įvairių biržų platformų atsiradimas JAV ir kitose šalyse – visa tai lėmė, kad sparčiai išaugo algoritmus naudojančių treiderių skaičius.Avellaneda algoritmų naudojimo tikslus prekiaujant akcijomis apibūdina taip. Profesoriaus teigimu, stambių institucinių investuotojų atveju jie daugiausia naudojami ne siekiant maksimizuoti galimą pelną iš konkretaus sandorio, o kontroliuoti rinkos riziką ir pavedimų vykdymo kaštus.
Paprasčiau tariant, paprastai dideli investuotojai turi sudaryti sandorį su dideliu akcijų kiekiu. Dažnai sandorio apimtys yra didesnės nei rinka gali „suvirškinti“ nekeisdama akcijų kainos. Poreikis įsigyti didžiulį akcijų skaičių lems jų kainos pasikeitimą ir vadinamojo „paslydimo“ atsiradimą. Taigi nebus įmanoma įvykdyti viso pavedimo viena kaina – iš pradžių sandoriai vyks tinkama kaina, tačiau palaipsniui tai taps vis mažiau pelninga.
Norint to išvengti, didelius užsakymus reikia skaidyti į mažesnius, kurie internetu įvykdomi per kelias minutes, valandas ar dienas.
Kad tai būtų kuo pelningiau, algoritmas turi kontroliuoti vidutinę akcijos kainą. Įvertinti galite lygindami su rinkos „benchmarku“ – pasauline vidutine dienos kaina, uždarymo ar atidarymo kaina ir pan.
Tačiau problema, kaip tiksliai suskaidyti didelį užsakymą į mažesnius, nėra vienintelė problema. Algoritmas taip pat turi nuspręsti, kaip parduoti pavedimą – kaip limitą ar rinkos pavedimą – ir kokia kaina. Už kiekvieną tokį vaiko užsakymą būtina pasiekti geriausią kainą.
Dėl finansų rinkų plėtros ir naujų prekybos priemonių atsiradimo ši užduotis tapo daug sudėtingesnė ir įdomesnė.
Laikai, kai klientai brokeriams pavedimus galėjo teikti tik telefonu ar faksu, jau praėjo. Dabar yra įvairių būdų prisijungti prie elektroninės prekybos. Pavyzdžiui, prekybos robotą galima prijungti prie tarpininkavimo sistemos naudojant API – tokiu atveju pavedimai siunčiami į tarpininkavimo sistemą, o iš ten patenka į biržą (ITinvest turi savo SmartCOM API).
Algoritminės prekybos atveju, kaip taisyklė, svarbus strategijos greitis, todėl daugelis prekiautojų renkasi tiesioginės prieigos prie rinkos technologiją (tokią prieigą prie Rusijos ir užsienio biržų suteikia DMA – ITinvest). Jei jis naudojamas, prekybos robotas tiesiogiai sąveikauja su biržos prekybos sistema, aplenkdamas brokerio sistemą, kas leidžia laimėti laiko.
Tačiau tai toli gražu nėra pati sudėtingiausia prekybos galimybė. Atsiradus daugybei skirtingų prekybos platformų, buvo sukurti pavedimų „protingo maršruto“ algoritmai – tokios sistemos ne tik bando atlikti pelningiausius sandorius konkrečioje biržoje, bet ir analizuoja, kuri iš turimų svetainių yra šiuo metu geriau, kad būtų galima išsiųsti užsakymą ten.
Taigi, yra trys šiuolaikinių algoritmų kūrimo lygiai.
- Makro prekybos algoritmai- nustatyti prekybos strategiją;
- Mikroprekybos algoritmai- iš tikrųjų prekyba „varikliais“ užsakymams pateikti;
- Išmanieji maršruto parinkimo algoritmai- jei darbai atliekami keliose biržose vienu metu.
Prekybos algoritmų pavyzdžiai
Yra keletas algoritminių strategijų tipų. Viena iš jų – vykdymo strategijos, kuriomis siekiama išspręsti didelės apimties finansinės priemonės (pavyzdžiui, akcijų) pirkimo ar pardavimo problemą minimaliu galutinės svertinės sandorio kainos nukrypimu nuo esamos rinkos kainos.Šią problemą išsprendžiančių algoritmų pavyzdžiai yra TWAP ir VWAP algoritmai.
TWAP algoritmas
TWAP (Tie Weighted Average Price – laiko svertinė vidutinė kaina) naudojimas reiškia vienodą pavedimo pirkti ar parduoti vykdymą tam tikram iteracijų skaičiui per tam tikrą laikotarpį. Norėdami tai padaryti, rinkos pavedimai nuolat pateikiami geriausio pasiūlymo ar pasiūlymo kainomis, pakoreguotomis pagal nurodytą procentinį nuokrypį.Pavyzdžiui, 100 000 akcijų pirkimas per dieną gali atrodyti taip (naudojami penkių minučių intervalai iš eilės):
VWAP algoritmas
VWAP (apimties svertinė vidutinė kaina – apimties svertinė vidutinė kaina) veikia pagal šią schemą. Prekybos apimtis paprastai būna didesnė prekybos sesijos pradžioje ir pabaigoje, o jos viduryje – mažesnė. Norint įvykdyti didelį užsakymą su minimaliomis sąnaudomis, jis išskaidomas į mažesnius užsakymus, atsižvelgiant į paros laiką.Už tai:
- Algoritmas įvertina vidutinę prekybos apimtį penkių minučių intervalais.
- Kiekviename intervale operacijos atliekamos pagal standartinei apimčiai proporcingą priemonių skaičių.
Procentinis tūris (POV)
Apimties procento (POV) algoritmas išsprendžia tą pačią problemą kaip ir VWAP, tačiau kaip etaloną naudodamas informaciją apie prekybos apimtį konkrečią einamąją dieną. Idėja yra turėti pastovų dalyvavimo aukcione procentą per visą pasirinktą laikotarpį.Jei reikia „prekiauti“ daugiau Q apimties akcijų, o sandoriuose „dalyvavimo koeficientas“ yra γ, tada algoritmas apskaičiuoja sandorių V apimtį per laikotarpį (t – ΔT, t) ir vykdo pavedimus finansinių priemonių skaičius q = min(Q,V *γ).
V(t) = bendra prekybos apimtis rinkoje tuo metu t;
Q(t) = akcijų, kurias dar reikia nusipirkti/parduoti, skaičius (Q(0) = pradinis kiekis).
Kaip dar naudojami algoritmai?
Be vykdymo strategijų, yra keletas strategijų, skirtų pelnui gauti naudojant kitus modelius. Štai keletas iš jų:- Arbitražo strategijos- porų prekybos strategijų poaibis, pagrįstas dviejų labai susijusių finansinių priemonių kainų santykių analize. Arbitražo atveju tokią porą sudaro tas pats arba susijęs turtas, kurio koreliacija artima vienai – pavyzdžiui, tos pačios įmonės akcijos skirtingose biržose. Norint sėkmingai prekiauti pagal arbitražo strategijas, duomenų gavimo ir pirkimo ar pardavimo pavedimų pateikimo/keitimo greitis yra labai svarbus.
- Likvidumo užtikrinimas (rinkos formavimas)- rinkos formavimas apima finansinės priemonės pirkimo ir pardavimo skirtumų palaikymą. Rinkos formuotojai yra pagrindiniai momentinio likvidumo tiekėjai, todėl biržos dažnai įtraukia juos į darbą su nelikvidžiomis priemonėmis, suteikdamos lengvatines sąlygas.
- Kainos numatymas- strategijas, analizuojančias įvairius duomenis (taip pat ir naudojant techninės analizės rodiklius), kuriant hipotezes, kuria kryptimi gali judėti finansinės priemonės kaina per tam tikrą laikotarpį.
Kainos numatymas aukšto dažnio prekyboje
Kad būtų galima „numatyti“ kainos judėjimą, algoritmas turi imituoti paslėptą rinkos likvidumą, atsižvelgiant į pirkimo ir pardavimo pavedimų likvidumą. Pirkimo ar pardavimo pavedimų eilės „išsekimas“ gali rodyti neišvengiamą kainų judėjimą.Kainos pokytis įvyksta, kai visi pavedimai pirkti arba parduoti išnyksta esant vienam iš kainų lygių, o atsiranda kitas siūlymo ir pardavimo kainų lygis.
Tikimybė, kad užklausų eilė baigsis, kol pasiūlymų eilė bus išeikvota, apskaičiuojama taip:
Galutinė kainos padidėjimo tikimybės formulė:
Kur H yra paslėptas rinkos likvidumas, tai yra sandoriai, kurie nėra žinomi plačiajai visuomenei (pavyzdžiui, didelių finansinių organizacijų sandoriai, sudaryti ne biržose).
Vertinimo procedūra yra tokia:
- Pirmajame etape surinkti duomenys skirstomi į biržas, vienu metu analizuojama viena prekybos diena;
- Siūlymo ir pardavimo verčių citatos yra išdėstytos deciliais. Kiekvienam tokiam rinkiniui (i,j) apskaičiuojamas kainos didinimo dažnis u_ij.
- Skaičiuojamas kiekvienos reikšmės d_ij pasikartojimų skaičius.
- Modelio atitikimas analizuojamas naudojant mažiausių kvadratų metodą:
Išvada
Daugelyje vertybinių popierių biržų (pavyzdžiui, JAV ir Rusijoje) algoritminės prekybos apyvarta jau ilgą laiką siekia daugiau nei 50 proc. Tuo pačiu metu algoritmai dažnai naudojami ne tik norint „aplenkti“ konkurentus operacijų greičiu ir užsidirbti pinigų.Stambūs žaidėjai šiuo įrankiu gali suskaidyti dideles operacijas į smulkesnes, kurios leidžia atlikti sandorį su tam tikra finansinės priemonės suma, nepaslenkant jos rinkos kainos viena ar kita kryptimi. Tam naudojami TWAP, VWAP ir PoV algoritmai.
Be to, algoritmai naudojami „kvantinėms strategijoms“, tokioms kaip arbitražas ar rinkos formavimas, įgyvendinti. Be to, yra galimybių apskaičiuoti konkrečių finansinių priemonių kainos pasikeitimo tikimybę.
Tai viskas šiandien, ačiū už dėmesį!
Algoritmų naudojimas prekyboje (algo prekyba) yra pastarųjų dešimtmečių tendencija, įvairiais būdais pakeitusi rinką. Bet kuri automatinė sistema gali lengvai pranokti žmogų greičiu, produktyvumu ir ištverme, tuo tarpu konkuruoti su mašina bus beveik neįmanoma.
Straipsnio turinys:
Kas yra algoritminė prekyba, jos savybės ir panaudojimas įvairiose rinkose – toliau.
Kas yra algoritminė prekyba (algoritminė prekyba)
Algoritminė prekyba (iš anglų kalbos Algorithmic trading) gali turėti dvi reikšmes:
- Algo prekyba- tai automatinė sistema, kuri atidaro sandorius nedalyvaujant prekybininkui pagal tam tikrą algoritmą;
- yra didelio pavedimo rinkoje vykdymo technika, kai jis automatiškai padalijamas į dalis ir atidaromas palaipsniui pagal nurodytas taisykles.
Pirmąja prasme algoritmai reikalingi norint gauti tiesioginį pelną automatiškai analizuojant rinką ir atveriant pozicijas. Tokie algoritmai taip pat vadinami " prekybos robotai" arba " patarėjai“. Pavardė kilusi iš Forex rinkos.
Antruoju atveju sistema naudojama siekiant palengvinti investicinių fondų prekiautojų rankų darbą atliekant per didelius sandorius, kuriuos pageidautina atlikti mažiau pastebimai. Pavyzdžiui, jei užduotis yra nusipirkti 100 000 įmonės akcijų, o vienu metu reikia atidaryti 1-4 akcijų pozicijas, kad nepatrauktumėte dėmesio tiekimo ir užsakymų knygoje.
Apie tai, kas yra algoritminė prekyba, jis rašo:
“Algoritminė prekyba, arba Algoritminė prekyba, yra didelio pavedimo (per didelio, kad būtų galima įvykdyti iš karto) vykdymo būdas, kai, naudojant specialias algoritmines instrukcijas, didelis pavedimas (pagrindinis pavedimas) suskirstomas į kelis antrinius pavedimus (antrinius pavedimus). . ) su savo kainos ir apimties charakteristikomis, o kiekvienas iš sub-užsakymų tam tikru laiku išsiunčiamas į rinką vykdyti. Tokie algoritmai buvo išrasti tam, kad prekiautojams nereikėtų nuolat stebėti kotiruočių ir rankiniu būdu skaidyti didelio užsakymo į mažus.“
Pagrindinė algoritminės prekybos forma yra HFT prekyba (iš anglų kalbos. Aukšto dažnio prekyba – „aukšto dažnio algoritminė prekyba“). Jo esmė yra sandorių sudarymas per sekundės dalį. Kitaip tariant, tokios sistemos išnaudoja pagrindinį savo privalumą – greitį.
Algoritminės prekybos esmė
Quantum ( kvantai) prekiautojai, arba kaip jie dar vadinami – algoritminiai prekiautojai, naudojasi tik kainų kritimo į norimą diapazoną tikimybės teorija. Skaičiavimai atliekami remiantis ankstesniu kainų intervalu arba keliomis finansinėmis priemonėmis. Svarbu suprasti, kad taisyklės gali keistis keičiantis rinkos elgesiui. Algo prekybininkai nuolat ieško rinkos neefektyvumo, pasikartojančių kabučių istorijos šablonų ir skaičiuoja jų pasikartojimo tikimybę ateityje. Taigi algoritminės prekybos esmė yra pozicijų ir robotų šeimų atidarymo taisyklių parinkimas. Šis pasirinkimas gali būti:
- vadovas- atlieka tyrėjas, remdamasis matematiniais ir fizikiniais modeliais;
- automatinis- reikalingas masiniam taisyklių surašymui ir testavimui pagal programą;
- genetinė- šiuo atveju taisykles kuria programa su dirbtinio intelekto elementais.
Likusios idėjos ir utopijos apie algoritminę prekybą yra tik fikcija, net robotas negali nuspėti ateities su garantija. Rinka taip pat negali būti tokia neefektyvi, kad būtų vienos taisyklės robotui, kuris veikia visur ir visada.
Tokiose didelėse investicinėse bendrovėse kaip Renesanso technologija, Citadelė, Virtu kurie naudoja algoritmus, yra šimtai prekybos robotų šeimų (serijų), apimančių tūkstančius instrumentų. Būtent toks požiūris duoda jiems kasdienį pelną, tai savotiškas algoritmų diversifikavimas.
Kada ir kaip atsirado algoritminė prekyba
Oficiali algoritmų naudojimo pradžia – 1998 m., kai SEC (Vertybinių popierių komisija) Jungtinėse Valstijose leido naudoti elektronines platformas. Po to prasidėjo tikros technologinės lenktynės.
Pagrindiniai klausimai:
- 2000-ieji- automatinių operacijų atlikimo laikas per kelias sekundes, robotų dalis JAV rinkoje nesiekia 10%;
- 2009 - sandoriai vykdomi greičiau nei milisekundės greičiu (mikrosekundžių dalimis), rinkos dalis viršija 60%;
- 2012 ir vėlesnis laikotarpis – dėl masinių klaidingų algoritmų veiksmų jų rinkos apimtis sumažėjo iki 50% visų sandorių.
Taigi HFT algoritmai naudojami iki šiol. Investiciniai bankai ir rizikos draudimo fondai yra šios srities pionieriai ir jiems labiau nei bet kam kitam reikia automatizuoti didelių pavedimų vykdymą. Jie sėkmingai investavo daug pinigų į tokių algoritmų kūrimą, dėl to atsirado įvairių sistemų, kurios turėjo įtakos rinkai.
Algoritminė prekyba akcijų rinkoje
Akcijų rinka, kaip ir išvestinių finansinių priemonių rinka, atveria plačias automatinės prekybos panaudojimo galimybes. Tačiau algoritminė prekyba yra labiau paplitusi dideliuose fonduose nei tarp privačių investuotojų. Akcijų rinkoje yra keletas algoritminės prekybos tipų:
- Sistemos, pagrįstos technine analize- reikštų rinkos neveiksmingumo panaudojimą ir tendencijų nustatymą naudojant kelis rodiklius. Daugeliu atvejų tokios strategijos yra skirtos pelnui išgauti naudojant klasikinės techninės analizės metodus.
- Porų ir krepšelių prekyba- tokioje sistemoje naudojamas dviejų ar daugiau instrumentų santykis, turintis santykinai didelį koreliacijos procentą, bet nelygų vienam. Atitinkamai, jei vienas iš instrumentų nukrypo nuo nustatyto kurso, labai tikėtina, kad jis grįš į savo grupę. Stebėdami tokius nukrypimus, algoritmai atlieka operacijas ir atneša pelną jų savininkams.
- Rinkos formavimas- kitokios strategijos, skirtos rinkos likvidumui palaikyti. Rinkos formuotojai patenkina įvairių instrumentų poreikį net ne savo naudai, už tai gauna atlygį iš mainų. Tačiau tai netrukdo tokiems algoritmams pasipelnyti naudojant specialią strategiją, pagrįstą greitu srautu ir atsižvelgiant į rinkos duomenis.
- važiavimas priekyje- tokių sistemų rėmuose naudojama instrumento sandorių apimties analizė ir didelių pavedimų identifikavimas. Algoritmai atsižvelgia į tai, kad didelis pavedimas išlaikys kainą ir išprovokuos priešingų sandorių atsiradimą priešinga kryptimi. Taigi jie pagauna svyravimus dėl rinkos duomenų analizės pavedimų knygoje ir juostoje greičio, bandydami aplenkti kitus dalyvius ir atlikti nedidelius judesius labai didelių pavedimų vykdymo metu.
- Arbitražas- prekyba finansinėmis priemonėmis, kurių koreliacija artima vienetui. Paprastai nuokrypis tokiuose instrumentuose yra minimalus, tai gali būti tos pačios įmonės akcijos ir ateities sandoriai arba tų pačių akcijų, bet skirtingose rinkose. Sistema stebi susijusių priemonių kainų pokyčius ir sudaro arbitražinius sandorius, kurie išlygina kainą.
- Kintamumo prekyba- sudėtingiausias prekybos tipas, pagrįstas įvairių tipų opcionų pirkimu, tikintis, kad padidės konkrečios priemonės nepastovumas. Tokiai algoritminei prekybai reikalinga didelė skaičiavimo galia ir specialistų komanda.
Pagrindinės algoritminės prekybos strategijos akcijų ir ateities sandorių rinkose buvo išvardytos aukščiau. Dabar apsvarstykite su valiuta susijusias savybes.
Algoritminė Forex prekyba
Automatinių robotų naudojimas tapo plačiai paplitęs tarpbankinėje valiutų rinkoje. Visų pirma, prekybos patarėjai pelnė populiarumą platformos dėka MetaTrader 4 ir programavimo kalba MQL4, kuri leidžia net pradedantiesiems prekiautojams vykdyti algoritminę Forex prekybą:
- eilinis vartotojas gali naudoti šią kalbą, todėl žinyne su išsamiu kalbos funkcijų aprašymu vyksta algoritminė prekyba pradedantiesiems;
- suprogramuoti ekspertų patarėjai gali būti nedelsiant sukompiliuoti į terminalo formatą ir pradėti eksploatuoti;
- sukurti robotai nereikalauja didelės skaičiavimo galios, užtenka stacionaraus kompiuterio;
- terminale yra daugybė įrankių, skirtų roboto testavimui per ilgą laiko tarpą.
Taigi, MetaTrader ir MQL4 bus puiki proga pradedantiesiems išbandyti savo jėgas programuojant tikrus algoritminius prekybos robotus.
Apklausa: kokiam prekybos tipui teikiate pirmenybę?
Apklausos parinktys ribotos, nes jūsų naršyklėje išjungtas „JavaScript“.
Prekyba pozicijomis 17%, 24 balsas
Algoritminių prekybininkų programų apžvalga
Yra nedidelis programinės įrangos sąrašas, skirtas algoritminei prekybai ir kodo rašymui robotams.
TSLabTSLab yra vietinė programinė įranga C# kalba, suderinama su dauguma Forex ir akcijų brokerių. Dėl specialių struktūrinių schemų jis turi gana paprastą ir lengvai išmokstamą sąsają.
Programą galite naudoti nemokamai, testuoti ir optimizuoti sistemas, tačiau realiai prekybai turėsite įsigyti abonementą.
Programa, skirta kurti algoritmus C#. Naudodami šią programą galite rašyti programinę įrangą algoritminei prekybai naudodami Wealth Script biblioteką, kuri labai supaprastina kodo rašymo procesą. Taip pat prie programinės įrangos galite prijungti citatas iš įvairių šaltinių. Be atgalinio patikrinimo, taip pat galima pradėti prekiauti finansų rinkose tikrajai prekybai.
R studija- pažangesnė programinė įranga kvantams (netinka pradedantiesiems). Ši programinė įranga sujungia keletą kalbų, iš kurių viena naudoja specialią R kalbą duomenų apdorojimui ir laiko eilutėms. Programoje galima ne tik kurti algoritmus, bet ir testuoti, optimizuoti, kurti sąsajas, gauti statistiką ir daugybę kitų duomenų. „R Studio“ programa yra nemokama ir gana rimta, joje keliomis eilutėmis aprašomi sudėtingi matematiniai ir ekonometriniai modeliai dėl įvairių integruotų bibliotekų, testerių, modelių ir kt.
TWAP (iš anglų kalbos. Laiko svertinė vidutinė kaina – "laiko svertinė vidutinė kaina") – toks algoritmas reguliariais intervalais atidaro užsakymus kainomis su geriausiu pasiūlymu ar pasiūlymu.
VWAP (iš anglų kalbos. Vidutinė svertinė kaina) – reikalingas tolygiai atidaryti poziciją lygiomis tam tikros apimties dalimis per tam tikrą laiką, taip pat kainomis, ne didesnėmis už svertinį vidurkį nuo paleidimo momento.
ledkalnis- naudojamas pateikti užklausas, kurių bendra apimtis ne didesnė už parametruose nurodytą kiekį. Daugelyje biržų algoritmas yra įmontuotas į sistemos branduolį, kuris leidžia nurodyti „matomą“ apimtį užsakymo parametruose.
Vykdymo strategija- reikalaujama įsigyti turtą už vidutinę svertinę kainą didelės apimties, kurią paprastai naudoja dideli žaidėjai (rizikos draudimo fondai ir brokeriai).
Spekuliacinė strategija- standartinis privatiems prekybininkams skirtas modelis, kuriuo siekiama pasiekti palankiausią sandorio sudarymo kainą, siekiant gauti vėlesnį pelną.
duomenų gavyba yra naujų modelių paieška naujiems algoritmams. Daugiau nei 75 % gavybos datos tenka duomenų rinkimui prieš bandymo pradžią. Paieškos rezultatas priklauso tik nuo profesionalaus ir gilaus požiūrio. Pati paieška atliekama naudojant įvairius rankinių nustatymų algoritmus. Pavyzdžiui, „Stock Pattern Viewer“ programinė įranga – čia galite įkelti kainas ir rasti tam tikrus žvakidžių raštus (ir ne tik žvakidžių raštus), po kurių įvyksta tam tikra rinkos reakcija. Pavyzdžiui, suraskite modelį, po kurio rinka pakilo 2000 kartų per tris žvakes ir nukrito tik 200 kartų. Po to rasti šablonai yra integruojami į prekybos robotų algoritmus ir sėkmingai (arba ne taip) prekiaujama.
Mokymai ir knygos apie algoritminę prekybą
Mokymų ir literatūros apie automatizuotą prekybą apimtis gana siaura. Gana sunku išskirti patikimas ir kokybiškas specializuotas studijas. Paprastai tai susiję su mokymusi:
- matematiniai modeliai ir ekonominis modeliavimas;
- programavimo kalbos - Python, C++, MQL4 ( Forex);
- informacija apie keitimo sutartis ir priemonių (akcijų, opcionų, ateities sandorių) ypatybes.
Vis dėlto reikėtų pabrėžti geras knygas apie algoritminę prekybą:
Baris Džonsonas ir jo knyga Algoritminė prekyba ir tiesioginė prieiga prie biržos» (Algoritminė prekyba ir DMA, Barry Johnson).
Ernestas Chanas « Kvantinė prekyba» (Kiekybinė prekyba, Ernestas Chanas).
Lyu Yu-Dau « Finansinės matematikos metodai ir algoritmai» (Finansų inžinerija ir skaičiavimas, Yuh-Dauh Lyuu).
Rishi Narang„Juodosios dėžės viduje“ (Rishi K. Narang)
Verta paminėti, kad didžioji dalis šios srities aktualios literatūros yra anglų kalba. Rusijoje kryptis dar šiek tiek išvystyta. Be knygų, kurių programavimas yra šališkas, bus naudinga perskaityti bet kokią mainų literatūrą, ypač apie techninę analizę.
Algoritminės prekybos privalumai ir trūkumai
Algo prekyba gali būti vertinama tik prieštaraujant rankinei prekybai. Todėl prekybos rankomis trūkumai bus algoritmų privalumai, ir atvirkščiai. Taigi, klasikinės rankinės prekybos trūkumai:
- Trūksta žinių ir tinkamo rinkos supratimo. Tai taikoma daugumai pradedančiųjų, o ne profesionalių prekybininkų. 95% žmonių praranda pinigus prekiaujant rankomis, todėl šio fakto negalima nepastebėti.
- Psichologija ir nesisteminė. Žmogus iš prigimties yra linkęs į gedimus, susijaudinimą ir kitus emocinius protrūkius. Prekyba yra psichologiškai labai brangi veikla, žmonėms sunku griežtai laikytis savo sistemos, kaip reikia. Rezultatas – prarasti pinigai.
- Fiziologiniai apribojimai. Žmonės negali sekti rinkos 24 valandas per parą, 7 dienas per savaitę, nes turi valgyti, miegoti ir ilsėtis.
- Asmeninių savybių įtaka prekybos rezultatams. Deja, kiekvienas prekiautojas turi turėti savo prekybos sistemą, kuri jam tinka konkrečiai. Retai atsitinka, kad visa grupė žmonių tyliai prekiauja ta pačia sistema. Taikant tą pačią strategiją, du prekiautojai visada prekiaus skirtingai.
Atitinkamai, algoritmuose ir robotuose nėra visų minėtų trūkumų. Jie neturi fizinių apribojimų, nėra pavaldūs emociniams lūžiams ir asmenybės bruožams, griežtai laikosi savo sistemos (algoritmo).
Tačiau robotai irgi netobuli, atkreipkime dėmesį į jų trūkumus:
- Klaidos tikimybė algoritme. Jei roboto kūrėjas padarys netikslumą ar kitą kodo trūkumą, robotas vis tiek dirbs ir praras pinigus.
- Algoritmų sudėtingumas. Norint kompiliuoti ir programuoti robotą, reikia suprasti ne tik kodą (programos kalbą), bet ir pačią prekybą. Apskritai tai yra gana sudėtinga procedūra ir reikalaujanti nemažos patirties.
- Informacijos stoka. Algoritminės prekybos beveik neįmanoma išmokti iš jokių knygų ar kursų, informacija tiesiog nėra laisvai prieinama.
- Lankstumo trūkumas. Rankiniam prekiautojui bus lengviau prisitaikyti prie pokyčių rinkoje, nei algoritminiam prekybininkui perstatyti visą roboto algoritmą.
Taigi, robotai turi savo problemų, tačiau jos yra mažiau reikšmingos nei rankinės prekybos trūkumai, dėl kurių daugiausiai patiriami didžiuliai nuostoliai finansų rinkose. Tačiau ne viskas taip paprasta, praktiškai dažnai paaiškėja, kad algoritminė prekyba atneša nuostolių. Aiškus pavyzdys yra Barclay sisteminio prekybininko indeksas
Diagrama rodo, kad nuo 2010 iki 2013 m. sistemos prekiautojai buvo skolingi ir daug prarado. Vaizdas tampa aiškesnis pažvelgus į šią diagramą, kuri yra panaši, bet skirta neautomatiniams (nesisteminiams) prekiautojams:
Kaip matote, jie sugebėjo prisitaikyti prie rinkos ir yra stabilesni nei algoritmai. Išanalizavę abu grafikus matote, kad apskritai abu metodai duoda maždaug tokį patį rezultatą. Todėl prekybos stiliaus pasirinkimas yra kiekvieno asmeninis reikalas. Pavyzdžiui, jei nesate stiprus programavimo srityje, o kodas nuobodus, tada geriau nesimaišyti su algoritmais, o dirbti rankiniu būdu ir atvirkščiai.
Įžymūs mitai apie algoritminę prekybą
Automatizuota prekyba sukelia rimtą rezonansą tarp prekiautojų, dėl kurių atsirado daug mitų apie algoritmus. Atkreipkime dėmesį į kai kuriuos iš jų:
- Algoritminė prekyba neduoda pelno ir yra apgaulė. Deja, daugeliui tokia nuomonė taikoma, ypač tiems, kurie patyrė ekspertų patarėjų pirkimą, kuris nepateisino investicijų. Tai paneigia aukščiau pateiktas algoritminių prekiautojų, kurie uždirba 20 metų, pelningumo indeksas.
- Prekyba yra psichologija, o ne sisteminė prekyba robotais. Kaip jau buvo pažymėta, rinka turi neefektyvumo ir yra algoritmai jiems nustatyti.
- Sistemos testavimas neveikia. Daugelis žmonių sako, kad atgalinis istorijos patikrinimas neduoda jokios naudos, nes robotas vis tiek pralaimės tikroje sąskaitoje. Tai taip pat yra apgaulė, jei teisingai žiūrite į testavimo procesą, atsižvelgdami į visas ypatybes ir niuansus, tai vaidina svarbų vaidmenį.
- Martingale sistemos ir užsakymų tinkleliai yra vienintelis būdas užsidirbti pinigų. Jie tikrai gali gauti pelno, bet neilgam. Toks pelningumas yra labai nestabilus ir tikrai sukels nutekėjimą.
- Rodikliai neveikia. Kitas klaidingas supratimas – indikatoriai buvo sukurti tam, kad padėtų prekybininkui vizualiai įvertinti kainos veiksmą, o ne aklai jais pasikliauti. Todėl, laikantis pagrįsto požiūrio, jie tikrai duos rezultatų.
Sąrašas nėra baigtinis, tai tik garsiausi mitai.
Išvada
Kas yra algoritminė prekyba biržose? Algo prekyba yra prekyba naudojant automatizuotas programuotas sistemas sandoriams atidaryti. Jis gali būti naudojamas norint išgauti pelną iš rinkos arba sumažinti rankinę prekiautojo naštą atidarant labai didelę poziciją.
Yra įvairių algoritminės prekybos strategijų. Tai gali būti arbitražinė arba porinė prekyba, taip pat daugybė kitų variantų. Šis prekybos stilius yra prieinamas tiek biržoje, tiek Forex valiutų rinkoje.
Jei radote klaidą, pažymėkite teksto dalį ir spustelėkite Ctrl + Enter.
Prekiautojo suformuluota sandorių atidarymo ir uždarymo tvarka, kuri pagrįsta aiškiu automatinių arba mechaninių prekybos sistemų – atitinkamai ATS ir MTS – veikimo algoritmu.
Algoritminės prekybos specifika ir taikymas
Algoritminė prekyba yra patogus būdas automatizuoti įprastines treiderio manipuliacijas, dėl to sumažėja laikas, reikalingas biržos situacijos analizei, operacijoms atlikti, matematiniams skaičiavimams atlikti. ATS padeda kuo labiau sumažinti žmogiškojo faktoriaus įtaką – emocijas, paniką, skubėjimą, spekuliacijas, dėl kurių net profesinės strategijos dažnai tampa nuostolingos. Prekyba grindžiama esama tikimybe, kad kotiruotės patenka į tam tikrą diapazoną. Skaičiavimai pagrįsti istoriniais konkretaus turto duomenimis ir gali apimti visą darbo įrankių rinkinį. Sekdami nuolatiniams rinkos pokyčiams, algoritmų kūrėjai nuolat ieško pasikartojančių modelių, kuriais remdamiesi formuluoja sandorių atlikimo taisykles, atrenka prekybos robotus, kurie padeda įgyvendinti šį mechanizmą. Modelio pasirinkimo būdai:
- genetinis – algoritmų kūrimas patikėtas kompiuterinėms sistemoms;
- automatinis – naudojamos programos, galinčios dirbti su didžiuliais duomenų kiekiais ir testavimo strategijos;
- vadovas – mokslinis požiūris atsižvelgia į matematinius ir fizikinius modelius.
Pirmaujančios algoritminės prekybos įmonės naudoja tūkstančius įrankių, kurie žymiai sumažina klaidų ir gedimų tikimybę.
Tipai ir potencialas
Algoritmas yra tikslių instrukcijų rinkinys, skirtas konkretiems tikslams pasiekti. Priklausomai nuo pastarojo, akcijų rinkoje išskiriamos 5 prekybos rūšys:
- statistiniai;
- Prekyba vykdymo algoritmais;
- automatinis apsidraudimas;
- tiesioginė prieiga;
- aukšto dažnio algoritminė prekyba.
Didėjantį MTS ir ATS populiarumą tarp spekuliantų lemia padidėjęs procesų automatizavimas, užsienio valiutos operacijų laikinumas ir veiklos sąnaudų sumažėjimas. Bankai taip pat pradėjo naudoti algoritmus, kad pateiktų naujausias kainas prekybos aikštelėse, padidintų duomenų atnaujinimo greitį, sumažintų rankų darbo vaidmenį nustatant kainas ir sumažintų sandorių išlaidas.
Aukšto dažnio algoritminės prekybos esmė
Aukšto dažnio algoritminė prekyba dar vadinama HFT prekyba, ji yra pati paklausiausia tarp kitų automatizuotų operacijų formų. Jo privalumas – galimybė greitai sudaryti sandorius su daugiau nei vienu instrumentu, čia darbas su pozicijomis (atidarymas ir uždarymas) atliekamas per sekundės dalį. Operacijos pasižymi mikrotūriais, be to, jas subalansuoja didelis jų skaičius. Rezultatai – nuostoliai ir pelnas – fiksuojami akimirksniu, todėl čia reikalinga kompleksinė techninė bazė ir kokybiškas tiesioginis ryšys su ryšio vartais. Pagrindinės aukšto dažnio prekybos savybės:
- naujoviškų sistemų, galinčių atlikti pozicijas per milisekundes, naudojimas;
- greitų sandorių įgyvendinimas, pasižymintis didelėmis apimtimis ir mažiausiu įmanomu pelnu;
- išimtinai dienos prekyba;
- pelnas iš maržos ir kainų mikrosvyravimų;
- visų kategorijų arbitražo sandorių naudojimas.
Labiausiai paplitusios HFT strategijos yra rinkos formavimas, atidėjimo arbitražas ir jo statistinė forma, priekinė eiga. Pastarasis susideda iš didelių pirkimo pasiūlymų paieškos ir savo mažo, pasižyminčio didesne kaina, pateikimo. Vykdant, algoritmas automatiškai pateikia šiek tiek didesnius užsakymus, atsižvelgdamas į lydinčių svyravimų pasireiškimą. Robotinės operacijos, atliekamos kaip algo prekybos dalis, sukuria apie 55% pasaulio biržų likvidumo. Tobulėjant įrankių technologijoms, pelno gavimo procesas tampa sudėtingesnis ir brangesnis. Vidutinio lygio įmonės po truputį išstumiamos iš pagrindinės rinkos, nes didėja techninės bazės modernizavimo ir programinės įrangos atnaujinimo kaštai.
Labai dažnai naudojamos algoritminės spekuliacinės strategijos, kurių tikslas yra ne parduoti turtą, o pasipelnyti iš prekybos priemonės kainos svyravimų. Skirtingai nuo vykdymo strategijų, kuriomis siekiama kuo tyliau parduoti didelį turto kiekį savo reikmėms, nedarant įtakos rinkos kainoms, spekuliacinės strategijos dažnai prisideda prie rinkos intervencijos siekiant gauti papildomo pelno. Yra 8 pagrindinės spekuliacinių strategijų grupės. Tačiau kai kurios spekuliacinių strategijų grupės yra pagrįstos kitomis grupėmis arba veikia kaip jų išvestinės.
Spekuliacinės rinkos formavimo strategijos (turgus- gaminimas)
Tiesą sakant, rinkos formuotojo strategija apima įsikišimą į rinką ir iš to papildomo pelno gavimą. Pagal rinkos formavimo strategiją, didelis institucinis finansų rinkos dalyvis užima dideles pozicijas (nuo šimtų tūkstančių iki milijonų ir net milijardų dolerių) tiek pirkdamas, tiek parduodamas tuo pačiu metu. Vienalaikis priešingų pozicijų išdėstymas neneša pelno (tiesą sakant, tai yra blokavimas), o pats savaime neturi įtakos turto kainos pokyčiui, o tik padidina prekybos apimtį rinkoje. Taigi rinkos formuotojai padeda išlaikyti aukštą finansinio turto likvidumą. Be to, biržos ir ne biržos organizacijos domisi nelikvidaus turto rinkos formuotojais, kur jie pritraukiami siūlydami lengvatines prekybos sąlygas, o kartais „užmerkdami akis“ į jų įsikišimą į rinką.
Rinkos formuotojų įsikišimas į rinką yra toks.
Kai turto kaina pradeda kilti, rinkos formuotojas iš dalies arba visiškai uždaro pirkimo poziciją, taip sumažindamas kainą. Kai kaina žlunga, uždirbęs iš pardavimo pozicijos, rinkos formuotojas gali uždaryti pardavimo poziciją, pakeldamas kainą atgal. Tokiu būdu rinkos formuotojas gali tiksliai žinoti, kada įvyks tendencijos pasikeitimas, todėl gali užimti papildomas pozicijas ir uždirbti papildomo pelno. Apie tai galite perskaityti atskirame straipsnyje.
„Trendas sekančios“ spekuliacinės strategijos (tendencijų sekimas)
Šios strategijos pagrįstos paprastu tendencijų sekimo principu. Algoritminėje prekyboje pagal spekuliacines tendencijas ir strategijas, siekiant gauti prekybos signalus, naudojami įvairūs techninės analizės rodikliai ( Pažymėtina, kad stambūs instituciniai rinkos dalyviai naudoja savo sukurtus rodiklius, kurių paprastam prekybininkui nerasite.). Tendencijas sekančių strategijų pranašumas yra jų universalumas, nes jas galima naudoti bet kokio tipo prekybos turtui ir bet kokiam laikotarpiui.
Įtaka rinkai, naudojant institucinių rinkos dalyvių tendencijas sekančias spekuliacines strategijas, gali būti išreikšta tendencijos padidėjimu: jei dalyvis atidaro didelę poziciją pagal tendenciją, jis taip padidina paklausą, kuri judina kainą. Dar toliau.
Spekuliacinės poros prekybos strategijos
Spekuliacinės poros prekybos strategijos veikia prekybos priemonių, turinčių didelę kryžminę koreliaciją, santykius, pavyzdžiui, aukso kasybos akcijas ir aukso ateities sandorius.
Poros strategijos principas yra toks:
Parenkami du tarpusavyje susiję (susiję) turtai, tarkime, auksas ir aukso kasybos įmonių akcijos. Jei aukso kainos pasaulyje kyla, tai kyla ir aukso kasybos įmonių akcijų kainos. Tačiau kainų lentelės gali skirtis. Analizuojamas kainų diagramų nuokrypis nuo slankiųjų vidurkių. Ženkliai pabrangus vienam iš aktyvų, jis parduodamas, o tuo pačiu perkamas ir nukritęs turtas. Taigi, vadinamasis Beta neutralus portfelis , kuriame tokio sandorio rezultatas priklausys ne nuo rinkos tendencijų, o nuo vieno turto kainos santykio su kitu. Kai kainų diagramos grįžta į slankiuosius vidurkius, pozicijos uždaromos. Porų prekybos analizei nedideliais laiko intervalais naudojami techninės analizės rodiklių algoritmai. Esant dideliems laiko tarpams, naudojama fundamentinė rinkos analizė su rinkos kartotinių ir įvairių finansinių rodiklių rodikliais. Šią strategiją dažnai naudoja dideli investiciniai fondai ir rizikos draudimo fondai, kurie atlieka didelius sandorius naudodami TWAP, VWAP, Iceberg ar POV algoritmus.
Spekuliacinės krepšelio prekybos strategijos
Prekyba krepšeliu veikia pagal praktiškai panašų algoritmą su porine prekyba, tuo skirtumu, kad algoritminė prekyba vykdoma ne su dviem koreliuojančiais aktyvais, o su dviem koreliuojamų aktyvų krepšeliais (iš anglų kalbos Basket – krepšelis). Taigi vyksta diversifikacija, kuri leidžia sumažinti prekybos riziką. Algoritminė prekyba krepšelių prekyboje paprastai vykdoma per vieną prekybos sesiją pagal rinkos pavedimus, o į krepšelius įtraukiamas labai likvidus turtas.
Arbitražo spekuliacinės strategijos (arbitražas)
Arbitražinė prekyba yra šiek tiek panaši į porinę prekybą, tačiau ji vykdoma naudojant keletą panašių prekybos priemonių (identiškų arba koreliuojančių). Arbitražinė prekyba apima pelną iš panašaus (identiško) turto kainų skirtumo, o ne iš kainų pokyčių. Kai susiję arba identiški instrumentai rodo kabučių skirtumus, susidaro arbitražo situacija.
Arbitražo strategijas galima suskirstyti į šiuos potipius, atsižvelgiant į naudojamą turtą:
- Erdvinio arbitražo strategija— naudojamas visiškai identiškas prekybos turtas, tačiau skirtingose finansų rinkose. Pavyzdžiui, algoritminė prekyba tos pačios įmonės akcijomis skirtingose biržose. Pavyzdžiui, jei vienoje biržos platformoje įmonės akcijų kotiruotė yra 100 USD pardavimui (Bid) ir 101 USD pirkimui (Ask), o kitoje svetainėje ji siūloma 102 USD pardavimui ir 103 USD pirkimui, tada prekiautojas gali pirkti. viename iškeiskite akcijas už 101 USD, o kitą parduokite už 102 USD, uždirbdami 1 USD iš kiekvienos akcijos.
- Lygiavertė arbitražo strategija— naudojamos viena su kita susietos prekybos priemonės, turinčios linijinį ryšį. Pavyzdžiui: įmonės akcijos ir įmonės akcijų ateities sandoriai. Tai yra, būna, kad akcijų kaina pakilo, bet ateities sandoriai joms liko toje pačioje vietoje arba net šiek tiek sumažėjo. Tokiu atveju turėtumėte parduoti akcijas ir pirkti ateities sandorius už šias akcijas, o tada tikėtis, kad jų kainos susilygins. Panašiai galite prekiauti priešinga kryptimi.
- Indeksų arbitražo strategija— yra krepšelio prekybos porūšis, pagrįstas ateities sandorių su indeksu ir į šį indeksą įtraukto turto krepšeliu susiejimu.
Arbitražinė prekyba prisideda prie kainų sinchronizavimo ir derinimo, nes algoritminiai arbitražai labai greitai reaguoja į bet kokį disbalansą finansų rinkose.
Algoritminėje arbitražo prekyboje svarbų vaidmenį atlieka kotiruočių pasiūla, duomenų perdavimo greitis ir kokybė. Todėl instituciniai rinkos dalyviai sujungia reikšmingą materialinę ir techninę bazę arbitražinei prekybai užtikrinti.
Algoritminės strategijos prekybos nepastovumui (Kintamumo prekyba
Nepastovumo prekyba vykdoma išvestinėmis finansinėmis priemonėmis, ypač pasirinkimo sandoriais. Prekybos principas sumažintas iki pasirinkimo sandorio vertės priklausomybės nuo prekybos priemonės nepastovumo laikotarpiu iki galiojimo pabaigos datos. Paprastais žodžiais tariant, kintamumo prekyba daroma prielaida, kad pasirinkimo sandorio vertei įtakos turi kainų judėjimo rizika.
Nepastovumas- indikatorius, rodantis kainos pasikeitimo tikimybę. Kuo didesnis nepastovumas, tuo didesnė tikimybė, kad kaina pasikeis.
Opcionas su didesnio nepastovumo lūkesčiu perkamas, nes jo kaina kils. Pasirinkimo sandoris, kurio kintamumas bus mažesnis, parduodamas, nes jo vertė kris. Pirkdami opcioną, turite apsidraudimas priešingos prekybos pozicijų.
Prekybos kintamumo skaičiavimai yra labai sudėtingi, kurių matematiniai skaičiavimai veikia pagal automatizuotus finansų rinkų institucinių dalyvių algoritmus.
Spekuliacinės mažų sąnaudų strategijos (Mažos delsos prekyba)
Pigios algoritminės strategijos yra panašios į tendencijų sekimo strategijas, nes jos apima prekybą pagal tendenciją ir porinę prekybą, nes jose naudojamos koreliacinės priemonės. Tačiau algoritminė prekyba apima kelių priemonių naudojimą, o rinkos judėjimą lemia pagrindinis turtas, o sandoriai atliekami tiesiogiai kita priemone. Pagrindinis pigių strategijų aspektas yra tas, kad naudojant labai koreliuojančias prekybos priemones vienas turtas (bazinis turtas), turintis didesnį likvidumą, reaguoja greičiau nei kitas (veikiantis) turtas, kurio likvidumas yra mažesnis. Pavyzdžiui, iš pradžių krenta naftos kaina (bazė), o tai traukia naftą gavančių ir naftą perdirbančių įmonių akcijas (darbinius prekybos instrumentus). Bazinio turto tendencijos analizuojamos trumpiausiais laiko tarpais, atsižvelgiant į kiekvieną kotiravimo pasikeitimą. Kai tik pagrindinio turto kaina pradeda staigiai keistis, sandoris su veikiančiomis prekybos priemonėmis sudaromas pagrindinio turto pokyčio kryptimi. Algoritmiškai prekiaujant mažų sąnaudų strategijomis, labai svarbu turėti itin greitą prieigą prie rinkos ir rinkos informacijos, kad būtų įgyvendinti visi prekybos signalai.
Spekuliatyvios priekinės strategijos (važiavimas priekyje)
Išankstinė analizė apima esamo likvidumo ir vidutinės turto pozicijų apimties analizę per tam tikrą laikotarpį. Jei rinka nustato geriausią vieno ar kelių pavedimų pirkimo ir pardavimo kainą, kai bendra apimtis tam tikru dydžiu viršija vidutinę tam tikro laikotarpio pavedimų apimtį, tada pavedimas pateikiamas keliais punktais didesne kaina (kai perkant) arba mažesnė (parduodant) nuo kainos didelės programos. Pasirodo, kad pateiktas užsakymas bus pateiktas anksčiau už didelius užsakymus. Įvykdžius šį pavedimą, priešingas pavedimas iš karto pateikiamas dar keliais punktais aukščiau, jei Pirkimo pavedimas yra užpildytas, arba keliais taškais žemiau, jei vykdomas Pardavimo pavedimas. Viskas skamba sudėtingai, tačiau idėja paprasta: didelės pozicijos, kaip taisyklė, yra užimtos tam tikram laikui, per kurį gali įvykti keli priešingi sandoriai. Kai vykdoma didelė pozicija, kaina gali ženkliai pasislinkti, o tai atneš pelną iš pirmo pavedimo. Algoritminei išankstinei prekybai naudojamas didelio likvidumo prekybos turtas. Priekinis valdymas tampa įmanomas tik esant didelės spartos prieigai prie rinkos ir rinkos informacijos.
Išvada
Algoritminė prekyba leidžia dideliems instituciniams rinkos dalyviams parduoti didelius turto kiekius, taip pat gauti papildomo pelno iš spekuliacijų biržoje ir nebiržinėse rinkose. Sudėtingi algoritmai automatiškai analizuoja ir vykdo operacijas, kurios gali turėti įtakos situacijai rinkoje.
Dauguma prekybos robotų, naudojamų algoritminėje prekyboje, nėra prieinami paprastiems prekiautojams, nes tai yra stambių prekybos dalyvių nuosavybė. Algoritminė prekyba reikalauja didelio vykdymo tikslumo ir tiesioginės prieigos prie rinkos likvidumo ir informacijos, kurią užtikrina tiesioginė prieiga prie likvidumo tiekėjų.
Su Jurijumi Maslovu, kuris ITinvest kuria infrastruktūrą darbui biržoje naudojant prekybos robotus. Habré tinklaraštyje skelbiame šio pokalbio ištraukas, skirtas atsakymams į dažniausiai užduodamus klausimus apie Rusijos akcijų rinkoje naudojamas technologijas.
Algoritminės prekybos privalumai
Prekiautojų, naudojančių specialius robotus prekybai biržoje, daugėjimas yra pasaulinė tendencija. Ne visi šiuo faktu patenkinti, daugelis algoritminę prekybą laiko žalinga spekuliacija, tačiau ji leidžia išlaikyti likvidumą rinkose. Aukšto dažnio prekiautojų (HFT) skaičių ir jų įtaką rinkai lemia bendrieji rinkos dėsniai – apie tai rašėme temoje, skirtoje algoritminės prekybos Rusijoje perspektyvoms:Be to, technologijų panaudojimas prekyboje leidžia atsikratyti vienos iš pagrindinių problemų, kylančių dirbant finansų rinkoje – emocijų vyravimo prieš protą, dėl kurio gali atsirasti klaidų ir prarasti pinigus. Be to, situacija biržoje dažnai keičiasi taip sparčiai, kad žmogus gali nespėti į tai sureaguoti – robotas nėra toks lėtas.
Pavyzdžiui, labai seniai, 2002–2003 m. žmonių rankomis prekiavo paprastais kietojo arbitražo „Gazprom vs Gazprom“ ateities sandoriais. Kasmet gaudavo beprotiškas palūkanas. Tačiau 2008 metais šią nišą jau visiškai užėmė algoritmai. Po 2011 metų rugsėjo šią nišą visiškai užėmė aukšto dažnio algoritmai.
Kiek pinigų reikia norint prekiauti robotu
Prekybos strategijas galima algoritmizuoti net jei nėra labai daug lėšų prekybai biržoje. Kartu būtina žinoti, kad algoritminės prekybos sritys yra įvairios. Yra jo atmainų, kurios nereikalauja didesnio greičio reikalavimo – pavyzdžiui, protingos strategijos, kurioms naudinga suprasti rinką. Jei jums reikia aukšto dažnio prekybos (strategijų, kurios lenkia visus rinkoje) arba ketinate naudoti mikrostruktūrinius modelius, įėjimo bilietas yra brangesnis, nes jums reikia rimtos infrastruktūros ir jos palaikymo išlaidų.Jurijus Maslovas
Prieš skubant į realią rinką, būtina išbandyti strategiją ir apskaičiuoti jos pelningumą (iš esmės tai galima padaryti net MS Excel). Šis pelningumas idealiu atveju turėtų padengti prekybos roboto kūrimo ir priežiūros išlaidas – apmokėjimą už programuotojo paslaugas arba, esant savarankiškam vystymuisi, laiko sąnaudas.
Rinkoje yra žmonių, kurie pradėjo nuo 100 tūkstančių rublių. Galbūt jie tiesiog prasidėjo geresniu metu. Šiandien suma nuo 500 tūkstančių rublių iki 1 milijono rublių yra įėjimo riba, nuo kurios jau galima pradėti dirbti su algoritminėmis strategijomis. Tuo pačiu metu yra patogių įrankių, kuriais galima algoritmuoti strategiją net už 20 000 rublių. Rinkoje jų atsiranda vis daugiau. Jie leidžia kurti algoritmus be didelių kūrimo išlaidų.
Šie sprendimai apima TS Lab sistemas arba Cofite produktus. Tokių sprendimų yra vis daugiau – jų esmė slypi skriptų kalbų, kurios supaprastina kūrimą laiku, naudojimas. Jie yra „pagaląsti“ greitam algoritmų įgyvendinimui. Tokios scenarijų kalbos pavyzdys yra „TradeScript“, sukurta amerikiečių iš „Modulus Financial Engineering“. Ši technologija buvo licencijuota (OĮG), kuriant SmartX terminalą. Ši kalba yra labai paprasta ir leidžia per trumpą laiką apibūdinti prekybos strategiją, tiesiog perskaičius vadovą (arba leidinius apie Habré - vienas, du)
Programos į abi puses
Prekybos roboto greitis priklauso nuo įvairių veiksnių. Vienas iš svarbiausių yra naudojamas duomenų perdavimo protokolas.Paimkime protokolus, kurie naudojami dirbant su Maskvos birža neatidėliotinų prekių rinkoje. Galimi įvairūs prisijungimo būdai: „native“ mainų protokolas, jis dar vadinamas vietiniu, FIX ryšys ir darbas per tarpininkavimo prekybos sistemą. Žmonės, kurie bando būti pirmi „akiniuose“, naudoja FIX ryšį, rečiau – vietinį protokolą.
Jungiantis per tarpininkavimo sistemą, greitis dažniausiai būna mažesnis. Jei mes kalbame apie FIX MICEX akcijų rinkoje, tada kelionė pirmyn ir atgal, mainų dalyje, yra apie 300-350 mikrosekundžių, gali būti išreikštas visas pavedimo kelias, atsižvelgiant į ryšio kanalų vėlavimą ir kliento įrangą. žymiai didesnėmis vertėmis.
Šie skaičiai yra vienodi visiems brokeriams, jie labiau priklauso nuo kanalo į biržą kokybės, įdiegtos įrangos ir programos apdorojimo greičio branduolyje. Naudojant „gimtąjį“ mainų protokolą TEAP, tipinis delsimas yra didesnis ir svyruoja nuo 420 µs.
Pavedimų, einančių per ITinvest prekybos sistemą, pateikimo laikas (nuo to momento, kai jis gaunamas iš kliento į vartus (vartus) iki momento, kai klientas gauna atsakymą į jį - turite suprasti, kad dirbant internetu gali būti nenuspėjamų vėlavimų srityje nuo brokerio vartų iki kliento įrangos) yra nuo 1,5 iki 2,5 ms. Tuo pačiu yra sprendimas aukšto dažnio prekiautojams, kuris apima darbą su FIX protokolu ir prisijungimą prie ITinvest rizikos valdymo serverių. Rizikai suvaldyti prireikia kelių mikrosekundžių, o jos nematomos bendroje mainų kelionės pirmyn ir atgal sumoje.
Plėtros technologijos
Patirtis rodo, kad universalūs procesoriai yra geriausias technologinis sprendimas kuriant prekybos robotus Rusijos rinkoje. Įvairių sprendimų taikymo sritis yra ribota - galite sukurti greitą FPGA strategiją, tačiau sudėtingiems skaičiavimams geriau naudoti universalų procesorių. GPU turi savo trūkumų, tokių kaip lėtas atminties valdymas ir didelis energijos suvartojimas. Roboto optimizavimas universaliam procesoriui vietinėje rinkoje šiuo metu yra pirmaujantis sprendimas.Kalbant apie operacines sistemas, kuo labiau žmogus nori našumo, tuo labiau jis domisi Linux naudojimu. Jei yra kokia nors veikianti verslo idėja, padidinus greitį galite uždirbti daugiau. Tačiau aukščiausios klasės programuotojo kūrimo ir įdarbinimo išlaidos gali būti nevertos. Iš esmės gana greitus sprendimus galima sukurti ir „Windows“. „Linux“ yra gera, nes ji pritaikyta iškylantiems vartotojo-prekybininko poreikiams – išleidžiami nauji branduoliai su naujais lustais. „Windows“ šiais klausimais yra konservatyvesnė.
C# pastaruoju metu populiarėja. Jį sukurti labai lengva, o žmogus, net neturintis specializuoto išsilavinimo ir turintis tik pagrindinius tobulėjimo įgūdžius, gali įvaldyti C # ir parašyti roboto algoritmą. Rimtesniems pokyčiams finansų rinkoje naudojami C ir C ++, kurie leidžia pasiekti priimtiną greitį optimaliomis sąnaudomis (sunkiais atvejais tai ateina į Assembler). Pradedantieji mainų programinės įrangos kūrėjai dažniausiai naudoja C#.
Ar man reikia naudoti dėžutes gaminius kuriant robotus?
Viena vertus, tokių sprendimų privalumas yra tas, kad jie taupo kūrimo laiką. Kita vertus, tai yra „juodoji dėžė“, turinti savo logiką, o kai kuriuos produktus perprasti nepasitarus su jų kūrėjais tikrai sunku. Tačiau faktas, kad jie palengvina prekybos robotų kūrimą, nekelia abejonių. Dauguma brokerių turi patogią sąsają, leidžiančią greitai ir patogiai parašyti paraišką. Pavyzdžiui, ITinvest turi SmartCom API.Jo vadove yra pavyzdžių, o žmogus, žinantis C #, sugebės pakankamai greitai parašyti savo robotą. Tuo pačiu metu aukšto dažnio prekiautojai beveik visada patys rašo prekybos sistemas – šis metodas leidžia gauti unikalų produktą ir tikėtis didesnio laimėjimo rinkoje.
Tai viskas šiai dienai, ačiū visiems už dėmesį. Taip pat norėtume paklausti Habr vartotojų, kokiomis temomis, susijusiomis su akcijų rinka, jiems būtų įdomu skaityti. Prašymai ir klausimai priimami komentaruose!
P.S. Pastebėję rašybos klaidą ar klaidą - rašykite asmeninę žinutę ir mes operatyviai viską ištaisysime.