Table of Contents[Ferstopje][Toanje]
In yndustry dy't tige ynteressearret dy't op syk binne nei wurk is falutahandel. Softwarebedriuwen ûntfange oanfragen fan hannelers wrâldwiid om in hannelsplatfoarm te leverjen dat gegevens oer faluta-parings rap en effisjint kin evaluearje.
In hannelsplatfoarm is in softwareprogramma oanbean oan hannelers en ynvestearders troch bepaalde finansjele organisaasjes, lykas banken, en makelders.
Hannelplatfoarms litte yn essinsje ynvestearders en dealers deals pleatse en har akkounts yn 'e gaten hâlde. Oare funksjes dy't ynvestearders helpe by it meitsjen fan ynvestearringsbesluten wurde faak opnommen yn hannelsystemen.
Real-time sitaten, ynteraktive diagrammen, in ferskaat oan grafyske ark, live nijsfeeds, en premium ûndersyk binne in pear foarbylden fan dizze mooglikheden.
Platfoarms kinne ek wurde ûntwurpen foar bepaalde merken, lykas dy foar oandielen, faluta, opsjes, of futures.
Foar mear as in desennium, automatisearre hannel systemen, ek bekend as algoritmyske hannel, hawwe beset it sintrum poadium fan de hannel yndustry.
In "hannelssysteem", soms bekend as in "hannelstrategy", is neat mear as in samling regels dy't tapast wurde op 'e ynfiergegevens om yngong- en útgongsinjalen te keapjen / ferkeapjen. Nettsjinsteande it feit dat it meitsjen fan in hannelstrategy ienfâldich kin ferskine, is it net!
De geasten efter in kwantitative hannelstrategy wurde oantsjutten as "Quants" op it mêd fan algoritmyske hannel, om't it ûntwikkeljen fan in goede hannelstrategy wiidweidige kwantitative stúdzje fereasket.
It fûnemintele ûntwerp fan automatisearre hannelsystemen hat yn 'e ôfrûne tsien jier substansjele wizigingen ûndergien en is noch hieltyd feroaret.
De algoritmyske hannelsektor is in hotbed wurden foar ûntwikkelingen yn kompjûter- en netwurktechnologyen, om't it needsaaklik is wurden foar bedriuwen, benammen dyjingen dy't gebrûk meitsje fan hegefrekwinsjehannelsystemen, om te ynnovearjen op technology om te konkurrearjen yn 'e wrâld fan algoritmyske hannel.
Wy sille de hannelsplatfoarms beprate systeem ûntwerp yn dit artikel. De fûnemintele spesifikaasjes foar in hannelsplatfoarm omfetsje syn arsjitektuer, protokollen en ynstruksjes foar it meitsjen fan jo eigen automatisearre hannelssysteem.
Automatisearre hannelssoftwareeasken op basisnivo
De bêste oplossing is dejinge dy't folslein foldocht oan softwareeasken. De wichtichste spesifikaasjes dy't automatisearre hannelssoftware binne:
- Skalberens (de kapasiteit fan it systeem om in tanimmend folume fan oanfragen en wurkdruk te behanneljen);
- Multiprocessing en poerbêste prestaasjes;
- Feiligens en feiligens (hoe't it reagearret op ynbreuken of oanfallen dy't ynienen komme en beskermet tsjin yllegale yngong);
- Ynteroperabiliteit (de mooglikheid fan in systeem om te ynteraksje mei oare systemen);
- Betrouwbaarheid (hoe't it mislearrings oplost en nettsjinsteande problemen rint).
Algoritmyske hannelsystemen fereaskje ekstreem betûfte arbeid en soarchfâldige oandacht. It is makliker om de funksjonele easken fan it systeem te begripen as d'r dúdlike net-funksjonele easken binne. Se tsjinje as bestjoersnormen foar teams foar softwareûntwikkeling om de kwaliteit fan in produkt te fêstigjen en te definiearjen.
De funksjonele skaaimerken fan it hannelsplatfoarm omfetsje
De suksesfolle stipe fan ferskate betelmethoden, feilige wolkhostingtsjinsten, krêftige ark foar gegevensanalyse, risikobehear, krekte sitaten, en passende diagramsoarten binne allegear wichtige funksjonele behoeften.
De folgjende binne wat fûnemintele attributen fan automatisearre hannelsplatfoarms dêr't alle hannelers goed omtinken oan besteegje:
Dashboard werjaan statistyk gegevens
Foar it doel fan it útfieren fan in real-time, simultane ûndersyk fan faluta tariven oer ferskate tiidsônes, it platfoarm moat rinne kontinu updates, operearje gegevens út in protte charts, en operearje priis sheets.
ferifikaasje
De rappe, mar betroubere ferifikaasjemetoade skept earst it byld fan in feilich platfoarm en elite yngenieurpoging.
Hannelssoftware kin tagong stypje fan meardere akkounts, fergelykber mei iepenboarne hannelsplatfoarms mei twa-faktor-autentikaasje (mei bygelyks SMS of Google Authenticator), mar jo kinne ek in systeem hawwe mei tagong ynskeakele fia e-post, telefoannûmer, of oare manieren foar mar in lytse groep hannelers.
Nijsfeed
Foardat jo finansjele besluten meitsje, is it kritysk om jo ûndersyk te dwaan. Om flaters te foarkommen troch ûnwittendheid, kinne hannelers profitearje fan handich nijs, relevante oersichten en ynsjoch yn 'e falutamerken fan' e wrâld, dy't allegear direkt beskikber binne op har hannelsplatfoarms.
Funksje foar admins en brûkers dat is handich
Yn sa'n systeem is de mooglikheid om alles fluch te behearjen mei ien klik essensjeel. Dit omfettet it behearen fan transaksjes, oarders yn ôfwachting en yntsjinne, persoanlike akkounts, oanwizings foar foarútgong fan bestelling, en oanfragen fan klanten.
Dit makket beslútfoarming yn 'e koartste tiid mooglik en garandearret trochgeande tagong ta fitale ynformaasje.
It brûken fan push-notifikaasjes
Brûkers ferwachtsje dat hannelsplatfoarms rûn-de-klok tagonklik sille wêze en wurde ynformearre oer alle feiligensproblemen of oer de meast resinte feroarings.
Jo kinne op 'e hichte bliuwe mei oanpasbere notifikaasjes, om't it hannelsplatfoarm ekonomyske eveneminten, priisfluktuaasjes, merkûntwikkeling, technyske yndikatoaren, ensfh., En ferstjoert updates oer jo stockposysje.
Cash outs en betellingen
Dizze funksje is nedich om hannelsaktiviteiten út te fieren, de beweging fan cash te folgjen, en jild fluch en feilich werom te heljen fan jo persoanlike akkount mei in kredytkaart, PayPal, as in ienfâldige bankoerdracht.
As jo fersyk foar weromlûken klear is ferwurke, wurde jo op 'e hichte brocht.
De arsjitektuer fan it Automated Trading System
De motor dy't de logika fan beslútfoarming útfiert yn it automatisearre hannelsplatfoarm, ek wol bekend as de 'Complex Event Processing'-motor, of CEP, sil binnen de applikaasje foar de server wêze.
De applikaasjelaach is yn wêzen in brûkersynterface foar it observearjen en leverjen fan parameters oan 'e CEP. Hoewol de applikaasjelaach primêr in werjefte is, kinne guon risikokontrôles (dy't no boarne-hongerige operaasjes binne wurden fanwegen it probleem fan skaalfergrutting) wurde ôfladen nei de applikaasjelaach, benammen dejingen dy't de ferstannigens fan brûkersynputen befetsje, lykas fetfingerflaters.
In yntrigearjende situaasje ûntstiet út it skalberensprobleem yn in automatisearre hannelssysteem.
Litte wy ús foarstelle dat in ienige merkgegevensevenemint wurdt ferwurke troch 100 aparte logika (lykas besprutsen yn it eardere foarbyld). Foar de mearderheid fan 'e 100 logyske ienheden, lit ús sizze de berekkening fan Griken foar opsjes, kinne d'r mienskiplike komponinten wêze fan komplekse berekkeningen dy't moatte wurde útfierd.
De identike eksakte berekkening soe wurde útfierd troch elke ienheid as elke logika ûnôfhinklik soe operearje, wat ferwurkingsboarnen fergrieme soe.
Komplekse oerstallige berekkeningen wurde faak ferdield yn ferskate berekkeningsmotoren dy't de Griken leverje as ynput foar de CEP yn it automatisearre hannelssysteem om berekkeningsredundânsje te maksimalisearjen.
Op it stuit fiert in apart Risk Management System (RMS) binnen de Order Manager (OM) de oerbleaune risiko-evaluaasjes yn in automatisearre hannelssysteem koart foar it frijlitten fan in bestelling.
Om't d'r mar ien RMS-systeem is om risiko te behearjen oer alle logyske ienheden / strategyen, hawwe earder 100 aparte hannelers har risiko kontroleare. Dit komt troch it skaalprobleem.
Beskate risiko-evaluaasjes kinne lykwols eksklusyf wêze foar bepaalde strategyen, wylst oaren miskien moatte wurde útfierd oer alle metoaden.
Dêrtroch bestiet de RMS sels út globale RMS (GRMS) en strategy nivo RMS (SLRMS). De SLRMS en GRMS koene ek wurde sjoen fia in brûkersynterface (UI).
Litte wy no fierder gean nei de komponinten fan 'e tsjinner.
Market Adapter
Exchange as in oare provider fan merkgegevens stjoert gegevens oer yn har formaat. Dy taal kin al of net wurde begrepen troch jo algoritmyske hannelssysteem.
Exchange jout jo tagong ta in API (Application Design Interface) dy't jo kinne brûke om jo eigen adapter te programmearjen en te bouwen om it gegevensformaat te transformearjen yn in formaat dat jo systeem kin begripe.
Complex Event Processing Engine
It brein fan jo oanpak leit yn dizze seksje. As jo ienris de gegevens hawwe, moatte jo se brûke yn oerienstimming mei jo plan, dat freget om ferskate statistyske berekkeningen te dwaan, fergelikingen te tekenjen mei ferline gegevens en besluten te nimmen dy't sille liede ta it meitsjen fan oarders.
Dit blok is konstruearre mei it besteltype en it bestelbedrach. Gewoan sein, in kompleks evenemint is in samling fan ynkommende eveneminten. Dizze besteane út nijs, merkbewegingen, beurstrends, ensfh.
It fluch foltôgjen fan komputeroperaasjes op yngewikkelde eveneminten stiet bekend as komplekse barrensferwurking. De operaasjes fan in automatisearre hannelssysteem kinne it besjen fan yngewikkelde patroanen, it meitsjen fan korrelaasjes en it fêststellen fan ferbiningen lykas oarsaak en tiid tusken alle ynkommende ynformaasje.
Order Routing System
Mei de opjûne API's fan 'e útwikseling wurdt de bestelling fersifere yn in taal dy't de útwikseling kin begripe. De útwikseling biedt native API's en FIX API's, twa ferskillende soarten API's.
Native API's binne spesifyk ûntworpen foar in opjûne útwikseling. In set fan rjochtlinen bekend as it FIX (Financial Information Exchange) protokol wurdt brûkt troch ferskate útwikselingen om gegevensstream yn 'e feiligensmerken te fasilitearjen en te ferbetterjen.
Yn it diel nei dizze sille wy mear útlizze oer FIX. As in ekonomy iepen is, kinne minsken oarders yntsjinje fia in automatisearre hannelssysteem oan útwikselingen as net-útwikselingen, en ORP soe oarders kinne kinne omgean yn in protte rjochtingen.
Hjir wolle wy beklamje dat it bestellingsinjaal mei de hân troch in persoan of automatysk kin wurde útfierd. De lêste seksje is wat wy ferwize as in "automatisearre hannelssysteem."
De opdrachtbeheardermodule omfettet ferskate útfieringstechniken dy't de keap- / ferkeapopdrachten útfiere yn oerienstimming mei foarôf fêststelde logika.
Risk Management
Sûnt automatisearre hannelssystemen operearje sûnder minsklike belutsenens, binne strange risiko-analyzes nedich om te soargjen dat de hannelsystemen funksjonearje as bedoeld.
Min risikobehear as it gebrek oan risikokontrôles foar in kwantitatyf bedriuw kin liede ta signifikante ûnherstelbere ferliezen. As resultaat moat elk automatisearre hannelssysteem in risikobehearsysteem (RMS) hawwe.
Protokolûntwikkeling foar automatisearre hannelsystemen
Om ferbining te meitsjen mei ferskate bestimmingen fan ien tsjinner, wat mooglik makke waard troch de mooglikheid fan 'e arsjitektuer om te skaaljen nei in protte strategyen per tsjinner, wie nedich.
Om oarders nei ferskate bestimmingen te ferstjoeren en gegevens te ûntfangen fan ferskate útwikselingen, hie de oarderbehearder dêrom in oantal adapters.
De rol fan elke adapter is om te tsjinjen as tolk tusken it ynterne kommunikaasjeprotokol fan it systeem en it protokol dat de útwikseling begrypt. Sa soe in oantal adapters nedich wêze foar in oantal útwikselingen.
Sûnt elke útwikseling hat in protokol oanpast oan 'e mooglikheden dy't it biedt, moat in nije adapter oanmakke wurde en yn' e arsjitektuer pluggen om in nije útwikseling ta te foegjen oan it automatisearre hannelssysteem.
Standert protokollen binne ûntwikkele om dizze hoofdpijn fan adapter ynfoegje te foarkommen. It FIX-protokol is it bekendste fan allegear.
De go-to-market tiid foar ferbining mei in nije bestimming wurdt flink ynkoarte, wat net allinnich makket it beheare te ferbinen mei ferskate bestimmingen ûnderweis.
It automatisearre hannelssysteem kin maklik ynteraksje mei oare leveransiers foar analytics of merkgegevensfeeds troch it bestean fan mienskiplike protokollen.
Dêrtroch wurdt de merk ekstreem effisjint om't d'r gjin beheining mear is foar yntegraasje mei in nije lokaasje of ferkeaper.
Derneist wurdt simulaasje heul ienfâldich makke, om't alles wat nedich is om te ferbinen mei in simulator mei it FIX-protokol is om oarders út te jaan en gegevens te ûntfangen fan 'e echte merk.
De simulator sels kin yntern oanmakke wurde of kocht fan in oare boarne. Fergelykber mei live-merkgegevens, kinne opnommen datasets ek opnij wurde spile troch adapters ûnôfhinklik fan 'e boarne fan' e gegevens.
Opkommende arsjitektuer mei lege latency
De strategyen kinne no enoarme voluminten gegevens yn real-time evaluearje en rappe hannelskeuzes meitsje troch de fûnemintele eleminten fan in automatisearre hannelssysteem.
As gefolch fan 'e ûntwikkeling fan yndustry-standert kommunikaasjeprotokollen lykas FIX, is it no makliker om in algoritmyske hannelstafel of automatisearre hannelssysteem te bouwen, dat de konkurrinsje yn' e algoritmyske hannelsmerk ferhege hat.
De klam skeakele oer op it ferleegjen fan 'e latency foar it meitsjen fan besluten, om't servers mear ûnthâld en rapper klokraten krigen.
Ferminderjen fan latency is yn 'e rin fan' e tiid nedich west foar in ferskaat oan redenen, ynklusyf:
- Allinnich yn in omjouwing mei lege latency makket de technyk sin.
- Kompetysje elimineert jo as jo net fluch genôch binne yn it fuortbestean fan it fitste spultsje
Colocation is in absolute needsaak wurden yn in automatisearre hannelssysteem foar elke metoade mei hege frekwinsje wêrby't ien bestimming is.
Mar systemen mei meardere bestimmings freegje sekuere tarieding. Foardat jo sa'n kar meitsje, moat men rekken hâlde mei fariabelen lykas de doer fan 'e antwurdtiid fan' e bestimming en hoe't it fergeliket mei de doer fan 'e ping tusken de twa bestimmingen.
Om de totale latency fan in automatisearre hannelssysteem te ferminderjen, is netwurklatinsje typysk it earste ding dat oanpakt wurdt. Mar de arsjitektuer kin ek op in soad oare manieren ferbettere wurde.
Netwurk Processing Latency
Netwurkferwurkingslatinsje is de fertraging dy't routers, skeakels, ensfh. It oantal hops dat it nimt foar in pakket om fan punt A nei punt B te ferpleatsen soe it folgjende nivo fan optimisaasje wêze yn it ûntwerp fan in automatisearre hannelssysteem.
In hop wurdt beskreaun as in diel fan it paad tusken de boarne fan in pakket en de bestimming wêr't it net troch in fysyk apparaat giet, lykas in router of switch.
Wat wy ferwize as mikrobursts kinne ek ynfloed hawwe op 'e latency fan netwurkoperaasjes.
In rappe pyk yn it tempo fan gegevensoerdracht dy't de gemiddelde gegevensferfiersnelheid al dan net kin beynfloedzje, wurdt oantsjut as in mikroburst.
Sûnt automatisearre hannelssystemen binne regel-basearre, sille se allegear unifoarm reagearje op itselde foarkommen. In mikroburst fan gegevensoerdracht tusken de dielnimmers en de bestimming kin foarkomme as gefolch fan ferskate dielnimmende systemen dy't kommando's tagelyk ferstjoere.
Applikaasje latency
De tapassingslatinsje fan in automatisearre hannelssysteem is in mjitte fan 'e tiid dy't it nimt om in applikaasje te ferwurkjen. Dit hinget ôf fan it oantal pakketten, ferwurking wijd oan 'e applikaasjelogika, de kompleksiteit fan' e brûkte berekkening, programmearring effektiviteit, ensfh.
It systeem soe typysk minder oanfraachfertraging hawwe as it tal prosessoren tanommen. Mei hegere klokfrekwinsjes jildt itselde.
In protte automatisearre hannelsystemen profitearje fan it tawizen fan CPU-kearnen oan krityske dielen fan it programma, lykas de logika foar de strategy, bygelyks. Troch dit te dwaan, foeget de proseduere de fertraging net ta dy't resultaat is fan it wikseljen fan kearnen.
Fergelykber mei dit, as de oanpak fan in automatisearre hannelssysteem waard programmearre mei cachegrutte en de tichtby fan ûnthâld tagong yn gedachten, soene d'r ferskate ûnthâldcache-hits wêze, wat de latency fierder ferminderje.
In protte systemen dogge dit troch de koade te optimalisearjen nei de bepaalde prosessor-arsjitektuer, wat dien wurdt troch it brûken fan heul leech-nivo programmeartalen.
Troch folslein programmearbere poarte-arrays te brûken, binne guon bedriuwen sels sa fier gien om yngewikkelde berekkeningen op hardware (FPGA) te ferbaarnen.
testing
Testen, dat is de handeling fan it identifisearjen fan softwareapplikaasjes, is ûnmooglik te ûnderwearde, fral yn Fintech. Troch de mooglikheid fan finansjeel ferlies kin finansjele technology net betelje om gebreken te hawwen.
Hoe mear defekten dy't yngenieurs foar kwaliteitsfersekering kinne identifisearje, hoe wierskynliker it is dat it ôfmakke produkt goed sil funksjonearje. Ofhinklik fan it bedriuw dat it hannelsplatfoarm ûntwikkelet as de behoeften fan 'e klant, omfettet de struktuer fan it testproses:
De basis fan funksjonele testen is it meitsjen fan ynput en it analysearjen fan de resultaten. Mei it brûken fan falske kaarten wurde testgefallen foar finansjele tapassing útfierd. Dizze kaarten besykje de betrouberens, effisjinsje en krektens fan betellingen te ferbetterjen.
It finen fan de snelheid, skalberens en stabiliteit fan in systeem wurdt dien troch prestaasjestesten. De snelheid fan in applikaasje wurdt beoardiele om te begripen hoe fluch it reagearret, en de skalberens dêrfan jout oan hoefolle brûkers it tagelyk kin stypje sûnder te crashen.
Derneist toant stabiliteit oan oft de applikaasje goed funksjonearret ûnder ferskate loads of as d'r potinsjele gebreken binne.
It kin bûten de mooglikheden fan in inkele retailhanneler wêze om in folslein automatisearre hannelssysteem te bouwen. Automatisearre hannelsystemen, dy't op 'e merken oanbean wurde op abonnemintbasis, binne in opsje foar hannelers dy't de algoritmyske technyk fan hannel wolle ûndersykje.
Bouwe jo eigen autonome hannelssystemen
Beginnershannelers kinne har eigen algoritmyske hannelstechniken ûntwikkelje en meidwaan oan suksesfolle merkhannel. As algemiene skets kinne de hjirûnder neamde stadia brûkt wurde om in algoritmyske hannelstrategy te meitsjen:
- Meitsje in hannelskonsept dat jo tinke soe suksesfol wêze yn aktive merken mei jo ferbylding as in metoade. It konsept kin ôflaat wurde fan jo eigen merkobservaasjes, hannelsboeken, akademyske papieren, hannelsblogs, hannelsforums, of in oare boarne.
- Sammelje de nedige ynformaasje - Jo soene histoaryske gegevens nedich wêze om jo hypoteze te testen. Dizze ynformaasje is beskikber fan ferkeapers fan betelle gegevens of websiden lykas Google Finance.
- It skriuwen fan in plan fereasket it gebrûk fan ark lykas Excel, Python, of R-programmearring. As jo ienris de gegevens hawwe, kinne jo begjinne mei it kodearjen fan jo oanpak.
- It testen fan jo hannelskonsept tsjin histoaryske gegevens nei't it kodearre is, wurdt jo oanpak weromtesten neamd. Backtesting omfettet inputoptimalisaasje, it fêststellen fan winstdoelen en stop-loss-opdrachten, posysjegrutte en oare relatearre taken.
- Papier hannelje jo strategy - Nei de backtesting-faze is papierhannel jo strategy needsaaklik. Dit soe it testen fan jo plan omfetsje mei in merksimulator. Foar de metoade foar papierhannel binne d'r brokers dy't in algoritmysk hannelsplatfoarm leverje.
- As jo oanpak lukratyf is nei papierhannel, kinne jo it implementearje yn situaasjes yn 'e echte wrâld. Jo kinne in hannelskonto oanmeitsje mei in betroubere brokker dy't algoritmyske hannel biedt.
Mei elk foarby jier binne d'r mear útwikselingen dy't algoritmyske hannel tastean foar sawol profesjonele as retailhannelers, en mear en mear hannelers brûke algoritmyske hannel.
Konklúzje
Dit wie in yngeand artikel oer in automatisearre hannelssysteemarsjitektuer dat wy der wis fan binne, levere in heul ynsjochsum begryp fan 'e belutsen komponinten lykas de protte obstakels dy't arsjitektuerûntwikkelders moatte omgean / oerwinne om in sterk automatisearre hannelssysteem te ûntwerpen.
Ik haw myn bêst dien om jo in oersjoch te jaan fan it automatyske hannelssysteem, mar d'r bart in protte mear ûnder de kap. Ik hoopje dat jo dit materiaal nuttich fine en it goed brûke.
Leave a Reply