Tuesday 21 November 2017

How To Backtest Your Trading System


Backtesting: Tolking Past Backtesting er en viktig 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. Beta er et mål for volatiliteten, eller systematisk risiko, av en sikkerhet eller en portefølje i forhold til markedet som helhet. En type skatt belastet kapitalgevinster pådratt av enkeltpersoner og selskaper. Kapitalgevinst er fortjenesten som en investor. En ordre om å kjøpe en sikkerhet til eller under en spesifisert pris. En kjøpsgrenseordre tillater handelsmenn og investorer å spesifisere. En IRS-regelen (Internal Revenue Service) som tillater straffefri uttak fra en IRA-konto. Regelen krever det. Det første salg av aksjer av et privat selskap til publikum. IPO er ofte utstedt av mindre, yngre selskaper som søker. Gjeldsgrad er gjeldsraten som brukes til å måle selskapets økonomiske innflytelse eller en gjeldsgrad som brukes til å måle en person. Topp grunner til hvorfor du bør bruke QuantShare: Fungerer med amerikanske og internasjonale markeder (aksjer, forex, opsjoner, futures, ETF.) Tilbyr deg verktøyene som vil hjelpe deg med å bli en lønnsom handelsmann Gir deg mulighet til å implementere eventuelle handelsideer Utveksle elementer og ideer med andre QuantShare-brukere Vårt supportteam er svært responsivt og vil svare på noen av dine spørsmål Vi vil implementere noen funksjoner du foreslår veldig lav pris og mye Flere funksjoner enn flertallet av andre handelsprogrammer Gratis - Ingen kredittkort nødvendig Topp grunner til at du bør bruke QuantShare: Avansert kartlegging Last ned EOD, intradag, grunnleggende, nyheter og sentimentdata for hvert marked Kraftige kvantitative analyseværktøy Backstest hvilken som helst strategi og generer daglig kjøp og selg signaler Lag kompositter og markedsindikatorer Last ned indikatorer, handelssystemer, nedlastere, skjermbilder. delt av andre brukere Oppdatert på 2013-03-13 Noen handelssystemer. spesielt grunnleggende baserte, kan virke veldig bra på aksjer som tilhører enkelte bransjer og utfører dårlig på andre næringer. På samme måte som å teste et handelssystem for hver enkelt eiendel, kan du bruke QuantShare til å implementere et system og deretter utføre en backtest for hver bransje. Systemet vil bli optimalisert, og hver optimalisering viser resultatet av en backtest på aksjer tilhørende en bestemt industri. Er QuantShare-databasen fylt med industridata For å være sikker på at det er, velg Symbol - Auto Manage Symbols, sjekk en eller flere utvekslinger du er interessert i, sjekk Force oppdateringen av symbolinformasjon, og klikk deretter på Lagre. Etter få sekunder oppdaterer QuantShare symbollisten din og legger til om nødvendig industriinformasjon (Industri av hver bestand i databasen) Følgende er beskrivelsen av handelssystemet som brukes som eksempel i denne artikkelen. Kjøp når prisen krysser over 25-bar enkelt glidende gjennomsnitt. Selg når prisen krysser under 25-bar enkelt glidende gjennomsnitt. Slik implementerer du dette handelssystemet: - Velg Analyse - Simulator - Klikk på Ny for å opprette et nytt handelssystem - Velg Opprett handelssystem ved å bruke Formelredigeringsfanen - Skriv inn følgende formel: kjøp kryss (lukk, sma (25)) selg kors (sma (25), lukk) Lukk får aksjekursserien SMA beregner det enkle glidende gjennomsnittet Kryssfunksjonen oppdager når den første krysser over den andre gruppen - Klikk på Create Trading System for å lagre strategien. Count Antall Industries Først, la oss telle antall bransjer vi har i databasen. Velg Symbol - Kategorier, klikk på kategorien Industri for å vise alle bransjer. Det er trolig flere hundre bransjer der, så vi må bruke skripteditoren til å telle disse. Åpne skripteditoren (Verktøy - Skriptredigerer), opprett et nytt skript og skriv deretter følgende formel: MessageBox. Show (Industry Count: Symbols. GetIndustryList (). Length. ToString ()) Klikk på Kjør skjermbildet antall bransjer. Velg det tidligere opprettede handelssystemet, og klikk deretter Oppdater. Vi må bruke en tilpasset funksjon (IndustryPosition) for å få indeksposisjonen basert på navnet sitt. Funksjonen kan lastes ned her: Lager Industri Posisjon. Skriv inn følgende linjer i formelleditoren: Optimaliser (a, 0, 256, 1) b IndustryPosition (industry ()) rule1 ab buy cross (lukk, sma (25)) og rule1 selge kryss ) Den første linjen instruerer QuantShare for å optimalisere handelssystemet ved å variere variabelen a fra 0 til totalt antall bransjer (Vi brukte 256 her). Den andre linjen får bransjeposisjonen innenfor bransjelisten. Den tredje linjen sammenligner den optimaliserbare variabelen og bransjeposisjonen. Dette innebærer at handelssystemet kun vil kjøpe aksjer som tilhører bransjen som er i stillingen definert av variabelen a. Etter å ha oppdatert ditt handelssystem, klikk på Optimaliser for å starte optimaliseringsprosessen. Legge til industrinavn i rapporten Som du kan se fra den tidligere tilbakemeldingen, viser rapporten bare bransjeposisjonen i listen. Det viser ikke bransjens navn direkte i rapporttabellen. Det er ingen måte å se hvilken bransje en simulering var basert på, med mindre du åpner rapporten, og velg S. I.M. I - Avg. Trade Performance-fanen. For å legge til bransjens navn til rapporten må vi bruke pengene management script. - Velg handelssystem og klikk deretter på Oppdater - Velg Money Management-fanen - Klikk på Legg til et nytt styringsskript for nytt penger - Velg OnStartSimulation-hendelsen og skriv deretter følgende linje: - Velg OnEndSimulation-hendelsen og skriv deretter følgende linjer: MMPosition pos Portfolio. GetAllPositions () hvis (pos. Length 0) Symbol sym Data. GetSymbolInfo (pos0.Symbol) Variables. SetVariable (Industry, sym. Industry) Kjør optimaliseringen igjen for å vise bransjens navn i en egen kolonne i backtesting report. How å backtest trading systems og unngå kurvmontering For å bedømme hvor godt et bestemt handelssystem skal fungere i fremtiden, tester vi det på tidligere markedsdata. Backtesting gjelder et sett med handelsregler til historiske data for å anslå hvordan disse reglene ville ha utført hvis vi faktisk hadde handlet dem. Gode ​​hypotetiske historiske resultater garanterer ikke at et sett med regler vil fungere godt i fremtiden. Imidlertid betyr dårlige hypotetiske historiske resultater nesten sikkert at et system ikke bør handles i sanntid. Den oppfattede verdien av backtesting er forankret i troen på at historiske tendenser gjentar. Traders har testet strategier på historiske data i generasjoner. Men øvelsen ble populær med adventen av personlige datamaskiner og spesialbygget systemtestingsprogramvare. som System Writer, som utviklet seg til TradeStation. Denne programvaren og en database med historiske data tillot dem uten en kodeskrivende bakgrunn for å teste handelssystemets ideer. Den bredere forståelsen og aksepten av handelssystemer, samt frustrasjonen mange opplevde da de forsøkte å bygge handelssystemer alene, hjalp markedet for tredjepartssystemer til å blomstre gjennom 1990-tallet. Futures Truth er et uavhengig selskap som har sporet kommersielt tilgjengelige handelssystemer siden 1980-tallet. For tiden sporer det mer enn 500 systemer. Futures Truth tester trading systemer i sanntid, ikke på historiske data. Dette forhindrer endring av regler over tid og bedre simulerer regelutførelse i faktiske markedsforhold, for eksempel perioder med høy volatilitet. Ifølge Futures Truth er bare om lag 45 av de spore systemene lønnsomme på lang sikt, mens bare 20 har hatt et godt risikovilkår. Imidlertid er disse tallene sannsynligvis bedre enn de bredere populationrsquos fordi bare de leverandørene som er helt trygge i sin logikk, slår den over til Futures Truth for sanntidsanalyse og offentlig kritikk. Så mange systemer feiler fordi de mangler en gyldig premiss. I stedet kommer inn - og utgangsparametrene fra datautvinning. Data mining skanner bare historiske data for regler som ville ha fungert tidligere. Ofte er slike regler tilpasset nettopp til fortiden og har ikke noe håp om å jobbe noe bedre enn tilfeldig på usynlige data. I stedet bør systemutvikling starte med en teori som kan testes, analyseres og finjusteres for applikasjon. Dette konseptet innebærer også et annet perspektiv på systemtesting selv: Målet med backtesting er ikke å produsere en samling hypotetisk fortjeneste og tapstatistikk. Det er å teste gyldigheten av teorien og nøyaktigheten av reglene for å ta utgangspunkt i premisset. Systemtesting er en flerfasettert prosess fra dataene til tidsskalaen, for å bestemme inntaksforutsetninger, kontraktsdetaljer og risikokontroll. Manglende på noen av disse kan ødelegge en ellers gyldig test mdash eller manipulere dem kan generere resultater som er langt bedre enn hva vi ville oppnå i sanntid. Du må gjøre det riktig hvis du håper å validere mdash eller når det er hensiktsmessig, ugyldiggjør mdash systemet ditt. Verktøy av handel Det er to elementer for backtesting: De riktige verktøyene mdash programvare og data mdash og en vitenskapelig metode for å utvikle systemer som bruker disse verktøyene. Letrsquos starter med å se på verktøyene i handelen. Mange alternativer er tilgjengelige for å teste dine ideer. De adskiller seg i det enkle å skifte ideer til kode og hvordan de håndterer detaljene, noe som kan ha stor innvirkning på resultatene. For eksempel, hvis et system går inn i en grenseordre, registrerer noen programvare en fylling hvis den prisen blir berørt. Imidlertid er det neppe en garanti for at en slik ordre ville ha blitt fylt ut i reell handel, og det er heller ingen garanti for at den blir vunnet. Entering on stops garanterer en oppføring, men ikke en pris. Et annet problem er å registrere reelle priser. Selv om mest profesjonelt utviklet programvare ikke lenger har dette problemet, er det fortsatt en bekymring for de som manuelt tester systemer i regneark, for eksempel Microsoft Excel. For eksempel, hvis et system kjøper på et stopp som er lik det nære pluss en tredjedel av gjennomsnittlig rekkevidde i løpet av de siste tre periodene, og hvis gjennomsnittlig rekkevidde er 10, så kjøper vi på nært pluss 3.333. Hvis vi handler E-mini SampP 500, handler den i 0,25 tick størrelser. Dette betyr at inngangsdifferensialet må runde opp til 3,50. En begynnelsehandler kan ikke innse dette hvis man manuelt knuser tall, og det var ikke så lenge siden at mange profesjonelle programmer gjorde samme feil. Over tid kan en slik feil gi opp til en betydelig forskjell. I det store bildet er imidlertid slike prosessuelle detaljer mindre. Det store problemet er data. Beslektede artikler Selv om vår strategi for etableringen av strategier har utviklet seg langt utover NTs rammer, for mange år siden, finner jeg at jeg fortsatt bruker det fra tid til annen, for flere formål, og hvor vi fikk vår start, så kanskje jeg kan hjelpe deg her. NinjaTrader har sikkert sine feil og mangler, men alle plattformer gjør det, og blant de vanlige handelshandelsplatformene der ute, tror jeg at NT er en av de mest intuitive og enkle, og en av de enkleste å bruke på en effektiv måte rett ut av esken . En av grunnene til dette er NTs strategiveiviser, som gjør det mulig for brukeren å bygge en strategi uten kjennskap til koding, ved hjelp av building blocks for entryexit-tilstand. Jeg gir et eksempel. La oss si at vi ønsker å bygge en strategi som går inn når EMA (eksponentielt glidende gjennomsnitt) i en periode på 15 kryss over SMA (enkelt glidende gjennomsnitt) i en periode på 15, og går ut på markedet nær hver dag. For å gjøre det åpner vi bare strategiveiviseren, tilordner vår strategi et navn og ble konfrontert med følgende skjermbilde, slik at vi kan definere opptil 10 forskjellige sett med forhold som, når de utløses, vil føre til en bestemt handling (vanligvis en oppføring eller utgang): Når vi klikker på tillegget, i toppvinduet ble det konfrontert med følgende skjerm: Som du kan se, har jeg bare valgt EMA til venstre, og SMA til høyre, og Ive har endret våre Periodeverdier for hver til 15. I sentrum har Ive endret rullegardinmenyen til CrossAbove. Hvis du trykker på ok, fyller du den øverste delen av det øverste skjermbildet. Jeg forteller det nå om å skrive inn Long, når denne utløseren oppstår, og klikk Ok: Og det er det. Vi klikker gjennom neste, strategibesparende komposisjoner, og var fri til å teste det for å fastslå sine handelsresultater i den historiske perioden ved hjelp av NT-plattformen. Gitt, dette er en endimensjonal strategi (og det ville absolutt ikke være lønnsomt), men det er et eksempel på hvor lett man kan lage en automatisert handelsstrategi, forutsatt at entryexit-logikken kan kvantifiseres ved hjelp av deres byggeblokkalternativer, som er ganske omfattende hvis du er kreativ. Til slutt kan vi gå gjennom en ekstra funksjon. La oss si at vi ikke var sikre på hvilke bevegelige gjennomsnittlige periodverdier som er optimale, i vår eksempelstrategi. La oss si at vi vil teste flere verdier for å hjelpe oss med å finne ut hvilke verdier som kan være ideelle. For å gjøre det, trykker vi bare tilbake og ble konfrontert med denne skjermen: Som du kan se, har jeg opprettet to variabler, og gitt navnene ovenfor. PeriodOne vil fungere som periodens verdi av vårt EMA-glidende gjennomsnitt, og PeriodTwo vil fungere som periodens verdi av vårt SMA-glidende gjennomsnitt. Nå klikker jeg neste og går tilbake til skjermbildet for inngangsbetingelser, og åpner igjen betingelsesbyggeren, og jeg endrer bare våre 15 verdier til våre nye variabelnavn verdier (henholdsvis PeriodOne og PeriodTwo): Hva dette gjør at vi kan gjøre, lanserer en optimalisering, som vil fortsette å teste forskjellige periodeværdier for begge disse bevegelige gjennomsnittene, og deretter vise resultatene av hver test, for vår inspeksjon. Jeg har gått videre og kjøre denne optimaliseringen, som tok bare et minutt eller to, ved hjelp av råolje og 15 minutters barøkninger som vårt datasett: Som du ser i kolonnen til høyre høyre Parameter, har den testet flere forskjellige kombinasjoner av periodeverdier, og har rangert alle resultater i henhold til den totale netto fortjenesten opptjent over den historiske perioden i vårt testområde (312015 til 112017, i dette tilfellet). Igjen er dette et eksepsjonelt enkelt eksempel, for å illustrere et poeng, men poenget er en gyldig en. spesielt i de tidlige faser, når du eksperimenterer og tester forskjellige ting, kan man gå fra ideen, til en backtest-resultater som viser nøyaktig hva denne ideen ville ha gitt over den historiske perioden, innen få minutter, selv uten programmeringskoding. I tillegg er det en View Code-knapp i noen av skjermbildene ovenfor, som lar deg se tydelig hvordan dine forskjellige utvalgte byggeblokker oversetter til brukbar kode, en flott måte å hjelpe deg med å lære kodingsprosessen over tid. Mitt råd Hoppe rett inn, eksperimentere, lek deg rundt. mye kan læres, raskt og effektivt, ved å gjøre det. spesielt for de som lærer best ved å gjøre. i motsetning til å skape lange, tankefulle, tørre instruksjons tekster. Jeg håper dette er nyttig. Nyt 653 Visninger Middot Vis Oppvoter midtpunkt Ikke for Reproduksjon Du spør hvordan du oppretter et handelssystem på NinjaTrader (NT) og test tilbake det. Det kan gjøres, men det er ikke lett. Uten å gå inn i koding og programvare arkitekturdesign, kan jeg bare gi deg en generell ide om hvordan man kan gå om det. Det første trinnet er å skrive et handelssystem. Enkelt sagt består dette av flere deler: (i) skrive en modul som vil inneholde alle de ulike oppsettene for handler du vil utføre (Identifiser tilstanden som utgjør den optimale muligheten til å inngå handel. Dette vil avhenge av på dine kriterier, og du kan ha flere oppsett), (ii) skrive en modul som vil søke etter de oppsettene i dataene dine i sanntid, (iii) skrive en modul som vil katalogisere og lagre oppsettene som finnes i sanntidsdataene, og (iv) skrive en modul som vil utføre en handel basert på noen av disse innstillingene. Dette i seg selv er utfordrende da dette må gjøres i sanntid. I tillegg må du håndtere tilfellene der du finner flere oppsett som kan indikere handler i samme eller motsatte retninger (f. eks. Lang og kort). Du må også vurdere mål, lønnsomhetskriterier for oppstart, stoppe tap og etterfølgende kriterier. Sist men absolutt ikke minst, må du tenke på skalering inn og ut strategier med dine handelsoppsettskriterier. Som en side har jeg ikke engang nevnt verifikasjons - og feilhåndteringskomponenter i koden, som du må adressere også. For å gjøre dette effektivt må du tråkke denne koden. Problemet med å skrive dette i NT er at NT kun støtter en delmengde av C-språket, og gir for øyeblikket kun støtte for 3,5-rammen. Dette betyr at du må skrive den i C som en dll og referere den i NT-koden din. Nå som du har skrevet din dll for å identifisere en handel, må du skrive kode for å utføre handel. NT tilbyr en administrert og en ikke-administrert tilnærming til å gjøre dette. Jeg bruker for tiden og kodes NT, og jeg vil si at denne delen av NT ikke er godt dokumentert - i det minste har jeg ikke funnet det å være, men i all rettferdighet kan du få litt hjelp fra NT-personellet på deres supportforum. Du vil ønske å bruke uhåndtert tilnærming for dette for å få mest mulig fleksibilitet. Selvfølgelig vil du ønske å implementere noen database struktur i koden din for å logge handler. Denne delen av programmet vil også være utfordrende, fordi det er noen problemer du vil møte her. Hver handel må verifiseres, ordrene må sekvenseres og overvåkes ekstremt godt, og din posisjon må overvåkes nøye - spesielt hvis du også planlegger å gå inn i bransjer ved å reversere posisjoner. Nå som du har kommet så langt, kan du skrive en NT-strategi for å teste systemet ditt. Igjen vil den uhåndterte tilnærmingen være mest verdifull her, da den gir mest fleksibilitet for deg. Igjen, denne koden er vanskelig og ikke dokumentert spesielt godt. Det kan imidlertid gjøres. Gratulerer, du er nå ferdig med koding og kan begynne å teste koden din live. Du må kanskje endre koden din for å håndtere sanntidsforhold i live data. Avhengig av markedene du planlegger å handle, må du tenke på hvordan du skal håndtere handel under rapporter, holde posisjoner over natten, handelsgrenser, samt når handel er suspendert av børsen. Forutsatt at du har gjort alt dette, har du nå et testet handelssystem på NT. Som sagt, ikke lett, men det er absolutt gjennomførbart. Etter å ha gjort dette, være forberedt på timer og timer (og timer) av arbeid og testing. Da jeg startet, undervurderte jeg kraftig innsatsen. 1,5k Visninger middot View Oppvoter middot Ikke for Reproduksjon

No comments:

Post a Comment