Testing Handelssystemer On Historisk Data
OpenQuant Introduksjon OpenQuant er et utviklingsplatform for automatisert handelssystem (ATS) utviklet rundt den velkjente SmartQuant Financial Data Analysis and Trading Framework. Rammen har vært under utvikling siden 1997, og den brukes for tiden av ledende finansinstitusjoner over hele verden. OpenQuant-funksjoner - OpenQuant er utviklet på toppen av det ledende institusjonelle handelsrammeverket - virkelige strategisk utviklings språk: C og VisualBasic - ingen skripting. OpenQuant kjører alltid kompilert kode, og gir deg den høyest mulige ytelsen - porteføljenivå system backtesting og trading - flere aktivaklasser (aksjer, futures, opsjoner, ETF, FOREX) - multi-valuta regnskap og simuleringer - virkelig hendelsesdrevet arkitektur. Det er ingen kunstig for backtesting loop. Strategier kjører i simuleringsmodus nøyaktig på samme måte som de kjører i live trading modus - flere handelssystemer - intradag backtesting og automatisert handel med tick data - markedsskanner - markedsdybde og bestillingsbokstøtte - tid, tick, volum og utvalgsstenger - flere tidsrammer - teknisk analyse bibliotek med mer enn hundre indikatorer - brukerdefinerte indikatorer - finansiell matematikk og kvantitativ analyse bibliotek (derivatprising, implisitt volatilitet etc.) - lineær algebra bibliotek (vektor og matrise operasjoner) inkludert stokastisk optimalisering - høypresterende backtesting og simuleringer, opptil 10.000.000 flått per sekund og mer drevet av innebygd QuantServer datamotor - marked, stopp, begrense, stoppe grenseordrer. OCA (One Cancels All) grupper. OCA-grupper simulert internt for meglere som ikke støtter OCA nativt - direkte ordrebehandling: Send, Avbryt, Erstatt ordre - Autoexecution, Order routing, FIX-støtte, QuickFIX innebygd motor. Én klikkbryter fra simulering til live tradingmodus Støttede datafeed og meglere IB, PATS, TAL, ESignal, Photon Trader, MB Trading, TAQ, YAHOO, Google, CSI, Open Tick, IQ Feed, QuoteTracker, Genesis Securities, Nordic Stock Exchange , Open E Cry, New Edge, Morgan Stanley, TT XTrader via TT FIX-adapter og XTAPI, CQG FIX, Lightspeed, HotSpot FIX, Currenex FIX, Integral FIX, DB (Deutsche Bank) FIX, generiske FIX-leverandører støtter AlfaDirect, ItInvest, QUIK , OSL FIX, QUIK FIX, Finam TRANSAQ, Plaza II Et åpent grensesnitt for å utvikle egendefinerte data og implementeringsprogrammer. OpenQuant Demo Download Last ned 30 dagers evalueringsversjon av OpenQuant. OpenQuant Community og Support Du er velkommen til å diskutere OpenQuant på SmartQuant Public Forums OpenQuant Flash Video Tutorials Video 1 - Denne videoen demonstrerer hvordan du kjører en demostrategi i simuleringsmodus og hvordan du kan vise og analysere startegy-utgang. Video 2 - Denne videoen demonstrerer hvordan du lager et instrument, importerer historiske data for dette instrumentet fra en tekstfil ved hjelp av importeringsveiviseren og hvordan du kan vise og analysere importerte data. Video 3 - Denne videoen demonstrerer hvordan du konfigurerer instrument (lager og futures) egenskaper for å be om og overvåke sanntidsdatainnføring fra Interactive Brokers. Video 4 - Denne videoen demonstrerer hvordan du utvikler en enkel strategikode som overvåker og skriver ut handel og strekkdata fra interaktive meglere i sanntid. Video 5 - Denne videoen viser hvordan du laster ned instrumentdefinisjoner, overvåker sanntidsdata og utfører bestillinger med Open E Cry. Video 6 - Denne videoen demonstrerer hvordan du laster ned instrumentdefinisjoner og historiske markedsdata med OpenTick. Video 7 - Denne videoen demonstrerer hvordan du kobler til TT XTrader API TTSIM (markedsdata og ordreutførelse). Video 8 - Denne videoen viser hvordan du kobler til TT FIX-adapteren TTSIM (markedsdata og ordreutførelse). Video 9 - Denne videoen demonstrerer hvordan du overvåker sanntidsdata og utfører bestillinger med MB Trading. Video 10 - Denne videoen demonstrerer hvordan du tar opp sanntids tick og bar data fra IB til OpenQuant historiske markedsdatabase. Video 11 - Denne videoen demonstrerer hvordan du bruker Market Scanner-funksjonalitetene til OpenQuant. Video 12 - Denne videoen demonstrerer hvordan du debugger OpenQuant-strategier med Microsoft Visual Studio. OpenQuant Skjermbilder OpenQuant Documentation OpenQuant Komme i gang GuideAutomated System Trading Hva er et handelssystem Et handelssystem er et dataprogram som brukes av handelsfolk til objektivt å gå inn og ut av futures-markedene basert på parametere som er bestemt av historisk testing på kvantifiserbare data. Systemer kjøres på datamaskiner eller servere og kobles direkte til børsen for handel. Hvorfor skulle jeg handle med et system? Handel med futures-markedene ved hjelp av et handelssystem gir disiplinen å overvinne frykten og grådigheten som i mange tilfeller lammer en handelsmann og hindrer dem i å gjøre rettidige og objektive beslutninger. Hver ordre som er plassert, styres av et forhåndsbestemt sett av regler som ikke avviger basert på noe annet enn markedsaksjonen. Hva bør jeg vurdere Som alle typer verktøy, kan handelssystemer hvis det ikke brukes riktig, være farlig for handelsmennets økonomiske helse. Trader bør vurdere toleranse for høyrisiko-futures trading, risikokapital og evnen til å tåle egenkapitalavdrag samt kostnadene med hensyn til både tid og penger til handel i futures-markedene. Hvordan vet jeg om systemet er bra? En av hovedelementene i et handelssystem er evnen til et handelssystem å holde opp over tid. Vi oppfordrer kundene til å ta seg tid og studere resultatene før du åpner en handelskonto. Selvfølgelig er den eneste sanne testen av et system å se hvordan den utfører i faktisk handel der markedet slippes og handelskostnaden er en del av posten. Hvor mye penger trenger jeg Minimum innskudd for å åpne en automatisert system trading konto er 5000 og varierer fra det valgte systemet. I tillegg bør den potensielle næringsdrivende bare vurdere å åpne en futureskonto når næringsdrivende har tilstrekkelig risikokapital på grunn av innflytelse i futures trading. Hvordan kommer jeg i gang Det første trinnet er å snakke med en megler på ApexFutures for å forstå risikoen så vel som fordelene ved futures trading ved hjelp av et automatisert handelssystem. Hvis du er komfortabel med programmet, er neste skritt å åpne en handelskonto og velg handelssystem (er) som passer best til dine personlige risikotoleranser og handelsmål. Gruppen som utfører systemene, har ikke lov til å handle med futures, så vårt fokus er alltid på å gi kunden den aller beste tjenesten. Hva er risikoen Et hvilket som helst system kan være gjenstand for markedsspesifikke, systemspesifikke eller komplekse spesifikke risikoer som spenner fra 500 til 5 millioner. Ved å handel med flere systemer på tvers av ulike markeder, kan man redusere markedsspesifikk og kompleks spesifikk risiko. Ved handelssystemer med forskjellige inngangs - og utgangsstrategier kan næringsdrivende redusere systemspesifikke risikoer. Risikoen for handel kan imidlertid være betydelig, og hver investor og leverandør må vurdere om dette er en passende investering. Tidligere resultater er ikke nødvendigvis en indikasjon på fremtidige resultater. Ansvarsfraskrivelse Risikoen for handel kan være vesentlig, og hver investor og leverandør må vurdere om dette er en passende investering. Tidligere resultater er ikke nødvendigvis en indikasjon på fremtidige resultater. Futures Trading Ansvarsfraskrivelse: Transaksjoner i verdipapirer futures, råvare og indeks futures og opsjoner på futures bære en høy grad av risiko. Mengden av innledende margin er liten i forhold til verdien av futures kontrakten, noe som betyr at transaksjoner er tungt utnyttet. En relativt liten markedsbevegelse vil ha en forholdsmessig større innvirkning på midlene du har deponert eller må sette inn: dette kan virke mot deg så godt som for deg. Du kan opprettholde et totalt tap av innskuddsmargin og eventuelle ekstra midler deponert hos clearingfirmaet for å opprettholde posisjonen din. Hvis markedet beveger seg mot posisjonen din eller marginalnivåene økes, kan du bli bedt om å betale betydelige tilleggsmidler med kort varsel for å opprettholde posisjonen din. Hvis du ikke overholder en forespørsel om ytterligere midler innen foreskrevet tid, kan din stilling bli likvidert med tap, og du vil være ansvarlig for eventuelle resulterende underskudd. Testtesting og Forward Testing: Betydningen av korrelasjonshandlere som er ivrige etter å prøve en trading ide i et levende marked ofte gjør feilen å stole helt på backtesting resultater for å avgjøre om systemet vil være lønnsomt. Mens backtesting kan gi handelsmenn verdifull informasjon, er det ofte misvisende, og det er bare en del av evalueringsprosessen. Utprøvingstesting og fremoverprestasjonstest gir ytterligere bekreftelse om system effektivitet, og kan vise et system ekte farger, før ekte penger er på linjen. God korrelasjon mellom backtesting, out-of-sample og forward performance testresultater er viktig for å bestemme levedyktigheten til et handelssystem. (Vi tilbyr noen tips om denne prosessen som kan bidra til å forfine din nåværende handelsstrategi. For å lære mer, les Backtesting: Tolkning av fortiden.) Grunnleggende om sikkerhetskopiering Backtesting refererer til å bruke et handelssystem til historiske data for å verifisere hvordan et system ville ha utført i løpet av den angitte tidsperioden. Mange av dagens handelsplatforme støtter backtesting. Traders kan teste ideer med noen få tastetrykk og få innsikt i effektiviteten av en ide uten å risikere penger på en handelskonto. Backtesting kan evaluere enkle ideer, for eksempel hvordan en bevegelig gjennomsnittsovergang ville utføre på historiske data, eller mer komplekse systemer med en rekke innganger og utløsere. Så lenge en ide kan kvantifiseres, kan den bli testet. Noen handelsmenn og investorer kan søke kompetanse fra en kvalifisert programmør for å utvikle ideen til en testbar form. Vanligvis innebærer dette en programmerer som koder ideen inn i proprietært språk som er vert for handelsplattformen. Programmereren kan inkludere brukerdefinerte inputvariabler som tillater handelsmannen å justere systemet. Et eksempel på dette ville være i det enkle glidende gjennomsnittsovergangssystemet som er nevnt ovenfor: Traderen vil kunne legge inn (eller endre) lengdene til de to bevegelige gjennomsnittene som brukes i systemet. Traderen kunne backtest for å bestemme hvilke lengder av bevegelige gjennomsnitt som ville ha utført det beste på de historiske dataene. (Få mer innsikt i Electronic Trading Tutorial.) Optimaliseringsstudier Mange handelsplattformer tillater også optimaliseringsstudier. Dette innebærer å legge inn et område for den angitte inngangen og la datamaskinen gjøre matematikken for å finne ut hvilken innspilling som ville ha gjort det beste. En multi-variabel optimalisering kan gjøre matematikken for to eller flere variabler kombinert for å bestemme hvilke nivåer sammen ville ha oppnådd det beste resultatet. For eksempel kan handelsmenn fortelle programmet hvilke innspill de vil legge til i deres strategi, disse vil da bli optimalisert til deres ideelle vekter gitt de testede historiske dataene. Backtesting kan være spennende ved at et ulønnsomt system ofte kan bli forvandlet til en pengemaskin med noen få optimaliseringer. Dessverre fører tweaking av et system for å oppnå det høyeste nivået av fortjeneste, ofte til et system som vil utføre dårlig i reell handel. Denne overoptimaliseringen skaper systemer som ser bra ut på papir. Kurvmontering er bruk av optimaliseringsanalyse for å skape det høyeste antallet vinnende handler med størst profitt på de historiske dataene som ble brukt i testperioden. Selv om det ser imponerende ut i backtesting-resultatene, fører kurvepassing til upålitelige systemer, siden resultatene er i hovedsak tilpasset for den aktuelle datoen og tidsperioden. Backtesting og optimalisering gir mange fordeler til en næringsdrivende, men dette er bare en del av prosessen når man vurderer et potensielt handelssystem. Et handlende neste trinn er å bruke systemet til historiske data som ikke har blitt brukt i den første backtesting-fasen. (Det bevegelige gjennomsnittet er enkelt å beregne, og når det er tegnet på et diagram, er det et kraftig visuelt trendspottingsverktøy. For mer informasjon, les Simple Moving Averages. Gjør trendene stående.) Eksempel vs. Uttrykksdata Når du tester en ide om historiske data, er det fordelaktig å reservere en tidsperiode med historiske data for testformål. De første historiske dataene som ideen er testet og optimalisert, refereres til som in-sample data. Datasettet som er reservert, kalles ikke-eksempeldata. Dette oppsettet er en viktig del av evalueringsprosessen fordi den gir en måte å teste ideen på data som ikke har vært en komponent i optimaliseringsmodellen. Som et resultat vil ideen ikke bli påvirket på noen måte av dataene utenfor prøven, og forhandlere vil kunne bestemme hvor godt systemet kan utføre på nye data, dvs. i real-life trading. Før du starter opp en eventuell backtesting eller optimalisering, kan handelsfolk legge til side en prosentandel av de historiske dataene som skal reserveres for prøveutprøving. En metode er å dele de historiske dataene i tredjedeler og å skille seg ut en tredjedel for bruk i prøveutprøvingen. Bare in-sample dataene skal brukes til opprinnelig testing og optimalisering. Figur 1 viser en tidslinje der en tredjedel av de historiske dataene er reservert for prøveutprøving, og to tredjedeler brukes til prøveutprøvingen. Selv om Figur 1 viser dataene utenfor prøven i begynnelsen av testen, ville typiske prosedyrer ha utelukkende del umiddelbart før den fremadrettede ytelsen. Figur 1: En tidslinje som representerer den relative lengden av in-sample og out-of-sample data som brukes i backtesting prosessen. Når et handelssystem har blitt utviklet ved hjelp av in-sample data, er den klar til å bli brukt på dataene utenfor prøven. Traders kan evaluere og sammenligne resultatresultatene mellom dataene i prøven og utdataene. Korrelasjon refererer til likheter mellom forestillingene og de generelle trendene i de to datasettene. Korrelasjonsmålinger kan brukes til å evaluere strategiske resultatrapporter opprettet i testperioden (en funksjon som de fleste handelsplatformene gir). Jo sterkere korrelasjonen mellom de to, desto bedre er sannsynligheten for at et system vil fungere godt i fremoverprestasjonstesting og live trading. Figur 2 illustrerer to forskjellige systemer som ble testet og optimalisert på in-sample data, deretter anvendt på data utenfor data. Diagrammet til venstre viser et system som var tydelig kurvepasset for å fungere godt på dataene i prøven og helt mislyktes på dataene utenfor prøven. Diagrammet til høyre viser et system som fungerte bra på både in - og ut-av-prøve data. Figur 2: To egenkapitalkurver. Handelsdataene før hver gult pil representerer prøveutprøvning. Handlingene som genereres mellom de gule og røde pilene indikerer ikke-prøvetesting. Handlingene etter de røde pilene kommer fra de fremadrettede testfaser. Hvis det er lite sammenheng mellom prøven og prøven utenfor prøven, som venstre diagram i figur 2, er det sannsynlig at systemet har blitt overoptimert og ikke vil fungere godt i live trading. Hvis det er sterk korrelasjon i ytelsen, sett i det høyre diagrammet i figur 2, innebærer neste evalueringsfase en ekstra type prøveutprøving, kjent som fremoverprøving. (For mer lesing om prognoser, se Finansiell prognose: Den bayesiske metoden.) Grunnleggende forsendelsesprestasjonstester Videresend ytelsestest, også kjent som papirhandel. gir forhandlere et annet sett med data utenom prøven som skal evaluere et system. Forward performance testing er en simulering av faktisk handel og innebærer å følge systemlogikken i et levende marked. Det kalles også papirhandel siden alle handler utføres kun på papir, det vil si, handelsoppføringer og utganger dokumenteres sammen med eventuelle gevinst eller tap for systemet, men ingen egentlige handler utføres. Et viktig aspekt ved fremoverprestasjonstesting er å følge systemlogikken nøyaktig ellers blir det vanskelig, om ikke umulig å nøye vurdere dette trinnet i prosessen. Handlere bør være ærlige om handelsoppføringer og utganger og unngå atferd som kirsebærplukking, eller ikke med en handel på papir som rasjonaliserer at jeg aldri ville ha tatt den handel. Hvis handelen skulle ha skjedd etter systemlogikken, bør den dokumenteres og evalueres. Mange meglere tilbyr en simulert handelskonto hvor handler kan plasseres og tilsvarende resultat og tap beregnes. Ved å bruke en simulert handelskonto kan du opprette en semi-realistisk atmosfære som du kan øve på handel og videre vurdere systemet. Figur 2 viser også resultatene for fremoverprestasjonstesting på to systemer. Igjen, det system som er representert i det venstre diagrammet, klarer ikke å gjøre det bra utover den opprinnelige testingen på in-sample data. Systemet som vises i riktig diagram, fortsetter imidlertid å fungere bra gjennom alle faser, inkludert fremoverprestasjonstesting. Et system som viser positive resultater med god korrelasjon mellom in-sample, out-of-sample og forward performance testing, er klar til å bli implementert i et levende marked. Bottom Line Backtesting er et verdifullt verktøy som er tilgjengelig i de fleste handelsplatformene. Å dele historiske data i flere sett for å sørge for prøveutprøving og prøveutprøving kan gi forhandlere et praktisk og effektivt middel for å vurdere en handelsidee og et system. Siden de fleste handelsfolk bruker optimaliseringsteknikker i backtesting, er det viktig å deretter vurdere systemet på rene data for å bestemme dens levedyktighet. Fortsett testing utenfor prøven med fremoverprestasjonstest gir et annet sikkerhetslag før du setter et system i markedet som risikerer ekte penger. Positive resultater og god korrelasjon mellom in-sample og out-of-sample backtesting og forward performance testing øker sannsynligheten for at et system vil fungere godt i faktisk handel. (For en omfattende oversikt over teknisk analyse, se Teknisk analyse: Introduksjon.)
Comments
Post a Comment