Monday 30 October 2017

How To Backtest Your Trading System


Backtesting Hva er Backtesting Backtesting er prosessen med å teste en handelsstrategi på relevante historiske data for å sikre sin levedyktighet før den næringsdrivende risikerer enhver faktisk kapital. En næringsdrivende kan simulere handel med en strategi over en passende tidsperiode og analysere resultatene for nivåene av lønnsomhet og risiko. BREAKING DOWN Backtesting Hvis resultatene oppfyller de nødvendige kriteriene som er akseptable for næringsdrivende, kan strategien da implementeres med viss grad av selvtillit om at det vil resultere i fortjeneste. Hvis resultatene er mindre gunstige, kan strategien modifiseres, justeres og optimaliseres for å oppnå de ønskede resultatene, eller det kan helt slettes. En betydelig mengde av volumet som handles i dagens finansielle marked, gjøres av handelsfolk som bruker en slags datautomatisering. Dette gjelder spesielt for handelsstrategier basert på teknisk analyse. Backtesting er en integrert del av å utvikle et automatisert handelssystem. Betydende Backtesting Når du er ferdig på riktig måte, kan backtesting være et uvurderlig verktøy for å ta avgjørelser om du skal bruke en handelsstrategi. Prøveperioden som en backtest utføres på er kritisk. Varigheten av prøveperioden skal være lang nok til å inkludere perioder med varierende markedsforhold, inkludert opptrender, downtrends og range-bound trading. Å utføre en test på bare én type markedsforhold kan gi unike resultater som kanskje ikke fungerer bra under andre markedsforhold, noe som kan føre til falske konklusjoner. Prøvestørrelsen i antall bransjer i testresultatene er også avgjørende. Hvis prøvenummeret av handler er for lite, kan testen ikke være statistisk signifikant. En prøve med for mange handler over en lang periode kan gi optimerte resultater der et overveldende antall vinnende handler samles rundt en bestemt markedstilstand eller trend som er gunstig for strategien. Dette kan også føre til at en næringsdrivende trekker villedende konklusjoner. Å holde det Real En backtest bør gjenspeile virkeligheten i størst mulig grad. Handelsutgifter som ellers kan betraktes som ubetydelige av handelsmenn når de analyseres individuelt, kan ha betydelig innvirkning når aggregatkostnaden beregnes over hele tilbakekjøpsperioden. Disse kostnadene inkluderer provisjoner, spreads og slippe, og de kunne bestemme forskjellen mellom om en handelsstrategi er lønnsom eller ikke. De fleste backtesting programvarepakker inkluderer metoder for å ta hensyn til disse kostnadene. Kanskje den viktigste metriske assosiert med backtesting er strategys nivå av robusthet. Dette oppnås ved å sammenligne resultatene av en optimalisert tilbaketest i en bestemt prøveperiode (referert til som prøve) med resultatene av en backtest med samme strategi og innstillinger i en annen prøveperiode (referert til som out - av-prøve). Hvis resultatene er like lønnsomme, kan strategien anses å være gyldig og robust, og den er klar til å bli implementert i sanntidsmarkeder. Hvis strategien mislykkes i sammenligninger uten sammenligning, trenger strategien videreutvikling, eller den bør helt avgis. Bak-teste dine handelsideer En av de mest nyttige tingene du kan gjøre i analysevinduet er å back - test din handelsstrategi på historiske data. Dette kan gi deg verdifull innsikt i styrker og svake punkter i systemet ditt før du investerer ekte penger. Denne enkle AmiBroker-funksjonen kan spare mye penger for deg. Skrive dine handelsregler Først må du ha objektive (eller mekaniske) regler for å gå inn og ut av markedet. Dette trinnet er grunnlaget for strategien din, og du må tenke på det selv, siden systemet må samsvare med risikotoleransen, porteføljestørrelsen, pengenehåndteringsteknikker og mange andre individuelle faktorer. Når du har egne regler for handel, bør du skrive dem som kjøp og salg av regler i AmiBroker Formula Lanugage (pluss kort og omslag hvis du vil teste også kort handel). I dette kapittelet vurderer vi veldig grunnleggende glidende gjennombruddssystem. Systemet vil kjøpe aksjekontrakter når nærprisen stiger over 45-dagers eksponentielt glidende gjennomsnitt og vil selge stockscontracts når nær pris faller under 45-dagers eksponentielt glidende gjennomsnitt. Det eksponentielle glidende gjennomsnittet kan beregnes i AFL ved hjelp av den innebygde funksjonen EMA. Alt du trenger å gjøre er å spesifisere inngangsarrangementet og gjennomsnittsperioden, slik at det 45-dagers eksponentielle glidende gjennomsnittet av sluttkursene kan oppnås med følgende erklæring: Den nære identifiseringen refererer til innebygd array-holdings sluttkurs for nåværende analysert symbol . For å teste om den nærtliggende prisen krysser over eksponentielt glidende gjennomsnitt, bruker vi innebygd kryssfunksjon: Kjøp kryss (Lukk, ema (Lukk, 45)) Ovennevnte setning definerer en buy trading regel. Det gir quot1quot eller quottruequot når nær pris krysser over ema (lukk, 45). Da kan vi skrive selgeregelen som vil gi quot1quot når motsatt situasjon skjer - Lukk priskryss under ema (nær 45): selg kors (ema (close, 45), lukk) Vær oppmerksom på at vi bruker samme kryssfunksjon, men den motsatte rekkefølgen av argumenter. Så komplett formel for lange handler ser slik ut: kjøp kryss (lukk, ema (lukk 45)) selg kryss (ema (lukk 45), lukk) MERK: For å opprette ny formel vennligst åpne Formula Editor ved hjelp av Analysis-gtFormula Editor meny, skriv inn formelen og velg Verktøy-gtSend til analyse-menyen i Formel-editor. For å back-test systemet, klikk bare på Back test-knappen i vinduet Automatisk analyse. Pass på at du har skrevet inn formelen som inneholder minst kjøp og salg av handelsregler (som vist ovenfor). Når formelen er riktig begynner AmiBroker å analysere symbolene dine i henhold til handelsreglene dine, og genererer en liste over simulerte bransjer. Hele prosessen er veldig rask - du kan prøve å teste tusenvis av symboler på noen minutter. Fremdriftsvinduet viser deg beregnet sluttidspunkt. Hvis du vil stoppe prosessen, kan du bare klikke på Avbryt-knappen i fremdriftsvinduet. Når prosessen er ferdig, vises listen over simulerte handler nederst i automatiske analysevinduet. (Resultatpanelet). Du kan undersøke når kjøp og salg signaler skjedde bare ved å dobbeltklikke på handelen i resultatruten. Dette gir deg rå eller ufiltrerte signaler for hver bar når kjøps - og salgsbetingelsene er oppfylt. Hvis du vil se bare single trade-piler (åpning og lukking for øyeblikket valgt handel), bør du dobbeltklikke på linjen mens du holder SHIFT-tasten nede. Alternativt kan du velge hvilken type skjerm ved å velge passende element fra hurtigmenyen som vises når du klikker på resultatruten med høyre museknapp. I tillegg til resultatlisten kan du få svært detaljert statistikk over ytelsen til systemet ditt ved å klikke på Rapporter-knappen. For å finne ut mer om rapportstatistikk, sjekk ut rapportvindubeskrivelsen. Endre testinnstillingene for tilbakestilling Tilbakeprøvningsmotoren i AmiBroker bruker noen forhåndsdefinerte verdier for å utføre oppgaven, inkludert porteføljestørrelsen, periodiciteten (daglig hver måned), provisjonsbeløp, rentesats, maksimal tap og fortjeneste målstopp, type handler, prisfelt og så på. Alle disse innstillingene kan endres av brukeren ved hjelp av innstillingsvinduet. Når du har endret innstillinger, vær så snill å husk å kjøre testen på nytt hvis du vil at resultatene skal synkroniseres med innstillingene. For eksempel, for å tilbakestille testen på ukentlige barer i stedet for daglig bare klikk på Innstillinger-knappen, velg Weekly from Periodicity combo-boksen og klikk OK. Kjør deretter analysen din ved å klikke på Tilbake test. Reserverte variabelnavn Følgende tabell viser navnene på reservert variabler som brukes av Automatic Analyzer. Betydningen og eksemplene på bruk av dem er gitt senere i dette kapittelet. Tillater kontroll dollarbeløp eller prosentandel av porteføljen som er investert i handelen (se forklaringer nedenfor) Automatisk analyse (ny i 3.9) Hittil har vi diskutert ganske enkel bruk av back testeren. AmiBroker støtter imidlertid mye mer sofistikerte metoder og konsepter som vil bli diskutert senere i dette kapittelet. Vær oppmerksom på at nybegynneren først skal spille litt med de enklere emnene som er beskrevet ovenfor, før du fortsetter. Så når du er klar, ta en titt på følgende nylig introduserte funksjoner i back-testeren: a) AFL-scripting-vert for avanserte formelskribenter b) forbedret støtte for korte handler c) måten å kontrollere ordreutføringsprisen fra script d) ulike typer stopp i back tester e) plassering størrelse f) runde størrelse og tick størrelse g) margin konto h) backtesting futures AFL scripting vert er et avansert tema som er dekket i et eget dokument tilgjengelig her og jeg vil ikke diskutere det i dette dokumentet. Resterende funksjoner er mye lettere å forstå. I tidligere versjoner av AmiBroker, kan du bare simulere stopp-og-omvendt strategi hvis du ønsker å back-test system med både lange og korte handler. Når lang stilling ble stengt, ble en ny kort posisjon åpnet umiddelbart. Det var fordi kjøp og salg av reserverte variabler ble brukt til begge typer bransjer. Nå (med versjon 3.59 eller høyere) finnes det separate reservert variabler for å åpne og lukke lange og korte handler: buy - quottruequot eller 1 verdi åpner lang handel selge - quottruequot eller 1 verdi lukker lang handel kort - quottruequot eller 1 verdi åpner korthandel - quottruequot eller 1 verdi lukker kort handel Som for å back-test kort handler må du tilordne korte og dekke variabler. Hvis du bruker stop-and-reverse-system (alltid på markedet), tilordner du bare å selge til kort og kjøpe for å dekke kortsalgsdekkekjøp. Dette simulerer måten pre-3.59-versjoner fungerte. Men nå gjør AmiBroker deg til å ha separate handelsregler for å gå lenge og for å gå kort som vist i dette enkle eksempelet: lange handler inngangs - og utgangsregler: kjøp kryss (cci (), 100) selger kryss (100, cci ()) kort Handler inngang og utgang regler: kort kors (-100, cci ()) cover cross (cci (), -100) Merk at i dette eksempelet hvis CCI er mellom -100 og 100 er du ute av markedet. Kontroller handelspris AmiBroker tilbyr nå 4 nye reservert variabler for å spesifisere prisen som kjøpes, selges, kort - og omslagsordrer utføres. Disse arrays har følgende navn: buyprice, salgspris, shortprice og coverprice. Hovedverdien av disse variablene er å kontrollere handelspris: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) på mandag, kjøp på høyt, ellers kjøp på tett, så du kan skrive følgende for å simulere ekte stoppordrer: BuyStop. Formelen for buy stop level SellStop. formelen for salgsstoppnivå hvis kjøpsordren stiger over buystopnivået (highgtbuystop) når som helst når kjøpesummen går over (ved kjøpstopp eller lavt avhengig av hvilket som er høyere) Kjøp kryss (High, BuyStop) hvis det er noen ganger under dagskursene under salgsprisnivået (selgstopp, selgstopp) Kjøpspris max (BuyStop, Lav) sørg for at kjøpesummen ikke mindre enn Low SellPrice min (SellStop, High) sørg for at salgsprisen ikke er lavere enn selgerprisen. salgspris ikke høyere enn høy Vær oppmerksom på at AmiBroker forhåndsinnstiller salgspris, salgspris, shortprice og coverprice array variabler med verdiene som er definert i vinduet System Test Settings (vist nedenfor), slik at du ikke trenger å definere dem i formelen din. Hvis du ikke definerer dem, fungerer AmiBroker som i de gamle versjonene. Under tilbakest testing vil AmiBroker sjekke om verdiene du tilordnet til salgspris, salgspris, shortprice, coverprice passer inn i høyt lavt utvalg av gitt bar. Hvis ikke, vil AmiBroker justere den til høy pris (hvis prisverdien er høyere enn høy) eller til lav pris (hvis prisverdien er lavere enn lav) Resultatmål stopper Som du kan se i bildet ovenfor, er nye innstillinger for Resultatmål stopper er tilgjengelige i vinduet System Test Settings. Resultatmål stopper utføres når høyprisen for en gitt dag overstiger stoppnivået som kan gis som prosentandel eller poengøkning fra kjøpesummen. Som standard blir stoppene utført til pris du definerer som salgspris array (for lange handler) eller dekning pris array (for korte handler). Denne oppførselen kan endres ved å bruke quotExit ved stopquot-funksjonen. quotExit ved stopquot-funksjonen Hvis du markerer quotExit ved stopquot-boksen i innstillingene, stopper vil bli utført på eksakt stoppnivå, dvs. hvis du definerer resultatmål stopper på 10 ditt stopp og kjøpesummen var 50 stoppordre vil bli utført på 55 selv om Din salgsprismatrise inneholder forskjellig verdi (for eksempel sluttkurs på 56). Maksimal tap stopper arbeid på lignende måte - de utføres når lavprisen for en gitt dag faller under stoppnivået som kan gis som en prosentandel eller poengøkning fra kjøpesummen. Denne typen stopp brukes til å beskytte fortjeneste som det sporer handelen din, slik at hver gang en posisjonverdi når en ny høy, er det stoppende stoppet plassert på et høyere nivå. Når fortjenesten faller under det bakre stoppnivået, er stillingen lukket. Denne mekanismen er illustrert på bildet nedenfor (10 tilbakestillingsstopp er vist): En prøve på lav nivå implementering av Profit-mål stopp i AFL: Kjøp kryss (MACD (), Signal ()) for (i 0 I lt BarCount i) if (priceatbuy 0 Kjøp i) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Selg jeg 1 SelgPris i 1.1 priceatbuy priceatbuy 0 annet Selg jeg 0 Dette er en ny funksjon i versjon 3.9. Posisjonsstørrelsen i backtester er implementert ved hjelp av ny reservert variabel PosisjonSize ltsize arraygt Nå kan du styre dollarbeløp eller prosentandel av porteføljen som er investert i handelspositive nummer definere (dollar) beløp som er investert i handelen for eksempel: PositionSize 1000 invest 1000 i hver handel negativt tall -100 ..- 1 definere prosentandel: -100 gir 100 av nåværende porteføljestørrelse, -33 gir 33 av tilgjengelig egenkapital for eksempel: PositionSize -50 investerer bare bare halvparten av det nåværende egenkapitaldimensjonale eksempelet: PositionSize - 100 RSI () som RSI varierer fra 0..100 dette vil resultere i posisjon avhengig av RSI-verdier - g lave verdier av RSI vil resultere i høyere prosent investert Hvis mindre enn 100 av tilgjengelige kontanter er investert, tjener det gjenværende beløpet renter som definert i innstillingene. Det finnes også en ny avkrysningsboks i AA-innstillingsvinduet: quotAllow posisjonsstørrelseskrympekvot - dette styrer hvordan backtester håndterer situasjonen når den valgte posisjonsstørrelsen (via Posisjonsstørrelse) overstiger tilgjengelig kontanter: Når dette flagget er merket, blir posisjonen angitt med størrelse skinket til tilgjengelig kontanter hvis den ikke er merket, ikke posisjonen er oppgitt. For å se aktuelle stillingsstørrelser, bruk en ny rapportmodus i AA-innstillingsvinduet: quotTrade-liste med priser og pos. sizequot Til slutt, her er et eksempel på Tharps ATR-baserte posisjonstørrelsesteknikk kodet i AFL: Kjøp ltyour buy formula heregt Selg 0 selger bare etter stopp TrailStopAmount 2 ATR (20) Capital 100000 VIKTIG: Sett den også i Innstillinger: Innledende Egenkapitalrisiko 0,01KapitalposisjonSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, TrailStopAmount, 1) Teknikken kan oppsummeres som følger: Den totale egenkapitalen per symbol er 100.000, vi setter risikonivået til 1 av den totale egenkapitalen. Risikoenivået er definert som følger: Hvis et tilbakestilt stopp på en 50 aksje er på, si 45 (verdien av to ATRer mot stillingen), er 5 tapet fordelt på 1000 risikoen for å gi 200 aksjer til å kjøpe. Så er risikoen for tap 1000, men allokeringsrisikoen er 200 aksjer x 50 aksjer eller 10 000. Så tildeler vi 10 av egenkapitalen til kjøpet, men risikerer bare 1000. (Redigert utdrag fra AmiBroker mailinglisten) Rund masse størrelse og tick størrelse Ulike instrumenter handles med ulike quottrading unitsquot eller quotblocksquot. For eksempel kan du kjøpe brøkdel av enheter i fond, men du kan ikke kjøpe brøkdel av antall aksjer. Noen ganger må du kjøpe i 10s eller 100s mye. AmiBroker lar deg nå spesifisere blokkstørrelsen på global og per-symbol nivå. Du kan definere per-symbol runde størrelsesstørrelse på Symbol-gtInformation-siden (bilde 3). Verdien på null betyr at symbolet ikke har noen spesiell runde masse størrelse og vil bruke quotDefault round lot sizequot (global setting) fra siden Automatisk analyseinnstillinger (bilde 1). Hvis standardstørrelsen er satt til null betyr det at brøkdel antall aksjekontrakter er tillatt. Du kan også kontrollere runde størrelsesstørrelse direkte fra AFL-formelen din ved hjelp av RoundLotSize reservert variabel, for eksempel: Denne innstillingen styrer minimumsprisbevegelsen for gitt symbol. Du kan definere den på global og per-symbol nivå. Som med rund masseformat, kan du definere per-symbol-tikkestørrelse på Symbol-gtInformation-siden (bilde 3). Verdien på null instruerer AmiBroker til å bruke quotdefault tick sizequot definert på Innstillinger-siden (bilde 1) i Automatic Analysis-vinduet. Hvis standard tick-størrelse også er satt til null betyr det at det ikke er noen minimumsprisbevegelse. Du kan angi og hente kryssstørrelsen også fra AFL-formelen ved å bruke TickSize reservert variabel, for eksempel: Merk at innstillingen for kryssstørrelse påvirker KUN trader forlatt av innebygde stopp og ordet ApplyStop (). Backtesteren forutsetter at prisdataene følger tikkestørrelseskrav, og det endrer ikke prisrapporter levert av brukeren. Så spesifiserer tick-størrelse bare fornuftig hvis du bruker innebygde stopp, slik at utgangspunkter genereres på kvoterte prisnivåer i stedet for beregnet. For eksempel i Japan - du kan ikke ha fraksjonelle deler av yen, slik at du bør definere global ticksize til 1, så innebygd stopper avslutningshandler på heltallnivåer. Innstillingen for kontormargin definerer prosentmarginalkravet for hele kontoen. Standardverdien av Kontobutikk er 100. Dette betyr at du må gi 100 midler for å komme inn i handelen, og slik fungerer backtester i tidligere versjoner. Men nå kan du simulere en marginal konto. Når du kjøper på margin, låner du bare penger fra megleren til å kjøpe aksjer. Med gjeldende regler kan du sette opp 50 av kjøpesummen på aksjen du ønsker å kjøpe og låne den andre halvdelen fra megleren. For å simulere dette oppgir du bare 50 i feltet Kontantmargin (se bilde 1). Hvis din egenkapital er satt til 10000 vil din kjøpekraft være 20000, og du vil kunne legge inn større posisjoner. Vær oppmerksom på at denne innstillingen angir marginen for hele kontoen og det er IKKE relatert til futures trading i det hele tatt. Med andre ord kan du handle aksjer på marginkonto. quotReverse inngangssignal tvinger exitquot-boksen til Backtester-innstillingene. Når det er PÅ (standardinnstillingen) - backtester fungerer som i tidligere versjoner og lukker allerede åpen posisjon hvis nytt inngangssignal i omvendt retning oppstår. Hvis denne bryteren er AV - selv om omvendt signal oppstår, opprettholder backtester nåværende åpen handel og lukker ikke positon før det går til vanlig utgang (salg eller omslag) signal. Med andre ord når denne bryteren er OFF backtester ignorerer korte signaler under lange handler og ignorerer kjøpssignaler under korte handler. quotAllow samme barutgang (single bar trade) alternativ til Innstillinger Når det er PÅ (standardinnstillingene) - inngang og utgang i samme bar er tillatt (som i tidligere versjoner) hvis den er AV - Avslutt kan skje fra Bare den neste linjen (dette gjelder for vanlige signaler, det er en egen innstilling for ApplyStop-genererte utganger). Bytte den til OFF gjør det mulig å reprodusere oppførselen til MS backtester som ikke klarer å håndtere samme dagutganger. quotActivate stopper immediatelyquotThis setting løser problemet med testing systemer som inngår bransjer på markedet åpent. I versjoner før 4,09 backtester antok at du var å inngå handler på markedet nær, så innebygde stopp ble aktivert fra neste dag. Problemet var når du faktisk definerte åpen pris som handelens inngangspris - da samme prisendringer i samme dag ikke utløste stoppene. Det var noen publiserte løsninger basert på AFL-kode, men nå trenger du ikke bruke dem. Bare hvis du handler på åpen, bør du markere quotActivate stops immediatelyquot (bilde 1). Du kan spørre hvorfor ikke bare sjekke buyprice eller shortprice array hvis den er lik åpen pris. Unfortunatelly dette vil ikke fungere. Hvorfor Bare fordi det er doji dager når åpen pris er like nær og da vil backtester aldri vite om handel ble inngått på markedet åpen eller nær. Så vi trenger virkelig en egen innstilling. QUOTE QuickAFLquotQuickAFL (tm) er en funksjon som tillater raskere AFL-beregning under visse forhold. I utgangspunktet (siden 2003) var den bare tilgjengelig for indikatorer, fra versjon 5.14 er den også tilgjengelig i automatisk analyse. I utgangspunktet var ideen å tillate raskere diagramrapportering ved å beregne AFL-formel bare for den delen som er synlig på diagrammet. På samme måte kan automatisk analysevindu bruke delsett av tilgjengelige anførselstegn for å beregne AFL, hvis valgt 8220range8221 parameter er mindre enn 8220All siteringskvot. Detaljert forklaring på hvordan QuickAFL fungerer og hvordan du kontrollerer det, finnes i denne Knowledge Base-artikkelen: amibrokerkb20080703quickafl Merk at dette alternativet ikke bare fungerer i backtesteren, men også i optimaliseringer, utforskninger og skanninger.9. Tilbake Testing Konkurransen om handelstesting Som jeg tidligere har nevnt, er det en ting jeg egentlig elsker om handel, at i motsetning til alle andre virksomheter kan du fullt ut teste forretningsmodellen din (tradingplan) uten å risikere noen ekte penger. I handel blir denne vurderingsprosessen kalt tilbake testing. Bakprøving er området nå mest neglisjert av handelsmenn. Ive snakket om betydningen av psykologi og pengehåndtering i tidligere kapitler, og så har mange andre handelsbusser. Så mye, det er nå en bevy av informasjon og bevissthet rundt. Du trenger bare å surfe på nettet for å se hvor mye fokus er plassert på disse områdene som det burde være. Men all oppmerksomhet ser ut til å være på bekostning av tilbakestesting. Som et resultat i handel tilbake testing, tror jeg, har nå blitt den nye minst forstått og verdsatt handel område. Hvorfor er back testing så viktig Trading back testing er viktigst fordi det direkte påvirker dine oppføringer og utganger, pengehåndtering og psykologi på følgende måter. Oppføringer og avslutter tilbaketesting gjør at du kan teste hele systemytelsen din ved hjelp av historiske data. Med den informasjonen kan du gjøre de nødvendige justeringene for å produsere resultatene du leter etter. Tilbaketesting av pengestyring gjør at du kan teste ulike modeller for styring av penger for å se hvilke som fungerer best med systemet. Psykologi som diskutert tidligere i boken, forstår systemets styrker og svakheter, selv om de bare er på papir, vil forbedre din handelstillit. Dette vil ha uendelig effekt på ytelsen din når du begynner å handle for ekte. Uansett hvilket teknisk analyse kriterium du bruker til å handle med å flytte gjennomsnitt, lysestaker, volatilitetsbrudd, Fibonacci retracements eller andre handelssystemer som du kommer til å trenge, må du teste det grundig for å fjerne eventuell tvil om dens evne. Uten å drive tilbake test, oppstår en mangel på tillit og krever vanligvis handelsmenn å stille spørsmål til egne handelssystemer. De gir fristelsen til å endre sin handelsplan ofte med ødeleggende konsekvenser. Denne fristelsen kommer vanligvis fra en rekke tapende handler eller en mulighet til å erstatte sitt handelssystem med en ny whiz-bang-indikator som er den siste fadet som snakket om i chatfora. Alt som høres for godt ut til å være sant, vil tiltrekke seg en handelsmann som ikke er fornøyd med sitt handelssystem, bare fordi hun ikke har testet systemet i orden. Hun har ikke bygget opp den nødvendige tilliten som trengs for å kunne håndtere systemet hun har utviklet. Vil min handelsstrategi være lønnsom Dette er det mest spurte spørsmålet i handelsverdenen. Forfatter Mark Jurik hadde en tur på å svare på det i sin bok Computerized Trading, som vist i boks 9.1. Kilde: Jurik, M 1999, Datastyrt handel: Maksimering av daghandel og overnatting, New York Institute of Finance, New York. Men hva handler det om å teste tilbake på nytt? Trading backtesting er prosessen med å teste en handelsstrategi ved hjelp av historiske data i stedet for å teste det i sanntid med ekte penger. De beregninger som er oppnådd ved testing, kan brukes som en indikasjon på hvor godt strategien ville ha utført dersom den hadde blitt brukt på tidligere bransjer. Tolkning av disse resultatene gir da forhandleren tilstrekkelige beregninger for å vurdere handelssystemets potensial. Logisk vet vi at resultatene fra denne typen test ikke vil kunne forutsi fremtidig avkastning med presisjonsnøyaktighet, men det kan gi en indikator på om du bør selv forfølge et handelssystem eller ikke. Hva mer, hvis du bestemmer deg for å fortsette å handle med systemet, vil det gi deg veiledninger om hva du kan forvente. Men spørsmålet gjenstår: hvordan kan du teste en trading system ytelse over tid Det er bare to måter å gjøre dette manuelt eller med dataprogramvare. For å være ærlig, er dataprogram det eneste virkelige alternativet. Jeg har prøvd begge testmetoder og manuell testing er ikke bare tidkrevende, men veldig vanskelig å replikere og teste effektivt. Fordelene som kommer fra trading backtesting programvare kan ikke overvurderes. Det vil spare deg tid og gi en endeløs mulighet til å finjustere og teste systemet ditt. Et lite utlegg i kapital for å kjøpe god programvare for tilbakeringstesting vil potensielt spare deg tusenvis på markedet. Det er en veldig smart investering hvis du vurderer å designe et vellykket og mekanisk handelssystem. Mekanisk tilbakestilling Vennligst forstå, så lenge ditt mekaniske handelssystem utelukkende fungerer med prisdata (åpent, høyt, lavt, nært, volum), vil du kunne bruke programvare for tilbakestilling. For eksempel, si at du oppretter et mekanisk handelssystem med følgende oppføringsregel: Regel: Kjøp en sikkerhet når 10-dagers glidende gjennomsnitt av sluttkurs går over 30-dagers glidende gjennomsnitt av sluttkurs. Denne regelen kan testes ganske enkelt over historiske data. På den annen side kan kjøpesignalregelen være litt mer komplisert, for eksempel: Regel: Kjøp sikkerhet når 10-dagers glidende gjennomsnitt av sluttkursen krysser over 30-dagers glidende gjennomsnitt av sluttkurs og PE-forholdet var 75 eller lavere enn verdien tre måneder før. Denne regelen introduserer data som ikke ofte leveres eller vedlikeholdes i en database med prisinformasjon. For å lykkes tilbake testen vil dette innebære å skaffe historiske data for et sikkerhetssystem, samt pris-til-inntjeningsforholdet (PE-forhold). Typisk vil historiske data på en gruppe aksjer bare omfatte det åpne, høye, lave, lukkede og volum for hver periode. På grunn av denne begrensningen er mange mekaniske handelssystemer designet rundt rent tekniske indikatorer. Dessverre er det meste mekaniske handelssystem basert på grunnleggende data utover omfanget av detaljhandel investorer på grunn av mangel på historiske data tilgjengelig for å gjennomføre en komplett trading back test. Back testing software Heldigvis har mange kartleggingspakker i dag mange tester som er innebygd. Hvis du fulgte prosessen for å velge en kartleggingspakke i det forrige kapitlet, burde du enten ha funnet en med tilbakestillingstester inkludert eller funnet en som er kompatibel med en annen off-the-shelf pakke. For de av dere som bestemte meg for å kjøpe MetaStock i kapittel 8, er TradeSim 8211 ultimate-trading-systemstradesim trolig den mest realistiske, ekte handelssimulatoranalyser jeg har funnet. Det kan raskt teste og evaluere et handelssystem, enten det er en sikkerhets - eller en sikkerhetsportefølje. Jeg tror at tading tilbake testing er den eneste måten å fjerne selvtillit. Når du først har etablert at du har et pålitelig og robust handelssystem, vil du være trygg på å handle det. På samme måte som kartleggingsprogramvaren, sørg for at du kjenner pakken din tilbake til forsiden. Du vil ikke kunne få det beste ut av det med mindre du forstår fullt ut hvordan det fungerer og hva du kan gjøre med det. Alternative løsninger Dessverre har jeg sett mange klienter aldri helt få det med hensyn til tilbake testing. For mange er tilbakemeldingsprogramvare ganske enkelt for teknisk. Hvis du faller inn i den kategorien, ikke gi opp. Det er et kritisk skritt i systemdesignprosessen. For de mindre tekniske har jeg funnet en løsning som heter Trading Performance Analyzer ultimate trading-systemstpa. Det er lett å bruke og perfekt for å analysere systemet før du handler det i sanntid. Viktig merknad: Hvis du finner deg selv testing og re-testing i håp om å snuble over den sølvkulen, husk, vil du aldri opprette et handelssystem som har en 100 suksessrate. Mange har prøvd (selv inkludert) og alle har mislyktes. Du bør være på utkikk etter et godt trading system med minimal drawdown og en god risiko-til-belønning ratio. Many handelssystemer har mer tapende handler enn de vinne og likevel tjener de fortsatt penger. Hvordan Money Management. (Se kapittel 6.) Det siste stykket i systemdesign puslespillet er å ta handelssystemet du har designet i de forrige kapitlene og teste det. Ved å teste systemene dine har du nettopp satt deg blant de øverste 1 av handelsmenn, og sikrer din suksess. Gratulerer Kjøpe en handel tilbake test pakke: TradeSim 8211 ultimate-trading-systemstradesim Trading Performance Analyzer 8211 ultimatetradingsystemstpa Lær din valgte programvare for bakre testing innvendig og utvendig. Tilbake test ditt nyutviklede system, inkludert inngangs-, utgangs - og pengestyringsregler. Har du sjekket ut Portfolio123 For 50 dollar i måneden du skjermer for grunnleggende og tekniske variabler, backtest det, gjør robusthetstest (tilfeldige oppføringer hundrevis for å sikre at du ikke har kirsebær plukker resultatene), og simuleringstesting med separate kjøp og salg regler , slippage, tilpassede universer, bla, bla, bla. Du kan bruke den i 45 dager som en gratis prøveversjon hvis du bruker koden HKURTIS når du registrerer deg for å teste den ut. Før Portfolio123 trodde jeg at bare Zacks Research Wizard var et lavprisalternativ 8211, men hundrevis av dollar for vannet versjon, overlevelsesforstyrrelser og andre problemer 8211 nei takk. IMO sin institusjonelle karakter programvare for ca 120th kostnaden. Jesuraj 7 mars 2012 klokka 5:07 hei Dave, jeg skjedde å lese dette gode aritcle. I Metastock vil jeg gjerne bestille overskudd for bare halvparten av min stilling, og jeg kunne ikke finne en måte å gjøre dette på. Kan du gi meg beskjed om slik testing er mulig i Metastock. Takk og hilsen Jesuraj

No comments:

Post a Comment