Monday 20 November 2017

How To Backtest 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 feiler i sammenligninger uten sammenligning, trenger strategien ytterligere utvikling, eller det bør helt og holdent bli opphørt. Testing: Tolking Past Backtesting er en sentral komponent i effektiv trading-systemutvikling. Det oppnås ved å rekonstruere, med historiske data, handler som ville ha skjedd tidligere, ved bruk av regler som er definert av en gitt strategi. Resultatet gir statistikk som kan brukes til å måle strategiens effektivitet. Ved hjelp av disse dataene kan handelsmenn optimalisere og forbedre sine strategier, finne tekniske eller teoretiske feil, og få tillit til strategien deres før de påføres de virkelige markedene. Den underliggende teorien er at enhver strategi som fungerte bra i det siste, vil trolig fungere godt i fremtiden, og omvendt vil enhver strategi som har gått dårlig i fortiden, sannsynligvis utføre dårlig i fremtiden. Denne artikkelen tar en titt på hvilke applikasjoner som brukes til backtest, hva slags data er oppnådd, og hvordan man bruker den Data og verktøyene Backtesting kan gi rikelig med verdifull statistisk tilbakemelding om et gitt system. Noen universelle backtesting-statistikker inkluderer: Netto fortjeneste eller tap - Netto prosentvis gevinst eller tap. Tidsramme - Tidligere datoer der testingen skjedde. Universe - Aksjer som ble inkludert i backtestet. Volatilitetsmålinger - Maks prosent prosent opp og ned. Gjennomsnitt - Prosent gjennomsnittlig gevinst og gjennomsnittlig tap, gjennomsnittlige barer holdt. Eksponering - Andel av investert kapital (eller eksponert for markedet). Nivåer - Gevinst-til-tap-forhold. Årlig avkastning - Prosentavkastning over et år. Risikojustert avkastning - Prosentavkastning som en funksjon av risiko. Typisk vil backtesting programvare ha to skjermer som er viktige. Den første tillater handelsmannen å tilpasse innstillingene for backtesting. Disse tilpasningene inkluderer alt fra tidsperiode til provisjonskostnader. Her er et eksempel på en slik skjerm i AmiBroker: Den andre skjermen er den faktiske backtesting-resultatrapporten. Her finner du all statistikk som er nevnt ovenfor. Igjen, her er et eksempel på dette skjermbildet i AmiBroker: Generelt inneholder de fleste handelsprogramvarene lignende elementer. Enkelte avanserte programvare inkluderer også tilleggsfunksjonalitet til å utføre automatisk posisjonering, optimalisering og andre mer avanserte funksjoner. De 10 budene Det er mange faktorer som handlerne tar hensyn til når de vurderer handelsstrategier. Her er en liste over de 10 viktigste tingene å huske mens backtesting: Ta hensyn til de brede markedstrendene i tidsrammen der en bestemt strategi ble testet. For eksempel, hvis en strategi bare ble testet tilbake fra 1999-2000, kan det ikke gå bra på et bjørnmarked. Det er ofte en god ide å backtest over en lang tidsramme som omfatter flere forskjellige typer markedsforhold. Ta hensyn til universet der tilbakestesting skjedde. For eksempel, hvis et bredt markedssystem er testet med et univers bestående av tech-aksjer, kan det mislykkes å gjøre det bra i ulike sektorer. Som en generell regel, hvis en strategi er rettet mot en bestemt genre av lager, begrense universet til den genren, men i alle andre tilfeller opprettholde et stort univers for testformål. Volatilitetsforanstaltninger er ekstremt viktige å vurdere i utviklingen av et handelssystem. Dette gjelder spesielt for levererte kontoer, som er utsatt for marginanrop dersom egenkapitalen faller under et bestemt punkt. Traders bør søke å holde volatiliteten lav for å redusere risikoen og muliggjøre lettere overgang inn og ut av et gitt lager. Det gjennomsnittlige antall barer som holdes er også veldig viktig å se når man utvikler et handelssystem. Selv om de fleste backtesting programvare inkluderer provisjonskostnader i de endelige beregningene, betyr det ikke at du bør overse denne statistikken. Hvis det er mulig, kan det hende at gjennomsnittlig antall barer som holdes, reduserer provisjonskostnadene, og forbedrer din generelle avkastning. Eksponering er et dobbeltkantet sverd. Økt eksponering kan føre til høyere fortjeneste eller høyere tap, mens redusert eksponering betyr lavere fortjeneste eller lavere tap. Imidlertid er det generelt en god ide å holde eksponering under 70 for å redusere risiko og muliggjøre lettere overgang inn og ut av et gitt lager. Den gjennomsnittlige gevinstløpsstatistikken, kombinert med vinner-til-tap-forholdet, kan være nyttig for å bestemme optimal plassering og pengestyring ved hjelp av teknikker som Kelly-kriteriet. (Se Money Management ved hjelp av Kelly-kriteriet.) Traders kan ta større stillinger og redusere provisjonskostnader ved å øke sine gjennomsnittlige gevinster og øke deres vinner-til-tap-forhold. Årlig avkastning er viktig fordi den brukes som et verktøy for å benchmark en systemavkastning mot andre investeringssteder. Det er viktig ikke bare å se på den samlede årlige avkastningen, men også å ta hensyn til økt eller redusert risiko. Dette kan gjøres ved å se på den risikojusterte avkastningen, som står for ulike risikofaktorer. Før et handelssystem er vedtatt, må det overgå alle andre investeringssteder med like eller mindre risiko. Backtesting tilpasning er ekstremt viktig. Mange backtesting-applikasjoner har innspill for provisjonsbeløp, runde (eller brøkdelte) masse størrelser, tikkestørrelser, marginkrav, renter, slippage-forutsetninger, stillingsreguleringsregler, same-bar-utgangsreguleringer, (bak) stoppinnstillinger og mye mer. For å få de mest nøyaktige backtesting resultatene, er jeg viktig å justere disse innstillingene for å etterligne megleren som vil bli brukt når systemet går live. Backtesting kan noen ganger føre til noe kjent som overoptimalisering. Dette er en tilstand hvor resultatene avstemmes så høyt til fortiden at de ikke lenger er like nøyaktige i fremtiden. Det er generelt en god ide å implementere regler som gjelder for alle aksjer, eller et utvalg av målrettede aksjer, og er ikke optimalisert i den grad reglene ikke lenger er forståelige av skaperen. Backtesting er ikke alltid den mest nøyaktige måten å måle effektiviteten til et gitt handelssystem. Noen ganger har strategier som har gått bra i det siste, ikke lykkes i det nåværende. Tidligere resultater er ikke en indikasjon på fremtidige resultater. Pass på å papirhandel et system som har blitt suksessfullt testet før du går, for å være sikker på at strategien fortsatt gjelder i praksis. Konklusjon Backtesting er et av de viktigste aspektene ved å utvikle et handelssystem. Hvis det opprettes og tolkes ordentlig, kan det hjelpe handelsmenn å optimalisere og forbedre strategiene, finne tekniske eller teoretiske feil, samt få tillit til strategien deres før de påføres det til de virkelige verdensmarkeder. Ressurser Tradecision (tradecision) - High-end Trading System Development AmiBroker (amibroker) - Budsjett Trading System Development. Back-testing dine handelsideer En av de mest nyttige tingene du kan gjøre i analysevinduet er å tilbakestest 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.

No comments:

Post a Comment