Algoritmiliste kauplemissüsteemide loomine: 2 peamist lähenemisviisi, testimine, tööriistad

Algoritmiliste kauplemissüsteemide loomine: 2 peamist lähenemisviisi, testimine, tööriistad

Vaadatud: 467 seisukohad
Lugemise aeg: 6 minutit



Algoritmilise kauplemissüsteemi peamised komponendid on uurimisvahendid, jõudlus, arendamise lihtsus, vastupidavus ja testimine, probleemide eraldamine, tuttavus, hooldus, lähtekoodi kättesaadavus, litsentsimiskulud ja raamatukogude küpsus. Enne kui otsustatakse "parima" tööriista üle, millega automatiseeritud kauplemissüsteem kirjutada, on vaja määratleda nõuded:

  1. Milline on kauplemise sagedus ja tõenäoline kauplemismaht?
  2. Kas süsteem nõuab? riskijuhtimise või portfelli ehituse moodul?
  3. Kas süsteem nõuab suure jõudlusega backtesterit?

Ettevõtjad, kes vajavad rohkem kohandatud kujul ehitatud ja keerukamaid süsteeme, peaksid võib-olla proovima kasutada C #, Matlab või Python, kuid ma ütleksin, et ülejäänud 95% päevastest kauplejatest piisab Algoritmilisest kauplemistarkvarast.

1 - arvutage Pythonis, Matlabis, C #

Sel juhul on automatiseeritud algoritmi loomisel oluline tegur programmeerimisoskus müügistrateegia. Programmeerimiskeele (nt Python või R) tundmine võimaldab teil luua otsteserveri, tagantjärele töötava mootori ja täitmissüsteemi ise. See võimaldab teil uurida kõrgema sagedusega strateegiaid, kuna saate täielikku kontrolli oma "tehnoloogiapaki" üle. Ehkki see tähendab, et saate oma tarkvara testida ja vead kõrvaldada, tähendab see ka rohkem aega infrastruktuuri kodeerimiseks ja vähem strateegiate rakendamiseks, vähemalt oma karjääriaasta algses osas.

Põhiline töövoog on järgmine:

  • Algoritmiline kauplemisstrateegia lisab turuandmed (ajaloolised või reaalsed) arvutiprogrammi (backtest või automatiseeritud täitmine).
  • Seejärel saadab programm vahendajale API kaudu tellimused ja võtab maaklerilt tagasi tellimuse oleku teatised.

MATLAB ja Python on olnud mu lemmiktestimise platvormid. Sellel on väga laiahaardeline ja kasutajasõbralik liides programmide arendamiseks ja silumiseks ning sellel on lai valik tööriistakaste, mis hõlmavad peaaegu kõiki keerulisi matemaatilisi või arvutustehnikaid, millega kauplemisstrateegia väljatöötamisel tõenäoliselt kokku puutute.

Ajalooliste andmete import Yahoo Finance'ist Pythoni
Pilt: ajalooliste andmete import Yahoo Finance'ist Pythonisse
Algoritmilise kauplemise protsess
Pilt: algoritmilise kauplemise protsess

2 - algoritmiline kauplemistarkvara. Kodeerimisoskus puudub

Teine lähenemisviis on algoritmilised tööriistad, nagu Multicharts, StrategyQuant või R Trader Strategy Builder (tasuta ja hõlpsasti kasutatav, pilvepõhine) ja palju muud.

Päevad, mil algoritmikaubandust rakendasid ainult spetsialistid, on läbi. Kui peaaegu kõiki süsteeme ja strateegiaid saab kodeerida, pole vaja veeta tunde C # õppimisel StrateegiaQuant, Multikaardid või R kaupleja strateegia ehitaja. Meie kogemuste kohaselt soovivad mõned kauplejad / programmeerijad sageli tehnilise ülemuse varjus liikuda pika eesmärgini, usaldage meid, keskmise algoritmilise kauplemisstrateegia jaoks pole enamus täiustatud kodeeringutest vajalik. API-de loomine või kõige kohandamine MetaTraderi abil võib olla väga kulukas, eriti kui väärtuse loomise asemel seisatakse tehniliste üksikasjadega.

