Friday 6 October 2017

Trading System Optimalisering


Trading Systems Koding Testing, Feilsøking og Optimalisering. Nå som du har et handelssystem designet og kodet, er det på tide å teste det for å sikre at kodingen din er fri for logiske og tekniske feil. Vi vil også se på noe som kalles optimalisering - en funksjon i noen handelsprogrammer som gjør at du kan finjustere dine handelsregler for å passe de aksjene du planlegger å handle på. Teste ditt handelssystem Det store flertallet av handelsapplikasjoner som støtter programmeringsspråk støtter også testverktøy. Disse verktøyene er delt inn i to kategorier. 1 Tekniske tekniske testverktøy Søk etter tekniske feil i koden For eksempel, hvis du glemmer å legge til et semikolon etter en erklæring, vil det tekniske testverktøyet varsle deg om at erklæringen er ugyldig. Plasseringen av det tekniske testverktøyet avhenger av handelen applikasjon som brukes MetaTrader viser en feil eller feilresultat når du prøver å kompilere koden din, mens handelsapplikasjoner som Tradecision ha ve en kodekontroll verktøy innebygd i grensesnittet som lar deg sjekke koden din for feil før du bruker den.2 Logiske Logiske testverktøy søke etter logiske feil i koden For eksempel, hvis du skjedde å bruke et større enn tegn i stedet for en mindre enn tegn som ikke er en teknisk feil, vil et logisk testverktøy vise deg at resultatene ikke gir mening. Det mest populære logiske testverktøyet er backtesting verktøyet. Dette verktøyet lar deg ta tidligere data og bruke ditt handelssystem til dataene. Dette gir deg en ide om følgende. Hvorvidt ditt handelssystem er lønnsomt. Hvilke forhold viser seg å være mest lønnsomme. Hvor det kan oppstå feil i reglene dine. For mer informasjon, se Backtesting Tolkning fortiden. Feilsøking av handelssystemet ditt Som med enhver annen type programmering, kan feilsøking være en kjedelig og vanskelig oppgave. Å finne feil i koden krever systematisk å sortere gjennom koden din for å identifisere syntaktiske feil som, selv om det ofte er mindre , kan bringe programmet til et stopp. Her er noen vanlige feil å lete etter. Feiler semikoloner etter uttalelser - Disse må være etter hver setning. Udefinerte variabler - Husk at du må deklarere dem før du bruker dem. Spillefeil - Hvis noen navn eller funksjoner er stavet feil, vil handelsapplikasjonen returnere en feil, se eksempel nedenfor. Feil bruk av - Husk at tilordner en verdi til en annen verdi, mens det betyr lik. Inkorrekt bruk av innebygde funksjoner - Ta kontakt med handelsprogrammet s dokumentasjon eller applikasjonsprogrammeringsgrensesnitt-API for å sikre at du bruker riktig syntaks. Noen handelsapplikasjoner inneholder en fe Ature som lar deg teste koden din før du bruker eller kompilerer den. Denne funksjonen lar deg se hva feilen er og hvilken linje den kan bli funnet. Ta Tradecision for eksempel. Her kan vi se at Tradecision gir oss posisjonslinjen og kolonnen for feilen, en beskrivelse av feilen og typen feil i dette tilfellet er det syntaktisk. Hvis vi ser på uttrykket, kan vi se at i kolonne 8 er xrossBelow ikke en gyldig funksjon. Hvis vi erstatter x som er i kolonne 8 med ac, så vil vi ha gyldig kode. Hvis vi ser på MetaTrader, kan vi se at feilene kommer opp når vi prøver å kompilere programmet. Her kan vi se at i beskrivelsen står det at BuyNow-variabelen ikke var definert Dobbelklikk På denne feilmeldingen får vi oss til den spesifikke plasseringen av feilen i koden. Som du kan se, gir de fleste handelsapplikasjoner deg en enkel måte å finne tekniske feil på og fikse dem. Å fikse feilene involverer bare systematisk å gjennomgå hver feilmelding og så recom hylle koden og eller bruke handelssystemet til diagrammene. Optimalisere ditt handelssystem Noen handelsprogrammer lar deg velge variabler som skal optimaliseres. Tradecision lar deg for eksempel enkelt velge en variabel og erstatte den med kode som vil forsøke optimalisering Optimalisering selv er bare en prosess som finner den optimale verdien for et bestemt handelssystemelement basert på tidligere resultater og ytelse. Merk at overoptimalisering resulterer i handelssystemer som ikke klarer å tilpasse seg markedsforholdene. Derfor er det viktig å bare optimalisere noen viktige variabler, ikke alle variabler. Her er det som optimaliseringsfunksjonen ser ut i Tradecision. You kan se at vi erklærte to nye variabler og sett dem lik The betyr ganske enkelt at handelsprogrammet vil erstatte dette med det optimale tallet. Deretter kan du se at vi brukte de nye variablene i vår handelsstrategi. Til slutt bestemmer vi en rekkevidde for tallene slik at programmet ikke søker etter uendelig. Noen andre handelsprogrammer har funksjoner som fungerer på en lignende måte, slik at du kan erstatte den numeriske verdien med en og fortelle handelsapplikasjonen for å optimalisere den. Konklusjon Nå skal du ha utviklet et fungerende handelssystem der du kan ha tillit. neste del av denne serien vil du lære hvordan du bruker ditt handelssystem til diagrammer og hvordan du bruker det til å gjøre trading decisions. Optimization of Automated Trading System s Interaksjon med Market Environment. Cite dette papiret som Tucnik P 2010 Optimalisering av Automated Trading System s interaksjon med markedsmiljøet i Forbrig P Gnther Heds perspektiver innen bedriftsinformatikkforskning BIR 2010 forelesningsnotater i forretningsinformasjonsprosessering, vol 64 Springer, Berlin, Heidelberg. Dette arbeidet er fokusert på det automatiserte handelssystemet ATS design og optimalisering I en forberedelsesfase før bruk, bør en optimalisering av samspillet mellom slike systemer og det tiltenkte markedsmiljøet gjøres Den tekniske analyseindikatorer brukes mest i ATS. Optimalisering er gjort ved å teste forskjellige innstillinger av MACD-indikatoren og optimale innstillinger er avhengig av markedsparametere. Den mentale bruken av ATS er å utøve sin aktivitet uavhengig avhengig av brukerens preferanser. Hovedmålet er å forbedre automatisert trading system ytelse, for å forbedre sin brukbarhet og akseptabelhet for brukeren. Papiret vil være fokusert på futures markeder bare Chicago og New York, men resultatene gjelder også for andre områder av handel. Charter, JF Mastering the Trade Utprøvde teknikker for profitt fra Intraday og Swing Trading Setups McGraw-Hill, New York 2006 Google Scholar. Kaufman, PJ New Trading Systems og metoder, 4. edn John Wiley Sons, New Jersey 2005 Google Scholar. Murphy, JJ Teknisk analyse for Financial Markets a Omfattende guide til handelsmetoder og applikasjoner New York Institute of Finance, New York 1999 Google Scholar. Nison, S Japanese Candle stav kartingsteknikker, 2. edn Prentice Hall-serien, New Jersey 2001 Google Scholar. Pesavento, L Jouflas, L Handel Hva du ser, hvordan du fortjener mønstergjenkjenning John Wiley Sons, New Jersey 2007 Google Scholar. Tinghino, M Teknisk analyseverktøy Opprette en Lønnsom Trading System Bloomberg Press, New York 2008 Google Scholar. Tucnik, P Automatisk Trading System Design I Godara, V ed Pervasive Computing for Forretningstrender og - programmer IGI Global, Sydney 2010 Google Scholar. Tucnik, P Automated Futures Trading Environment Effekt på beslutningen Gjør i nyere fremskritt i Applied Computer Science Proceedings av den 9. WSEAS International Conference på Applied Computer Science World Vitenskapelig og Engineering Academy and Society, Athen 2009 Google Scholar. Copyright informasjon. Springer-Verlag Berlin Heidelberg 2010.Authors and Affiliations. Petr Tucnik.1 Institutt for informasjonsteknologi, fakultet for informatikk og ledelse Universitetet i Hradec Kralove Hradec Kralove Tsjekkia. Om dette papiret. Hvordan optimaliserer handelssystemet. NOTE Dette er ganske avansert emne Vennligst les tidligere AFL-opplæringsprogrammer først. Ideen bak en optimalisering er enkel Først må du ha et handelssystem. Dette kan være en enkel, flytende gjennomsnittsovergang for eksempel. I nesten alle systemer er det noen parametere som gjennomsnittlig periode som bestemmer hvordan gitt system oppfører seg dvs. er velegnet til langsiktig eller kort sikt, hvordan reagerer det på svært volatile aksjer osv. Optimaliseringen er prosessen med å finne optimale verdier for de parametrene som gir høyeste fortjeneste fra systemet for et gitt symbol eller en portefølje med symboler AmiBroker er en av de få programmene som lar deg optimalisere systemet ditt på flere symboler samtidig. For å optimalisere systemet må du definere f rom ett opptil ti parametere som skal optimaliseres Du bestemmer hva som er minimum og maksimum tillatt verdi for parameteren og i hvilke trinn denne verdien skal oppdateres AmiBroker utfører deretter flere tilbaketestinger systemet bruker ALL mulige kombinasjoner av parameterværdier Når denne prosessen er ferdig AmiBroker viser listen over resultater sortert etter nettoresultat. Du kan se verdiene for optimaliseringsparametere som gir best resultat. Skrive AFL formel. Optimalisering i back tester støttes via ny funksjon kalt optimalisere Syntaxen til denne funksjonen er som følger. variabel optimalisering Beskrivelse, standard min max trinn. variabel - er normal AFL-variabel som får tildelt verdien returnert ved optimalisering av funksjonen Ved normal backtesting, skanning, leting og kommende moduser, returnerer funksjonen optimaliseringsverdien standardverdien, slik at funksjonssamtalen ovenfor svarer til variabel default. In optimaliseringsmodus optimaliserer funksjonen tilbakeførende verdier fra min til maks inklusive med trinnstapping. Beskrivelsen er en streng som brukes til å identifisere optimaliseringsvariabelen og vises som et kolonnenavn i optimaliseringsresultatlisten. Default er en standardverdi som optimaliserer funksjonene i leting, indikator, kommentar, skanning og normal tilbaketest moduser. min er en minimumsverdi av variabelen som er optimalisert. max er en maksimumsverdi av variabelen som er optimalisert. step er et intervall som brukes til å øke verdien fra min til max. AmiBroker støtter opptil 64 samtaler for å optimalisere funksjonen derfor opptil 64 optimalisering variabler, merk at hvis du bruker uttømmende optimalisering, er det veldig bra å begrense antall optimaliseringsvariabler til bare få. Hver samtale for å optimalisere generere maksimalt trinnoptimaliseringsløkker og flere samtaler for å optimalisere multiplisere antall nødvendige kører. For eksempel optimalisering av to parametere ved hjelp av 10 trinn vil kreve 10 10 100 optimaliseringsløkker. Kall optimaliser funksjonen bare EN gang per variabel i begynnelsen av formelen som hver samtale genererer en ny optimaliseringsløkker. Multiple-symboloptimalisering støttes fullt ut av AmiBroker. Maximum søkeplass er 2 64 10 19 10 000 000 000 000 000 000 kombinasjoner.1 Enkelt variabel optimalisering. sigavg Optimaliser Signal gjennomsnitt 9 2 20 1.Buy Cross MACD 12 26, Signal 12 26 sigavg Selg Cross Signal 12 26 sigavg, MACD 12 26.2 To-variabel optimalisering egnet for 3D charting. per Optimaliser pr. 2 5 50 1 Nivå optimaliser nivå 2 2 150 4.Buy Cross CCI per, - Level Sälj Kryss nivå, CCI per.3 Multiple 3 variable optimization. mfast Optimaliser MACD Fast 12 8 16 1 mslow Optimaliser MACD Slow 26 17 30 1 Sigavg Optimaliser Signal gjennomsnitt 9 2 20 1.Buy Cross MACD mfast, mslow Signal mfast, mslow, sigavg Selg Cross Signal mfast, mslow, sigavg, MACD mfast, mslow. Når du har skrevet inn formelen, klikker du bare på optimaliser knappen i vinduet for automatisk analyse. AmiBroker vil begynne å teste alle mulige kombinasjoner av optimaliseringsvariabler og rapportere resultatene i listen. Etter optimalisering er gjort Resultatlisten er presentert sortert etter nettoresultatet. Da du kan sortere resultatene med en hvilken som helst kolonne i resultatlisten, er det enkelt å få de optimale verdiene av parametere for laveste laveste nedgang, laveste antall bransjer, største profittfaktor, laveste marked eksponering og høyeste risiko justert årlig avkastning De siste kolonnene i resultatlisten presenterer verdiene for optimaliseringsvariabler for gitt test. Når du bestemmer hvilken kombinasjon av parametere som passer dine behov, er det beste alt du trenger å gjøre, å erstatte standardverdiene for å optimalisere funksjonsanrop med de optimale verdiene På nåværende stadium må du skrive dem manuelt i formellredigeringsvinduet den andre parameteren for å optimalisere funksjonssamtalen. Viser 3D animerte optimaliseringsdiagrammer. For å vise 3D optimeringsdiagram, må du kjøre tovariabel optimalisering først To variable optimalisering trenger en formel som har 2 Optimaliser funksjonssamtaler Et eksempel på to variabler optimaliseringsformel ser ut som this. per Optimaliser per 2 5 50 1 Nivåoptimaliser nivå 2 2 150 4.Buy Cross CCI per, - Level Sell Cross Level, CCI per. Når du har skrevet inn formelen må du klikke på Optimer knappen. Når optimaliseringen er fullført, bør du klikke på rullegardinpilen på Optimaliser-knappen og velg Vis 3D optimeringsgraf Om et par sekunder vises en fargerik tredimensjonal overflateplott i et 3D-kartvisningsvindu. Et eksempel 3D-diagram generert ved hjelp av over formel er vist nedenfor. Som standard viser 3D-diagrammer verdiene for nettoresultatet mot optimaliseringsvariabler. Du kan imidlertid plotte 3D overflateoversikt for en hvilken som helst kolonne i optimeringsresultattabellen Bare klikk på kolonneoverskriften for å sortere den blå pilen vil vises som indikerer at optimaliseringsresultater sorteres etter valgt kolonne og deretter velge Vis 3D-optimaliseringsgraf igjen. Ved å visualisere hvordan systemets parametere påvirker handelsprestasjon, kan du lettere bestemme hvilke parameterverdier som produseres skjøre og som gir robust systemytelse. Robuste innstillinger er regioner i 3D graden ph som viser gradvis snarere enn brå endringer i overflateplottet 3D-optimaliseringskart er et godt verktøy for å forhindre kurvepassing. Kurvepassing eller overoptimalisering oppstår når systemet er mer komplekst enn det måtte være, og alt det kompleksiteten var fokusert på markedsforhold som aldri kan skje igjen Radikale endringer eller pigger i 3D optimaliseringsdiagrammer viser tydelig overoptimaliseringsområder Du bør velge parameterregion som produserer et bredt og vidt platå på 3D-kart for ditt virkelige handel Parametersett som produserer profittpiggene, vil ikke fungere pålitelig i real trading.3D chart viewer controls. AmiBroker s 3D chart viewer tilbyr total visningskapasiteter med full grafrotasjon og animasjon Nå kan du se systemresultatene dine fra alle tenkelige perspektiv Du kan kontrollere posisjonen og andre parametere i diagrammet ved å bruke musen , verktøylinje og tastatursnarveier, uansett hva du finner enklere for deg Nedenfor finner du listen .- å rotere - hold nede VENSTRE mus e-knappen og flytte i XY retninger - for å zoome inn, zoome ut - hold nede HØYRE museknapp og flytte i XY retninger - for å flytte oversette - hold nede VENSTRE museknapp og CTRL-nøkkel og flytte i XY retninger - å animere - hold nedover VENSTRE museknapp, dra raskt og slipp knappen mens du drar. S PACE - animere automatisk rotere VENSTRE PIL NØKKEL - roter vert venstre HØYRE PIL NØKKEL - drei vert HØYRE PIL NØKKEL - roter horisonten NED PIL NØKKEL - roter horisonten ned NUMPAD PLUS - I nærheten av zoom inn NUMPAD - MINUS - Lang zoom ut NUMPAD 4 - flytt til venstre NUMPAD 6 - flytt til høyre NUMPAD 8 - flytt opp NUMPAD 2 - flytt ned SIDE OPP - vannstand opp PAGE DOWN - vannstand nede. Smart ikke-uttømmende optimalisering. AmiBroker tilbyr nå smart, ikke-uttømmende optimalisering i tillegg til vanlig, uttømmende søk. Ikke-uttømmende søk er nyttig hvis antall av alle parameterkombinasjoner av gitt handelssystem er rett og slett for stort til å være gjennomførbart for uttømmende søk. Utfyllende søk er helt fint så lenge det er reasona la til å bruke det La oss si at du har 2 parametere som varierer fra 1 til 100 trinn 1 Det er 10000 kombinasjoner - perfekt OK for uttømmende søk Nå med 3 parametre har du 1 million kombinasjoner - det er fortsatt OK for uttømmende søk, men kan være lengre Med 4 parametre har du 100 millioner kombinasjoner og med 5 parametere 1 100 har du 10 milliarder kombinasjoner I så fall vil det være for tidkrevende å sjekke dem alle, og dette er området der ikke-uttømmende smarte søkemetoder kan løse problem som ikke kan løses i rimelig tid ved hjelp av uttømmende søk. Her er absolutt den enkleste instruksjonen hvordan du bruker ny, ikke-uttømmende optimizer i dette tilfellet CMA-ES.1 Åpne formelen din i Formula Editor.2 Legg til denne linjen øverst av formula. OptimizerSetEngine cmae du kan også bruke spso eller trib here.3 Valgfritt Velg optimeringsmål i Automatisk analyse, Innstillinger, Walk-Forward-fanen, Optimaliseringsmålfelt Hvis du hopper over dette trinnet, vil det optimalisere for CAR MDD-sammensatt årlig avkastning dividert med maksimal drawdown. Now hvis du kjører optimalisering ved hjelp av denne formelen, vil den bruke ny evolusjonær ikke-uttømmende CMA-ES optimizer. Hvordan fungerer det. Optimaliseringen er prosessen med å finne minimum eller maksimum av gitt funksjon Et hvilket som helst handelssystem kan betraktes som en funksjon av et visst antall argumenter. Inngangene er parametere og sitatdata. Utgangen er ditt optimaliseringsmål, sier CAR MDD. Og du leter etter maksimal gitt funksjon. Noen av smart optimaliseringsalgoritmer er basert på naturdyr oppførsel - PSO-algoritme, eller biologisk prosess - Genetiske algoritmer, og noen er basert på matematiske konsepter avledet av mennesker - CMA-ES. Disse algoritmer brukes på mange forskjellige områder, inkludert økonomi. Skriv inn PSO-finansiering eller CMA-ES finans i Google og deg vil finne mye info. Ingen uttømmende eller smarte metoder vil finne global eller lokal optimal. Målet er selvsagt å finne global en, men hvis det er en eneste skarp topp ut av zil løverparameterkombinasjoner kan ikke-uttømmende metoder mislykkes i å finne denne single-toppen, men etter å ha tatt det i form av handelsperspektiv, er det ubrukelig for handel å finne single sharp peak, fordi resultatet ville være instabil for skjøre og ikke replikerbare i ekte handel. I optimaliseringsprosessen ser ganske etter platåregioner med stabile parametere, og dette er området der intelligente metoder skinner. Som en algoritme som brukes av ikke-uttømmende søk, ser det ut som følger. a optimaliserer genererer noen vanligvis tilfeldig start populasjon av parameter sett b backtest utføres av AmiBroker for hvert parameter sett fra befolkningen c blir resultatene av backtestene evaluert i henhold til algoritmenes logikk og ny befolkning genereres basert på utviklingen av resultater, d hvis det nye beste er funnet - lagre det og gå til trinn b til stoppkriteriene er oppfylt. Eksempelstoppkriteriene kan inkludere en rekkevidde angitte maksimale iterasjoner b stopp hvis rekkevidden av de beste objektivverdiene for de siste X generasjonene er null c stopp hvis du legger til 0 1 standardavviksvektor i en hvilken som helst hovedakse retning, endrer ikke verdien av objektiv verdi d andre. For å bruke en hvilken som helst smart, ikke-uttømmende optimizer i AmiBroker må du spesifisere optimaliseringsmotoren du vil bruke i AFL formelen ved hjelp av OptimizerSetEngine-funksjonen. Funksjonen velger ekstern optimaliseringsmotor definert ved navn AmiBroker for tiden leveres med 3 motorer Standard Particle Swarm Optimizer spso, Stammestamme, og CMA-ES cmae - navnene i stammene skal brukes i OptimizerSetEngine-samtaler. I tillegg til velg optimaliseringsmotor kan det hende du vil sette inn noen av sine interne parametere. For å gjøre det, bruk OptimizerSetOption-funksjonen. OptimalisererSetOptionsnavn, verdifunksjon. Funksjonen angir tilleggsparametere for ekstern optimaliseringsmotor Parametrene er motoravhengige. Alle tre optimalisatorene leveres med AmiBroker SPSO, Trib , CMAE støtter to parametere Kjører antall løp og MaxEval maksimal evalueringstester per enkelt løp Oppførselen av hver parameter er motoravhengig, slik at samme verdier kan og vil gi forskjellige resultater med forskjellige motorer som brukes. Differansen mellom Runs og MaxEval er som følger. Evaluering eller test er single backtest eller evaluering av objektiv funksjonsverdi. RUN er en full runde av algoritmen finner optimal verdi - vanligvis involverer mange tester evalueringer. Hvert løp bare RESTARTS hele optimaliseringsprosessen fra den nye begynnelsen ny første tilfeldig populasjon Derfor kan hvert løp føre til å finne forskjellig lokal maks min hvis den ikke finner global en Så kjører parameter definerer Antall etterfølgende algoritmer kjører MaxEval er det maksimale antall evalueringer bactests i en enkelt run. If problemet er relativt enkelt og 1000 tester er nok til å finne global max, er 5x1000 mer sannsynlig å finne global maksimal fordi det er mindre sjanser til å bli sittende fast i lokal max, da etterfølgende løp vil starte fra forskjellige første tilfeldige populasjon. Å velge parameterverdier kan være vanskelig Avhenger av problem under test, dets kompleksitet osv. En hvilken som helst stokastisk, ikke-uttømmende metode gir deg ikke garanti for å finne global maks min, uansett antall tester hvis det er mindre enn uttømmende. Det enkleste svaret er å angi så stort antall tester som det er rimelig for deg når det gjelder tid som kreves for å fullføre. En annen enkel rådgivning er å multiplisere med 10 antall tester ved å legge til en ny dimensjon. Det kan føre til overestimering av antall tester som kreves, men det er ganske trygt. være enkel å bruke og derfor brukes rimelige standardautomatiske verdier, slik at optimalisering vanligvis kan kjøres uten å spesifisere noe som aksepterer standardinnstillinger. Det er viktig å forstå at alle smarte optimaliseringsmetoder fungerer best i kontinuerlige parameterrom og relativt jevne objektivfunksjoner Hvis parameterplassen er diskret evolusjonære algoritmer kan ha problemer med å finne optimal verdi Det er spesielt sant for binære på av parametre - de er ikke s aved for enhver søkemetode som bruker gradient av objektiv funksjonsendring som de fleste smarte metoder gjør Hvis ditt handelssystem inneholder mange binære parametere, bør du ikke bruke smart optimizer direkte på dem. Prøv å optimalisere bare kontinuerlige parametere ved hjelp av smart optimizer, og bytt binære parametere manuelt eller via eksternt script. SPSO - Standard Particle Swarm Optimizer. Standard Particle Swarm Optimizer er basert på SPSO2007 kode som skal produsere gode resultater, forutsatt at riktige parametere, dvs Runs, MaxEval er gitt for et bestemt problem. Plukke riktige alternativer for PSO optimizer kan være vanskelig, derfor kan resultatene vesentlig variere fra tilfelle til sak. leveres med full kildekoder i ADK-undermappe. Eksempelkode for Standard Particle Swarm Optimizer å finne optimal verdi i 1000 tester innenfor søkeområdet på 10000 kombinasjoner. OptimalisererSetEngine spso OptimizerSetOption kjører, 1 OptimizerSetOption MaxEval, 1000.sl Optimaliser s, 26, 1, 100, 1 fa Optimaliser f, 12, 1, 100, 1.Buy Cross MACD fa, sl, 0 Selg Kors 0, MACD fa, sl. TRIBES - Adaptiv Parameter-mindre Partikkel Swarm Optimizer. Tribes er adaptiv, parameter-mindre versjon av PSO partikkel swarm optimalisering ikke-uttømmende optimizer For vitenskapelig bakgrunn se. I teorien skal det fungere bedre enn vanlig PSO, fordi det kan automatisk justere svømmestørrelser og algoritme strategi for å løse problemet. Praktikk viser at ytelsen er ganske lik PSO. Plugin implementerer Tribes-D dvs. dimensjonsløs variant Basert på av Maurice Clerc Originale kildekoder brukt med tillatelse fra forfatteren. leveres med full kildekode inne i ADK-mappen. Støttede parametere MaxEval - maksimalt antall evalueringsbacktests per run default 1000.You bør øke antall evalueringer med økende antall dimensjoner antall optimaliseringsparameter Standard 1000 er bra for 2 eller maksimalt 3 dimensjoner. Runs - Antall kjører starter på nytt 5 Du kan forlate antall kjøringer med standardverdien på 5.Kontrollert antall kjøringer eller omstart er satt til 5.Til å bruke Stammer optimizer, trenger du bare å legge til en linje i koden din. OptimizerSetOption MaxEval, 5000 5000 evalueringer max. CMA-ES - Covariance Matrix Adaptation Evolutionær Strategi Optimizer. CMA-ES Covariance Matrix Adaptation Evolusjonær Strategi er avansert ikke-uttømmende optimizer For vitenskapelig bakgrunn se I henhold til vitenskapelige referanser overgår ni andre, mest populære evolusjonære strategier som PSO, Genetisk og Differensiell evolusjon. Plugin implementerer global variant av søk med flere omstart med økende pop Vektstørrelse kommer med full kildekode inne i ADK-mappen. Standard antall kjøringer eller omstart er satt til 5 Det anbefales at du forlater standardnummeret på nytt. Du kan variere det ved hjelp av OptimizerSetOption Kjører, N-anrop, hvor N skal være innenfor rekkevidde 1 10 Angi mer enn 10 løp anbefales ikke, selv om det er mulig Merk at hver løp bruker TWICE størrelsen på populasjonen i forrige runde, slik at den vokser eksponentielt. Derfor med 10 løp slutter du med befolkningen 2 10 større 1024 ganger enn den første runden. Der er en annen parameter MaxEval Standardverdien er null, noe som betyr at plugin vil automatisk beregne MaxEval påkrevd Det anbefales at IKKE definere MaxEval selv fordi standard fungerer fint. Algoritmen er smart nok til å minimere antall evalueringer som kreves, og det konvergerer veldig fort til løsningspunkt, så ofte finner det løsninger raskere enn andre strategier. Det er normalt at plugin vil hoppe over noen evalueringstrinn, hvis det oppdager at løsningen ble funnet, derfor e du bør ikke bli overrasket over at optimaliseringsfremdriftslinjen kan bevege seg veldig fort på noen punkter Pluggen har også mulighet til å øke antall trinn over opprinnelig estimert verdi dersom det er nødvendig for å finne løsningen På grunn av sin adaptive natur, er den estimerte tiden igjen og eller antall trinn som vises i fremdriftsdialogboksen, er bare den beste gjetningen og kan variere under optimaliseringskurs. For å bruke CMA-ES optimizer trenger du bare å legge til en linje i koden. Dette vil kjøre optimaliseringen med standardinnstillinger som er bra for de fleste tilfeller. Det skal bemerkes, som det er tilfellet med mange continouos-plasssøkalgoritmer, påvirker den avtagende trinnparameteren i Optimaliser funciton-anrop ikke signifikant optimaliseringstider. Det eneste som betyr noe er problemdimensjonen, dvs. Antall forskjellige parametre Antall optimere funksjonsanrop Antall trinn per parameter kan settes uten å påvirke optimaliseringstiden, så bruk den fineste oppløsningen du vil ha i teorien y algoritmen skal kunne finne en løsning på maksimalt 900 N 3 N 3 backtests hvor N er dimensjonen I praksis konvergerer det en masse raskere For eksempel kan løsningen i 3 N 3-dimensjonal parameter plass si 100 100 100 1 million uttømmende trinn kan finnes i så få som 500-900 CMA-ES-trinn. Multi-threaded individuell optimalisering. Ved å starte fra AmiBroker 5 70 i tillegg til fler-symbol multithreading kan du utføre multi-threaded single-symbol optimalisering. For å få tilgang til denne funksjonaliteten, klikk på drop pil ned ved siden av Optimaliser knappen i vinduet Ny analyse og velg Individuell optimalisering. Individuell optimalisering vil bruke alle tilgjengelige prosessorkjerner til å utføre enkeltsymboloptimalisering, noe som gjør det mye raskere enn vanlig optimalisering. I nåværende symbolmodus vil den utføre optimalisering på ett symbol I alle symboler og filtermodi vil det behandle alle symbolene i rekkefølge, dvs. første fullstendige optimalisering for første symbol, deretter optimalisering på andre symbol etc. Limitations 1 Custo m backtester er IKKE støttet ennå 2 Smart optimeringsmotorer støttes IKKE - bare EXHAUSTIVE optimalisering fungerer. Til slutt kan vi bli kvitt begrensning 1 - når AmiBroker er endret, slik at egendefinert backtester ikke bruker OLE lenger. Men 2 er sannsynligvis her for å være for lenge.

No comments:

Post a Comment