Thursday, 16 November 2017

Backtesting handelsstrategier thinkorswim


Backtesting: Tolkning Tidigare Backtesting är en nyckelkomponent i effektiv handelssystemutveckling. Det uppnås genom att rekonstruera med historiska data, som skulle ha inträffat i det förflutna med hjälp av regler definierade av en given strategi. Resultatet erbjuder statistik som kan användas för att mäta strategins effektivitet. Med hjälp av dessa data kan handlare optimera och förbättra sina strategier, hitta tekniska eller teoretiska brister och få förtroende för sin strategi innan de appliceras på de verkliga marknaderna. Den bakomliggande teorin är att varje strategi som fungerade bra i det förflutna sannolikt kommer att fungera bra i framtiden, och omvänt sett är det sannolikt att någon strategi som utförde dåligt i det förflutna sannolikt kommer att fungera dåligt i framtiden. Den här artikeln tar en titt på vilka applikationer som används för att backtest, vilken typ av data som erhålls och hur man använder den Data och verktygen Backtesting kan ge mycket värdefull statistisk återkoppling om ett visst system. Några universella backtesting statistik inkluderar: Nettoresultat eller förlust - Nettoprocent vinst eller förlust. Tidsram - Tidigare datum då testingen inträffade. Universe - Lager som inkluderades i backtest. Volatilitetsåtgärder - Max procent upp och ner. Medeltal - Procentuell genomsnittlig vinst och genomsnittlig förlust, medelstänger hålls. Exponering - Andel av investerat kapital (eller exponerat för marknaden). Förhållanden - vinst-till-förlustförhållande. Årlig avkastning - Procentuell avkastning över ett år. Riskjusterad avkastning - Procentuell avkastning som en funktion av risken. Typiskt kommer backtesting programvara att ha två skärmar som är viktiga. Den första tillåter näringsidkaren att anpassa inställningarna för backtesting. Dessa anpassningar inkluderar allt från tidsperiod till provisionkostnader. Här är ett exempel på en sådan skärm i AmiBroker: Den andra skärmen är den faktiska backtestingresultatrapporten. Här kan du hitta all statistik som nämns ovan. Återigen, här är ett exempel på den här skärmen i AmiBroker: I allmänhet innehåller de flesta handelsprogrammen liknande element. Vissa avancerade program innehåller även extra funktionalitet för automatisk positionering, optimering och andra mer avancerade funktioner. De 10 buden Det finns många faktorer som handlare uppmärksammar när de backtesting handelsstrategier. Här är en lista över de 10 viktigaste sakerna att komma ihåg vid backtesting: Ta hänsyn till de brett marknadstrender inom tidsramen där en given strategi testades. Till exempel, om en strategi bara backtestades 1999-2000, kanske det inte går bra på en björnmarknad. Det är ofta en bra idé att backtest över en lång tidsram som omfattar flera olika typer av marknadsförhållanden. Ta hänsyn till universum där backtesting inträffade. Till exempel, om ett brett marknadssystem testas med ett universum bestående av tekniska lager, kan det misslyckas att fungera bra inom olika sektorer. Som en allmän regel, om en strategi riktar sig mot en viss genre av lager, begränsa universum till den genren, men i alla andra fall behålla ett stort universum för teständamål. Volatilitetsåtgärder är oerhört viktiga att överväga när man utvecklar ett handelssystem. Detta gäller särskilt för hyrda konton, som utsätts för marginalanrop om deras eget kapital sjunker under en viss punkt. Traders bör försöka hålla volatiliteten låg för att minska risken och möjliggöra enklare övergångar in och ut ur ett visst lager. Det genomsnittliga antalet barer som hålls är också mycket viktigt att titta på när man utvecklar ett handelssystem. Även om de flesta backtestingprogrammen innehåller provisionkostnader i de slutliga beräkningarna betyder det inte att du bör ignorera denna statistik. Om möjligt ökar ditt genomsnittliga antal barer som håller på att minska provisionskostnaderna och förbättra din totala avkastning. Exponering är ett dubbelkantigt svärd. Ökad exponering kan leda till högre vinst eller högre förluster, medan minskad exponering innebär lägre vinst eller lägre förluster. Men i allmänhet är det en bra idé att hålla exponeringen under 70 för att minska risken och möjliggöra enklare övergångar in och ut ur ett visst lager. Den genomsnittliga vinstlösningsstatistiken, kombinerad med vinst-till-förlustförhållandet, kan vara användbar för att bestämma optimal positionsstorlek och penninghantering med hjälp av tekniker som Kelly-kriteriet. (Se Money Management Använda Kelly-kriteriet.) Traders kan ta större positioner och minska provisionskostnaderna genom att öka sina genomsnittliga vinster och öka deras vinst-till-förlustförhållande. Årlig avkastning är viktig eftersom den används som ett verktyg för att benchmarka systemets avkastning mot andra investeringsplatser. Det är viktigt att inte bara titta på den totala årliga avkastningen utan också ta hänsyn till ökad eller minskad risk. Detta kan göras genom att titta på den riskjusterade avkastningen, som står för olika riskfaktorer. Innan ett handelssystem antas måste det överträffa alla andra placeringsplatser med lika eller mindre risk. Backtesting anpassning är oerhört viktigt. Många backtesting-applikationer har inmatning för provisionsbelopp, runda (eller fraktionerade) partstorlekar, fältstorlekar, marginalkrav, räntor, antaganden för släppning, positioneringsstorlekar, same-bar exit-regler, (bakåt) stoppinställningar och mycket mer. För att få de mest exakta backtestingresultaten är det viktigt att ställa in dessa inställningar för att efterlikna mäklaren som kommer att användas när systemet går live. Backtesting kan ibland leda till något som kallas överoptimering. Det här är ett villkor där prestanda resultat är så högt anpassat till det förflutna att de inte längre är lika exakta i framtiden. Det är generellt en bra idé att genomföra regler som gäller för alla lager eller en vald uppsättning riktade lager och är inte optimerade i den utsträckning reglerna inte längre är förståeliga av skaparen. Backtesting är inte alltid det mest exakta sättet att mäta effektiviteten hos ett visst handelssystem. Ibland misslyckas strategier som har fungerat bra tidigare i dag. Tidigare resultat är inte en indikation på framtida resultat. Var noga med att handla ett system som har testats framgångsrikt innan du går live för att vara säker på att strategin fortfarande gäller i praktiken. Slutsats Backtesting är en av de viktigaste aspekterna av att utveckla ett handelssystem. Om de skapas och tolkas ordentligt kan det hjälpa handlare att optimera och förbättra sina strategier, hitta några tekniska eller teoretiska brister, samt få förtroende för sin strategi innan de appliceras på den verkliga världsmarknaden. Resources Tradecision (medbeslutande) - High-end Trading System Development AmiBroker (amibroker) - Budget Trading System Development. En typ av ersättningsstruktur som hedgefondsförvaltare brukar använda i vilken del av ersättningen prestationsbaserad. Ett skydd mot inkomstförlust som skulle uppstå om den försäkrade gick bort. Den namngivna mottagaren tar emot. Ett mått på förhållandet mellan en förändring i den mängd som krävdes av ett visst gott och en förändring i dess pris. Pris. Det totala dollarns marknadsvärde för alla bolagets utestående aktier. Marknadsvärdet beräknas genom att multiplicera. Frexit kort för quotFrench exitquot är en fransk spinoff av termen Brexit, som uppstod när Storbritannien röstade till. En order placerad med en mäklare som kombinerar funktionerna i stopporder med de i en gränsvärde. En stop-limit order will. Strategy back-testing i TOS Strategy back-testing i TOS Thought ID delar med andra, som också kan ha ett sådant intresse. TOS s svar. För att ge en kort översikt används TOS inte för att backtest strategier i traditionell mening. Vad jag menar är det för att bygga en strategi baserad på att plocka och handla aktier baserade på en uppsättning tekniska kriterier - TOS gör det inte. Det är verkligen inriktat på att testa alternativstrategier. Det gör det genom att: Använd historisk data. Funktionen ThinkonDemand simulerar en verklig handelsmiljö baserat på registrerad marknadsinformation. Du kan lägga in en eller flera affärer på en dag i det förflutna, sedan snabbt framåt till ett tidigare datum närmare nutiden, och se hur det skulle ha gjort. Denna information kan visas på ett diagram och spåras från början av positionen till något ytterligare datum. Som du anger i ditt meddelande är detta den förmåga som låter dig spåra en strategi över en tidsperiod. Vi har planer på att integrera backdesting och scanningsfunktionen i Strategy Desk i Think or Swim. och så småningom solnedgången i Strategy Desk-plattformen. Vi har ett hyresdatum för början av 2013 för detta. Utöver Prodigio har vi inget annat just nu. Så, mindre än ett år, och det kommer i grund och botten att vara StrategyDesk. At just nu antar vi att du kan skapa en enkel teknisk indikator eftersom de mest användbara kommandon har diskuterats i tidigare kapitel. Letrsquos tittar på vad denna indikator kan se ut: Detta skript kommer att plotta en 20-årig SMA av nära pris med både längd och pris justerbar via ingångsparametrarna. Du kan också lägga till en deklaration som anger att den här undersökningen ska visas på den nedre delgrafen, definiera flera variabler som ska användas i beräkningarna, ring några knepiga matematiska funktioner och ange villkor som ger dig handelssignaler. Huvuddelen här är dock det diagram vars värderingar ska analyseras. I det här kapitlet ska vi diskutera strategier ndash en annan typ av indikatorer som har handelssignaler som huvudmål för analys. Dessa indikatorer visas på fliken ldquoStrategiesrdquo i ldquoEdit Studies and Strategiesrdquo-fönstret och det är här de ska läggas till. När du lägger till en strategi för att kartlägga, visas köp och sälj utlösare som svar på de angivna villkoren (och nu vet du många sätt att ange dem, se kapitel 6 och 7 för att uppdatera din kunskap). Strategier ger dig också möjlighet att uppskatta ProfitLoss-värdet om du skickat order på varje Köp och Sälj-signal. Det här kallas backtesting av en strategi: TOS Charts-gränssnittet låter dig se prestanderapporten genom att klicka på varje signal på diagrammet (fullständigt förfarande beskrivs här). Som man kan förvänta sig, liknar strategier som vanliga studier, men de har bara något speciellt för dem. Detta är något AddOrder-funktion som (om den används korrekt) kommer att göra någon teknisk indikator till handelsstrategin. Nu ska vi göra det med manuset ovan: Nu är det en strategi som kommer att lägga till en köpsignal varje gång Stäng pris korsar över sin 20-åriga SMA och en Sälj-signal när den passerar nedan. Bortsett från AddOrder-funktionen som kommer att diskuteras lite senare kunde vi märka några andra skillnader som är specifika för strategier. Först och främst, som du kan se, har denna strategi inga plottor (som de flesta studier gör). Detta är karaktäristiskt för strategier: de visar normalt inte några tomter, men det kommer inte att skada om du lägger till en tomt eller flera till det här skriptet. För det andra är definitionen av handelsvillkor avgörande: i vårt fall är det prisövergång över eller under dess SMA. Men huvudskillnaden är densamma: AddOrder-funktionen. Låt oss pussla ut sin syntax: Vi kallade den här funktionen två gånger: först för köp-signalen och andra för försäljningen. För att ange vilken sida av handel som anses, kräver AddOrder-funktionen en OrderType-konstant som det första argumentet. BUYAUTO är en konstant som AddOrder-funktionen använder för att lägga till en köporder för att skriva in en ny lång position eller stänga en kort. Omsorg, SELLAUTO används för att lägga till en försäljningsorder för att komma in i en ny kort position eller stänga en lång position. Som du kan se öppnar både BUYAUTO och SELLAUTO konstanter nya positioner och stänger tidigare. Om du föredrar en konstant som bara öppnar eller stänger en position, överväg att använda några av de andra fyra: BUYTOCLOSE, BUYTOOPEN, SELLTOCLOSE och SELLTOOPEN. Medan namnen på konstanterna talar för sig själva, kan du läsa mer om dem i vår referens. Funktionens andra argument var det villkor på vilket ordningen med angiven sido - och positionseffekt kommer att läggas till. Denna order läggs till i nästa stapel efter att villkoret är uppfyllt. När strategin tillämpas på diagrammet visas en order varje gång villkoret är uppfyllt. Beställningar visas som upp och ner pilar ovanför och under prisplot. Dessa pilar åtföljs också av positionseffekt, bildtext och ett fält som markerar handelspriset. Utseendet för dessa element kan anpassas via den fullständiga syntaxen i AddOrder-funktionen, vilket är bara lite mer komplicerat än vad din fråga har sett tidigare: Bortsett från tidigare beskrivna ldquotyperdquo och ldquoconditionrdquo, inkluderar argument också pris, handelsstorlek, kryssfärg, pilfärg och namn. Argument ldquopricerdquo definierar pris där ordningen läggs till (som standard är den öppna för följande stapel), ldquotrade sizerdquo står för antalet handlade kontrakt du kan också ange färger för både tick och pil. Färger måste definieras som färgkonstanter, t. ex. Color. RED, Color. GREEN, Color. ORANGE, etc. Den fullständiga listan över färgkonstanter kan hittas här Användningen av dessa konstanter kommer att behandlas i nästa kapitel. Det sista argumentet är ldquonamerdquo det definierar bildtexten som ska visas (som standard är det samma som namnet på strategin själv). Nu är vi redo att göra den strategi vi skapade innan vi ser utestående: Nu öppnar denna strategi den långa positionen eller stänger den korta på det öppna priset på nästa stapel vid respektive övergångar av Stäng pris över och under dess 20-åriga SMA. Handelsstorleken kommer att vara lika med 100, Köpsignalerna kommer att bli färgade gula, Säljesignalerna kommer att bli färgade röda, och varje signal kommer att visa handelssidan. När du har lagt till en strategi för att kartlägga kan du se prestanderapporten genom att högerklicka på någon av signalerna och välja ldquoShow reportrdquo från menyn. Mer information om rapporten finns här. Innan vi går vidare till nästa kapitel som kommer att förklara hur du gör dina tomter ännu vackrare, här är ett viktigt meddelande om strategierna: alla signaler du får är hypotetiska, dvs du kan inte skicka riktiga ordningar med hjälp av strategier. Marknadsvolatilitet, volym och systemtillgänglighet kan fördröja kontoåtkomst och avrättningar. Tidigare resultat av en säkerhet eller strategi är ingen garanti för framtida resultat eller investeringssucces. Alternativen är inte lämpliga för alla investerare eftersom de särskilda risker som är förknippade med optionshandel kan exponera investerare för potentiellt snabba och betydande förluster. Före handelsalternativ bör du noggrant läsa egenskaper och risker med standardiserade alternativ. Spreads, Straddles och andra alternativ för strategier med flera ben kan innebära stora transaktionskostnader, inklusive flera provisioner, vilket kan påverka eventuell avkastning. Handelsstockar, optioner, terminer och forex innebär spekulation, och risken för förlust kan vara väsentlig. Klienter måste överväga alla relevanta riskfaktorer, inklusive sin egen personliga ekonomiska situation, före handel. Handel med utländsk valuta på margin ger en hög risknivå, samt egna unika riskfaktorer. Forexinvesteringar är föremål för motpartsrisk, eftersom det inte finns någon central clearingorganisation för dessa transaktioner. Läs följande riskredovisning innan du överväger handeln med den här produkten: Forex Risk Disclosure Tillgång till realtidsmarknadsdata är konditionerad vid godkännande av börsavtal. Professionell åtkomst skiljer sig åt och abonnemangsavgifter kan gälla. För mer information, se våra avgifter för Professional Rates amp. Stöddokumentation för eventuella patentkrav, jämförelse, statistik eller annan teknisk information kommer att lämnas på begäran. TD Ameritrade ger inte rekommendationer eller bestämmer lämpligheten för någon säkerhet, strategi eller handlingsåtgärd för dig genom din användning av våra handelsverktyg. Eventuella investeringsbeslut du gör i ditt självreglerade konto är endast ditt ansvar. TD Ameritrade är ett varumärke gemensamt ägd av TD Ameritrade IP Company, Inc. och Toronto-Dominion Bank. kopiera 2015 TD Ameritrade IP Company, Inc. Alla rättigheter förbehållna. Används med tillstånd. Drivs av Magnolia - Open Source Enterprise Content Management

No comments:

Post a Comment