Kõigil platvormidel on oma positiivsed ja negatiivsed küljed, meie jaoks on R Trader Strategy Builder ettevõttesisene omanduses olev hõlpsasti kasutatav moodul, mis võimaldab jaemüüjatel kujundada, tagasi testida ja juurutada algoritmilisi kauplemisstrateegiaid ilma programmeerimiskeeli tundmata.

R Kaupleja kauplemisplatvorm on lihtsam viis tavapärasest point-and-click-kauplemisest loobumiseks. Meie lihtsasti kasutatav liides, mis on mõeldud nii kogenud kauplejatele kui ka uutele tulijatele, võimaldab teil oma kauplemisstrateegiaid minutitega automatiseerida. Ilma kodeerimise ja askeldamiseta - saate kohe valmis ja tööle.

Järeltestimine. Strateegia viisard rakenduses R Trader Strategy Builder.
Pilt: Tagasi testimine. Strateegia viisard rakenduses R Trader Strategy Builder.

Kauplemissüsteemide testimine ja hindamine

Uuringud on seotud strateegia tulemuslikkuse hindamisega ajalooliste andmete põhjal. Kauplemisstrateegia hindamise protsessi varasemate turuandmete põhjal nimetatakse tagasiulatuvaks testimiseks.

Algoritmiline kauplemine eristub teist tüüpi investeerimisklassidest, kuna suudame usaldusväärsemini anda ootusi varasemate tootluste osas tulevaste tootluste osas. Lihtsamalt öeldes viiakse backtestimine läbi nii, et teie konkreetse strateegia algoritm paljastatakse ajaloolise hinnaandmete vooga, mis viib kauplemissignaalide komplektini. Igal kaubandusel on sellega seotud kasum või kahjum. Selle kasumi / kahjumi kogunemine kogu teie strateegia tagumises osas toob kaasa kogukasumi ja -kahjumi.

Mis on algoritmilise strateegia uuesti testimise peamised põhjused?

Filtreerimine

meie eesmärk uuringu algetapis on välja filtreerida strateegia, mis ei vastanud teatud kriteeriumidele. Järeltestimine pakub meile veel ühe filtreerimismehhanismi, kuna saame kaotada strateegiaid, mis ei vasta meie jõudluse vajadustele.

Modelleerimine

Järeltestimine võimaldab meil (ohutult!) Katsetada uusi turutingimuste uusi mudeleid.

Proovisisene ja prooviväline

Idee katsetamisel ajalooliste andmete osas on hea reserveerida ajalooliste andmete periood katsetamise jaoks. Esialgsetele ajaloolistele andmetele, mille põhjal ideed testitakse ja optimeeritakse, viidatakse valimisisesetele andmetele. Reserveeritud andmekogumit nimetatakse valimivälisteks andmeteks. See seadistamine on oluline osa hindamisprotsessist, kuna see annab võimaluse testida ideed andmetega, mis ei ole optimeerimismudeli osa. Selle tulemusel ei mõjuta valimisse mittekuuluvad andmed ideed mingil viisil ja kauplejad saavad kindlaks teha, kui hästi süsteem uute andmetega hakkama saaks, st tegelikus elus kauplemisel.

Algoritmilise kauplemisstrateegia optimeerimine

Ehkki strateegia optimeerimine on täis eelarvamusi, võimaldab tagurpidi testimine strateegia toimivust suurendada, muutes selle strateegiaga seotud parameetrite väärtusi ja arvutades selle toimivuse ümber. Ülemüürimine (kõverate sobitamine) on tõsine probleem kõigis andmekaevega seotud valdkondades ning õigete valideerimis- ja testikomplektide kasutamisel peate olema ettevaatlik. Sel põhjusel võiks rakendada mitmesuguseid meetodeid, näiteks uuesti testida erinevate sätetega, Monte-Carlo simulatsioonid, kõndida edasi-maatriksiks, kõndida-optimeerida, mitu proovivälist perioodi.

Edasine jõudluskontroll

