Saturday, October 8, 2016

Trading stelsel ontwikkeling natuurlik

Hoe om 'n wen Trading stelsel wat jy Audio Program Kry al die voordele van Dr Van Tharps jaar van modellering handelaars en sy navorsing oor hoe winsgewend handel stelsels is ontwikkel Pas ontwikkel. Sy gevolgtrekking uit hierdie navorsing is dat die gemiddelde persoon nie die geval is 'n kans op winsgewende handel omdat hy of sy fokus op al die verkeerde dinge. Jy sal nie hierdie inligting kyk na die finansiële nuus te leer, lees finansiële tydskrifte, of lees die hoofstroom finansiële koerante, omdat die media heeltemal die belangrikste aspekte van die stelsel ontwikkeling sal ignoreer. Hierdie program help om te bepaal watter tipe van handel stelsel sal jou persoonlik en hoe om dit te skep pas. Hier is min bekende, goed behou geheime wat nie gepubliseer in boeke en dat julle nie geneig om te vind nie, tensy jy per ongeluk stamp teen hulle. Wat is ingesluit in die Audio Program Hierdie program het 20 klank-CD's: 11 CD's van nuwer materiaal en 9-CD's uit die klassieke huis studie kursus wat inligting nie meer geleer in ons werkswinkel Systems Development. Hierdie audio program is live opgeneem uit twee afsonderlike werkswinkels. Dit bevat 'n volledige drie-dag werkswinkel uitsluitlik geleer deur Dr Van Tharp en dek bietjie bekend geheime vir die ontwikkeling van persoonlike, wen handel stelsels. Dit is tydlose inligting en daarom is dit is nie gekoppel aan 'n bepaalde mark of tydraamwerk. Ons behou ook afdelings van die oorspronklike ontwikkeling stelsels opname van jare terug, want hierdie oorspronklike artikel bevat materiaal wat nie meer in die werkswinkels gedek en kan slegs gevind word op hierdie klank program. Baie van ons kliënte luister na hierdie CD's oor en oor en oor weer net aan al die subtiele besonderhede hulle soms mis op die vorige resensies kry. Materiaal bedek sluit die sielkundige slaggate van stelsel ontwikkeling, verstaan ​​dat jy net jou oortuigings te handel oor die mark en nie die mark self, en sleutelkonsepte van stelsel ontwikkeling insluitend 'n paar van Dr. Tharps handelsmerk conceptsmdashexpectancy, R-veelvoude, System Kwaliteit Numberreg telling en posisie sizing strategieë. Jy sal leer handel konsepte wat eintlik werk in gebiede soos tendens volg, orkes handel, waarde handel, geestelike scenario handel, seisoenale neigings, verspreiding handel en arbitrage. En vele ander dinge, sal hierdie program kan jy vertroud te maak met die belangrikste dele van 'n stelsel, gee jy 'n goeie voorbeeld van elke deel, en jou help om toepaslike setups te ontwikkel, en 'n toepaslike inskrywing en stop verlies. Die huis studie kursus sluit ook 'n omvattende 340 bladsy handleiding wat optree as 'n gids, 'n werkboek en 'n instrukteur deur jou stelsel gebou reis. Om jou te vergewis van die sielkundige slaggate van stelsel ontwikkeling. Op die heel minste, sy noodsaaklik dat jy verstaan ​​dat jy net jou oortuigings te handel oor die mark, nie die mark self. Om jou te help die sleutelkonsepte en stappe in stelselontwikkeling, insluitend verwagting, R-veelvoude, kwaliteit stelsel en posisie sizing strategieë te verstaan. Om jou te help die krag van doelwitte en hoe doelwitte beïnvloed jou resultate te verstaan, om te gee jy die praktyk Strategie met 'n paar doelwitte in ons simulasies, en om jou te help verstaan ​​wat gevra word van doelwitte stelsel ontwikkeling. As jy die krag en belangrikheid van doelwitte te verstaan ​​en te gebruik hierdie soort Strategie om hulle te ontmoet, sal jou hele benadering tot stelselontwikkeling verander. Om jou te help sommige van die sleutelkonsepte wat jy kan handel wat eintlik werk verstaan: Trend volgende, veral tendense gebaseer op fundamentele faktore. Band handel. Waarde handel waar waarde is gedefinieer as die aankoop van dinge op die pennies op die dollar. Geestelike scenario handel. Seisoenale neigings wanneer dit is quotrealquot en nie statistiese abnormaliteite. Verspreiding handel en arbitrage. Om jou te help R definieer in jou handel en toepaslike setups, inskrywing, en 'n stop verlies te ontwikkel. Om jou te vergewis van die belangrikste dele van 'n stelsel en gee jou 'n goeie voorbeeld van elke deel. Om jou te help besluit watter kriteria wat jy mag hê om te voldoen voordat jy bereid is om 'n stelsel handel is. Hierdie gaan word wat gebaseer is op jou eie waardes, nie iemand elses. Om jou meer vertroud is met die sleutel tot die vergadering van jou objectivesposition grootte strategiesso dat jy 'n goeie kans om aan jou doelwitte te maak. Om jou te leer hoe om te bepaal die kwaliteit van jou stelsel is of dit 'n Forex dag handel stelsel of 'n voorraad waarde te belê stelsel. Watter soort Trader Is Jy Is jy 'n lae-risiko belegger wat net wil klein, konsekwent wins maak elke maand met net 'n geleentheid verlies Leer hoe om 'n stelsel wat jou sal toelaat om 'n unieke metode wat jy daardie soort sal gee te ontwikkel ontwikkel van konsekwentheid Is jy 'n gutsy handelaar whod graag jaarlikse wins van 100, 200 of selfs 1000 per jaar dit is moontlik te maak, hoewel riskant, en jy kan leer dat ook. Die interessante ding is dat jy dit kan doen in so 'n manier dat die enigste geld wat jy gevaar is die geld youve reeds uit die mark. Dis werklik hefboom Slegs sowat 5 van die wêreld se handelaars en 10 van die wêreld se beleggers, konsekwent maak groot geld. Wat hierdie wenners doen is nie kompleks. Trouens, eenvoud is een van die sleutels tot die maak van geld. En wat jy kan doen dit ook Ive geskoei hierdie proses en kan jy leer hoe om jou eie handel stelsel wat jou eie styl van die saak pas ontwikkel. Hoekom my eie stelsel ontwikkel Isnt dit makliker om net te gaan koop 'n stelsel met bewese resultate Daar is honderde, indien nie duisende, van handel stelsels wat werk. Maar die meeste mense, na die aankoop van 'n pre-bestaande stelsel, sal nie die stelsel te volg en handel dit presies soos dit bedoel is. Hoekom nie omdat die stelsel nie die geval hulle of hul styl van handel te pas. Een van die grootste geheime van suksesvolle handel is die vind van 'n handel stelsel wat jou pas. Trouens, Jack Schwager, nadat onderhoude met genoeg mark towenaars twee boeke skryf, die gevolgtrekking gekom dat die belangrikste kenmerk van alle goeie handelaars was dat hulle 'n stelsel of metode wat reg was vir hulle gevind het. Wanneer iemand anders ontwikkel 'n stelsel vir jou, jy nie weet wat vooroordele wat hulle mag hê. Maar as jy jou eie stelsel ontwikkel, sal dit versoenbaar is met jou eie oortuigings, doelwitte, persoonlikheid en rande wees. En wat sal maak dit baie makliker vir jou om handel te dryf. Verder is die meeste van die stelsel ontwikkeling sagteware wat tans beskikbaar is bevorder handel vooroordele wat nadelig is vir algehele handel sukses kan wees. Die meeste stelsel ontwikkeling sagteware is ontwerp omdat mense wil in staat wees om die markte perfek voorspel. As gevolg hiervan, kan jy sagteware nou te koop vir 'n paar honderd dollar wat jou sal toelaat om talle studies trek oor die verlede mark data. Binne 'n paar minute, kan jy begin om te dink dat die markte is perfek voorspelbaar. En dat geloof sal saam met jou bly totdat jy probeer om die reële mark plaas handel van die histories new mark. Baie handel rekeninge gedaal van hierdie denke. Een seker-ding handel geplaas sonder behoorlike posisie sizing kan heeltemal vee 'n paar handelaars uit die spel. Ons werk in hierdie kursus is om jou te leer wat jy moet weet om jou eie te ontwikkel. Die materiaal wat jy sal leer is nie mark of tyd-raam spesifieke. Dus, of jy aandele, termynkontrakte, geldeenhede of goud, ens handel en of jy plaas 50 ambagte per dag of 50 ambagte per jaar, sal jy al die komponente wat werk in 'n stelsel te leer. Drie kritieke Secrets Jy kan aanneem om 'n uitstekende Wealth-gebou Formule Ontwikkeling Sound Doel Dit is die belangrikste taak van die stelsel ontwikkeling te ontwikkel. As jy hierdie een taak behoorlik te doen, sal dit ten minste die helfte van jou tyd gedurende die ontwikkelingsproses neem. Wanneer jy leer wat dit is, sal jy sê: Natuurlik dit is belangrik, maar jy sal nog steeds waarskynlik baie min tyd spandeer op dit. Om 'n stelsel wat jou pas te ontwikkel, moet jy regtig dink oor wat jy wil. Dit is nie 'n triviale taak. Daar is ten minste 30 vrae wat jy nodig het om aan te spreek wanneer jy 'n handel stelsel te ontwikkel. Dr. Tharp neem jou deur elke vraag sodat jy presies weet whats belangrik vir jou. Die meeste mense ignoreer ses of sewe van die belangrikste komponente van die stelsel ontwikkeling wanneer hulle hul navorsing te doen. Trouens, sal jy nooit 'n boek oor stelsel ontwikkeling wat meer as ses van hulle dek sien. Dis die beperking van die gemiddelde handelaar het om navorsing te doen. Jy wil groot winste met so min risiko as moontlik, sodat jy wil elke voordeel moontlik wanneer jy begin om so 'n stelsel te ontwikkel. Jy moet in staat wees om voordeel te trek uit agt van hierdie komponente neem maklik na die aanhoor van hierdie CD's. En, met 'n bietjie meer moeite, sal jy in staat wees om al 10. gebruik As jy al 10 komponente met bekwaamheid te gebruik, sal jy onder die boonste een tiende van een persent van alle handelaars en beleggers in die wêreld. Posisie Sizing Strategieë Die meeste mense konsentreer op entrymdashthe minste belangrike element in die stelsel ontwikkeling. En hulle ignoreer posisie sizing strategiesmdashthe belangrikste element. Deur middel van hierdie huis studie kursus sal jy leer posisie sizing algoritmes wat piek kunstenaars gebruik. Daarbenewens, sal jy leer posisie sizing algoritmes wat sal help om jou algehele risiko te verlaag, terwyl op dieselfde tyd, help jy meer konsekwent prestasie te bereik. As jy konsentreer op die drie secretsmdashwhich 95 persent van alle handelaars en beleggers heeltemal kan ignoremdashyou jouself kluis in 'n klas wat slegs 'n paar kan bereik gewees het. As jy meer avontuurlustig, goed wys jou hoe om werklik te gaan vir baie groot opbrengste met behulp van die markte geld. Wanneer jy hierdie super geldmaak tegnieke gebruik, kan jy 1000 te maak op jou geld elke jaar, waag meestal die geld wat die mark wat jy gegee het. Jy sal leer om die geheim agter hoe 'n mens handelaar het 10,000 in 1,1 miljoen in minder as 'n jaar. Hy verhandel n wisselvalligheid tempo stelsel, maar die sleutel tot sy wins was sy posisie sizing metode. Daarbenewens, goed vir jou wys ook hoe 'n ander groep van handelaars meer as 100 miljoen oor die afgelope 10 jaar het hulle verhandel n kanaal tempo stelsel geneem uit die mark, maar die werklike sleutel tot hul sukses was die geld bestuur. Hier is die voor - en nadele van beide style. Hierdie soort van avontuur handel is baie riskant. Jy kan 'n aansienlike bedrag geld verloor as jy nie versigtig is nie. As gevolg hiervan, sowel wys jou al die slaggate sodat jy deeglik verstaan ​​die risiko wat betrokke is. Tien Geld maak Secrets Jy Sal LearnHow om 'n wen Trading stelsel wat jy Audio Program Kry al die voordele van Dr Van Tharps jaar van modellering handelaars en sy navorsing oor hoe winsgewend handel stelsels is ontwikkel Pas ontwikkel. Sy gevolgtrekking uit hierdie navorsing is dat die gemiddelde persoon nie die geval is 'n kans op winsgewende handel omdat hy of sy fokus op al die verkeerde dinge. Jy sal nie hierdie inligting kyk na die finansiële nuus te leer, lees finansiële tydskrifte, of lees die hoofstroom finansiële koerante, omdat die media heeltemal die belangrikste aspekte van die stelsel ontwikkeling sal ignoreer. Hierdie program help om te bepaal watter tipe van handel stelsel sal jou persoonlik en hoe om dit te skep pas. Hier is min bekende, goed behou geheime wat nie gepubliseer in boeke en dat julle nie geneig om te vind nie, tensy jy per ongeluk stamp teen hulle. Wat is ingesluit in die Audio Program Hierdie program het 20 klank-CD's: 11 CD's van nuwer materiaal en 9-CD's uit die klassieke huis studie kursus wat inligting nie meer geleer in ons werkswinkel Systems Development. Hierdie audio program is live opgeneem uit twee afsonderlike werkswinkels. Dit bevat 'n volledige drie-dag werkswinkel uitsluitlik geleer deur Dr Van Tharp en dek bietjie bekend geheime vir die ontwikkeling van persoonlike, wen handel stelsels. Dit is tydlose inligting en daarom is dit is nie gekoppel aan 'n bepaalde mark of tydraamwerk. Ons behou ook afdelings van die oorspronklike ontwikkeling stelsels opname van jare terug, want hierdie oorspronklike artikel bevat materiaal wat nie meer in die werkswinkels gedek en kan slegs gevind word op hierdie klank program. Baie van ons kliënte luister na hierdie CD's oor en oor en oor weer net aan al die subtiele besonderhede hulle soms mis op die vorige resensies kry. Materiaal bedek sluit die sielkundige slaggate van stelsel ontwikkeling, verstaan ​​dat jy net jou oortuigings te handel oor die mark en nie die mark self, en sleutelkonsepte van stelsel ontwikkeling insluitend 'n paar van Dr. Tharps handelsmerk conceptsmdashexpectancy, R-veelvoude, System Kwaliteit Numberreg telling en posisie sizing strategieë. Jy sal leer handel konsepte wat eintlik werk in gebiede soos tendens volg, orkes handel, waarde handel, geestelike scenario handel, seisoenale neigings, verspreiding handel en arbitrage. En vele ander dinge, sal hierdie program kan jy vertroud te maak met die belangrikste dele van 'n stelsel, gee jy 'n goeie voorbeeld van elke deel, en jou help om toepaslike setups te ontwikkel, en 'n toepaslike inskrywing en stop verlies. Die huis studie kursus sluit ook 'n omvattende 340 bladsy handleiding wat optree as 'n gids, 'n werkboek en 'n instrukteur deur jou stelsel gebou reis. Om jou te vergewis van die sielkundige slaggate van stelsel ontwikkeling. Op die heel minste, sy noodsaaklik dat jy verstaan ​​dat jy net jou oortuigings te handel oor die mark, nie die mark self. Om jou te help die sleutelkonsepte en stappe in stelselontwikkeling, insluitend verwagting, R-veelvoude, kwaliteit stelsel en posisie sizing strategieë te verstaan. Om jou te help die krag van doelwitte en hoe doelwitte beïnvloed jou resultate te verstaan, om te gee jy die praktyk Strategie met 'n paar doelwitte in ons simulasies, en om jou te help verstaan ​​wat gevra word van doelwitte stelsel ontwikkeling. As jy die krag en belangrikheid van doelwitte te verstaan ​​en te gebruik hierdie soort Strategie om hulle te ontmoet, sal jou hele benadering tot stelselontwikkeling verander. Om jou te help sommige van die sleutelkonsepte wat jy kan handel wat eintlik werk verstaan: Trend volgende, veral tendense gebaseer op fundamentele faktore. Band handel. Waarde handel waar waarde is gedefinieer as die aankoop van dinge op die pennies op die dollar. Geestelike scenario handel. Seisoenale neigings wanneer dit is quotrealquot en nie statistiese abnormaliteite. Verspreiding handel en arbitrage. Om jou te help R definieer in jou handel en toepaslike setups, inskrywing, en 'n stop verlies te ontwikkel. Om jou te vergewis van die belangrikste dele van 'n stelsel en gee jou 'n goeie voorbeeld van elke deel. Om jou te help besluit watter kriteria wat jy mag hê om te voldoen voordat jy bereid is om 'n stelsel handel is. Hierdie gaan word wat gebaseer is op jou eie waardes, nie iemand elses. Om jou meer vertroud is met die sleutel tot die vergadering van jou objectivesposition grootte strategiesso dat jy 'n goeie kans om aan jou doelwitte te maak. Om jou te leer hoe om te bepaal die kwaliteit van jou stelsel is of dit 'n Forex dag handel stelsel of 'n voorraad waarde te belê stelsel. Watter soort Trader Is Jy Is jy 'n lae-risiko belegger wat net wil klein, konsekwent wins maak elke maand met net 'n geleentheid verlies Leer hoe om 'n stelsel wat jou sal toelaat om 'n unieke metode wat jy daardie soort sal gee te ontwikkel ontwikkel van konsekwentheid Is jy 'n gutsy handelaar whod graag jaarlikse wins van 100, 200 of selfs 1000 per jaar dit is moontlik te maak, hoewel riskant, en jy kan leer dat ook. Die interessante ding is dat jy dit kan doen in so 'n manier dat die enigste geld wat jy gevaar is die geld youve reeds uit die mark. Dis werklik hefboom Slegs sowat 5 van die wêreld se handelaars en 10 van die wêreld se beleggers, konsekwent maak groot geld. Wat hierdie wenners doen is nie kompleks. Trouens, eenvoud is een van die sleutels tot die maak van geld. En wat jy kan doen dit ook Ive geskoei hierdie proses en kan jy leer hoe om jou eie handel stelsel wat jou eie styl van die saak pas ontwikkel. Hoekom my eie stelsel ontwikkel Isnt dit makliker om net te gaan koop 'n stelsel met bewese resultate Daar is honderde, indien nie duisende, van handel stelsels wat werk. Maar die meeste mense, na die aankoop van 'n pre-bestaande stelsel, sal nie die stelsel te volg en handel dit presies soos dit bedoel is. Hoekom nie omdat die stelsel nie die geval hulle of hul styl van handel te pas. Een van die grootste geheime van suksesvolle handel is die vind van 'n handel stelsel wat jou pas. Trouens, Jack Schwager, nadat onderhoude met genoeg mark towenaars twee boeke skryf, die gevolgtrekking gekom dat die belangrikste kenmerk van alle goeie handelaars was dat hulle 'n stelsel of metode wat reg was vir hulle gevind het. Wanneer iemand anders ontwikkel 'n stelsel vir jou, jy nie weet wat vooroordele wat hulle mag hê. Maar as jy jou eie stelsel ontwikkel, sal dit versoenbaar is met jou eie oortuigings, doelwitte, persoonlikheid en rande wees. En wat sal maak dit baie makliker vir jou om handel te dryf. Verder is die meeste van die stelsel ontwikkeling sagteware wat tans beskikbaar is bevorder handel vooroordele wat nadelig is vir algehele handel sukses kan wees. Die meeste stelsel ontwikkeling sagteware is ontwerp omdat mense wil in staat wees om die markte perfek voorspel. As gevolg hiervan, kan jy sagteware nou te koop vir 'n paar honderd dollar wat jou sal toelaat om talle studies trek oor die verlede mark data. Binne 'n paar minute, kan jy begin om te dink dat die markte is perfek voorspelbaar. En dat geloof sal saam met jou bly totdat jy probeer om die reële mark plaas handel van die histories new mark. Baie handel rekeninge gedaal van hierdie denke. Een seker-ding handel geplaas sonder behoorlike posisie sizing kan heeltemal vee 'n paar handelaars uit die spel. Ons werk in hierdie kursus is om jou te leer wat jy moet weet om jou eie te ontwikkel. Die materiaal wat jy sal leer is nie mark of tyd-raam spesifieke. Dus, of jy aandele, termynkontrakte, geldeenhede of goud, ens handel en of jy plaas 50 ambagte per dag of 50 ambagte per jaar, sal jy al die komponente wat werk in 'n stelsel te leer. Drie kritieke Secrets Jy kan aanneem om 'n uitstekende Wealth-gebou Formule Ontwikkeling Sound Doel Dit is die belangrikste taak van die stelsel ontwikkeling te ontwikkel. As jy hierdie een taak behoorlik te doen, sal dit ten minste die helfte van jou tyd gedurende die ontwikkelingsproses neem. Wanneer jy leer wat dit is, sal jy sê: Natuurlik dit is belangrik, maar jy sal nog steeds waarskynlik baie min tyd spandeer op dit. Om 'n stelsel wat jou pas te ontwikkel, moet jy regtig dink oor wat jy wil. Dit is nie 'n triviale taak. Daar is ten minste 30 vrae wat jy nodig het om aan te spreek wanneer jy 'n handel stelsel te ontwikkel. Dr. Tharp neem jou deur elke vraag sodat jy presies weet whats belangrik vir jou. Die meeste mense ignoreer ses of sewe van die belangrikste komponente van die stelsel ontwikkeling wanneer hulle hul navorsing te doen. Trouens, sal jy nooit 'n boek oor stelsel ontwikkeling wat meer as ses van hulle dek sien. Dis die beperking van die gemiddelde handelaar het om navorsing te doen. Jy wil groot winste met so min risiko as moontlik, sodat jy wil elke voordeel moontlik wanneer jy begin om so 'n stelsel te ontwikkel. Jy moet in staat wees om voordeel te trek uit agt van hierdie komponente neem maklik na die aanhoor van hierdie CD's. En, met 'n bietjie meer moeite, sal jy in staat wees om al 10. gebruik As jy al 10 komponente met bekwaamheid te gebruik, sal jy onder die boonste een tiende van een persent van alle handelaars en beleggers in die wêreld. Posisie Sizing Strategieë Die meeste mense konsentreer op entrymdashthe minste belangrike element in die stelsel ontwikkeling. En hulle ignoreer posisie sizing strategiesmdashthe belangrikste element. Deur middel van hierdie huis studie kursus sal jy leer posisie sizing algoritmes wat piek kunstenaars gebruik. Daarbenewens, sal jy leer posisie sizing algoritmes wat sal help om jou algehele risiko te verlaag, terwyl op dieselfde tyd, help jy meer konsekwent prestasie te bereik. As jy konsentreer op die drie secretsmdashwhich 95 persent van alle handelaars en beleggers heeltemal kan ignoremdashyou jouself kluis in 'n klas wat slegs 'n paar kan bereik gewees het. As jy meer avontuurlustig, goed wys jou hoe om werklik te gaan vir baie groot opbrengste met behulp van die markte geld. Wanneer jy hierdie super geldmaak tegnieke gebruik, kan jy 1000 te maak op jou geld elke jaar, waag meestal die geld wat die mark wat jy gegee het. Jy sal leer om die geheim agter hoe 'n mens handelaar het 10,000 in 1,1 miljoen in minder as 'n jaar. Hy verhandel n wisselvalligheid tempo stelsel, maar die sleutel tot sy wins was sy posisie sizing metode. Daarbenewens, goed vir jou wys ook hoe 'n ander groep van handelaars meer as 100 miljoen oor die afgelope 10 jaar het hulle verhandel n kanaal tempo stelsel geneem uit die mark, maar die werklike sleutel tot hul sukses was die geld bestuur. Hier is die voor - en nadele van beide style. Hierdie soort van avontuur handel is baie riskant. Jy kan 'n aansienlike bedrag geld verloor as jy nie versigtig is nie. As gevolg hiervan, sowel wys jou al die slaggate sodat jy deeglik verstaan ​​die risiko wat betrokke is. Tien Geld maak Secrets Jy Sal LearnBest 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. Ten spyte van hierdie tendens Python beteken skip met die PDB. Dit is 'n gesofistikeerde debugging hulpmiddel. Die Microsoft Visual C IO besit uitgebreide GUI ontfouting nuts, terwyl dit vir die command line Linux C programmeerder, die gdb debugger bestaan. Toets in sagteware-ontwikkeling verwys na die proses van die toepassing van bekende parameters en resultate om spesifieke funksies, metodes en voorwerpe binne 'n kodebasis, ten einde gedrag na te boots en verskeie kode-paaie te evalueer, te help om te verseker dat 'n stelsel optree soos dit hoort. 'N Meer onlangse paradigma staan ​​bekend as Toets Driven Ontwikkeling (TDD), waar toets kode ontwikkel teen 'n bepaalde koppelvlak met geen implementering. Voor die voltooiing van die werklike kodebasis alle toetse sal misluk. Soos kode is geskryf om die spasies in te vul, sal die toetse uiteindelik al slaag, op watter punt ontwikkeling moet ophou. TDD vereis uitgebreide vooraf spesifikasie ontwerp asook 'n gesonde mate van dissipline ten einde suksesvol uit te voer. In C, Boost bied 'n eenheid toets raamwerk. In Java, die JUnit biblioteek bestaan ​​om dieselfde doel te bereik. Python het ook die unittest module as deel van die standaard biblioteek. Baie ander tale beskik eenheid toets raamwerke en dikwels is daar verskeie opsies. In 'n produksie-omgewing, gesofistikeerde meld is absoluut noodsaaklik. Meld verwys na die proses van uitdruk boodskappe, met verskillende grade van erns, met betrekking tot die uitvoering gedrag van 'n stelsel om 'n plat lêer of databasis. Logs is 'n eerste linie van aanval wanneer jag vir onverwagte program runtime gedrag. Ongelukkig is die tekortkominge van 'n te meld stelsel is net tot ontdek nadat die feit Soos met rugsteun hieronder bespreek, moet 'n te meld stelsel gegee word behoorlike oorweging voor 'n stelsel is ontwerp. Beide Microsoft Windows en Linux kom met 'n uitgebreide stelsel aan te meld vermoë en programmeertale is geneig om te skip met die standaard te meld biblioteke wat die meeste gebruik gevalle te dek. Dit is dikwels wys wees om te sentraliseer meld inligting ten einde dit te analiseer op 'n later datum, aangesien dit dikwels kan lei tot idees oor die verbetering van prestasie of foute te verminder, wat byna seker 'n positiewe impak op jou handel opbrengste sal hê. Terwyl meld van 'n stelsel sal inligting oor wat geblyk in die verlede voorsien, sal monitering van 'n aansoek insig in wat nou gebeur voorsien. Alle aspekte van die stelsel moet in ag geneem word vir die monitering. Stelsel vlak statistieke soos skyf gebruik, beskikbare geheue, netwerk bandwydte en CPU gebruik voorsien basiese vrag inligting. Trading statistieke soos abnormale pryse / volume, skielike vinnige onttrekkings en rekening blootstelling vir verskillende sektore / markte moet ook deurlopend gemonitor. Verder moet 'n drumpel stelsel word aangehits dat kennisgewing verskaf wanneer sekere statistieke is oortree, verhef die metode kennisgewing (e-pos, SMS, outomatiese oproep), afhangende van die erns van die metrieke. Stelsel monitering is dikwels die domein van die stelsel administrateur, of bedryfsbestuurder. Maar as 'n uitsluitlike handel ontwikkelaar, hierdie statistieke moet ingestel word as deel van die groter ontwerp. Baie oplossings vir die monitering bestaan: eiendom, aangebied en open source, wat uitgebreide aanpassing van statistieke vir 'n bepaalde gebruik geval toelaat. Rugsteun en hoë beskikbaarheid moet op die agenda van 'n handel stelsel. 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