Finansiële Trading Systems Design and Development met C Beskrywing 'n Volledige bloudruk vir die ontwerp en implementering van 'n state-of-the-art handel en risikobestuur stelsel verskaffing van 'n uiters toeganklike mengsel van goeie sagteware ontwerp, praktiese wiskundige modelle en today039s mees gebruikte sakepraktyke, hierdie boek arms jy met alles wat jy nodig het om 'n gesofistikeerde handel en risikobestuur stelsel geskik vir die meeste bateklasse te skep. Gurav Mengla, 'n top finansiële handel stelsel sagteware ontwerper, trek op sy jare se ondervinding by fx, HSBC en ander voorste finansiële instellings deur die kompleksiteit van handel stelsel ontwerp om te sny, wat jy beproefde oplossings vir feitlik alle tegniese uitdagings om outomatiese handel stelsel ontwerp en implementering. Gepak met gevallestudies en voorbeelde van bo finansiële instellings, wêreldwyd, kompleet met stelsel ontwerp besonderhede en bronkode Beklemtoon rekbaarheid, en scalability met strategieë vir die integrasie van nuwe modelle foutloos in bestaande stelsels Eienskappe omvattende dekking van die mees gebruikte finansiële modelle en mees algemene praktyke in die finansiële gemeenskap vandag Ondersoek daaglikse, weeklikse, maandelikse en jaarlikse verslagdoening substelsel wat risiko totaal ten alle organisatoriese vlakke van lessenaar departement afdeling vir die hele firma CD sluit waardevolle inligting en stelsel ontwerp besonderhede van die boek, insluitend C bron-kode en stelsel modelsshow meer produk besonderhede formaat Gemengde media produk 512 bladsye Dimensies 150 x 250mm 505g Publikasiedatum 9 November 2016 Uitgewer John Wiley amp Sons Inc publikasie Stad / Land New York, Verenigde State van Amerika taal Engels Isbn10 0471667706 Isbn13 9780471667704 verkope rang 993684 Mense wat hierdie gekoop het, koop ook ander boeke in Finansies ander boeke in hierdie reeks Welkom by 'n meer kleurvolle Book Depository soveel boeke wêreldwyd gratis aflewering vind en lief te hê soos altyd, met 'n nuwe logo, meer kleure, en soos altyd. Geniet ons nuwe webwerf Volg ons ondersoek hoe ons kan help om saam met ons belangrike dinge Ons aanvaar hierdie betaling metodes kopieer 2016 Die Boek Depot Ltd Verenigde Koninkryk. Geregistreerde maatskappy nommer: 5124926Building outomatiese handel stelsels, 1st Edition Sleutel kenmerke Leer finansiële ontwerp en ontwikkeling stelsel van die grond af met behulp van Microsoft Visual C 2005. Verskaf dekades van voorbeelde te illustreer die ontwikkeling benaderings in die hoofstukke in boeke word ondersteun deur screenshots, vergelykings, monster Excel sigblaaie, en programmeringskode beskrywing Oor die volgende paar jaar, sal die eiendom handel en hedge fund bedrywe hoofsaaklik migreer na outomatiese handel seleksie en uitvoering stelsels. Inderdaad, dit is reeds gebeur. Terwyl 'n paar finansies boeke verskaf C-kode vir pryse afgeleides en die verrigting van numeriese berekeninge, niemand nader aan die onderwerp van 'n stelsel ontwerp perspektief. Hierdie boek sal verdeel word in twee sectionsprogramming tegnieke en outomatiese handel stelsel (ATS) technologyand leer finansiële ontwerp stelsel en ontwikkeling van die absolute grond af met behulp van Microsoft Visual C 2005. MS Visual C 2005 is gekies as die taal implementering hoofsaaklik omdat die meeste firmas en groot banke het ontwikkel en voortgaan om hul eie algoritmes in ISO C ontwikkel en Visual C bied die grootste buigsaamheid vir die uitvoering van hierdie nalatenskap algoritmes in werkende stelsels. Verder is die raamwerk en ontwikkeling omgewing bied die beste biblioteke en gereedskap vir 'n vinnige ontwikkeling van handel stelsels. Die eerste gedeelte van die boek verduidelik Visual C 2005 in detail en fokus op die verlangde programme kennis vir outomatiese handel stelsel ontwikkeling, insluitend objekgeoriënteerde ontwerp, afgevaardigdes en gebeure, opsommingen, lukraakgetalgenerasie, tydsberekening en timer voorwerpe, en data bestuur met STL en versamelings. Verder, aangesien die meeste nalatenskap kode en modellering kode in die finansiële markte is gedoen in ISO C, hierdie boek lyk in diepte by verskeie gevorderde onderwerpe wat verband hou met beheer / onbeheerde / COM geheuebestuur en interoperabiliteit. Verder is hierdie boek bied dekades van voorbeelde te illustreer die gebruik van databasis konneksie met ADO en 'n uitgebreide behandeling van SQL en op te los en XML / FIXML. Gevorderde programmering onderwerpe soos threading, voetstukke, sowel as die gebruik van C aan te sluit op Excel word ook breedvoerig bespreek en deur voorbeelde. Die tweede gedeelte van die boek verduidelik tegnologiese probleme en ontwerpkonsepte vir outomatiese handel stelsels. Spesifiek, is hoofstukke gewy aan die hantering van real-time data voed, besturende bestellings in die uitruil bestelboek, posisie seleksie, en risikobestuur. 'N DLL is ingesluit in die boek wat verbinding met 'n wyd gebruik word bedryf API (Trading Technologies, Inc. s XTAPI) sal navolg en verskaf maniere om posisie en orde bestuur algoritmes te toets. Ontwerp patrone word vir die mark te neem stelsels wat gebaseer is op tegniese ontleding asook vir die mark maak stelsels met behulp van Intermarket versprei. Soos al die hoofstukke sentreer rondom rekenaarprogrammering vir finansiële ingenieurswese en handel stelsel ontwikkeling, sal hierdie boek op te voed handelaars, finansiële ingenieurs, kwantitatiewe analiste, studente van kwantitatiewe finansies en selfs ervare programmeerders op tegnologiese kwessies wat sentreer rondom die ontwikkeling van finansiële programme in 'n Microsoft omgewing en die konstruksie en implementering van real-time handel stelsels en gereedskap. Primêre gehoor: finansiële ingenieurs, kwantitatiewe analiste, programmeerders in kommersiële ondernemings gradueer studente in finansiële ingenieurswese en finansiële markte kursusse en programme. Benjamin Van Vliet Ben Van Vliet is 'n dosent aan die Illinois Institute of Technology (IIT), waar hy ook as mede-direkteur van die M. S. Finansiële markte program. Op IIT leer hy kursusse in kwantitatiewe finansies, C en ontwikkeling, en outomatiese handel stelsel ontwerp en ontwikkeling. Hy is vise-voorsitter van die Instituut vir mark Tegnologie, waar hy die voorsitter van die adviesraad vir die program Certified Trading System Ontwikkelaars (CTSD). Hy dien ook as reeks redakteur van die Financial Markets Tegnologie reeks vir Elsevier / Academic Press en konsulteer op groot skaal in die finansiële markte bedryf. Mnr Van Vliet is ook die skrywer van modellering Finansiële Markte met Robert Hendry (2003, McGraw Hill) en gebou outomatiese handel stelsels (2007 Academic Press. Daarbenewens het hy 'n paar artikels op die gebied van finansies en tegnologie gepubliseer, en het sy navorsing by verskeie akademiese en professionele konferensies. affiliasies en kundigheid Lektor in en die mede-direkteur van die Meesters in die finansiële markte Program, Stuart School of Business, Illinois Institute of Technology, VSA Onlangse PublicationTSL OUTOMATIES ontwerpe, TOETSE eN SKRYF handel stelsels en vereis geen ontwikkeling . Hou asseblief die 6 minute DEMO hIER raquo Oktober 2016 UPDATE:. 6 Oktober 2016: Verskeie nuwe Demos is bygevoeg om die Flash Demo bladsy hier: Gaan na die Flash Demo bladsy raquo Geniet TSL SAL by die Internasionale HANDELAARS Expo in Las WEES VEGAS 16-18 November, sal 2016 Mike Barna, president en stigter van Trading System Lab word gepraat by die 2016 Las Vegas Internasionale Handelaars Expo op 17 November en 18 Mike sal praat en gee lewe demos op TSL, EVORUN en DAS tydens verskeie geskeduleerde sessies. Daarbenewens ongeskeduleerde TSL demos, vergaderings en besprekingsgroepe sal regdeur die Expo gehou. Teks Mike by die Quick kontak telefoonnommer na regs as jy op die Expo en wil privaat met Mike te praat, word deel van 'n klein groepie, of as jy wil 'n spesifieke kenmerke van TSL sien tydens enige van die sessie lesings en demos. Dit is die groot handel geleentheid van die jaar en jy moet dit nie misloop nie. Registrasie is gratis. Die skakel is hier: Gaan na die Las Vegas Internasionale Handelaars Expo 2016 raquo TSL is bly om die vrylating van DAS bekend te maak: TSL is maklik om te gebruik, maar DAS neem gemak na 'n ander vlak. DAS gaan verder EVORUN deur 'n hoër vlak van beheer oor die outomatiese ontwerp choreografie plaasvind tussen die Lineêre Outomatiese van masjienkode met genetiese programmering enjin en die Geïntegreerde Trading Simulasie roetines inherent in TSL. DAS kan die menslike gebruiker om die effek van verskillende handel kriteria baie vinniger as voorheen met 'n direkte beheer oor die motor tydens Design Time evalueer. DAS wedervaringe die Alfa genereer vermoëns van die TSL-kode skryf enjin op 'n vlak wat voorheen onuitvoerbaar was. Die gebruik van DAS, kan gebruikers nou rig en lei die aanloop, in Design Time, tydens die ontwerp run, nie net die aanloop instel en dan die uitvoering van die vlug. EVORUN bied die gebruiker met 'n outomatiese multi-joernaal run meganisme wat toelaat vir 'n langer termyn wat baie handel en simulasie variante tydens die aanloop tot ondersoek egter DAS verbind die menslike ontwerper met die ontwerp enjin toelaat vir 'n groot verskeidenheid van onmiddellike wat if scenario's om ontdek te word. Die konseptuele deurbraak van TSLs DAS is beide kreatiewe en uniek in hierdie besigheid en bied die gebruiker met alfa ontwerp en produksie vermoëns wat ons net kon droom oor 'n paar jaar gelede, sê TSLs voorsitter, Michael Barna. Die plan is nou dat DAS amptelik vrygestel sal word aan kliënte voor of op die November Internasionale Handelaars Expo in Las Vegas waar TSL sal gee 'n paar aanbiedings oor TSL, EVORUN en DAS. Nuwe DAS video's kan gevind word hier-Demo 57 en 58: Gaan na die DAS Flash Demo raquo Super Buffer Update: Binne die gepatenteerde LAIMGP Trading Systems vir implementering tydens die aanloop gestoor. Voorheen, 30 Beste Trading System Programme sal beskikbaar gestel word vir implementering gemaak wanneer die aanloop beëindig. TSL toegeneem hierdie Beste Trading Systems Program buffer 300. Dus, kan 'n gebruiker te kies uit 'n veel groter lys van handel stelsels wanneer die aanloop beëindig. Hierdie verhoogde Buffer sal beskikbaar wees vir Basiese lopies EVORUN en DAS wees. Asseblief hieronder lees vir inligting oor DAS. In die huidige Junie 2016 verslag, TSL bly aan die bokant van die lys van handel stelsels geëvalueer eensaam Data per Futures Waarheid. TSL het die 1 en 2 Bond System, 2 van die Top 10 Emini SP Systems, die 1 Natural Gas System, die 1 stelsel sedert Release Datum en en 2 van die Top 10 Systems Sedert Vrystellingsdatum, en hierdie stelsels is Machine Ontwerp, nie menslike Ontwerp so vroeg as 2007 Futures Waarheid is 'n GTA, het 'n personeel van Trading System ontwerpers, liedjies meer as 700 met meer as 80 wêreldwye Trading Strategie kwantitatiewe voorgelê Trading System mark-modelle en is die dop Trading Systems sedert 1985. TSLs kliënte wissel van beginner tot PhD Quant. Einde van die dag (EOD) handel stelsels is die eenvoudigste en vinnigste om Masjienontwerp. Selfs in 'n portefeulje van baie markte, die TSL enjin self-ontwerpe handel stelsels op 'n baie hoë tempo te danke aan gepatenteerde registreer GP manipulasies en 'n hoë spoed simulasie, fiksheid en vertaling algoritmes. Ons GP tegnologie is goed gedokumenteer in die voorste universiteit handboek oor genetiese programmering geskryf deur een van TSLs vennote, Frank Francone. Veral belangrik is die feit dat nog, na 8 jaar van eensaam Data onafhanklike toets en gradering, TSL masjien ontwerp Trading Algoritmes beset meer topprestasie graderings as enige ander ontwikkeling maatskappy - 5 van die Top 10 sedert Vrystellingsdatum, 3 van die Top 10 stelsels vir die afgelope 12 maande, en 2 van die Top 10 Emini SP stelsels. Einde van die dag handel stelsels is baie gewild, maar intraday handel stelsels 'n beroep op die meer risiko nadelige handelaars en belangstelling in korter termyn handel stelsels het toegeneem in die afgelope maande. Miskien as gevolg van die kommer vir hoër rentekoerse, energie en kommoditeitsprysrisiko in duie stort, geopolitieke onsekerheid, terrorisme, of die onlangse markonbestendigheid, baie handelaars is minder bereid is om posisies oornag hou. Die logika hier is dat met oornag risiko, die mate van blootstelling en gevolglik is die kans vir hoër onttrekkings verhoog. Natuurlik, kan intraday wisselvalligheid in duie stort of uit te brei, wat lei tot gedempte opbrengs of wesenlike risiko sowel, veral vir die rigting kort termyn handelaar. Nietemin, nie oornag met 'n handel posisie het wel 'n groot deel van die appèl, veral as handel koste kan beheer en handel stelsel alfa produksie is voldoende. TSL het 'n groot verskeidenheid van dag handel funksies, insluitende korttermyn fiksheid Funksies, preprocessors en Daytrading spesifieke Trading tipes. TSL masjien gebruikers kan die handel frekwensie, gemiddelde handel doelwitte, handel tye, drawdown teikens, en 'n gasheer van ander ontwerp doelwitte te kies. Daarbenewens is insette instellings vir TradeStation en MultiCharts uitgevoerde toelaat vir maklike invoer om hierdie platforms. TSL is bly om aan te kondig dat CSI kommoditeit Systems, Inc. En TSL 'n ooreenkoms te lewer aan ons kliënte 'n portefeulje van die kommoditeit data, spesifiek ontwerp vir TSL masjien Leer gevorm het. Om hierdie data 'n CSI data inskrywing vereis word. Geen ander verskaffer bied hierdie spesifiek ontwerp data. Dit daaglikse data sal toelaat vir beter Trading Strategie ontwerp met behulp van TSL en is die resultaat van baie jare van navorsing en ontwikkeling van vereistes data. Sonder behoorlike data, robuuste Trading Strategie ontwerpe is baie moeilik om te bereik. Hierdie data portefeuljes afgelaai en geïnstalleer as deel van die CSI data aansoek. Helper lêers soos. DOPs en Attributes. INI lêers gemonteerd deur TSL om voorsiening te maak vir 'n maklike data invoer in TradeStation. Ander platforms wat ASCII kan lees, Meta of CSI prys data kan hierdie data sowel vir gebruik met TSL laai. Kontak TSL om meer oor hierdie nuwe Trading System ontwerp data te leer. CSI het getoon dat die mees akkurate kommoditeit data beskikbaar te hê. Gaan na die CSI data verslag raquo Vir diegene van ons wat daar woon en werk in Silicon Valley, TSL borg 'n Meetup groep vir mense wat belangstel in masjienleer toegepas handel strategieë waar ons sal ondersoek die verskillende programme en veranderinge van die TSL platform. Jy kan hier inteken en ontmoet ander handel professionele mense wat werk met TSL en masjienleer tegnologie. Sluit Silicon Valley masjien Leer vir handel strategieë Meetup Groep raquo TSL is bly om TSL Weergawe 1.3.2 Portefeuljes, pare en Options en die jongste 2015 bou vir interne mark rigting Systems vry te stel. Kontak ons vir meer inligting oor hierdie jongste bou wat fokus op directional, lank of kort, daytrading, fiksheid API's en nuwe inskrywing, risiko en uitgang funksies. Die nuutste Futures Waarheid verslae steeds wys TSL masjien Leer ontwerp handel strategieë top rated op eensaam Data 7 jaar ná hul ontwerpe is gevries en vrygestel vir onafhanklike dop wat dui op robuustheid in die toekoms vir hierdie TSL masjien ontwerp strategieë. Quant SYSTEMS LAB UPDATE: TSL bly die belangrikste platform van keuse vir die professionele en professioneel handelaar. Quant Systems Lab, is egter 'n hoë einde, institusionele vlak masjienleer platform offer funksies meer geskik is vir die gevorderde Quant programmeerder wat gereeld gebruik 'n verskeidenheid van API's en programmering ontwikkeling tale en omgewings. QSLs funksies nie gevind in enige ander handel strategie ontwikkeling platform in die wêreld. QSL sluit ook al die ryk ontwikkeling funksies in die basis TSL platform. QSL is tans onder ontwikkeling. RML en TSL is aktief op soek na vennootskappe met instellings wat mag wil hierdie ontwikkeling en toepassing omgewing te stuur in 'n rigting wat geskik is vir hul doelwitte is en begeertes met betrekking tot handel benadering, navorsing en ontwikkeling en omgewings implementering. Dit is 'n goeie tyd om jou eie behoeftes te spuit op die volgende golf in masjienleer toegepas Trading Strategie ontwerp. Kontak TSL of RML direk vir meer inligting oor hierdie unieke en opwindende nuwe ontwikkeling. TSL is 'n masjien Leer algoritme wat outomaties skryf Trading Systems en die handel stelsels geskep deur hierdie masjien is top rated deur Futures Waarheid en geëvalueer op eensaam Data. Geen programmering word vereis. Geen ander Trading System instrument in die wêreld het hierdie vlak van prestasie bereik. TSL is 'n merkwaardige platform gegewe die feit dat die handel stelsels deur die TSL masjien ontwerp meer as 7 jaar gelede is nog steeds top rated deur Futures Waarheid. TSL gebruik van 'n Gepatenteerde outomatiese Induksie van masjienkode met genetiese programmering enjin in staat 'n baie hoë spoed en TSL produseer produksie kode, vermindering of uitskakeling van die behoefte vir handel stelsel ontwikkeling pogings en tegniese ontleding kundigheid. Die Uitvoerende Kort en demo hieronder geleë sal jy 'n oorsig van hierdie kragtige handel strategie produksie instrument gee. Dit is belangrik om daarop te let dat TSL ontwerp 'n onbeperkte aantal van handel strategieë op 'n mark, enige tyd, dag handel of einde van die dag, sowel as portefeuljes, pare en opsies, weer, met geen ontwikkeling vereis. Kliënte wissel van beginners tot PhD-vlak Quant navorsers en ontwikkelaars, plaaslike en internasionale, sowel as GTA's / opdragte vir onteigening, verskansingsfondse en Prop winkels. Nou, met 7 jaar ondervinding bedien handel kliënte, TSL het 'n hoë vlak van ervaring in masjienleer verkry soos toegepas op handel stelsels. TSL bied een-tot-een opleiding en konsultasie teen geen ekstra koste aan kliënte, om te help verseker kliënte uit die TSL enjin kry die meeste. A ent na die ander 6 minute TSL ontwerp van 'n Emini stelsel is hier beskikbaar: Kyk na die TSL Uitvoerende Opdrag: raquo Na 7 jaar van derde toets partytjie op eensaam data, die mees ekstreme vorm van vorentoe toets, TSL masjien ontwerp Trading Systems steeds beset 4 van die top 10 handel strategieë sedert Vrystellingsdatum as nagespoor deur Futures Waarheid insluitend die 1 stelsel sedert Release date, 2 van die Top 10 Systems vir die afgelope 12 maande, en 2 van die Top 10 Emini SP Systems. Hierdie oop-kode stelsels is ontwerp deur die TSL masjien met geen ontwikkeling vereis. Let op hierdie ES stelsels is ontwerp om op die volle grootte SP 500 Futures data, nie die Emini SP Futures Data, maar is steeds nagespoor en gegradeerde op ES data dat hulle nie ontwerp op oorspronklik, in 2007. Gaan na die Futures Waarheid webwerf raquo Bykomende historiese verslae te vinde in Toekomsstudie Waarhede historiese verslae asook in TSL aanbieding materiaal. Gaan na verlede Futures Waarheid Verslag Opsomming raquo Lees die private mening brief van Futures Waarheid en ander ontwikkelaars en handelaars hier: Gaan na die Futures Waarheid Kommentaar Brief raquo Trading System Lab verminder die kompleksiteit van die saak strategie ontwerp neer op 'n paar instellings en muis klik, spaar tyd, geld en ontwikkeling. Dit Self Ontwerp Trading Strategie Algoritme gebruik van 'n gevorderde, gepatenteer, registreer gebaseer Genetiese Program (moet nie verwar word met 'n genetiese algoritme) wat beskikbaar is nêrens anders in die wêreld. Hierdie masjien ontwerp handel strategieë gebly robuuste deur die uiterste finansiële ineenstorting jaar en die daaropvolgende herstel. Dit paradigmaskuif het getoon dat 'n behoorlik gekies en ontwikkel masjienleer algoritme outomaties kan ontwerp robuuste handel strategieë. Die LAIMGP is ontwikkel deur RML Technologies, Inc en die simulasie, Preprocessing, vertaal, fiksheid roetines en integrasie is tot stand gebring deur Trading System Lab (TSL). TSL lisensies die volledige pakket aan individue, eiendom firmas en verskansingsfondse. Vir wysig jou data, hardloop die gevorderde genetiese program en dan implementeer om jou verhandelingsplatform. Ons demo hierdie proses in 'n eenvoudige 6 minute flits demo beskikbaar in die onderstaande skakel. Alle TSL handel strategieë word uitgevoer vanaf die masjien ten volle bekend gemaak in 'n oop-kode. TSL strategieë derde prestasie partytjie gegradeerde op eensaam data nie. Argumente ten opsigte van die gebruik van Out of monster (OOS) data is oor die algemeen gesentreer rondom die moontlike accidential gebruik van hierdie uitgehou data in die ontwikkeling proses afdeling. As dit gebeur, dan is die blinde data nie meer blind, dit is beskadig. Om hierdie moontlikheid uit te skakel, TSL voorgelê masjien ontwerp strategieë vir die toets op eensaam Data. Wat dit beteken is dat die strategie prestasiemeting kom in die toekoms. Sedert die uitgehou data bestaan nie wanneer die strategieë ontwerp, daar is geen manier dat hierdie evaluering data per ongeluk gebruik kan word in die ontwikkelingsproses. Strategieë wat deur die TSL masjien is op eensaam Data getoets deur die onafhanklike derde party, Futures Waarheid en is top rated, klop die meeste ander mens of Handmatig ontwerp Trading Systems. NUWE Hier is hoe jy gebruik TSL ontwikkel stelsels in 'n C of C OMS / EBW: Kyk na die TSL C Opdrag: raquo Vir dié van julle wat die LinkedIn outomatiese handel strategieë Groep Webinar deur Trading System Lab getiteld gemis: wat ontwerp BETER handel strategieë 'n mens of 'n masjien wat jy kan dit hier aflaai: laai die TSL Webinar: raquo die vrye tyd verby is vir die nuwe Kindle Book bevat ons artikel getiteld: Machine Ontwerp Trading Systems, maar jy kan hier afgelaai hierdie goedkoop Kindle Book: laai die Kindle Book raquo TSL is nou amptelik op die Silicon Valley Kaart. Silicon Valley Kaart en TSL plek (6 oclock posisie) raquo TSL is 'n masjien wat algoritmes ontwerp, vorentoe loop, backtests, multi lopies, EVORUNS en uitvoer-kode in 'n verskeidenheid van tale. Sover vorentoe robuustheid, TSL hou talle top posisies met masjien ontwerp handel algoritmes soos gerapporteer deur die onafhanklike verslagdoenende maatskappy, Futures Waarheid. Hierdie (masjien ontwerp) stelsels buite verrig, in vorentoe loop, die meeste of al die ander (hand ontwerp) nagespoor stelsels, en sluit glip en kommissie in die toets. (Sien hieronder verwysings) Die paradigmaskuif is dat hierdie stelsels is ontwerp deur 'n masjien, nie 'n mens, en die TSL masjien ontwerp miljoene stelsels teen 'n baie hoë tariewe met behulp van 'n gevorderde, eksklusiewe, gepatenteerde algoritme (LAIMGP), spesifiek ontwerp om outomaties ontwerp handel stelsels. Handelaars met geen programming ervaring kan die TSL platform hardloop, produseer die handel algoritmes en sit hulle in 'n verskeidenheid van handel platforms, insluitend TradeStation, MultiCharts en gespesialiseerde OMS / OBS. Programmeerders en kwantitatiewe kan selfs meer gevorderde werk te volbring sedert die Terminal stelle is volledig aanpas. TSL in staat is om die gebruik van multi-data DNA binne sy preprocessors. Sien Demo 48 waar ons gebruik die CBOE Volatiliteit Index (VIX) om Masjienontwerp n Emini SP Trading System. Hierdie tipe van ontwerp werk is maklik om te bereik in TSL sedert die voorverwerker is heeltemal te pas met jou unieke patrone en aanwysers in 'n enkele of veelvuldige datastroom ontwerp. Verbeterde preprocessors het getoon dat 'n bykomende hupstoot te Trading System prestasie bied. TSL bied nou 'n BLOX vertaler. Kontak ons of Darryl Tremelling by Voyager Trading vir meer besonderhede. Hoe het die TSL sagteware wat sagteware masjien skryf uit-ontwerp ander menslike voorleggings aan FT met geen ontwikkeling vereis Hoe masjien ontwerp Trading Systems eintlik werk Ons ontwikkeling chronologie is goed gedek in ons Witskrifte en Flash Demo beskikbaar op die TSL webwerf. Die Linkden outomatiese handel strategieë webinar kan hier gevind word: Gaan na die LinkedIn Webinar raquo die 2015 OUANTLABS webinar kan hier gevind word: Gaan na die 2015 QUANTLABS webinar raquo die 2014 OUANTLABS webinar kan hier gevind word: Gaan na die 2014 QUANTLABS webinar raquo Wat is die optimum Bar Grootte 100 bosluis, 15 minute handel, daagliks. TSLs nuwe EVORUN module laat strategieë om Machine Ontwerp wees terwyl iterating oor Bar Grootte, Handel Tipe, Preprocessor, Trading Frekwensie en fiksheid funksie in een multirun. EVORUN en TSL Weergawe 1.3 Demos 51 en 52 is nou beskikbaar hier: Gaan na TSL Demos raquo ALLE TSL strategieë volledig geopenbaar in 'n oop KODE. Wil 'n boek OP DIE TSL GENETIESE PROGRAM Frank Francone mede-outeur van die Universiteit handboek Genetiese Programmering lees: An Introduction (Die Morgan Kaufman Reeks in Kunsmatige Intelligensie). TSL het verskeie HFT projekte aan die gang op verskeie colocated bedieners naby ruil bypassende enjins. TSL masjien ontwerp strategieë kan ontplooi word op bestelboek gebaseerde data of sub-sekonde bars. Sien Demo 50. Kontak TSL vir meer inligting. Die gebruik van OneMarketData, TSL kan Auto-ontwerp High Frequency handel strategieë. Demo 50 toon 'n voorbeeld gebruik van 250 millisekonde korrelig Bestel Book Data geskep met behulp van OneMarketDatas OneTick Kompleks Event Processing Bestel Boek aggregator. TSL is 'n stogastiese, evolusionêre, multirun, Trading Strategie autodesigner wat in 'n verskeidenheid van tale produseer en uitvoer draagbare kode. Dit is 'n volledige een ent na die Trading System ontwerp platform en sal autodesign High Frequency Trading Systems, Dag Trading, EOD, pare, portefeuljes en Options Trading Systems in 'n paar minute met geen ontwikkeling. Sien Tesisse, Witskrifte, PPT Aanbiedings en ander dokumentasie onder die letterkunde Link aan die linkerkant. Kyk na die Flash Demo aan die linkerkant vir 'n volledige inligtingsessie oor die nuwe tegnologie. Die TSL platform produseer masjien ontwerp, handel strategieë op ultra hoë tariewe te danke aan vlak evaluerings te registreer. Geen ander handel strategie ontwikkeling platform op die mark bied hierdie vlak van elektrisiteit. Die LAIMGP-Genetiese Program binne TSL is een van die mees kragtige algoritmes wat vandag beskikbaar is en bedryf teen 'n tempo vinniger as mededingende algoritmes. Met TSL, is handel stelsels en kode geskryf vir jou in tale, insluitend C, Java, Assembler, EasyLanguage, en ander deur vertalers. Frank Francone, president van RML Technologies, Inc 'n flits demo getiteld Genetiese Programmering vir voorspellende modelle voorberei. RML produseer die Discipulus Genetiese Programmering enjin wat gebruik word binne TSL. Hierdie handleiding is 'n uitstekende manier om te leer oor Discipulus en sal 'n basis te voorsien vir u volgehoue begrip van TSLs Auto-ontwerp van Trading System paradigmaskuif. TSL vergemaklik die data invoer, preprocessing en ontwerp van handel stelsels met behulp van Trading System prestasie as fiksheid. Maak seker dat jy die TSL demos kyk as die TSL platform spesifiek geteiken vir Trading System ontwerp. Laai die Discipulus handleiding raquo Die tegnologie wat gebruik word in Trading System Lab is 60 tot 200 keer vinniger as ander algoritmes. Sien Witskrifte oor spoed studies aan SAIC hier: Gaan na witskrifte raquo Phone: 1-408-356-1800 E-pos: (beskerm) Beste 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. 'N swak keuse in hardeware en bedryfstelsel kan lei tot 'n masjien crash of herlaai op die mees ongeleë oomblik. Dit is dus nodig om te oorweeg waar jou aansoek sal woon. Die keuse is oor die algemeen tussen 'n persoonlike lessenaar masjien, 'n afgeleë bediener, 'n wolk verskaffer of 'n ruil mede-geleë bediener. Desktop masjiene is maklik om te installeer en te administreer, veral met nuwer use bedryfstelsels soos Windows 08/07, Mac OSX en Ubuntu. Lessenaar stelsels te doen in besit te neem 'n paar belangrike nadele egter. Die eerste is dat die weergawes van bedryfstelsels ontwerp vir desktop masjiene is geneig om te herselflaai benodig / lap (en dikwels op die slegste tye). Hulle gebruik ook meer computational hulpbronne deur die hoofde van wat 'n grafiese gebruikerskoppelvlak (GUI). Benutting hardeware in 'n huis (of plaaslike kantoor) omgewing kan lei tot die internet konneksie en krag uptime probleme. Die grootste voordeel van 'n lessenaar stelsel is dat beduidende computational perdekrag kan gekoop word vir die fraksie van die koste van 'n afgeleë dedicated server (of wolk-gebaseerde stelsel) van vergelykbare spoed. 'N dedicated server of wolk-gebaseerde masjien, terwyl dikwels duurder as 'n lessenaar opsie, maak voorsiening vir meer betekenisvol ontslag infrastruktuur, soos outomatiese data rugsteun, die vermoë om meer reguit te verseker uptime en afgeleë monitering. Hulle is moeiliker om te administreer, aangesien hulle die vermoë om afgeleë login vermoëns van die bedryfstelsel gebruik vereis. In Windows is dit oor die algemeen deur die GUI Afstandwerkskerm protokol (RDP). In Unix-gebaseerde stelsels Veilige die opdrag-lyn skil (SSH) is gebruik. Unix-gebaseerde bediener infrastruktuur is byna altyd command-line gebaseer wat onmiddellik lewer-GUI gebaseer programmeringshulpmiddels (soos Matlab of Excel) te onbruikbaar wees. 'N mede-geleë bediener, as die frase gebruik word in die finansiële markte, is bloot 'n toegewyde bediener wat woonagtig is in 'n ruil ten einde latency van die handel algoritme te verminder. Dit is absoluut noodsaaklik vir sekere hoë frekwensie handel strategieë, wat staatmaak op 'n lae latency om alfa genereer. Die finale aspek hardeware keuse en die keuse van programmeertaal is platform-onafhanklikheid. Is daar 'n behoefte aan die kode uit te voer oor verskeie verskillende bedryfstelsels Is die kode wat ontwerp is om te loop op 'n spesifieke tipe verwerker argitektuur, soos die Intel x86 / x64 of sal dit moontlik om uit te voer op RISC verwerkers wees soos dié vervaardig deur ARM sal hierdie kwessies hoogs afhanklik van die frekwensie en tipe strategie geïmplementeer word. Veerkragtigheid en toetsing Een van die beste maniere om 'n klomp geld op algoritmiese handel verloor is om 'n stelsel te skep met geen veerkragtigheid. Dit verwys na die duursaamheid van die stelsel word wanneer onderhewig aan seldsame gebeurtenisse, soos makelaars bankrotskappe, skielike oortollige wisselvalligheid, streek-wye stilstand vir 'n wolk bediener verskaffer of die toevallige skrap van 'n hele handel databasis. Jaar van winste uitgeskakel kan word binne sekondes met 'n swak ontwerpte argitektuur. Dit is absoluut noodsaaklik om kwessies soos debuggng, toets, aan te meld, rugsteun, hoë-beskikbaarheid en monitering as kernkomponente van jou stelsel te oorweeg. Dit is waarskynlik dat in enige redelik ingewikkeld persoonlike kwantitatiewe handel aansoek ten minste 50 van die ontwikkeling tyd sal bestee word aan ontfouting, toetsing en onderhoud. Byna alle programmeringstale óf skip met 'n gepaardgaande debugger of besit gerespekteerde derde party alternatiewe. In wese is, 'n debugger laat uitvoering van 'n program met invoeging van arbitrêre breek punte in die kode pad, wat uitvoering tydelik te staak ten einde die toestand van die stelsel te ondersoek. Die grootste voordeel van debugging is dat dit moontlik is om die gedrag van die kode voor te ondersoek om 'n bekende ongeluk punt. Ontfouting is 'n noodsaaklike komponent in die toolbox vir die ontleding van programmering foute. Tog is dit meer algemeen gebruik word in saamgestel tale soos C of Java, as dit vertaal word tale soos Python is dikwels makliker om te ontfout weens minder LOC en minder uitgebreide verklarings. 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.
Comments
Post a Comment