Demo- või paberkaubandus pakub kauplejatele veel ühte valimiväliseid andmeid, mille alusel süsteemi hinnata. Edasine jõudluskontroll on tegeliku kauplemise simulatsioon ja hõlmab süsteemi loogika järgimist aktiivsel turul. Edasise jõudluskontrolli oluline aspekt on süsteemi loogika täpne järgimine; vastasel juhul on protsessi seda sammu täpselt hinnata keeruline, kui mitte võimatu. Paljud maaklerid, aga ka RoboMarkets, pakuvad simuleeritud kauplemiskontot, kus saab tehinguid teha ja vastava kasumi ja kahjumi välja arvutada. Demokauplemiskonto kasutamine võib luua poolrealistliku keskkonna, kus kauplemist harjutada ja süsteemi täiendavalt hinnata.

Pilt: backtesting. Diagramm Pythonis.
Pilt: backtesting. Diagramm Pythonis.
Järeltestimine. Ajaloolised tehingud ettevõttes R Trader Strategy Builder.
Pilt: backtesting. Ajaloolised tehingud ettevõttes R Trader Strategy Builder.

Viimaseks, kuid mitte vähemtähtsaks, tahaksin arutada vahendeid, millest selles valdkonnas on abi.

töövahendid

Uurimis- ja automatiseeritud kauplemistarkvara

Excel, R kaupleja strateegia ehitaja (https://rtrader.umstel.com - tasuta tarkvara), StrategyQuant (litsentsitasu), MultiCharts (litsentsitasu), TradeStation (litsentsitasu), Wealth-lab (litsentsitasu).

kood

Matlab, Python, R, C #

kuupäev

  1. Social Sentiment Data (Twitterist ja muust sotsiaalmeediast, vt ISentium, TickerTags)
  2. Rahvaallika andmed (vaata hinnangut)
  3. Käitumisandmed (vt Cabot Research)
  4. Satelliidi- ja õhupildid (vt Orbital Insight)
  5. Andmed tarbijate käitumise kohta (vt brändilojaalsused)
  6. Mittetraditsioonilised veebiressursid (vt teadmisi)
  7. OTAS (tehnilised andmed)

Muud pakkujad

TIM Group, Discern, Essentia, Kensho, RavenPack, SocialMediaAnalytics, Ayasdi, TheySay Analytics, Quid, Rage Framework, Dataminr.

Raamatud (inglise keeles)

  1. Kvantitatiivne kauplemine: kuidas luua oma algoritmiline kauplemisäri - Ernest Chan
  2. Algoritmiline kauplemine: strateegiad võitmine ja nende alus - Ernest Chan
  3. Masinatööstus: arvutialgoritmide juurutamine turgude vallutamiseks - Ernest Chan
  4. Algoritmiline kauplemine ja DMA: sissejuhatus otsese juurdepääsuga kauplemisstrateegiatesse - Barry Johnson
  5. Kauplemine ja börsid: turu mikrostruktuur praktikutele - Larry Harris

1. arXiv http://arxiv.org/archive/q-fin
2. SSRN https://www.ssrn.com/en/
3. Investeerimisstrateegiate ajakiri https://www.risk.net/journal-of-investment-strategies
4. Arvutusliku rahanduse ajakiri https://www.risk.net/journal-of-computational-finance
5. Matemaatiline rahandus https://onlinelibrary.wiley.com/journal/14679965

kokkuvõte

Nagu näeme, on algoritmiliste kauplemisstrateegiate loomiseks erinevaid lähenemisviise. Võite valida mis tahes, mis sobib teie teadmiste tasemele ja võimalustele. Samuti järeltestimine ja edasiarendamine, pärast mida saame ainult praktikale üle minna.

Kui teil on küsimusi, vastan neile hea meelega allolevates kommentaarides.

Avatud kauplemiskonto




Kommentaarid

Eelmine artikkel

Nädal turul (01 - 13): statistika ja keskpankade otsused

Jaanuari uus nädal tundub üsna tavapärane. Meil on statistika, poliitika ja mõned rahaotsused. Näib, et ülemaailmsed majandused ja kapitaliturud töötavad pärast jõulupühade ja uusaastapühade täismahus.

Järgmine artikkel

3 aktsiat, mida 2020. aastal osta: Delta Air Lines, HP, Morgan Stanley

USA majanduse 12-aastane kasvutsükkel kestab. See on kõige pikem periood ilma kriisita. 2020. aasta algus hoiab investoreid rõõmsalt üleval, aktsiad uuendavad kõigi aegade kõrgtasemeid. Need, kes nad varem ostsid, kasvavad õnnelikumaks.