Hoë frekwensie handel stelsel ontwerp en proses bestuur hoë frekwensie handel stelsel ontwerp en proses bestuur adviseur: Roy E. Welsch. Departement: System Design and Management Program. Uitgewer: Massachusetts Institute of Technology Datum Uitgereik: 2009 firmas deesdae is hoogs afhanklik van data-ontginning, rekenaarmodellering en die ontwikkeling van sagteware. Finansiële ontleders te voer baie soortgelyke take aan dié in sagteware en vervaardigingsbedrywe. Maar die finansiële sektor het nog nie ten volle 'n hoë-standaard stelsels ingenieurswese raamwerke en proses bestuur benaderings wat suksesvol was in die sagteware en vervaardigingsbedrywe aangeneem. Baie van die tradisionele metodes vir die produk ontwerp, gehaltebeheer, sistematiese innovering, en deurlopende verbetering in ingenieursdissiplines aangewend kan word om die veld van finansies. Hierdie tesis wys hoe die kennis wat uit ingenieursdissiplines die ontwerp en prosesse bestuur van 'n hoë frekwensie handel stelsels kan verbeter. Hoë frekwensie handel stelsels is-berekening gebaseer. Hierdie stelsels is 'n outomatiese of semi-outomatiese sagteware stelsels wat inherent kompleks en vereis 'n groot mate van ontwerp presisie. Die ontwerp van 'n hoë frekwensie handel stelsel koppel verskeie velde, insluitend kwantitatiewe finansies, stelsel ontwerp en sagteware-ingenieurswese. In die finansiële sektor, waar wiskundige teorieë en handel modelle relatief goed nagevors, die vermoë om hierdie ontwerpe te implementeer in real handel praktyke is een van die belangrikste elemente van 'n belegging maatskappye mededingendheid. Die vermoë van die omskakeling van belegging idees in 'n hoë werkverrigting handel stelsels doeltreffend en effektief kan 'n belegging firma 'n groot mededingende voordeel te gee. (Verv.) Hierdie tesis verskaf 'n gedetailleerde studie bestaan uit 'n hoë frekwensie handel stelsel ontwerp, stelsel modellering en beginsels, prosesse en bestuur vir stelsel ontwikkeling. Besondere klem word aan back testing en optimalisering, wat beskou word as die belangrikste dele in die bou van 'n handel stelsel. Hierdie navorsing bou stelsel ingenieurswese modelle wat die ontwikkelingsproses te lei. Dit maak ook gebruik van eksperimentele handel stelsels te verifieer en te bekragtig beginsels in hierdie tesis aangespreek. Ten slotte, hierdie tesis tot die gevolgtrekking dat stelselingenieurswese beginsels en raamwerke die sleutel tot sukses vir die implementering van 'n hoë frekwensie handels - of kwantitatiewe belegging stelsels kan wees. Proefskrif (S. M.) - Massachusetts Institute of Technology, System Design and Management Program, 2009.Cataloged uit PDF-weergawe van thesis. Includes bibliografiese verwysings (bl 78-79.). Sleutelwoorde: System Design and Management Program. Kyk na My AccountStrategy Suites amp Pryse Nuwe 2014 Trading Strategie Suites Pryslys System Suite 1 - Single Asset Gehuurde Pro-Mark Gehuurde pakket 199,99 dollar per maand Ontwerp vir die professionele handelaar. Die Pro-Lease opsie is TSDs professionele opsie bedoel vir die Pro-handelaar wat bietjie hulp met die installasie, optimalisering, en tuning strategieë vereis. Die Pro-Mark sal na verwagting professionele vlak ervaring met die verhandelingsplatform te hê. Ondersteuning van TSD sal beperk word met die Pro-Mark Huur pakket. TSD sal slegs optimalisering en tuning spesifikasies vir die eerste maand van die strategie kontrak. Beperkings: Geslote Bronkode per instrument amp per rekening nommer Maandelikse inskrywing nodig Bestuurde Gehuurde pakket 399,99 dollar per maand Bestuurde-Lease is TSDs Gewildste pakket. Met die Bestuurde-Lease pakket kry jy alles van die Pro-Lease maar met 'n maandelikse optimalisering en tuning parameters waarvoor jy elke maand deur een van TSDs toegewyde konsultante. As gevolg van die kompleksiteit van optimalisering, kan ons slegs hierdie diens vir die wat op die strategie bladsye instrumente. Jy sal gegee word al die nodige vir die optimalisering en tuning vir 6 verskillende instrumente van jou gekose strategie produk parameters. Jy het die opsies om óf werk die stelsel Optimization parameters wat ons met die hand gee jou of ons ondersteuning span het aan jou stuur die nuwe kaarte en werkstasies gedefinieerde. Indien nodig op aanvanklike registrasie en eerste keer opstel, kan ons afstand instel jou verhandelingsplatform te verseker dat ons strategieë optimaal werk. Beperkings: Geslote Bronkode per instrument amp per rekening nommer Maandelikse inskrywing nodig System Suite 2 - Multi Asset Unleashed Pro-Unleashed Gehuurde pakket 599,99 dollar per maand wanneer 'n mens is nie genoeg Unlimited instrumente. Die Pro Unleashed Huur Strategie opsie is die professionele handelaars gunsteling pick want dit laat die handelaar om die strategie te gebruik op enige onderliggende bate. Dit is bedoel vir die Pro-handelaar wat bietjie hulp met die installasie, optimalisering, en tuning strategieë vereis en sal na verwagting professionele vlak ervaring met die verhandelingsplatform te hê. Ondersteuning van TSD sal beperk word met die opsie Pro-Inklusiewe-Lease. TSD sal nie in staat wees om enige optimalisering en tuning spesifikasies voorsiening te maak vir hierdie tipe strategie kontrak. Beperkings: Geslote Bronkode Maandelikse inskrywing nodig Bestuurde Unleashed Gehuurde pakket 899,99 dollar per maand Helpende Jy wanneer dit nodig is. Die Managed Unleashed Huur Strategie opsie is help wanneer dit nodig is die mees. Hierdie pakket sluit alles van die Pro-Unleashed Huur maar met 'n maandelikse optimalisering en tuning parameters waarvoor jy elke maand deur een van TSDs toegewyde konsultante. As gevolg van die kompleksiteit van optimalisering, kan ons slegs hierdie diens vir die wat op die strategie bladsye instrumente. Jy sal gegee word al die nodige vir die optimalisering en tuning vir 6 verskillende instrumente van jou gekose strategie produk parameters. Jy het die opsies om óf werk die stelsel Optimization parameters wat ons met die hand gee jou of ons ondersteuning span het aan jou stuur die nuwe kaarte en werkstasies gedefinieerde. Indien nodig op aanvanklike registrasie en eerste keer opstel, kan ons afstand instel jou verhandelingsplatform te verseker dat ons strategieë optimaal werk. Beperkings: Geslote Bronkode Maandelikse inskrywing nodig Pro-Unleashed Lifetime pakket 4.999,99 USD Geen Grense met Leeftyd gebruik. Die Pro-Unlimited-Lease bundel is die professionele handelaars beste keuse en waarde vir geld vir TSD Open Source. Die eienaar van die strategie vir die lewe met 'n onbeperkte onvoorwaardelike gebruik teen tyd en onderliggende bates. Dit is bedoel vir die Pro-handelaar wat bietjie hulp met die installasie, optimalisering, en tuning strategieë vereis en sal na verwagting professionele vlak ervaring met die verhandelingsplatform te hê. TSD sal nie in staat wees om enige optimalisering en tuning spesifikasies voorsiening te maak vir hierdie tipe strategie kontrak. System Suite 3 - Open Source Pro Pro-Ope Beperk 9,999.99 USD open source code. Die Pro-Ope-Beperk pakket is die professionele handelaars beste keuse vir 'n oop bron-kode. Die eienaar van die strategie vir die lewe met 'n onbeperkte onvoorwaardelike gebruik, maar die strategie bly die uitsluitlike eiendom van Trading System Design (TSD) en sal voortgaan om as gasheer en verkoop op TSD webwerf en TSD kliënte. Die kopiereg van die strategie is steeds die eienaarskap van Trading Systems Design (TSD). Ons strategieë ten volle dokumenteer en die kode is gestruktureerde en maklik om te lees met kommentaar verduidelik elke proses. Hierdie pakket is 'n uitstekende geleentheid vir die Trader om die kuns van Strategie skriftelik te leer. Beperkings: Strategie kopiereg bly met Trading System Design (TDS) Pro-Ope Eienaar 14,999.99 USD Eienaarskap van open source code. Die Pro-Ope-Unlimited pakket is vir die professionele handel maatskappy wat wil volslae eienaar van die strategie en daarom is dit uitsluitlik aan hulle behoort. Die eienaar van die strategie vir die lewe met 'n onbeperkte onvoorwaardelike gebruik. Die strategie sal permanent uit ons databasis en webwerf verwyder word en ons sal enige toekomstige gebruik daarvan te staak. System Suite 4 - Risiko Posisie Bestuur Risikobestuur 99.99 USD Kry twee afrit Systems vir die prys van een Geen maandelikse inskrywing nodig. TSD afrit System Die Rook Endgame. A volgkeerverlies gebaseer op 'n aangepaste paraboliese tesame met 'n paar unieke tendens toestand kriteria - 'n illustrasie van hoe klassieke konsepte kan gebruik word in 'n nuwe maniere om uittreepunte gebaseer op pryse neig om te bly binne 'n paraboliese kurwe tydens 'n sterk tendens te bepaal. TSD afrit System Die vesting. 'N komplekse End of day afrit strategie wat loop net op intraday, merk, volume, of minute gebaseer kaarte. Dit sal outomaties aan te pas vir 'n vroeë naby sessies soos Thanksgiving, Kersfees, ens Posisie Management 99.99 USD per maand TSD Position System Alekhine verdediging. Dit System kan enige strategie bygevoeg en is ontwerp om 'n posisie vir elke veelvoud van s van wins outomaties verhoog en om posisie grootte verminder tydens onttrekking. Beperkings: Bronkode Nie beskikbaar vir die aankoop Maandelikse inskrywing nodig om meer inligting rakende ons strategieë, dienste of pryse voltooi asseblief die TSD Info Pack vorm en 'n lid van ons toegewyde Trading System Design span sal jou kontak te vra. Trading is nie 'n produk, sy 'n proses TSD het die kundigheid en gereedskap om jou te help organisasies te bou 'n platform vir groei tot die uitdaging van 'n nuwe grens ontmoet. Hoekom ons nie laat by Trading System Design hulp maat 'n oplossing vir jou van een van ons toegewyde ontwerp teams. Trading Systems: Probleme En Optimization 1313 Selfs nadat suksesvol ontwerp en die bou van 'n werkende handel stelsel, kan 'n handelaar te vind dat sy of haar stelsel is onvolmaak. Daar kan 'n paar probleme, soos 'n gebeurtenis wat hou genereer verliese of dalk die reëls is te breed en moet geoptimaliseer word. Wat is die maklikste manier om die probleem Hoe effektief is optimization Hierdie afdeling sal jou wys hoe om op te los en te optimaliseer jou handel stelsel om winste te maksimeer en verliese te beperk te los. Probleme oplos van probleme is 'n baie belangrike aspek van die stelsel ontwikkeling. 'N ordentlike handel stelsel winsgewend sal in die meeste marktoestande wees, maar as dit van tyd tot tyd maak groot verliese, kan jy werk te identifiseer en die probleem op te los. Hier is vier maklike stappe: 1. Identifiseer die probleem - Vind alle gevalle waar die probleem het tydens die back testing, en / of opname te begin wanneer die probleem ontstaan tydens lewende handel. Tydens elke geval, neem kennis van enige neigings van die volgende vier faktore: Grafiek patroon of prys reeks - Spike in die prices.13 Deel - Groot volume aanvanklik en lae volume thereafter.13 Bid / Vra versprei - Spike in die prys op 'n lae volume dikwels dui op 'n groot spread.13 Marge (indien gebruik). 13 13These is 'n paar van die gebiede waar probleme kan voorkom, wat ons kan sien deur die ontleding onder die grafiek. Let op die prys spykers op 'n lae volume deur die groen pyl. Let ook op die groot volume (naby die blou pyl), gevolg deur 'n lae volume daarna. As een van hierdie blyk om die skuldige wees, is daar ander faktore wat ontleed kan word, soos blok-groottes en gevorderde grafiek patterns.2. Evalueer die probleem - Gebruik die inligting wat jy versamel om vas te stel wat presies veroorsaak het dat die stelsel nie goed word of 'n verlies te genereer. Dit word gewoonlik gedoen deur die gebruik van gesonde verstand, of deur die ontleding van transaksies logs (wat deur jou makelaar). Hier is 'n voorbeeld van hoe 'n paar voorwaardes van die vier bogenoemde faktore die rede vir 'n geïdentifiseerde probleem kan wees: Grafiek patroon of prys reeks - Die stelsel is nie in staat is om te verkoop tydens skerp dalings of koop tydens steil klimme. Miskien is die stelsel nie genoeg tyd om te koop of te verkoop. Deel - Die stelsel is nie in staat is om te verkoop tydens dalings of koop tydens toeneem. Miskien is die aandele het so 'n lae handel volume wat die stelsel in staat is om te koop of te verkoop teen 'n prys. Gedurende hierdie gevalle, kan die prys misleidend wees sonder 'n oorweging van volume en bie / ask. Bid / Vra versprei - Die stelsel maak 'n aankoop, maar nie die geval wins soveel soos dit hoort by die verkoop van. Dit kan toegeskryf word aan die feit dat die handelaar het vergeet om bod oorweeg / vra versprei. As 'n stelsel is geprogrammeer om te koop en te verkoop teen die heersende prys dit eintlik betaal die vra. en toe verkoop, nie die geval is dit te verkoop teen huidige pryse, maar aan die bod prys. Soms is die verskille tussen die bod en vra kan groot wees, wat lei tot ongewenste losses. Margin - Die stelsel skielik verkoop vir geen oënskynlike rede. As dit gebeur, kan jy vergeet het om marge oproepe te oorweeg. 13 3. Oorweeg die alternatiewe - probeer net 'n paar oplossings vir die probleme wat jy geïdentifiseer het. Kyk na die volgende alternatiewe wat ooreenstem met die bogenoemde probleme. Grafiek patroon of prys reeks - Een alternatief is eenvoudig om die stelsel te vertel om te wag totdat die prys stabiliseer voor jy koop. Dit kan gedoen word deur die gebruik van die verskille tussen die vorige pryse en die huidige prys van 'n rule. Volume skep - Om hierdie probleem op te los, kan jy 'n reël dat die aandele vereis om 'n sekere bedrag van volume voor die uitvoering van 'n trade. Bid skep / Vra versprei - Hier kan jy dalk wil koop en verkoop op grond van die bod en vra prys in plaas van die huidige price. Margin - die gebruik van marge kan winsgewend wees as risiko effektief bestuur word. Beperking nadeel behoort jou te verhoed ontvang marge oproepe. Dit kan gedoen word met sleep stop verlies punte of ander soortgelyke taktiek om nadeel te beperk. 13 4. Implementering van 'n oplossing - Ten slotte, moet ons die oplossing toe te pas en te sien hoe dit werk. Papier handel of terug toets weer voor live handel is dikwels 'n goeie idee na die toepassing van 'n oplossing, want soms oplossings het onbedoelde gevolge. Byvoorbeeld, kan bykomende reëls hierdie beperking af dae, maar ook algehele winste te verminder (as gevolg van geleenthede gemis).Optimization Optimization beteken eenvoudig om die beste stelle parameters vir 'n spesifieke mark. Hierdie proses kan effens verbeter resultate. Dit dra ook baie risiko's, want sy onderliggende aanname is dat vorige prestasie is 'n aanduiding van toekomstige prysbewegings. Optimalisering bereik kan word deur die verandering van die waardes van die parameter wat jy wil te optimaliseer en dan terug te toets hierdie veranderinge. Hou in gedagte die ander parameters moet konstant bly vir die gevolge van die veranderinge te bepaal. Sodra jy die waarde wat die hoogste prestasie in die rug toets opbrengste te vind, te implementeer dit in die handel stelsel. Kom ons kyk na 'n voorbeeld. Sê 'n handelaar ontleed die SampP 500 en gevind dat hy of sy die stelsel kan optimaliseer deur die gebruik van 'n daaglikse skedule. Dieselfde proses kan ook geneem word om 'n hoër graad. Byvoorbeeld, as 'n eenvoudige bewegende gemiddelde van 6 werk beter as 8 vir 'n MA-crossover strategie in 'n spesifieke mark, dan 6 gebruik sou word. Die probleem hier is nie net in die veronderstelling, maar ook in die feit dat die stelsel erger kan voer in baie ander markte, waardeur dit minder universele. Baie stelsel ontwikkelaars ontbeer die optimalisering stadium vir hierdie twee redes: Optimization overstates dikwels resultate. Dit is omdat die parameters so spesifieke en nie-universele dat enige verandering in die mark (dit wil sê, die toekoms) onstabiliteit kan veroorsaak. In baie gevalle is, sal optimalisering nie die werkverrigting te verbeter deur 'n betekenisvolle mate. Effense verbetering kan egter duidelik wees, die verbeurdverklaring van universaliteit is 'n hoë prys om te betaal. 13 As 'n algemene reël, moet optimalisering slegs breë instellings te definieer vir parameters eerder as die opstel van spesifieke reëls - selfs al is dit suksesvol in back testing en papier trading. Conclusion Probleme was dit noodsaaklik om die maak van jou stelsel werk die manier waarop jy dit wil hê. Dit is belangrik om enige probleme te identifiseer deur die waarneming van die gevalle waar hulle plaasgevind het en dan te evalueer hoe sekere voorwaardes van verskeie faktore - soos prys patroon, volume, bod / vra versprei, en marge - die probleem veroorsaak het. Optimalisering kan jou resultate te verbeter, maar dit is belangrik om te onthou dat dit sy beperkinge. Nie net is dit gebaseer op die aanname dat vorige prestasie dui die toekoms, maar dit is nie die stadium waarop die handelaar skep spesifieke reëls - optimalisering is slegs sowat definieer breë instellings. In die volgende en laaste paaiement, sal ons 'n oorsig van alles wat weve gedek saam met 'n paar advies en hulpbronne om jou te help 'n werkende kennis van handel stelsel ontwerp en ontwikkeling te verkry voorsien. Trading Systems: Slot Skryf Nuus om te gebruik vir die nuutste insigte en analysisDesign, keuring en optimalisering van handel stelsels deur Robert Pardo ontwerp, toets en die optimalisering van handel stelsels deur Robert Pardo voltitel: ontwerp, toets en die optimalisering van handel stelsels outeur: Robert Pardo uitgewer / Datum: Wiley (1992) Lys Koste / Pages: 40 Hardcover / 176 bladsye 'n praktiese, hands-on gids tot die oprigting van, aanpassing, en die handel meganiese stelsels wat vereis geen rekenaar of ontwikkeling vaardighede Hier alles sal jy nodig het om te ontwikkel en verifieer elke fase van 'n winsgewende handel strategie, vanaf formulering deur die toets van real-time handel. Gewapen met die skrywers battery van maklik tot stand gebring toetsing en optimeringstegnieke baie nog nooit tevore nie sal jy gepubliseer ontwerp 'n werkbare handel strategie, betroubaar sy wins potensiaal en risiko te meet, en dan toets om te sien of dit werk in real-time handel. Maak nie saak wat jou vlak van handel kundigheid, nou kan jy vinnig te isoleer en te elimineer die oorsake van die saak mislukking en maak die besluite wat noodsaaklik is vir winsgewende gerekenariseerde handel. Jy sal ontdek: Die sewe groot komponente van meganiese handel strategieë en hul gebruike Wanneer en hoe om vinnig, akkuraat, en realistiese rekenaarsimulasies gebruik om 'n strategys handel prestasie te evalueer sonder gevaar kosbare kapitaal Die beste maniere om 'n handel strategie om die unieke persoonlikhede pas maat van wyd verskillende markte wat om te verwag van 'n handels-model in real-time handel Hoe om handel prestasie beoordeel ten opsigte van historiese toets prestasie ontwerp, toets, en die optimalisering van handel stelsels help jy ontwikkel, te evalueer en 'n wen-rekenaar handel stelsel toe te pas wat pas jou spesifieke behoeftes. Deel hierdie storie, kies jou PlatformHow te handel stelsel NOTA optimaliseer: Dit is redelik gevorderde onderwerp. Lees asseblief eers die vorige AFL tutoriale. Die idee agter 'n optimalisering is eenvoudig. Eerstens moet jy 'n handel stelsel het, kan dit 'n eenvoudige bewegende gemiddelde crossover byvoorbeeld wees. In byna elke stelsel daar is 'n paar parameters (soos gemiddelde tydperk) wat besluit hoe gegee stelsel optree (dit wil sê is, is geskik vir 'n lang termyn of kort termyn, hoe is reageer op baie volatiel aandele, ens). Die optimalisering is die proses om optimale waardes van die parameters (gee hoogste wins uit die stelsel) vir 'n gegewe simbool (of 'n portefeulje van simbole). AmiBroker is een van die baie min programme wat jou toelaat om jou stelsel te optimaliseer op verskeie simbole in 'n keer. Om jou stelsel te optimaliseer wat jy hoef te definieer van een Tot tien parameters te verbeter. Jy besluit wat is 'n minimum en maksimum toelaatbare waarde van die parameter en in watter vermeerderings hierdie waarde moet opgedateer word. AmiBroker voer dan verskeie terug toets die stelsel met behulp van alle moontlike kombinasies van parameters waardes. Wanneer hierdie proses afgehandel is AmiBroker vertoon die lys van resultate gesorteer volgens netto wins. Jy is in staat om die waardes van optimalisering parameters wat die beste resultaat te gee te sien. Skryf AFL formule Optimization in terug tester word ondersteun deur nuwe funksie genoem te optimaliseer. Die sintaksis van hierdie funksie is soos volg: (... Stap quot beskrywing quot, verstek min Max) veranderlike veranderlike optimaliseer - normaal AFL veranderlike wat die waarde wat deur optimaliseer funksie kry opgedra. Met gewone back testing, skandering, eksplorasie en kortverhale modes die optimaliseer funksie gee terug verstek waarde, sodat die bogenoemde funksie oproep is gelykstaande aan: veranderlike verstek In optimalisering af optimaliseer funksie gee terug opeenvolgende waardes van min tot maksimum (inklusief) met stap versterking. quot Descriptionquot is 'n string wat gebruik word om die optimalisering veranderlike identifiseer en vertoon as 'n naam kolom in die lys optimalisering gevolg. standaard is 'n standaard waarde wat funksie gee terug in eksplorasie, aanwyser, kommentaar te optimaliseer, scan en normale terug toets modes min 'n minimum waarde van die veranderlike wese new maksimum is 'n maksimum waarde van die veranderlike wat optimale stap is 'n interval wat gebruik word vir die verhoging van die waarde van min tot maksimum AmiBroker ondersteun upto 64 oproepe na funksie te optimaliseer (dus tot 64 optimization veranderlikes), kennis dat as jy 'n volledige optimalisering dan is dit regtig 'n goeie idee om verskeie optimalisering veranderlikes om slegs 'n paar te beperk. Elke oproep te optimaliseer genereer (maksimum - min) / stap optimalisering lusse en verskeie oproepe na optimaliseer vermeerder die aantal lopies wat nodig is. Byvoorbeeld optimalisering twee parameters met behulp van 10 stappe sal vereis dat 1010 100 optimization sirkelroetes. Bel optimaliseer funksie slegs een keer per veranderlike aan die begin van jou formule soos elke oproep genereer 'n nuwe optimalisering lusse Meervoudigekeuse-simbool optimalisering is ten volle ondersteun deur AmiBroker Maksimum soek spasie is 2 64 (10 19 10.000.000.000.000.000.000) kombinasies 1. eenveranderlike optimalisering: sigavg Optimaliseer (Signal gemiddelde. 9. 2. 20. 1) Koop Kruis (MACD (12. 26), Signal (12. 26. sigavg)) Verkoop Kruis (Signal (12. 26. sigavg), MACD (12. 26)) 2. Twee-veranderlike optimalisering (geskik vir 3D kartering) per Optimaliseer (per. 2. 5. 50. 1) vlak Optimaliseer (vlak. 2. 2. 150. 4) Koop Kruis (CCI (per),-vlak) Verkoop kruis (Vlak, CCI (per)) 3. Verskeie (3) veranderlike optimalisering: (. MACD Slow 26. 17. 30. 1) mfast Optimaliseer (. MACD Fast 12. 8. 16. 1) mslow Optimaliseer sigavg Optimaliseer (Signal gemiddelde. 9. 2. 20. 1) Koop Kruis (MACD (mfast, mslow). Signal (mfast, mslow, sigavg)) Verkoop Kruis (Signal (mfast, mslow, sigavg), MACD (mfast, mslow)) Na die begin van die formule kliek net op Optimaliseer knoppie in quotAutomatic Analysisquot venster. AmiBroker sal begin toets alle moontlike kombinasies van optimalisering veranderlikes en rapporteer die resultate in die lys. Na optimalisering van die lys van gevolg gedoen word gesorteer volgens die Netto wins. Soos jy kan sorteer die resultate deur 'n kolom in die lys gevolg is dit maklik om die optimale waardes van parameters te kry vir die laagste drawdown, laagste aantal ambagte, grootste wins faktor, laagste markblootstelling en hoogste risiko-aangepaste jaarlikse opbrengs. Die laaste kolomme van gevolg lys bied die waardes van optimalisering veranderlikes vir gegewe toets. Wanneer jy besluit watter kombinasie van parameters by jou behoeftes die beste al wat jy hoef te doen is om die standaard waardes in optimaliseer funksie te vervang noem met die optimale waardes. Teen die huidige stadium moet jy hulle tik met die hand in die venster formule wysig (die tweede parameter van optimaliseer funksie oproep). Vertoon 3D animasie optimalisering kaarte Om 3D optimalisering grafiek vertoon, moet jy twee-veranderlike optimization eerste hardloop. Twee veranderlike optimalisering het 'n formule wat 2 Optimaliseer () funksie oproepe het. 'N Voorbeeld van twee veranderlike optimalisering formule lyk soos volg: per Optimaliseer (per 2. 5. 50. 1.) Vlak Optimaliseer Koop Kruis (CCI (per),-vlak) Verkoop Kruis (vlak 2 2. 150. 4.) (Vlak, CCI (per)) na die begin van die formule wat jy nodig het om te klik quotOptimizequot knoppie. Sodra optimalisering voltooi moet jy kliek op die drop down arrow op Optimaliseer knoppie en kies View 3D optimalisering grafiek. In 'n paar sekondes sal 'n kleurvolle driedimensionele oppervlak plot verskyn in 'n 3D venster grafiek kyker. 'N Voorbeeld 3D grafiek gegenereer met behulp van bogenoemde formule word hieronder getoon. By verstek die 3D kaarte vertoon waardes van die netto wins teen optimalisering veranderlikes. Jy kan egter stip 3D oppervlak grafiek vir 'n kolom in die optimalisering gevolg tafel. Klik op die kolomkop om dit te sorteer (blou pyl sal verskyn wat aandui dat optimization resultate word gesorteer volgens gekose kolom) en kies dan View 3D optimalisering grafiek weer. Deur die verbeelding van hoe jou stelsels parameters beïnvloed handel prestasie, kan jy meer geredelik besluit watter parameterwaardes produseer quotfragilequot en wat die stelsel prestasie te produseer quotrobustquot. Robuuste instellings streke in die 3D grafiek wat geleidelike eerder as skielike veranderinge in die oppervlak plot wys. 3D optimalisering kaarte is groot hulpmiddel om krommepassing voorkom. Krommepassing (of oor-optimalisering) vind plaas wanneer die stelsel is meer kompleks as wat dit nodig het om te wees, en alles wat kompleksiteit is gefokus op marktoestande wat nooit weer kan gebeur. Radikale veranderinge (of spykers) in die 3D optimalisering kaarte wys duidelik oor-optimalisering gebiede. Jy moet parameter streek wat 'n breë en wye plato op 3D grafiek produseer vir jou werklike lewe handel kies. Parameter stelle vervaardiging van wins are sal nie betroubaar werk in die werklike handel. 3D grafiek kyker beheer AmiBrokers 3D grafiek kyker bied totale besigtiging vermoëns, met die volledige grafiek rotasie en animasie. Nou kan jy jou stelsel resultate sien uit elke denkbare perspektief. Jy kan die posisie en ander parameters van die grafiek gebruik te maak van die muis, nutsbalk en sleutelbord kortpaaie, alles wat jy vir jou makliker te vind te beheer. Hier vind u die lys. - Om te draai - hou links muis knoppie en beweeg in X / Y rigtings - om Zoom-in, zoom-out - hou regter muis knoppie en beweeg in X / Y rigtings - om te beweeg (vertaal) - hou links muis knoppie en ctrl sleutel en beweeg in X / Y rigtings - om Animeer - hou links muis knoppie, sleep vinnig en vry knoppie terwyl sleep ruimte - lewende (motor-draai) ARROW links sleutel - draai groen. linker pyl regte sleutel - draai groen. reg pyl sleutel - draai horiz. up omlaag sleutel - draai horiz. af numeriese eiland (Plus) - By (zoom in) numeriese eiland - (minus) - Ver (zoom uit) numeriese eiland 4 - skuif na links numeriese eiland 6 - skuif na regs numeriese eiland 8 - skuif up numeriese eiland 2 - beweeg af Page Up - watervlak tot Page Down - watervlak af Elegant (nie-uitputtende) optimization AmiBroker bied nou slim (nie-uitputtende) optimization benewens gereelde, uitputtende soek. Nie-uitputtende soek is nuttig as getal van almal parameter kombinasies van gegewe handel stelsel is eenvoudig te groot haalbaar vir uitputtende soektog te wees. Uitputtende soek is heeltemal fyn, solank dit redelik is om dit te gebruik. Kom ons sê jy het 2 parameters elke wissel 1-100 (stap 1). Dis 10000 kombinasies - perfek OK vir uitputtende soek. Nou met 3 parameters het jy 1000000 kombinasies - dit is nog OK vir uitputtende soek (maar kan lenghty wees). Met 4 parameters het jy as 100 miljoen kombinasies en met 5 parameters (1..100) jy 10000000000 kombinasies. In daardie geval sou dit baie tyd in beslag om almal van hulle is so wees, en dit is die gebied waar nie-uitputtende slim-soekmetodes die probleem wat nie opgelos in 'n redelike tyd deur gebruik te maak uitputtende soek kan oplos. Hier is absoluut die eenvoudigste instruksie hoe om nuwe nie-uitputtende Optimizer (in hierdie geval CMA-ES) gebruik. 1. Maak jou formule in die Formule Redakteur 2. Voeg hierdie enkele lyn aan die bokant van jou formule: OptimizerSetEngine (quotcmaequot) // jy kan ook gebruik quotspsoquot of quottribquot hier 3. (Opsioneel) Kies jou optimalisering teiken in outomatiese analise, Instellings , quotWalk-Forwardquot blad, Optimization teiken area. As jy hierdie stap sal optimaliseer vir die motor / MDD (saamgestelde jaarlikse opbrengs gedeel deur maksimum drawdown) slaan. Nou as jy optimalisering hardloop met behulp van hierdie formule, sal dit nuwe evolusionêre (nie-uitputtende) CMA-ES Optimizer gebruik. Hoe werk dit Die optimalisering is die proses om minimum (of maksimum) van gegewe funksie. Enige handel stelsel kan beskou word as 'n funksie van sekere aantal argumente. Die insette is parameters en kwotasie data. die uitset is jou optimalisering teiken (sê Motor / MDD). En jy is op soek vir 'n maksimum van gegewe funksie. Sommige van smart optimeringsalgoritmes is gebaseer op die natuur (dieregedrag) - PSO algoritme, of biologiese proses - Genetiese algoritmes, en 'n paar is gebaseer op wiskundige konsepte verkry deur die mens - CMA-ES. Hierdie algoritmes gebruik word in baie verskillende gebiede, insluitend finansies. Gee quotPSO financequot of quotCMA-ES financequot in Google en jy sal baie van die inligting te vind. Nie-uitputtende (of quotsmartquot) metodes sal globale of plaaslike optimale vind. Die doel is natuurlik om globale een vind nie, maar as daar 'n enkele skerp piek uit Honderde parameter kombinasies, kan nie-uitputtende metodes versuim om hierdie enkele hoogtepunt vind, maar neem dit vorm handelaars perspecive, vind enkele skerp piek is nutteloos vir handel, want dit gevolg onstabiel sal wees (te broos) en nie kopieer in real handel. In optimalisering proses is ons eerder op soek na plato streke met 'n stabiele parameters en dit is die gebied waar intelligente metodes skyn. Soos om algoritme wat gebruik word deur nie-uitputtende soek dit lyk soos volg: a) die optimizer genereer 'n paar (gewoonlik ewekansige) begin bevolking van parameter stel b) backtest word uitgevoer deur AmiBroker vir elke stel van die bevolking c parameter) die resultate van backtests is geëvalueer volgens die logika van algoritme en nuwe bevolking gegenereer op grond van die evolusie van resultate, d) indien nuwe beste is gevind - dit stoor en gaan na stap b) totdat stop kriteria voldoen Voorbeeld stop kriteria kan die volgende insluit: a) die bereik van bepaalde maksimum iterasies b) stop as die omvang van die beste doel waardes van die vorige X geslagte nul c) stop as die toevoeging van 0,1 standaardafwyking vektor in enige hoofas rigting nie die waarde van objektiewe waarde d verander) ander Elegant gebruik (nie uitputtende) Optimizer in AmiBroker wat jy nodig het om die optimizer enjin wat jy wil gebruik in die AFL formule gebruik te maak van OptimizerSetEngine funksie spesifiseer. Die funksie kies eksterne optimalisering enjin gedefinieer by die naam. AmiBroker tans skepe met 3 enjins: Standard Particle Swarm Optimizer (quotspsoquot), stamme (quottribquot), en CMA-ES (quotcmaequot) - die name in draadjies is om gebruik te word in OptimizerSetEngine oproepe. Benewens die keuse optimizer enjin kan jy 'n paar van sy interne parameters. Om dit te doen gebruik OptimizerSetOption funksie. OptimizerSetOption (quotnamequot, waarde) funksioneer Die funksie stel addisionele parameters vir eksterne optimalisering enjin. Die parameters is enjin-afhanklike. Al drie Optimizers verskeep met AmiBroker (SPSO, trib, CMAE) ondersteun twee parameters: quotRunsquot (aantal lopies) en quotMaxEvalquot (maksimum evaluerings (toetse) per enkele lopie). Die gedrag van elke parameter is enjin-afhanklike, sodat dieselfde waardes kan en gewoonlik sal verskillende resultate met verskillende enjins gebruik oplewer. Die verskil tussen Loop en MaxEval is soos volg. Evaluering (of toets) is enkele backtest (of evaluering van doelfunksie waarde). Run is een volle duur van die algoritme (vind optimale waarde) - gewoonlik met baie toetse (evaluerings). Elke lopie net weer begin die hele optimalisering proses van die nuwe begin (nuwe aanvanklike ewekansige bevolking). Daarom kan elke lopie lei tot die vind van verskillende plaaslike Max / min (indien dit nie globale mens vind). So loop parameter definieer aantal daaropvolgende algoritme lopies. MaxEval is die maksimum aantal evaluerings (bactests) in 'n enkele lopie. As die probleem is relatief eenvoudig en 1000 toetse is genoeg om globale maksimum vind, 5x1000 is meer geneig om globale maksimum vind, want daar is minder kans om vas in plaaslike maksimum, soos daaropvolgende lopies begin uit verskillende aanvanklike ewekansige bevolking keuse parameterwaardes kan wees lastig. Dit hang af van die probleem onder toets, sy kompleksiteit, ens, ens Enige stogastiese nie-uitputtende metode gee jou nie waarborg van die vind van globale maksimum / min, ongeag aantal toetse as dit is kleiner as volledig nie. Die maklikste antwoord is om. spesifiseer as groot aantal toetse as dit redelik vir jou in terme van tyd wat nodig is om te voltooi. Nog 'n eenvoudige raad is om te vermenigvuldig met 10 die aantal toetse met die toevoeging van nuwe dimensie. Dit kan lei tot oorskatting aantal toetse wat nodig is, maar dit is heeltemal veilig. Verskeep enjins is ontwerp eenvoudig om te gebruik, dus quotreasonablequot verstek / outomatiese waardes word gebruik sodat optimalisering gewoonlik kan hardloop sonder om iets (die aanvaarding van standaard) spesifiseer. Dit is belangrik om te verstaan dat alle smart optimeringsmetodes werk die beste in 'n aaneenlopende parameter ruimtes en relatief gladde objektiewe funksies. As parameter ruimte is diskrete ewolusionêre algoritmes kan sukkel om optimale waarde het. Dit is veral waar vir binêre (op / af) parameters - hulle is nie geskik vir enige search metode wat gradiënt van doelfunksie verandering gebruik (soos die meeste slim metodes te doen). As jou handel stelsel baie binêre parameters bevat, moet jy nie gebruik slim optimizer direk op hulle. In plaas daarvan probeer om net deurlopende parameters met behulp van smart Optimizer optimaliseer, en binêre parameters hand of via eksterne script skakel. SPSO - Standard Particle Swarm Optimizer Standard Particle Swarm Optimizer is gebaseer op SPSO2007 kode wat veronderstel is om goeie resultate met dien verstande dat korrekte parameters (bv lopies MaxEval) word vir spesifieke probleem te produseer. Pluk korrekte opsies vir die PSO Optimizer kan lastig wees dus resultate kan aansienlik wissel van geval tot geval. SPSO. dll kom met volle bron kodes binnekant quotADKquot subgids. Voorbeeld-kode vir Standard Particle Swarm Optimizer: (vind optimale waarde in 1000 toetse binne search ruimte van 10000 kombinasies) OptimizerSetEngine (quotspsoquot) OptimizerSetOption (quotRunsquot, 1) OptimizerSetOption (quotMaxEvalquot, 1000) sl Optimaliseer (quotsquot, 26, 1, 100, 1 ) fa Optimaliseer (quotfquot, 12, 1, 100, 1) Koop Kruis (MACD (a, SL), 0) Verkoop Kruis (0, MACD (a, SL)) STAMME - Adaptive Parameter-minder Particle Swarm Optimizer stamme is aanpasbaar , parameter-minder weergawe van PSO (deeltjie swerm optimalisering) nie-uitputtende optimizer. Vir wetenskaplike agtergrond te sien: www. particleswarm. info/Tribes2006Cooren. pdf In teorie behoort dit beter te presteer as gewone PSO, want dit outomaties die swerm groottes en algoritme strategie kan aanpas om die probleem opgelos. Praktyk toon dat sy prestasie is baie soortgelyk aan PSO. Die Tribes. DLL plugin implemente quotTribes-Dquot (dit wil sê dimensielose) variant. Gebaseer op clerc. maurice. free. fr/pso/Tribes/TRIBES-D. zip deur Maurice Clerc. Oorspronklike bron kodes gebruik word met toestemming van die outeur Tribes. DLL kom met volledige bronkode (binne quotADKquot gids) Ondersteun parameters: quotMaxEvalquot - maksimum aantal evaluerings (backtests) per lopie (standaard 1000). Jy moet die aantal evaluerings te verhoog met 'n toenemende aantal dimensies (aantal optimalisering params). Die verstek 1000 is goed vir 2 of maksimum 3 dimensies. quotRunsquot - aantal lopies (weer begin). (Verstek 5) Jy kan die aantal lopies laat by verstek waarde van 5. By verstek aantal lopies (of weer begin) is ingestel op 5. Om stamme Optimizer gebruik, moet jy net een reël toe te voeg tot jou kode: OptimizerSetOption (quotMaxEvalquot , 5000) // 5000 evaluerings maksimum CMA-ES - kovariansiematriks Aanpassing Evolusionêre Strategie optimizer CMA-ES (kovariansiematriks Aanpassing Evolusionêre Strategie) is 'n gevorderde nie-uitputtende optimizer. Vir wetenskaplike agtergrond te sien: www. bionik. tu-berlin. de/user/niko/cmaesintro Volgens wetenskaplike maatstawwe beter as nege ander, gewildste evolusionêre strategieë (soos PSO, genetiese en differensiële evolusie). www. bionik. tu-berlin. de/user/niko/cec2005 Die CMAE. DLL plugin implemente quotGlobalquot variant van soek met 'n paar weer begin met 'n toenemende bevolking grootte CMAE. DLL kom met volledige bronkode (binne quotADKquot gids) By verstek aantal lopies (of weer begin) is ingestel op 5. Dit word aanbeveel om die standaard aantal weer begin verlaat. Jy kan dit verander met behulp van OptimizerSetOption (quotRunsquot, N) oproep, waar N moet wees in die reeks 1..10. Spesifisering van meer as 10 lopies word nie aanbeveel nie, hoewel moontlik. Let daarop dat elke lopie gebruik twee keer die grootte van die bevolking van die vorige lopie dus eksponensieel groei. Daarom met 10 lopies jy eindig met bevolking 210 groter (1024 keer) as die eerste lopie. Daar is nog 'n parameter quotMaxEvalquot. Die standaard waarde is nul, wat beteken dat plugin outomaties MaxEval bereken wat nodig is. Dit word aanbeveel om NIE te MaxEval definieer deur jouself as verstek werk goed. Die algoritme is slim genoeg om die aantal evaluasies vereis die minimum te beperk en dit konvergeer baie vinnig om oplossing punt, so dikwels dit vind oplossings vinniger as ander strategieë. Dit is normaal dat die prop n paar evaluerings stappe sal oorslaan, al is dit vasgestel dat oplossing gevind is, dus moet jy nie verbaas wees dat optimization progress bar baie vinnig op 'n sekere punte kan beweeg. Die plugin het ook die vermoë om verskeie stappe oor aanvanklik geraamde waarde te verhoog indien dit nodig is om die oplossing te vind. As gevolg van sy aangepaste natuur, die quotestimated tyd leftquot en / of quotnumber van stepsquot vertoon deur die dialoog vordering is slegs quotbest raaiskoot op die timequot en kan wissel gedurende optimalisering natuurlik. Om CMA-ES Optimizer gebruik, moet jy net een reël toe te voeg tot jou kode: Dit sal die optimalisering met standaard instellings wat goed vir die meeste gevalle is hardloop. Daar moet kennis geneem, want dit is die geval met baie continouos-ruimte soek algoritmes, wat afneem quotstepquot parameter in Optimaliseer () funciton oproepe nie beduidend beïnvloed optimalisering keer. Die enigste ding wat saak maak, is die probleem quotdimensionquot, dit wil sê die aantal verskillende parameters (aantal optimaliseer funksie oproepe). Die aantal quotstepsquot per parameter kan ingestel word sonder dat die optimalisering tyd, so gebruik die beste besluit wat jy wil. In teorie behoort die algoritme in staat wees om oplossing te vind by die meeste 900 (N3) (N3) backtests waar quotNquot is die dimensie. In die praktyk is dit konvergeer 'n baie vinniger. Byvoorbeeld die oplossing in 3 (N3) dimensionele parameter ruimte (sê 100100100 1000000 uitputtende stappe) kan gevind word in so min as 500-900 CMA-ES stappe. Multi-threaded individuele optimalisering Vanaf AmiBroker 5.70 bykomend tot meervoudige simbool multi-threading. jy kan multi-threaded enkel-simbool optimalisering uit te voer. Om toegang tot hierdie funksie, kliek op drop down arrow langs quotOptimizequot knoppie in die venster Nuwe Ontleding en kies quot Individuele Optimaliseer quot. quotIndividual Optimizequot sal alle beskikbare verwerker cores gebruik om enkel-simbool optimalisering voer, maak dit baie vinniger as die gewone optimalisering. In quotCurrent symbolquot af sal dit optimalisering uit te voer op 'n simbool. In quotAll symbolsquot en quotFilterquot modes sal dit alles simbole agtermekaar te verwerk, dit wil sê eerste volledige optimalisering vir die eerste simbool, dan optimalisering op tweede simbool, ens Beperkings: 1. Custom backtester word NIE ondersteun (nog) 2. Smart optimalisering enjins word nie ondersteun - net LIMITATIEVE optimalisering werk. Uiteindelik kan ons ontslae te raak van beperking (1) - wanneer AmiBroker verander sodat persoonlike backtester nie meer gebruik OLE. Maar (2) is waarskynlik hier om te bly vir 'n lang.
No comments:
Post a Comment