Wednesday, October 12, 2016

Online Trading System Architecture

Trading Systems: Ontwerp jou stelsel - Deel 1 13 Die voorafgaande gedeelte van hierdie handleiding gekyk na die elemente wat make-up 'n handel stelsel en bespreek die voor - en nadele van die gebruik van so 'n stelsel in 'n lewendige handel omgewing. In hierdie artikel, ons bou op die kennis van die ondersoek wat markte is veral goed geskik vir stelsel handel. Ons sal dan 'n meer in-diepte kyk na die verskillende genres van handel stelsels. Trading in verskillende aandelemarkte Markte Die aandelemark is waarskynlik die mees algemene mark om handel te dryf in, veral onder beginners. In hierdie arena, groot spelers soos Warren Buffett en Merrill Lynch oorheers, en tradisionele waarde en groei te belê strategieë is by verre die mees algemene. Tog het baie instellings aansienlik in die ontwerp, ontwikkeling en implementering van handel stelsels belê. Individuele beleggers by hierdie tendens, hoewel stadig. Hier is 'n paar belangrike faktore om in gedagte te hou wanneer die gebruik van handel stelsels in aandelemarkte: 13 Die groot hoeveelheid aandele beskikbaar stel handelaars om stelsels te toets op baie verskillende tipes aandele - alles van uiters wisselvallige oor-die-toonbank (ODT) aandele aan nie-vlugtige uitsoekaandele. Die doeltreffendheid van handel stelsels kan beperk word deur die lae likiditeit van 'n paar aandele, veral OTC en pienk vel probleme. Kommissies kan eet in winste wat gegenereer word deur suksesvolle ambagte, en kan verliese verhoog. OTC en pienk vel aandele aangaan dikwels addisionele kommissie fooie. Die belangrikste handel stelsels wat gebruik word, is dié wat kyk vir waarde - dit wil sê, stelsels wat verskillende parameters gebruik om te bepaal of 'n sekuriteit is onderwaardeer in vergelyking met sy prestasie in die verlede, sy eweknieë, of die mark in die algemeen. Valutamarkte Die buitelandse valuta mark, of forex. is die grootste en mees vloeibare mark in die wêreld. Die wêreld se regerings, banke en ander groot instellings handel triljoene dollars op die forex mark elke dag. Die meerderheid van die institusionele handelaars op die Forex staatmaak op handel stelsels. Dieselfde geld vir individue op die forex, maar 'n paar handel op grond van ekonomiese verslae of belangstelling payouts. Here is 'n paar belangrike faktore om in gedagte te hou wanneer die gebruik van handel stelsels in die forex mark: die likiditeit in die mark - as gevolg van die groot volume - maak handel stelsels meer akkuraat en doeltreffend. Daar is geen kommissies in hierdie mark, net versprei. Daarom, sy baie makliker om baie transaksies te maak sonder die koste te verhoog. In vergelyking met die bedrag van aandele of kommoditeite beskikbaar, die aantal geldeenhede handel te dryf, is beperk. Maar as gevolg van die beskikbaarheid van eksotiese geldeenheid pare - dit is, geldeenhede van kleiner lande - die verskeidenheid in terme van wisselvalligheid is nie noodwendig beperk. Die belangrikste handel stelsels wat gebruik word in forex is dié wat tendense te volg ( 'n gewilde gesegde in die mark is die tendens is jou vriend), of stelsels wat te koop of te verkoop op breakouts. Dit is omdat ekonomiese aanwysers veroorsaak dikwels groot prysbewegings op 'n tyd. Futures Equity, markte forex, en kommoditeit al bied Futures Trading. Dit is 'n gewilde voertuig vir stelsel handel as gevolg van die hoër bedrag van die hefboom beskikbaar en die verhoogde likiditeit en wisselvalligheid. Tog kan hierdie faktore beide maniere sny: hulle kan óf versterk jou winste of versterk jou verliese. Om hierdie rede, is die gebruik van termynkontrakte gewoonlik gereserveer vir gevorderde individuele en institusionele stelsel handelaars. Dit is omdat handel stelsels in staat te kapitaliseer op die termynmark veel groter aanpassing verg, gebruik meer gevorderde aanwysers en neem baie langer om te ontwikkel. So, wat is die beste Dit is aan die individuele belegger om te besluit watter mark is die beste geskik is om te handel - elkeen het sy eie voordele en nadele. Die meeste mense is meer vertroud is met die aandelemarkte, en hierdie kennis maak die ontwikkeling van 'n handel stelsel makliker. Dit is egter forex algemeen beskou as die uitstekende platform om handel stelsels hardloop wees - veral onder meer ervare handelaars. Verder, as 'n handelaar besluit om munt te slaan uit verhoogde hefboom en wisselvalligheid, die termynmark alternatief is altyd oop. Uiteindelik is die keuse lê in die hande van die stelsel developer. Types van handel stelsels Trend-volgende stelsels Die mees algemene metode van stelsel handel is die tendens - Spring stelsel. In sy mees basiese vorm, hierdie stelsel net wag vir 'n aansienlike prys beweging, dan koop of verkoop in daardie rigting. Hierdie tipe stelsel banke op die hoop uitgespreek dat hierdie prysbewegings die tendens sal handhaaf. Bewegende gemiddelde Systems Algemene gebruik in tegniese ontleding. 'n bewegende gemiddelde is 'n aanduiding dat net toon die gemiddelde prys van 'n voorraad oor 'n tydperk van tyd. Die essensie van tendense is afgelei van hierdie meting. Die mees algemene manier om te bepaal toe - en uittrede is 'n crossover. Die logika agter dit is eenvoudig: 'n nuwe tendens kom tot stand wanneer die prys bo of onder sy historiese prys gemiddelde (tendens) val. Hier is 'n grafiek wat beide die prys (blou lyn) en die 20-dag MA (rooi lyn) van IBM plotte: Breakout Systems Die fundamentele konsep agter hierdie tipe stelsel is soortgelyk aan dié van 'n bewegende gemiddelde stelsel. Die idee is dat wanneer 'n nuwe hoë of lae gevestig, die prys beweging is waarskynlik om voort te gaan in die rigting van die tempo. Een aanwyser wat gebruik kan word in die bepaling van breakouts is 'n eenvoudige Bollinger Band oortrek. Bollinger Bands wys gemiddeldes van 'n hoë en 'n lae pryse, en breakouts voorkom wanneer die prys aan die kante van die bands. Hier is 'n grafiek wat die prys (blou lyn) en Bollinger Bands (grys lyne) van Microsoft plotte: Nadele van Trend-volgende stelsels: Empiriese Besluitneming Vereiste - By die bepaling van tendense, is daar altyd 'n empiriese element om te oorweeg: die duur van die historiese tendens. Byvoorbeeld, kan die bewegende gemiddelde vir die afgelope 20 dae of vir die afgelope vyf jaar, sodat die ontwikkelaar moet bepaal watter een is die beste vir die stelsel. Ander te bepaal faktore is die gemiddelde hoogtepunte en laagtepunte in tempo stelsels. Sloerende Nature - bewegende gemiddeldes en tempo stelsels sal altyd agter. Met ander woorde, kan hulle nooit druk op die presiese bo-of onderkant van 'n tendens. Dit lei onvermydelik in 'n verbeuring van potensiële wins, wat soms beduidende kan wees. Geheel verslaan effek - Onder die mark kragte wat skadelik vir die sukses van die tendens volgende stelsels is, dit is een van die mees algemene. Die geheel verslaan effek vind plaas wanneer die bewegende gemiddelde genereer 'n valse sein - dit wil sê, wanneer die gemiddelde daal net in omvang, dan skielik omkeer rigting. Dit kan lei tot massiewe verliese nie, tensy doeltreffende stop-verlies en risikobestuur tegnieke in diens. Sywaarts Markte --Trend volgende stelsels, deur die natuur, in staat is om geld te maak net in markte wat eintlik tendens doen. Maar markte sywaarts beweeg ook. bly binne sekere grense vir 'n lang tydperk van die tyd. Uiterste wisselvalligheid Mag gebeur - Soms, kan-tendens volgende stelsels sommige van die uiterste wisselvalligheid beleef, maar die handelaar moet vashou aan sy of haar stelsel. Die onvermoë om dit te doen, sal daartoe lei dat verseker mislukking. Countertrend Systems Kortom, die doel met die countertrend stelsel is te koop teen die laagste laag en verkoop teen die hoogste hoog. Die belangrikste verskil tussen hierdie en die tendens volgende stelsel is dat die countertrend stelsel is nie selfkorrigerende. Met ander woorde, daar is nie 'n vasgestelde tyd om posisies te verlaat, en dit lei tot 'n onbeperkte nadeel potensiaal. Tipes Countertrend Systems Baie verskillende tipes stelsels word beskou countertrend stelsels. Die idee hier is om te koop wanneer momentum in een rigting begin vervaag. Dit is die mees dikwels bereken deur ossillators. Byvoorbeeld, kan 'n sein gegenereer word wanneer Stochastics of ander relatiewe sterkte aanwysers hieronder sekere punte val. Daar is ander vorme van countertrend handel stelsels, maar almal van hulle dieselfde fundamentele doelwit te deel - lae te koop en verkoop hoog. Nadele van Countertrend volgende stelsels: E mpirical Besluitneming Vereiste - Byvoorbeeld, een van die faktore die stelsel ontwikkelaar moet besluit oor die punte waarteen die relatiewe sterkte aanwysers vervaag. Uiterste wisselvalligheid Mag gebeur - Hierdie stelsels kan ook sommige van die uiterste wisselvalligheid en 'n onvermoë om te hou met die stelsel ten spyte van hierdie wisselvalligheid sal lei tot verseker mislukking ervaar. Unlimited Nadeel - Soos voorheen genoem, is daar 'n onbeperkte nadeel potensiaal omdat die stelsel is nie selfkorrigerende (daar is nie 'n vasgestelde tyd om posisies te verlaat). Ten slotte Die belangrikste markte waarvoor handel stelsels is geskik is die aandele, buitelandse valuta en termynmarkte. Elkeen van hierdie markte het sy voordele en nadele. Die twee hoof genres van handel stelsels is die tendens-volgende en die countertrend stelsels. Ten spyte van hul verskille, beide tipes stelsels, in hul ontwikkelingstadia, vereis empiriese besluitneming aan die kant van die ontwikkelaar. Ook hierdie stelsels is onderhewig aan uiterste wisselvalligheid en dit kan 'n paar stamina eis - dit is noodsaaklik dat die stelsel handelaar hou met sy of haar stelsel in hierdie tye. In die volgende paaiement, goed neem 'n nader kyk na hoe om 'n handel stelsel te ontwerp en te bespreek 'n paar van die sagteware wat stelsel handelaars gebruik om hul lewens makliker te maak. Trading Systems: Ontwerp jou stelsel - Deel 2Subscribe om nuus te gebruik vir die nuutste insigte en analysisSpecial Kenmerk: Online Trading Infrastruktuur n suksesvolle handel argitektuur Online ruil vergemaklik vinniger transaksies deur middel van aanlyn handel portals en makelaars huise te verlig en buigsaamheid. Hier is 'n blik op die kern-infrastruktuur van NSE, BSE, en 'n paar handel portale. deur Soutiman Das Gupta Soos belowe deur tegnologie visionairen en voorspelling groepe oor die afgelope dekade, het die Internet inderdaad oopgemaak nuwe moontlikhede om sake te doen. Aandelebeurse wêreldwyd nou voer 'n grootste deel van sy besigheid aanlyn deur middel van sy makelaars en vennote, 'n groot verskuiwing van die tradisionele metode. In ontwikkelde lande, is byna al valutatransaksies aanlyn gedoen. Die tendens het stadig opgetel in Indië en twee van die grootste handel, die Nasionale Aandelebeurs (NSE) en die Moembaai Effektebeurs (BSE) is suksesvol uitvoer aanlyn handel vir iewers nou. Hoekom laat Indiese ruil en tussenhandel huise traag om hul transaksies aanlyn skuif gewees het. Dit het hoofsaaklik te wyte aan die regering regulasies nie. Daar was aanvanklik vertraging in gehou spesifikasies vir die skep Geslote Gebruikers Groepe (CUGs). Die probleem is opgelos tussen die dot en die Ministerie van Finansies om 1998 en gou handel portals soos ICICIDirect, motilaloswal, en smartjones tot stand gekom het. Verbinding was miskien die belangrikste tegnologiese faktor. Die koste van gehuurde lyne en VSAT skakels is tradisioneel baie hoog en die betroubaarheid van die skakels is laag. Dit het ook 'n lang tyd om die skakels Kommissie as een het om aansoek te doen en wag vir 'n paar weke vir die skakel na aan die gang wees. Ander kwessies soos veiligheid, en Friends en herstel proses koste was ook afskrikmiddels. Gelukkig, saam met die resolusie van regulatoriese kwessies, Indië het nie meer enige druk verbinding en 'n bandwydte kwessies. Met die toetrede van private spelers in die breëband scenario en die regering die opening van die telekommunikasieverkeer sektor, hierdie kwessies is feitlik nie bestaan ​​nie. Sekuriteit oplossings en dienste wat beskikbaar is in die mark ryp en dit nie die geval kos 'n mooi pakkie nie 'n eenvoudige Friends oplossing daar te stel. Anatomie van 'n aanlyn valuta Online handel behels groot volumes data wat verrig elke dag. Net soos 'n voorbeeld, by BSE die gemiddelde daaglikse omset in 2001-2002 (April-Maart) was R 1244,10 Crore en die aantal gemiddelde daaglikse ambagte was R 5.17 honderdduizend Indisch geld. Bykomend tot hierdie is daar streng RBI regulasies wat maak dit verpligtend vir maatskappye om ten minste 7 jaar van transaksionele en finansiële data te stoor. Ontwerp Moet altyd-op, veilige, oorbodig wees, en voldoende rugsteun en herstel prosesse. Stoor Vir so 'n hoë bedrae van kritieke data sy natuurlike om netwerk-gebaseerde stoor soos NAS of SAN ontplooi. Sekuriteit Sekuriteit is 'n belangrike en integrale deel van die ontwerp argitektuur. Die hardeware en sagteware elemente gebou moet word om 'n lae veiligheid argitektuur en moet in plek gehou word met 'n goed-gedokumenteerde veiligheidsbeleid. Beskikbaarheid Ideaal aanlyn handel moet vyf-neges beskikbaarheid het. Aansoeke Sy moeilik om buite-die-boks aansoeke ontplooi by die uitruil as elkeen 'n unieke argitektuur gebaseer op faktore soos bedrywighede vloei, handel volumes, aantal lede, aantal gebruikers, en die aantal plekke. Argitekture NSE het ontplooi NIBIS (NSEs internet-gebaseerde inligtingstelsel) vir real-time verspreiding van handel inligting oor die internet en netjiese n kliënt-bediener-gebaseerde program om sy bedrywighede te help. BSE het 'n aanlyn handel stelsel (BOLT) ontplooi op 'n tandem platform wat 'n twee-toegeroep argitektuur het. Dit beweer dat hy in staat wees om tred te ondersteun tot 2 miljoen ambagte per dag. Indiese ruil Die NSE en BSE is een van die grootste handel in die land. Hulle hanteer baie groot daaglikse handel volumes, ondersteun groot hoeveelhede data verkeer, en het 'n baie groot landwye netwerk. Die handel volume figure in beide die uitruil is groot. Die gemiddelde daaglikse omset in die kapitaalmarkte segment op NSE is om R 2300 Crore en in die segment afgeleides, om R 1300 Crore. Die gemiddelde daaglikse verkeer volume is ongeveer 'n miljoen ambagte per dag in die kapitaalmarkte segment en ongeveer 50.000 ambagte per dag in die segment afgeleides. Daar is ongeveer 13.000 geregistreerde gebruikers in beide segmente en 'n gemiddeld van ongeveer 9500 gebruikers aangemeld is op 'n slag. Op BSE die gemiddelde daaglikse omset in 2001-2002 (April-Maart) was R 1244,10 Crore en die aantal gemiddelde daaglikse ambagte was R 5.17 honderdduizend Indisch geld. Netwerk ontwerp Nodeloos om te sê, 'n aanlyn valuta moet altyd-op, veilige, oorbodig, en voldoende rugsteun en herstel prosesse wees. G. M Shenoy, VP, NSE-IT, praat oor die ontwerp filosofie van sy aanlyn ruil. quotThe basiese ontwerp doel was om billike, gelyke en deursigtige toegang in al ons landwye plekke te voorsien. 'N Belangrike aspek is om konnektiwiteit aan ons handel lede so gou as possible. quot quotThe Telecom sektor is redelik liberaal vandag. Terug in 1993, die tegnologie is volwasse en was duur. Huurlijnen kos byna tien keer soveel as wat dit vandag doen. Satelliettegnologie was 'n seën omdat dit toegelaat vinniger ontplooiing as huurlijnen. NSE het nou die land se grootste VSAT netwerk met meer as 3000 VSAT en verwag om te groei tot meer as 4000 VSAT soon. quot Network elemente 'n blik op die massiewe handel volumes en verkeer grootmaat is genoeg bewys van die kritieke aard van stelsels. Dit laat 'n mens sidder om te dink van die verwagte verliese in die geval van 'n tien minute stilstand wanneer daaglikse handel kruis R 3000 Crore. Netwerk elemente soos stoor, sekuriteit, Friends en herstel prosesse, beskikbaarheid, en die verskillende programme moet versigtig beplan en in opdrag. Dan moet 'n mens streng RBI regulasies ten minste 7 jaar van transaksionele en finansiële data te stoor volg. Stoor Vir so 'n hoë bedrae van kritieke data sy natuurlike om netwerk-gebaseerde stoor soos NAS of SAN ontplooi. NSE is die uitvoering van 'n SAN as dit voel dat sy data volumes fenomenaal gegroei. Sekuriteit Dit behoort 'n belangrike en integrale deel van die ontwerp argitektuur wees. Die hardeware en sagteware elemente gebou moet word om 'n lae veiligheid argitektuur. En dit moet in plek gehou word met 'n goed-gedokumenteerde veiligheidsbeleid. Shenoy sê quotSecurity is die belangrikste element in die netwerk. Alle aansoeke is gebou met 'n bewuste benadering tot sekuriteit. Die sekuriteit beleid is styf geïntegreer en gereeld onder die loep geneem om geen ruimte vir kompromie te verlaat. Al die programme en bedryfstelsels is van tyd tot tyd verhard vir safety. quot Backup en herstel Dit het na vore gekom as een van die belangrike aspekte van die besigheid kontinuïteit. Wanneer online ruil 'n paar jaar gelede is ontwerp, is dalk 'n baie klem nie geplaas op hierdie aspek, soos dit vandag is. Maar dit is nie moeilik om te besigheid kontinuïteit prosesse toe te voeg tot 'n bestaande netwerk. Shenoy sê, kwotas n rugsteun ons VSAT netwerk, is 'n aardse gebaseer handel netwerk ontplooi in die middel van 2000. Ons het meer as 850 huurlijnen verbind ons landwye plekke. Ons is die enigste aandelebeurs in die land om 'n ten volle oortollige business continuity webwerf in Chennai. quot Beskikbaarheid Ideaal aanlyn handel moet vyf-neges beskikbaarheid hê. Ruil gewoonlik verkies om sy infrastruktuur in die huis aan te bied en nie gebruik maak van die dienste van 'n eksterne data sentrum. NSE beweer dat uptime groter as 99,9 bereik. quotThis is hoofsaaklik te danke aan intern geformuleer prosedures en deurlopende hersiening van DVO met hardeware verskaffers, quot sê Shenoy. Aansoeke Sy moeilik om buite-die-boks aansoeke ontplooi by die uitruil as elkeen 'n unieke argitektuur gebaseer op faktore soos bedrywighede vloei, handel volumes, aantal lede, aantal gebruikers, en die aantal plekke. Die programme soos handel, skoonmaak, risiko-bestuur, toesig, indeks berekening, lys, lidmaatskap, en rekeninge kan ontwikkel in-huis of deur eksterne sagteware-ontwikkelaars. Die groot twee platforms NSE en BSE, die groot twee ruil glo in die opdatering en opgradering van sy tegnologie stelsels te hou lewering volgens verpligtinge en beloftes aan sy lede, vennote, en kliënte. NSE argitektuur - netjies NSE het ontplooi NIBIS (NSEs internet-gebaseerde inligtingstelsel) vir real-time verspreiding van handel inligting oor die internet en netjiese n kliënt-bediener-gebaseerde program om sy bedrywighede te help. NETJIESE winkels al die handel inligting in 'n in-geheue databasis op die bediener einde aan minimum reaksie tyd en maksimum beskikbaarheid stelsel vir gebruikers te bereik. Die handel bediener sagteware loop op 'n fout tolerante Stratus hoofraam en die kliënt sagteware loop op Windows PC. Die telekommunikasie-netwerk gebruik die X.25 protokol en is die ruggraat van die outomatiese handel stelsel. Elke handel lid ambagte op die NSE met ander lede deur middel van 'n rekenaar in die handel lede kantoor. Die lede handel oor die groothandel skuldmark segment gekoppel is aan die sentrale rekenaar by die NSE deur toegewyde 64 Kbps huurlijnen en VSAT terminale. Hierdie huurlijnen is multiplexen behulp toegewyde 2 MB optiese vesel skakels. Die WDM deelnemers aan te sluit op die handel stelsel deur middel van inbel skakels. Die uitruil gebruik RISC-gebaseerde Unix bedieners van digitale en HP vir backoffice verwerking. Programme soos Oracle 7 en SQL / Oracle Vorms 4.5 front ends word gebruik vir die uitruil funksies. BSE argitektuur - BOLT BSE het 'n aanlyn handel stelsel (BOLT) ontplooi op 14 Maart, 1995. Dit werk op 'n tandem S74016 platform wat uitgevoer word op 16 CPUs. Die Tandem Himalaya S74016 masjiene as die agterkant van meer as 8000 Trader Werkstasies netwerk op Ethernet, VSAT en Managed Gehuurde Data Network (MLDN). Die stelsels eis te hanteer tot twee miljoen ambagte per dag. BOLT het 'n twee-toegeroep argitektuur. Die handelaar werkstasies is direk gekoppel aan die agterkant bediener wat dien as 'n kommunikasie-bediener en 'n Sentrale Trading Engine (CTE). Ander dienste soos inligtingverspreiding, indeks berekening, en die posisie monitering word ook voorsien deur die stelsel. 'N Transaksie monitering fasiliteit in die tandem argitektuur help om data-integriteit deur non-stop SQL. Met die hulp van MTNL, BSE het die opstel van 'n MLDN Netwerk bestaan ​​uit 300 2 Mbps lyne en 1500 64 Kbps lyne wat al die plaaslike aandelebeurse en kantore in Mumbai verbind. Toegang tot markverwante inligting deur middel van die handelaar werkstasies is noodsaaklik vir die deelnemers aan die mark op te tree op real-time basis en neem onmiddellike besluite. BOLT is gekoppel met verskeie inligting verskaffers soos Bloomberg, brug, en Reuters. Markinligting gevoer om nuusagentskappe in real time. Die uitruil beplan om die vermoëns verder te verbeter om 'n geïntegreerde tweerigting vloei van inligting te hê. Aanlyn handel portals aanlyn handel is die belegging aktiwiteit wat plaasvind oor die internet sonder die fisiese insluiting van die makelaar. 'N eindgebruiker (belegger) moet registreer met 'n aanlyn handel portaal soos ICICdirect, motilaloswal, smartjones, en sharekhan. Die belegger dus kry 'n ooreenkoms met die firma om handel te dryf in verskillende sekuriteite volgens die bepalings en voorwaardes soos op die ooreenkoms gelys. Sedert die bedieners van die aanlyn handel portaal al die tyd om die aandelebeurse en aangewese banke verbind, is om die verwerking gedoen in reële tyd. Beleggers kan ook updates op die handel en die status van hul bestellings óf deur middel van e-pos of deur middel van die koppelvlak. Portaal ontwerp Harish Malhotra, Chief Technology Officer, Motilal Oswal Securities Beperk, sê quotthe portaal moet eenvoudig om te navigeer, vol nuttige en relevante inligting wat beskikbaar is met die laagste aantal kliek is nie, en moet egter personalized. quot 'n baie belangrike aspek is dat die stelsels moet in staat wees om direk koppelvlak met dié van die aanlyn ruil sonder onverenigbaarheid kwessies. ICICIdirect gebruik 128-bit encryption enabled Secure Socket Layer (SSL) om te verseker dat die oordraagbare oor die internet inligting is veilig en kan nie verkry word deur 'n derde party. Gebruikers word gewoonlik gegee opsies om hul bankrekeninge, Demat rekeninge, en makelaars rekeninge koppel in 'n enkele koppelvlak. Daar is ook 'n enkele venster vir alle beurse en 'n enkele skerm vir die volledige orde routing meganisme. Die hardeware gebruik bestaan ​​Web en toepassing bedieners, skakelaars, routers, firewalls en sekuriteit toestelle en gespesialiseerde toerusting. Motilaloswal gebruik Compaq bedieners vir aansoeke en databasis, Cisco routers, en Kontrolepunt firewalls. Die stelsels is aangepas deur die in-huis span. Die handel aansoeke is uitgekontrakteer. quotWe het ook op die regte pad stoor wat van tyd tot tyd word gerugsteun op aparte plekke, quot sê Harish. Portal sukses Die sukses van 'n handelsmerk portaal sal beslis afhang van sy bos dienste vir 'n eindgebruiker. Die meeste portale hef 'n klein registrasiefooi en makelaars op grond van verskeie voorwaardes. Maar dit is belangrik vir die organisasie te hou gefokus op kliënt-gesentreerde dienste en aflewering modelle om werklik geniet die mees attention. Trade argitek Lig jou handel. Ervaar die uitsig vanaf Handel argitek Reg Bly verbind tot die mark met die vaartbelynde Handel argitek platform. Intuïtief en maklik om te gebruik, kan jy monitor en ontleed potensiaal beleggingsgeleenthede met gesofistikeerde gereedskap, aangepas kartering, live streaming video, en geïntegreerde navorsing. Handel argitek beskik nou oor Handel Finder, 'n nuwe instrument wat die proses van die maak van opsies ambagte vergemaklik. Kry al hierdie dinge en nog baie meer, alles in een plek sonder platform of data fooie. Handel Finder Tik in handel gereedskap vra vir hulp Anytime Handel Finder Die handel Finder instrument vergemaklik die proses van die maak van 'n opsies handel. Eerder as om 'n baie navorsing te doen en 'n gat in honderde verskillende soorte ambagte om jou besluit te maak, gaan jy 4 eenvoudige kriteria en dan met net een kliek, die instrument wys jou verskillende ambagte wat ooreenstem met jou soektog. Kyk na 'n kort demo. Kommissies, diensfooie en uitsondering fooie geld steeds. Sien ons kommissie en makelaarsfooie vir besonderhede Tik in Trading Tools Tik in handel gereedskap Kry die top-notch gereedskap wat jy nodig het om die mark aan te pak. Vind belangrike voorraad en opsie inligting waar en wanneer jy dit nodig het. Stroom nuus, handel uit aanpas kaarte, en neem voordeel van vrye in-platform onderwys sodat jy met vertroue kan handel. Kommissies, diensfooie en uitsondering fooie geld steeds. Sien ons kommissie en makelaarsfooie vir meer inligting vra vir hulp Anytime Alle skerm skote is slegs vir illustratiewe doeleindes, en nie 'n aanbeveling van 'n spesifieke sekuriteit of strategie. Markonbestendigheid, volume en beskikbaarheid stelsel kan toegang tot jou rekening en handel teregstellings vertraag. Vorige prestasie waarborg nie toekomstige resultate. Toegang tot real-time mark data is gekondisioneer op die aanvaarding van uitruilooreenkomste. Sien ons kommissie en makelaarsfooie vir meer inligting. Uitvoering prys, spoed en likiditeit is wat geraak word deur baie faktore, insluitend markonbestendigheid, grootte en tipe van orde en beskikbaar mark sentrums. Opsies is nie geskik vir alle beleggers as die spesiale risiko's wat inherent is aan handel opsies beleggers om potensieel vinnige en aansienlike verliese kan blootstel. Lees Eienskappe en risiko's van gestandaardiseerde Options voor te belê in opsies. handel opsies voorregte onderworpe aan TD Ameritrade hersiening en goedkeuring. Nie alle rekening eienaars sal kwalifiseer. TD Ameritrade geëvalueer teen 15 ander in die 2016 Barronrsquos Online Broker Review, 19 Maart, 2016. Die firma is ingedeel 1 in die kategorieë ldquoBest vir die langtermyn Investingrdquo, ldquoBest vir Usabilityrdquo, ldquoBest vir Navorsing Amenitiesrdquo, ldquoBest vir Portefeuljekomitee Ontleding amp Reportsrdquo en ldquoBest vir Novices. rdquo TD Ameritrade is ook bekroon met die hoogste ster graderings (4.5) in ldquoBest vir Options Tradersrdquo (gedeel met 2 ander) en (4) in ldquoBest vir in-persoon Servicerdquo (gedeel met 4 ander). Ook het 4 sterre in ldquoBest vir gereelde Tradersrdquo. Ster graderings is uit 'n moontlike 5 Barronrsquos is 'n handelsmerk van Dow Jones. L. P. Alle regte voorbehou. Aanbod geldig vir een nuwe Individuele, Gesamentlike of IRA TD Ameritrade rekening geopen deur 2017/03/31 en befonds is binne 60 kalender dae van rekening opening met 3000 of meer. 100 bonus ontvang, moet rekening befonds met 25,000 of meer binne 60 dae van rekening opening. 300 bonus ontvang, moet rekening befonds met 100,000 of meer binne 60 dae van rekening opening. 600 bonus ontvang, moet rekening befonds met 250,000 of meer binne 60 dae van rekening opening. Aanbod is nie geldig op belastingvrye trusts, 401k rekeninge, Keogh planne, winsdeling Plan, of Money aankoopplan. Aanbod is nie oordraagbaar nie en nie geldig met interne oordragte, rekeninge met behulp van die Amerivest diens, TD Ameritrade Institusionele rekeninge, huidige TD Ameritrade rekeninge of met ander aanbiedings. Gekwalifiseerde kommissie-vrye Internet aandele, ETF of opsies bestellings sal beperk word tot 'n maksimum van 500 en moet uit te voer binne 60 kalender dae van rekening befondsing. Kontrak, oefening, en opdrag fooie geld steeds. Beperk een aanbod per kliënt. Rekening waarde van die kwalifiserende rekening moet gelyk te bly, of groter as die waarde na die netto deposito gemaak is (minus enige verliese as gevolg van handel of markonbestendigheid of marge debietsaldo's) vir 12 maande, of TD Ameritrade kan die rekening vir hef die koste van die aanbod in sy uitsluitlike diskresie. TD Ameritrade behou die reg voor om te beperk of te herroep hierdie aanbod te eniger tyd. Dit is nie 'n aanbod of uitnodiging in enige jurisdiksie waar ons nie gemagtig is om sake te doen. Laat asseblief 3-5 werksdae vir enige kontantdeposito's te plaas om rekening. Belasting wat verband hou met TD Ameritrade aanbiedings is jou verantwoordelikheid. Retail waardes altesaam 600 of meer gedurende die kalenderjaar sal in jou gekonsolideerde Form ingesluit 1099 Raadpleeg 'n wetlike of belastingadviseur vir die mees onlangse wysigings aan die Amerikaanse belasting-kode en vir roll in aanmerking te kom reëls (Aanbod Kode: 220). Die ETRADE Pro verhandelingsplatform, insluitend Vlak II aanhalings en streaming nuus, is beskikbaar teen geen koste te ETRADE Pro Elite aktiewe handelaar kliënte wat uit te voer ten minste 30 stock of opsies ambagte tydens 'n kalender kwartaal. Om steeds toegang tot hierdie platform, moet jy ten minste 30 stock of opsies ambagte te voer teen die einde van die volgende kalender kwartaal. Kliënte kan ook inteken vir 99,95 per maand. Aktiewe Trader verteenwoordigers is slegs beskikbaar vir aangemelde ETRADE Pro kliënte. Fidelityrsquos Active Trader Proreg verhandelingsplatform is beskikbaar vir huishoudings handel 36 keer of meer in 'n aaneenlopende tydperk van twaalf maande. Handel 72 keer oor dieselfde tydperk verdien toegang tot statiese Vlak II aanhalings. Handel 120 keer oor dieselfde tydperk verdien streaming nuus. Aktiewe Trader Dienste, insluitend toegewyde handel spesialiste, is beskikbaar vir huishoudings wat plaas 120 of meer voorraad, band, of opsies ambagte oor dieselfde tydperk en in stand te hou 25K in bates regoor aanmerking kom Fidelity makelaarsloon rekeninge. Schwabrsquos StreetSmartreg gereedskap wat beskikbaar is om Schwab Trading Services kliënte. A Schwab makelaars rekening word vereis. Schwab behou die reg voor om te beperk of toegang te eniger tyd te verander. Toegang tot Nasdaq TotalViewreg aanhalings word gratis vir nie-professionele kliënte wat 120 of meer aandele en opsies ambagte in die laaste 12 maande het, of 30 of meer aandele en opsies ambagte in die huidige of vorige kwartaal, of wat in stand te hou 1 miljoen of meer in huishoudelike's aan Schwab. Schwab Trading Services kliënte wat nie aan hierdie vereistes voldoen kan inteken op Nasdaq TotalView kwotasies vir 'n kwartaallikse fooi. Professionele kliënte wat nodig mag wees om addisionele kriteria voldoen voordat die verkryging van 'n inskrywing op Nasdaq TotalView aanhalings. Die aanbod kan onderhewig wees aan bykomende beperkings of fooie, en kan verander word op enige tyd. Die spoed en werkverrigting van streaming data kan wissel, afhangende van jou modem spoed en ISP konneksie. Toegang tot elektroniese dienste kan beperk of nie beskikbaar in tye van piek aanvraag, markonbestendigheid, stelsels opgraderings of onderhoud, of om ander redes. Alle produk name en punte is die eiendom van hulle onderskeie eienaars besit. dolk Waarskynlikheid analise resultate is teoreties van aard, nie gewaarborg nie, en weerspieël nie enige mate van sekerheid van 'n gebeurtenis wat plaasgevind het. Navorsing wat deur predikante op pad derdeparty bronne is betroubaar geag deur TD Ameritrade. Dit beteken egter TD Ameritrade nie waarborg akkuraatheid en volledigheid, en maak geen waarborge in verband met die resultate verkry word uit die gebruik daarvan. Buzz amp Banter Reg is 'n diens wat deur Minyanville Publishing en multimedia, LLC. TD Ameritrade, Inc. en Minyanville Publishing en multimedia, LLC is geskei predikante op pad maatskappye en is nie verantwoordelik vir elke otherrsquos produkte en dienste. TD Ameritrade en tastytrade, Inc. is geskei predikante op pad maatskappye. TD Ameritrade is nie verantwoordelik vir enige inhoud of menings derde party aangebied. TD Ameritrade, Inc. lid FINRA / SIPC. Dit is nie 'n aanbod of uitnodiging in enige jurisdiksie waar ons nie gemagtig is om sake te doen. TD Ameritrade is 'n handelsmerk gesamentlik besit word deur TD Ameritrade IP Company, Inc en die Toronto-Dominion Bank. afskrif 2016 TD Ameritrade IP Company, Inc. Alle regte voorbehou. Gebruik met permission. Best Programmering taal vir Algorithmic Trading Systems Deur Michael Saal-Moore op 26 Julie 2013 Een van die mees algemene vrae wat ek ontvang in die QS Koevert is Wat is die beste programmeertaal vir algoritmiese handel. Die kort antwoord is dat daar geen beste taal. Strategie parameters, prestasie, modulariteit, ontwikkeling, veerkragtigheid en koste moet al oorweeg. In hierdie artikel sal uiteensetting van die nodige komponente van 'n algoritmiese handel stelsel argitektuur en hoe besluite oor die implementering invloed op die keuse van taal. Eerstens, sal die belangrikste komponente van 'n algoritmiese handel stelsel in ag geneem word, soos die navorsing gereedskap, portefeulje-optimaliseerder, risikobestuurder en uitvoering enjin. Daarna sal verskillende handel strategieë ondersoek word en hoe hulle invloed op die ontwerp van die stelsel. In die besonder die frekwensie van die saak en die waarskynlike handel volume sal beide bespreek word. Sodra die handel strategie gekies is, is dit nodig om argitek die hele stelsel. Dit sluit in die keuse van hardeware, die bedryfstelsel (s) en stelsel veerkragtigheid teen seldsame, potensieel katastrofiese gebeure. Terwyl die argitektuur oorweeg word, moet daar behoorlik ag gegee word aan prestasie - beide om die navorsing gereedskap sowel as die lewendige uitvoering omgewing. Wat is die handel stelsel probeer om te doen voordat jy besluit op die beste taal waarmee 'n outomatiese handel stelsel is dit nodig om die vereistes te definieer skryf. Is die stelsel gaan suiwer uitvoering gebaseer Sal die stelsel vereis dat 'n risikobestuur of portefeulje konstruksie kursus sal die stelsel vereis dat 'n hoë-prestasie backtester Vir die meeste strategieë die handel stelsel kan verdeel word in twee kategorieë wees: Navorsing en sein generasie. Navorsing handel oor evaluering van 'n strategie prestasie oor historiese data. Die proses van evaluering van 'n handel strategie oor data voor mark staan ​​bekend as back testing. Die grootte van data en algoritmiese kompleksiteit sal 'n groot impak op die rekenaarmatige intensiteit van die backtester het. CPU spoed en samelopendheid is dikwels die beperkende faktore in die optimalisering van uitvoering navorsing spoed. Sein generasie is gemoeid met die opwekking van 'n stel van handel seine van 'n algoritme en sulke bestellings stuur na die mark, gewoonlik deur 'n makelaar. Vir sekere strategieë 'n hoë vlak van prestasie vereis. I / O kwessies soos netwerk bandwydte en latency is dikwels die beperkende faktor in die optimalisering van die uitvoering stelsels. So die keuse van tale vir elke komponent van jou hele stelsel kan heel anders wees. Tipe, frekwensie en volume van Strategie Die tipe algoritmiese strategie in diens sal 'n aansienlike impak op die ontwerp van die stelsel het. Dit sal nodig wees om te oorweeg die markte verhandel word, die konneksie na eksterne data verskaffers, die frekwensie en volume van die strategie, die kompromis tussen gemak van ontwikkeling en verbetering van die prestasie, sowel as enige persoonlike hardeware, insluitend mede geleë persoonlike bedieners, GPU's of FPGAs wat nodig mag wees. Die tegnologie keuses vir 'n lae-frekwensie Amerikaanse aandele strategie sal grootliks verskil van dié van 'n hoë-frekwensie statistiese arbitrage strategie handel oor die termynmark wees. Voor die keuse van taal baie data verskaffers moet geëvalueer alledaagse n strategie aan die hand. Dit sal nodig wees om verbinding met die verkoper, struktuur van enige APIs, tydigheid van die data, bergingsvereistes en veerkragtigheid te oorweeg in die lig van 'n ondernemer gaan af. Dit is ook wys om 'n vinnige toegang tot verskeie verskaffers in besit te neem Verskeie instrumente almal hul eie stoor eienaardighede, voorbeelde van wat insluit verskeie ENKELE simbole vir aandele en verval datums vir Toekomsnavorsing (nie aan enige spesifieke OTC data te noem). Dit moet ingereken in die platform ontwerp. Frekwensie van strategie is waarskynlik een van die grootste oorsake van hoe die tegnologie stapel sal gedefinieer word nie. Strategieë in diens data meer dikwels as fyn of tweedens bars vereis betekenisvolle ag met betrekking tot prestasie. 'N Strategie oorskry tweedens bars (bv merk data) lei tot 'n prestasiegedrewe ontwerp as die primêre vereiste. Vir 'n hoë frekwensie strategieë 'n aansienlike bedrag van die mark data sal moet word gestoor en geëvalueer. Sagteware soos HDF5 of KDB word algemeen gebruik vir hierdie rolle. Met die oog op die uitgebreide volumes van data wat nodig is vir HFT aansoeke te verwerk, moet 'n groot skaal new backtester en uitvoering stelsel gebruik word. C / C (moontlik met 'n paar assembler) is geneig om die sterkste taal kandidaat. Ultrahoëfrekwensie strategieë sal ongetwyfeld vereis persoonlike hardeware soos FPGAs, ruil mede-plek en kernal / netwerk koppelvlak tuning. Navorsing Systems Research stelsels tipies behels 'n mengsel van interaktiewe ontwikkeling en outomatiese script. Die voormalige vind dikwels plaas in 'n IDE soos Visual Studio, Matlab of R Studio. Laasgenoemde behels uitgebreide numeriese berekeninge oor talle parameters en data punte. Dit lei tot 'n taalkeuse verskaffing van 'n eenvoudige omgewing te toets kode, maar bied ook voldoende prestasie om strategieë oor verskeie parameter dimensies evalueer. Tipiese Ides in hierdie ruimte sluit Microsoft Visual C / C, wat uitgebreide ontfouting nuts,-kode voltooiing vermoëns bevat (via IntelliSense) en eenvoudige oorsigte van die hele projek stapel (via die databasis ORM, LINQ) Matlab. wat ontwerp is vir 'n uitgebreide numeriese lineêre algebra en gevectoriseerd bedrywighede, maar in 'n interaktiewe konsole wyse R Studio. wat vou die R statistiese taal konsole in 'n volwaardige IO Eclipse IDE vir Linux Java en C en semi-eiendom Ides soos Enthought Canopy vir Python, wat data-analise biblioteke soos Numpy sluit. Scipy. scikit-leer en pandas in 'n enkele interaktiewe (konsole) omgewing. Vir numeriese back testing, al die bogenoemde tale is geskik, maar dit is nie nodig om 'n GUI / IDE gebruik as die kode in die agtergrond sal uitgevoer word. Die eerste oorweging in hierdie stadium is dat van die uitvoering spoed. A saamgestel taal (soos C) is dikwels nuttig as die back testing parameter dimensies is groot. Onthou dat dit nodig versigtig vir sulke stelsels te wees is as wat die saak gevolge het verduidelik tale soos Python dikwels gebruik van 'n hoë-prestasie biblioteke soos Numpy / pandas vir die back testing stap maak, ten einde 'n redelike mate van mededingendheid te behou met saamgestel ekwivalente. Uiteindelik is die wat gekies is vir die back testing taal sal bepaal word deur spesifieke algoritmiese behoeftes sowel as die verskeidenheid van biblioteke beskikbaar in die taal (meer op wat hieronder). Tog kan die taal wat gebruik word vir die backtester en navorsing omgewings heeltemal onafhanklik van dié wat in die portefeulje konstruksie, risikobestuur en uitvoering komponente, soos gesien sal word. Portefeulje Konstruksie en Risikobestuur Die portefeulje konstruksie en risikobestuur komponente word dikwels oor die hoof gesien deur kleinhandel algoritmiese handelaars. Dit is byna altyd 'n fout. Hierdie gereedskap verskaf die meganisme waardeur kapitaal sal bewaar word. Hulle het nie net probeer om die aantal riskant verbintenis te verlig, maar ook hulself te verminder kansellasies van die ambagte, die vermindering van transaksiekoste. Gesofistikeerde weergawes van hierdie komponente kan 'n beduidende invloed op die gehalte en consistentcy van winsgewendheid het. Dit is maklik om 'n stabiele strategieë as die portefeulje konstruksie meganisme en risikobestuurder skep kan maklik aangepas word om verskeie stelsels te hanteer. So moet hulle in aanmerking kom essensiële komponente aan die begin van die ontwerp van 'n algoritmiese handel stelsel. Die werk van die portefeulje konstruksie stelsel is om 'n stel van gewenste ambagte te neem en te produseer die stel van die werklike ambagte wat kansellasies te verminder, blootstelling aan verskeie faktore (soos sektore, bateklasse, wisselvalligheid ens) in stand te hou en te optimaliseer die toekenning van kapitaal na verskeie strategieë in 'n portefeulje. Portefeulje konstruksie verminder dikwels 'n lineêre algebra probleem (soos 'n matriks faktorisering) en vandaar prestasie is hoogs afhanklik van die doeltreffendheid van die numeriese lineêre algebra implementering beskikbaar. Gemeenskaplike biblioteke sluit uBLAS. LAPACK en NAG vir C. MatLab beskik ook op groot skaal new matriksbewerkings. Python gebruik Numpy / Scipy vir sulke berekeninge. 'N gereeld herbalanseer portefeulje sal 'n saamgestel (en goed new) matriks biblioteek vereis dat hierdie stap uit te voer, sodat dit nie die handel stelsel knelpunt. Risikobestuur is 'n ander baie belangrike deel van 'n algoritmiese handel stelsel. Risiko kan kom in baie vorms: Groter wisselvalligheid (hoewel dit as wenslik vir sekere strategieë kan gesien word), verhoogde korrelasies tussen bateklasse, teenparty verstek bediener kragonderbrekings, Black Swan gebeure en ongemerk foute in die handel kode, te noem 'n paar. Risikobestuur komponente probeer antisipeer die gevolge van oormatige wisselvalligheid en korrelasie tussen bateklasse en hul daaropvolgende effek (s) op die handel kapitaal. Dikwels is dit verminder tot 'n stel van statistiese berekeninge soos Monte Carlo stres toetse. Dit is baie soortgelyk aan die computational behoeftes van 'n afgeleide pryse enjin en as sodanig sal CPU-gebonde wees. Hierdie simulasies is hoogs parallelisable (sien onder), en 'n sekere mate, is dit moontlik om die hardeware te gooi by die probleem. Uitvoering Systems Die werk van die uitvoering stelsel is om gefiltreer handel seine van die portefeulje konstruksie en risikobestuur komponente ontvang en stuur hulle oor na 'n makelaar of 'n ander manier van toegang tot die mark. Vir die meerderheid van die kleinhandel algoritmiese handel strategieë behels dit 'n API of FIX verbinding met 'n makelaars soos Interaktiewe Brokers. Die primêre oorwegings wanneer jy moet besluit op 'n taal insluit gehalte van die API, taal-wrapper beskikbaarheid vir 'n API, uitvoering frekwensie en die verwagte glip. Die kwaliteit van die API verwys na hoe goed gedokumenteer is dit, watter soort prestasie dit bied, of dit moet selfstandige sagteware te verkry of 'n poort vasgestel kan word in 'n onthoofde mode (dit wil sê geen GUI). In die geval van Interaktiewe Brokers, die Trader WorkStation instrument moet hardloop in 'n GUI omgewing ten einde toegang tot hul API. Een keer het ek 'n lessenaar Ubuntu uitgawe installeer op 'n wolk bediener Amazon toegang Interaktiewe Brokers afstand, suiwer vir hierdie rede waarom die meeste API sal 'n C en / of Java koppelvlak verskaf. Dit is gewoonlik tot die gemeenskap te taalspesifieke omhulsels vir C, Python, R, Excel en MatLab ontwikkel. Let daarop dat met elke bykomende plugin gebruik (veral API omhulsels) is daar ruimte vir foute insluip in die stelsel. toets altyd plugins van hierdie soort en verseker dat hulle aktief in stand gehou. 'N waardevolle meter is om te sien hoeveel nuwe updates vir 'n kodebasis is gemaak in die afgelope maande. Uitvoering frekwensie is van die uiterste belang in die uitvoering algoritme. Let daarop dat honderde bestellings elke minuut kan gestuur word en as sodanig prestasie is van kritieke belang. Glip aangegaan sal word deur middel van 'n erg-presterende uitvoering stelsel en dit sal 'n dramatiese impak op winsgewendheid het. Staties-getik tale (sien onder) soos C / Java is oor die algemeen 'n optimale vir uitvoering maar daar is 'n trade-off in die ontwikkeling tyd, toetsing en gemak van die onderhoud. Dinamiese-getik tale, soos Python en Perl is nou algemeen vinnig genoeg. Maak altyd seker dat die komponente is ontwerp om in 'n modulêre wyse (sien onder), sodat hulle kan omgeruil uit die stelsel skale. Argitektoniese beplanning en ontwikkelingsproses Die komponente van 'n handel stelsel, die frekwensie en volume vereistes wat hierbo bespreek is, maar stelsel infrastruktuur het nog gedek moet word. Diegene wat optree as 'n kleinhandel handelaar of besig om in 'n klein fonds sal waarskynlik dra baie regeer. Dit sal die finale implementering van die stelsel wat nodig is om te wees wat die alfa model, risikobestuur en uitvoering parameters wees, en ook. Voordat delf in spesifieke tale die ontwerp van 'n optimale stelsel argitektuur bespreek sal word. Skeiding van Kommer Een van die belangrikste besluite wat by die begin moet word, is hoe om die belange van 'n handel stelsel te skei. In die ontwikkeling van sagteware, beteken dit in wese hoe om op te breek die verskillende aspekte van die handel stelsel in aparte modulêre komponente. Deur bloot koppelvlakke by elk van die komponente is dit maklik om te ruil uit dele van die stelsel vir ander weergawes wat prestasie hulp, betroubaarheid of onderhoud, sonder om die wysiging enige eksterne afhanklikheid kode. Dit is die beste praktyk vir sulke stelsels. Vir strategieë teen laer frekwensies sulke praktyke word aangeraai. Vir ultra hoë frekwensie handel die reëlboek mag hê om dit te ignoreer ten koste van die opstel van die stelsel vir nog meer prestasie. 'N Meer styf gekoppel stelsel wat wenslik mag wees. Die skep van 'n komponent kaart van 'n algoritmiese handel stelsel is 'n artikel op sigself die moeite werd. Maar 'n optimale benadering is om seker te maak daar is afsonderlike komponente vir die historiese en real-time mark data insette, data stoor, toegang tot die inligting API, backtester, strategie parameters, portefeulje konstruksie, risikobestuur en outomatiese uitvoering stelsels. Byvoorbeeld, as die data stoor wat gebruik is tans onderpresteer, selfs teen beduidende vlakke van optimalisering, kan dit omgeruil met 'n minimale herskryf om die data inname of toegang data-API. Sover die as backtester en daaropvolgende komponente betref, is daar geen verskil. Nog 'n voordeel van vervreem komponente is dat dit kan 'n verskeidenheid van programmeertale wat gebruik word in die algehele stelsel. Daar is geen rede om te beperk tot 'n enkele taal as die kommunikasie metode van die komponente is taal onafhanklik. Dit sal die geval wees indien hulle kommunikeer via die TCP / IP, ZeroMQ of 'n ander taal-onafhanklike protokol. As 'n konkrete voorbeeld, kyk na die geval van 'n back testing stelsel in C vir verwerking van syfers prestasie geskryf, terwyl die portefeuljebestuurder en uitvoering stelsels in Python geskryf met behulp van Scipy en IBPy. Prestasie oorwegings prestasie is 'n belangrike oorweging vir die meeste handel strategieë. Vir hoër frekwensie strategieë is dit die belangrikste faktor. Prestasie dek 'n wye verskeidenheid van onderwerpe, soos algoritmiese uitvoering spoed, netwerk latency, bandwydte, data I / O, concurrency / parallelisme en skalering. Elkeen van hierdie gebiede word individueel gedek deur groot handboeke, so hierdie artikel sal net krap die oppervlak van elke onderwerp. Argitektuur en taalkeuse sal nou in terme van hul effek op prestasie bespreek word. Die heersende wysheid soos deur Donald Knuth. een van die vaders van Rekenaarwetenskap, is dat voortydige optimalisering is die wortel van alle kwaad. Dit is byna altyd die geval nie - behalwe wanneer die bou van 'n hoë frekwensie handel algoritme Vir diegene wat belangstel in die laer frekwensie strategieë is, 'n gemeenskaplike benadering is om 'n stelsel te bou in die eenvoudigste manier moontlik en net optimaliseer as knelpunte begin om te verskyn. Profilering gereedskap gebruik om te bepaal waar knelpunte ontstaan. Profiele gemaak kan word vir al die bogenoemde faktore, hetsy in 'n MS Windows of Linux-omgewing. Daar is baie bedryfstelsel en taal gereedskap wat beskikbaar is om dit te doen, sowel as nuts derde party. Taalkeuse sal nou in die konteks van prestasie bespreek word. C, Java, Python, R en MatLab bevat almal 'n hoë-prestasie biblioteke (hetsy as deel van hul standaard of ekstern) vir basiese datastrukture en algoritmiese werk. C skepe met die Standard Sjabloon Biblioteek, terwyl Python bevat Numpy / Scipy. Gemeenskaplike wiskundige take te vinde in hierdie biblioteke en dit is selde voordelig vir 'n nuwe implementering skryf. Een uitsondering is wanneer hoogs persoonlike hardeware argitektuur vereis en 'n algoritme maak uitgebreide gebruik van eiendom uitbreidings (soos persoonlike caches). Maar dikwels heruitvinding van die wiel afval tyd dat 'n beter bestee kan word ontwikkel en die optimalisering van ander dele van die handel infrastruktuur. Ontwikkeling tyd is uiters kosbare veral in die konteks van uitsluitlike ontwikkelaars. Latency is dikwels 'n kwessie van die uitvoering stelsel as die navorsing gereedskap gewoonlik op dieselfde masjien. Vir die eerste keer nie kan latency voorkom by verskeie plekke langs die uitvoering pad. Databasisse moet geraadpleeg word (skyf / netwerk latency), seine moet gegenereer word (bedryfstelsel firmas, kernal boodskappe latency), handel seine gestuur (NIC latency) en bestellings verwerk (ruil stelsels interne latency). Vir hoër frekwensie bedrywighede is dit nodig om intiem vertroud is met kernal optimalisering asook die optimalisering van die netwerk oordrag geword. Dit is 'n diep gebied en is aansienlik buite die bestek van die artikel, maar as 'n UHFT algoritme dan verlang bewus te wees van die diepte van kennis wat nodig is Caching is baie nuttig in die toolkit van 'n kwantitatiewe handel ontwikkelaar. Caching verwys na die konsep van die stoor gereeld besoek data op 'n wyse wat toegang hoër-prestasie kan, ten koste van die potensiële staleness van die data. 'N Algemene gebruik geval kom voor in die web-ontwikkeling by die neem van die data van 'n skyf gerugsteun relasionele databasis en sit dit in die geheue. Enige daaropvolgende versoeke vir die data het nie na die databasis en so prestasie winste kan beduidend wees getref. Vir handel situasies kan caching uiters voordelig wees. Byvoorbeeld, kan die huidige stand van 'n strategie portefeulje bewaar word in 'n kas totdat dit herbalanseer, sodanig dat die lys nie die geval is moet herskep op elke lus van die handel algoritme. Sulke wedergeboorte is geneig om 'n hoë CPU of skyf I / O werking wees. Maar kas is nie sonder sy eie sake. Herlewing van die kas data in 'n keer, as gevolg van die volatilie aard van die kas stoor, kan beduidende vraag op infrastruktuur te plaas. Nog 'n probleem is hond-hei. waar verskeie generasies van 'n nuwe kas kopie onder uiters hoë lading, wat lei tot mislukking waterval gedra. Dinamiese geheuetoekenning is 'n duur operasie in uitvoering sagteware. Dit is dus noodsaaklik vir hoër prestasie handel aansoeke om goed bewus wees hoe geheue word toegeken en deallocated tydens program vloei. Nuwer taal standaarde soos Java, C en Python al uit te voer outomatiese vullisverwydering. wat verwys na deallocation van dinamiese toegeken geheue wanneer voorwerpe uitgaan van omvang. Vullisverwydering is baie nuttig tydens ontwikkeling as dit verminder foute en hulpmiddels leesbaarheid. Dit is egter dikwels sub-optimale vir sekere hoë frekwensie handel strategieë. Custom vullisverwydering word dikwels verlang vir hierdie gevalle. In Java, byvoorbeeld deur tuning die vullis versamelaar en hoop opset, is dit moontlik om 'n hoë werkverrigting vir HFT strategieë te verkry. C nie die geval bied 'n boorling vullis versamelaar en daarom is dit nodig om al geheuetoekenning / deallocation hanteer as deel van 'n implementering voorwerpe. Terwyl potensieel vatbaar fout (potensieel lei tot hangend wysers) is dit baie nuttig om fyn beheer van hoe voorwerpe verskyn op die hoop vir sekere aansoeke het. By die keuse van 'n taal te verseker om te bestudeer hoe die vullis versamelaar werk en of dit kan verander word om te optimaliseer vir 'n spesifieke gebruik geval. Baie bedrywighede in algoritmiese handel stelsels is vatbaar vir Parallellisatie. Dit verwys na die konsep van die uitvoering van verskeie programmatiese bedrywighede op dieselfde tyd, d. w.z in parallel. Sogenaamde embarassingly parallelle algoritmes sluit stappe wat ten volle onafhanklik van ander stappe kan bereken word. Sekere statistiese bedrywighede, soos Monte Carlo simulasies, is 'n goeie voorbeeld van embarassingly parallelle algoritmes soos elke ewekansige trekking en daaropvolgende operasie pad kan bereken word sonder kennis van ander paaie. Ander algoritmes is slegs gedeeltelik parallelisable. Vloeidinamika simulasies is so 'n voorbeeld, waar die domein van berekening kan onderverdeel, maar uiteindelik hierdie domeine moet met mekaar en sodoende die bedrywighede is gedeeltelik opeenvolgende kommunikeer. Parallelisable algoritmes is onderhewig aan Amdahls wet. wat 'n teoretiese boonste limiet aan die prestasie verhoging van 'n parallelised algoritme toe onderhewig aan N aparte prosesse (bv op 'n CPU kern of draad). Parallellisatie het al hoe belangriker as 'n middel van die optimalisering geword sedert verwerker klok-spoed het gestagneer, soos nuwer verwerkers bevat baie kern waarmee parallel berekeninge uit te voer. Die opkoms van die verbruikers grafiese hardeware (predominently vir die video speletjies) het gelei tot die ontwikkeling van grafiese verwerking van eenhede (GPU), wat honderde kerne vir hoogs konkurrente bedrywighede bevat. Sulke GPU's is nou baie bekostigbaar. Hoë-vlak raamwerke, soos Nvidias CUDA het gelei tot wydverspreide aanvaarding in die akademie en finansies. Sulke GPU hardeware is oor die algemeen slegs geskik vir die navorsing aspek van kwantitatiewe finansies, terwyl ander meer gespesialiseerde hardeware (insluitend veldwerk-programmeerbare Gate Arrays - FPGAs) word gebruik vir (O) HFT. Tans is die meeste moderne langauges ondersteun 'n mate van concurrency / multi-threading. Dit is dus maklik om 'n backtester optimaliseer, aangesien alle berekeninge is oor die algemeen onafhanklik van die ander. Skalering in sagteware-ingenieurswese en bedrywighede verwys na die vermoë van die stelsel om konsekwent te verhoog vragte in die vorm van 'n groter versoeke, hoër gebruik verwerker en meer geheue toekenning te hanteer. In algoritmiese handel strategie is in staat om te skaal as dit groter hoeveelhede kapitaal kan aanvaar en steeds lewer konsekwente opbrengste. Die handel tegnologie stapel skale as dit groter handel volumes en verhoogde latency kan verduur, sonder Bottelnek. Terwyl stelsels moet ontwerp volgens skaal, is dit dikwels moeilik om vooraf te voorspel waar 'n bottelnek sal plaasvind. Wettisch meld, toetsing, profilering en monitering sal grootliks help in sodat 'n stelsel op skaal. Tale self dikwels beskryf as onbestygbare. Dit is gewoonlik die gevolg van verkeerde inligting, eerder as harde werklikheid. Dit is die totale tegnologie stapel wat gevolg moet word vasgestel vir scalability, nie die taal. Dit is duidelik dat sekere tale het 'n groter prestasie as ander in die besonder gebruik gevalle, maar een taal is nooit beter as 'n ander in elke sin. Een middel van die bestuur van skaal is kommer skei, soos hierbo genoem. Met die oog op die vermoë om spykers te hanteer in die stelsel (dit wil sê 'n skielike wisselvalligheid wat 'n reeks van bedrywe snellers) verder te voer, is dit nuttig om 'n boodskap toustaan ​​argitektuur te skep. Dit beteken eenvoudig die plasing van 'n boodskap tou stelsel tussen komponente sodat bestellings gestapel as 'n sekere komponent is nie in staat om baie versoeke te verwerk. Eerder as om versoeke verlore hulle is eenvoudig gehou in 'n stapel, totdat die boodskap hanteer. Dit is veral nuttig vir die stuur van ambagte 'n uitvoering enjin. As die enjin is wat ly onder swaar latency dan sal dit te staaf ambagte. 'N tou tussen die handel seingenerator en die uitvoering API sal hierdie kwessie te verlig ten koste van potensiële handel glip. 'N gerespekteerde open source boodskap tou makelaar is RabbitMQ. Hardeware en bedryfstelsels Die hardeware bestuur van jou strategie kan 'n beduidende impak op die winsgewendheid van jou algoritme het. Dit is nie 'n probleem beperk tot 'n hoë frekwensie handelaars nie. Michael Saal-Moore Mike is die stigter van QuantStart en is betrokke by die kwantitatiewe finansiële sektor vir die afgelope vyf jaar, in die eerste plek as 'n quant ontwikkelaar en later as 'n quant handelaar konsultasie vir verskansingsfondse.


No comments:

Post a Comment