Maskin Læring In Parene Trading Strategier
Maskinlæring og automatisert handel Den store korte (jeg liker det) Søker handelsstrategier med lønnsomme backtests - OPPDATERING Jeg har hatt noen veldig interessante samtaler siden jeg tilbød min ikke-offentlig intraday trading rammeverk i bytte for informasjon om lønnsomme strategier, noe som er grunnen til at jeg ønsker å utvide denne innledningsvis tidsbegrensede samtalen ubestemt. Legg merke til at jeg ikke ser etter strategidéer. Jeg har mange av dem selv. Utfordringen ligger ikke i å komme opp med en idé, men i å velge den rette og teste den gjennom til helt enden, når du enten vet at den fungerer eller at den ikke gjør det. Den kritiske faktoren her er tid. Så det jeg egentlig handler om, er den tiden jeg har investert i utviklingen av en solid solid intraday trading rammeverk mot den tiden du har investert i å utvikle en lønnsom handelsstrategi. Det kan være en aksje, ETF, fremtid eller opsjonsstrategi. Alle diskusjoner og informasjonsutveksling vil bli holdt fortrolige. Jeg er selvfølgelig åpen for å bare diskutere ideer, men vær så snill og ikke forvent at jeg skal teste dem for deg og ikke klage hvis jeg implementerer dem uten å be om godkjenning. Ring for forslag Søk trading strategier med lønnsomme backtests Frem til 15. juni. Jeg godtar forslag til lovende handelsstrategier på aksjer, valutaer og stockbond commodity indices. Strategien må være lønnsom i backtesting og ha et årlig skarphet på minst 1,0. 1. juli vil de to mest lovende strategiene velges, og forfatterne kan velge ett av følgende alternativer: 1) Få en full og gratis kopi av det forbedrede, ikke-offentlige handelsramme basert på R som jeg har utviklet og brukt siden 2012 og at forfatterne kan bruke for å handle live strategier med Interactive Brokers. (Den forenklede offentlige versjonen kan lastes ned her) 2) Skriv inn en samarbeidsavtale der jeg vil forplikte seg til å implementere sin strategi for R og papirhandel i maksimalt tre måneder. Alle individuelle handler vil bli delt med forfatterne når de kommer. I tillegg vil R-koden som er spesifikk for strategien (ikke koden til handelsrammen) bli overlevert til strategiforfatterne. Hva skal du sende inn: En skriftlig beskrivelse av strategien pluss en liste over handler pluss returtidserier av backtest eller eksekverbar Roctavepython-kode som direkte beregner backtest return-timeseries, sammen med det fulle datasettet for priser som brukes i backtestet. Send til min e-post tilgjengelig i Kontakt-delen Oppdatering av den rene R Intraday Trading Framework Endelig fant jeg deg tid til å gjøre dette. På overtid. Rammen kjører nå med de nyeste (unix) versjonene av IB TWSGW (versjon 9493 og høyere). Dette innebar i seg selv en delvis omskrivning av flere funksjoner fra den store, men nå litt utdaterte IBrokers R-pakken av Jeff Ryan. Også standardkonfigurasjonen for trading EURUSD har blitt oppdatert slik at det nå er et stykke kake for å kjøre eksempeldummy-strategien. Bare klone git repo til din lokale maskin. githubcensixINTRADAY-PartAB og følg README. Noe om maskinvare Jeg er fortsatt en fan av å eie mitt eget metall. Det er sikkert å gjøre ting med konfigurerbare maskinbilder i skyen, fordi du ikke trenger å gå gjennom bryet med å administrere din egen maskinvare, men det er ikke noe problem for store organisasjoner der hundrevis av tusenvis av brukere må holdes glade for minimal kostnad. Så er skyen ikke bare en løsning på et problem for folk som må klare skalaen, men prøver samtidig å selge på den løsningen til den enkelte joe der ute, som, vi møter det, trenger ikke virkelig det. Uansett, som jeg sa, er jeg fan av å eie mitt eget metall. Billig maskinvare uten hylle kan få deg langt hvis du tar deg tid til å konfigurere det riktig. Et 16-64 GB RAM-skrivebord med en eller to GPUer vil ganske mye gjøre alt du trenger. Det ser ut som at backtesting strategier bruker mye mer databehandling ressurser enn faktisk live trading, og derfor kan du i dag sette opp og drive en intradag strategi fra en anstendig bærbar PC med tillit, mens for backtesting og forskning du virkelig vil ha RAM CPU GPU monster ovenfor eller en liten liten supercomputerkluster av din egen, som jeg nylig har beskrevet her. Pure R Intraday trading framwork Full nedlasting tilgjengelig Jeg har laget INTRADAY-PartA. tar. gz og INTRADAY-PartB. tgz tilgjengelig for nedlasting. censixdownloads. html Finne forhold mellom eiendeler som kan brukes til statistisk arbitrage I stedet for å fokusere på å forutsi prisretning og prisvolatilitet med ikke-lineære modeller utledet med maskinlæringsmetoder, ville et alternativ være å prøve å oppdage utnyttbare prisforhold mellom eiendeler i samme klasse og reagerer (handel) når feilprising skjer, med andre ord, gjør statistisk arbitrage. På en måte er dette på en eller annen måte enklere enn å forsøke å prognostisere priser, siden det eneste man må gjøre er å finne et relativt stabilt, lineært eller ikke-lineært forhold mellom en gruppe på minst to eiendeler og anta at fra tidspunktet for dens deteksjon, vil dette forholdet fortsette for en stund inn i fremtiden. Handel under denne forutsetningen er da veldig mye en reaktiv prosess som utløses av prisbevegelser som divergerer vesentlig fra det modellerte forholdet. Tradisjonell Parhandel og handel med assetts i et VECM (Vector Error Correction Model) forhold er gode eksempler for Statarb ved hjelp av lineære modeller. Så hvorfor ikke bruke et enkelt enkeltlags neuralt nettverk eller til og med en RBM for å oppdage et ikke-lineært prissamarbeid mellom to ikke-samordnede eiendeler, og hvis denne oppdagelsesprosessen er vellykket, handler den på samme måte som et klassisk par. Ting blir enda mer interessante når grupper med mer enn bare to eiendeler vurderes. Dette ville da være den ikke-lineære ekvivalenten til en VECM. Funksjonsvalg Bredde vs. Dybde Lets si at vi har et univariant timeseries predicitionsmål som enten kan være av type regresjon eller klassifisering, og vi må bestemme hvilke inngangsfunksjoner som skal velges. Mer konkret har vi et stort univers av timeseries som vi kan bruke som innganger, og vi vil gjerne vite hvor mange vi skal velge (bredde) og også hvor langt tilbake i tid vil vi se etter hver (dybde). Det er et todimensjonalt mellomrom av valg, avgrenset av de følgende fire ekstreme tilfellene, under antagelsen om at vi har totalt N-serier, og vi kan høyst se etter K timesteps: (1) velg bare en serie og lookback en timestep, (2) velg bare en serie og lookback K timesteps, (3) velg N-serien og lookback en timestep, (4) velg N-serien og lookback K timesteps. Det optimale valget vil sannsynligvis ikke være noen av disse, siden (1) og (2) ikke inneholder nok forutsigbar informasjon, og (3) og spesielt (4) vil heller ikke være mulige på grunn av databehandlingskrav eller inneholde for mye tilfeldig støy. Den foreslåtte måten å nærme seg dette på, er å starte lite på (1), se hvilken ytelse du får, og øk størrelsen på innspillingsområdet, enten bredde eller dybdevis, til du har oppnådd tilfredsstillende prediksjonsytelse eller til du har blitt oppbrukt din databehandling ressurser og må enten forlate hele tilnærmingen :( eller kjøpe en ny (gård av) skrivebordet (er) :) Bruke Stacked Autoencoders og Begrensede Boltzmann Maskiner i R 12 februar 2014 Stacked Autoencoders (SA) og Begrenset Boltzmann Maskiner RBMer) er svært kraftige modeller for uopplæret læring. Dessverre, når det er skrevet, ser det ut som om det ikke finnes noen direkte R-implementeringer, noe som er overraskende siden begge modelltyper har eksistert en stund, og R har implementeringer for mange andre maskinlæremodelltyper. Som en løsning kan SAs implementeres ved hjelp av en av flere nevrale nettverkspakker av R ganske raskt (nnet, AMORE) og RBM, vel, noen må skrive en god R-implementering for dem. Men gitt at trening både modelltyper krever mange beregningsmessige ressurser, vil vi også ha en implementering som kan gjøre bruk av GPUer. Så for øyeblikket er den enkleste løsningen vi synes å ha, å bruke Theano. Den kan bruke GPUer, og den gir implementeringer av stablede (denoising) autoencoders og RBMs. I tillegg er PythonTheano-koden for flere andre eksotiske Boltzmann-maskinvarianter også flytende rundt nettet. Vi kan bruke rPython til å kalle disse Python-funksjonene fra R, men utfordringen er dataene. Å få store datasett frem og tilbake mellom R og Python uten å bruke ASCII serialisering som rPython implementerer (for sakte) må løses. En minst like kraftig implementering av autoenkodere som støtter GPU-bruk er tilgjengelig via Torch7-rammen (demo). Men, Torch7-funksjoner kalles ved hjelp av lua og ringer dem innfra R i stedet vil kreve noe arbeid på C-nivå. Konklusjon: Bruk Theano (Python) eller Torch7 (lua) for å trene modeller med GPU-støtte og skriv trenede modeller til filen. I R importerer du den utdannede modellen fra filen og bruker den til forutsigelse. Oppdater 25 april 2014: Følgende fin løsning Ring Python fra R gjennom Rcpp bør bringe oss ett skritt nærmere å bruke Theano direkte fra R. Hvilke frekvenser som skal handle. 13 januar 2014 Når du prøver å finne utnyttbare markedsmønstre som man kan handle som detaljhandel, er et av de første spørsmålene: Hvilke handelsfrekvenser som skal se på Månedlig Ukentlig Daglig eller intradag hvor som helst mellom 5 sekunder til 1 time Med begrenset tid tilgjengelig for utfører forskning på alle disse tidsskalaene, blir dette et viktig spørsmål å svare på. Jeg og andre har observert at det synes å være et enkelt forhold mellom handelsfrekvens og mengde innsats som trengs for å finne en lønnsom strategi som er rent kvantitativ og har akseptabel risiko. Kort sagt: Jo lavere (tregere) frekvensen du vil handle på, jo smartere din lønnsomme strategi må være. tradefreqvssmartnessAt et eksempel kan man se på (veldig) høyfrekvente enden av spekteret, der markedsføringsstrategier basert på veldig enkel matematikk kan være svært lønnsomme, hvis du klarer å være nær nok til markedssenteret. Å ta et stort hopp i det daglige frekvensområdet, blir mye vanskeligere å finne kvantitative strategier som er lønnsomme samtidig som de bygger på ganske enkel matematikk. Handel i ukentlige og månedlige intervaller, bare ved hjelp av enkle kvantitative metoder eller tekniske indikatorer er en veldig god oppskrift på katastrofe. Så, forutsatt et øyeblikk at dette forholdet er sant og også vurderer at vi kan og vil bruke sofistikerte maskinlæringsteknikker i våre handelsstrategier, kan vi starte med et ukentlig frekvensvindu og arbeide mot høyere frekvenser. Ukentlig handel trenger ikke å bli automatisert i det hele tatt, og kan gjøres fra ethvert nettbasert meglergrensesnitt. Vi kunne utvikle en pose med strategier, ved hjelp av allment tilgjengelige historiske data i kombinasjon med vår favoritt læring algoritme for å finne tradeable markedsmønstre og deretter utføre strategien manuelt. På denne måten bør all innsats gå i å finne og finjustere den kvantitative strategien, og svært liten tankegang må settes inn i handelsutførelsen. Handelsautomatiseringsinnsats: 0. Strategi smarthet kreves: 100 Daglig handel bør automatiseres, med mindre du virkelig kan dedikere en fast del av dagen til å overvåke markedene og gjennomføre handler. Integrering av maskinlæringsalgoritmer med automatisert daglig handel er ikke en trivial oppgave, men det kan gjøres. Handelsautomatiseringsinnsats: 20, Strategismarthet kreves: 80 På intraday-tidsrammer, alt fra minutter og sekunder til under sekunder, vil innsatsen du må gjøre for å automatisere handlerne ligge hvor som helst i området mellom 20 og 90. Heldigvis er mindre tidsskala blir dummere strategien din kan være, men dum er selvsagt et relativt konsept her. Trade automation innsats: 80, Strategi smarthet kreves: 20 Hvilke funksjoner å bruke. Håndlaget vs. lært 10 desember 2013 På et tidspunkt i utformingen av et (maskin) læringssystem vil du uunngåelig spørre deg selv hvilke funksjoner som skal mate inn i modellen. Det er minst to alternativer. Den første er å bruke håndlagde funksjoner. Dette alternativet gir deg vanligvis gode resultater hvis funksjonene er utformet godt (det er selvfølgelig en tautologi, siden du bare ville kalle dem godt designet hvis de ga deg gode resultater.). Utforming av håndlagde funksjoner krever ekspertvitenskap om feltet som læringssystemet skal brukes, dvs. lydklassifisering, bildegjenkjenning eller i vår handel. Problemet her er at du kanskje ikke har noen av den ekspertkunnskapen (enda), og det vil være svært vanskelig å komme forbi eller ta mye tid eller mest sannsynlig begge deler. Så alternativet er å lære funksjonene fra dataene, eller med andre ord, bruk uovervåket læring for å skaffe dem. Et krav her er at du virkelig trenger mye data. Mye mer av det enn du trenger for håndlagde funksjoner, men da må det ikke merkes. Fordelen er imidlertid tydelig. Du trenger ikke virkelig å være ekspert på det spesifikke feltet du designer systemet for, dvs. handel og økonomi. Så mens du fortsatt trenger å finne ut hvilken del av de lærte funksjonene som er best for læringssystemet, er det også noe du måtte gjøre med de håndlagde funksjonene. Mitt forslag: Prøv å designe noen håndlagde funksjoner selv. Hvis de ikke opptrer, og du har gode grunner til å tro at det er mulig å få bedre resultater enn de du får, bruker du uansett læringsmetoder for å lære funksjoner. Du kan til og med lage et hybrid system som bruker designede og lært funksjoner sammen. Hvorfor bruker jeg Open Source-verktøy for å bygge handelsapplikasjoner 19. november 2013 Da jeg først begynte å se på å gjøre min egen automatiserte handel, hadde jeg tre krav til settet av verktøy som jeg ønsket å bruke. 1) De bør koste så lite som mulig for å få meg i gang, selv om det betydde at jeg måtte gjøre mye programmering og tilpasninger selv (det ville koste tid) 2) Det burde være et fellesskap av likesinnede mennesker der ute bruker disse samme verktøyene for en tilsvarende hensikt. 3) Verktøyene skal tillate meg å gå så dypt inn i systemets inngrep som det er nødvendig, selv om jeg i begynnelsen var mer å oppdage det grunnleggende. Jeg ville ikke finne meg selv i en situasjon der to år nedover linjen jeg måtte bytte til et annet sett med verktøy, bare fordi de jeg hadde startet med, ikke tillot meg å gjøre det jeg ville ha på grunn av problemer med lukkede kilder og restriktiv lisensiering. Som et resultat kom jeg for å velge R som valgfritt språk for å utvikle trading algortihms, og jeg begynte å bruke Interactive Brokers siden de gir en API for grensesnitt med deres meglersystem. Mens det er mange gode handelsverktøy som kobler til IB Trader Workstation, og noen kan brukes til automatisert handel, tilbyr ingen av disse samme kraft, fleksibilitet og fellesskapsstøtte som R-prosjektet har. I tillegg har R virkelig et fantastisk lager med gratis og svært adavanced statistikk og maskin læring pakker, noe som er viktig hvis du vil opprette handelsalgoritmer. Copyright copy Censix 2013 - 2015Computer Generated Trading Strategies Platform Eksporter strategiene dine til MetaTrader4, NinjaTrader eller Tradestation med full kildekode. Forbedre eksisterende strategier ved å endre handelsregler. Optimaliser strategien din ved å bruke Walk-Forward optimalisering. I StrategyQuant trenger du ikke å definere handelsregler for ditt nye handelssystem. Det bruker maskininnlæringsteknikker for å generere nye, unike handelsstrategier. Ingen programmerings - eller handelsvitenskap er nødvendig. Det er i stand til å skape strategier som du som handelsmann ikke ville tenke på, og det er i stand til å gjøre det raskt og teste genererte strategier med en gang. StrategyQuant kan generere deg hundrevis av nye handelsstrategier - hver unike, backtested på flere datatimegrammer for å sikre maksimal robusthet. De resulterende strategiene kan lagres som en Tradestation-strategi i EasyLanguage, NinjaTrader C-strategi eller MetaTrader 4 Expert Advisor med fullstendig kildekode. Robust backtesting og strategianalyse StrategyQuant inneholder de mest komplekse strategiske resultatanalysene på markedet. Den inneholder flere kraftige verktøy som lar deg teste din strategi for robusthet for å unngå kurvepassing og overoptimalisering, inkludert Monte Carlo, Walk-Forward-analyse og 3D-diagrammer. Støttede plattformer StrategyQuant genererer handelsstrategier som kan brukes på følgende handelsplattformer: Favoritt handelsplattform for forex og CFDs Utvalgte handelsplattform for futures, aksjer, ETFs, varer Hvordan virker det akkurat? Vi sier at du vil opprette en ny handelsstrategi for EURUSD: Du velger EURUSD-datakilden, velger tidsramme og tidsintervall. Definer hvilke blokker strategien bør bestå av (indikatorer, prisdata, operatører, etc.). Definer hva som skal være parametrene for den resulterende strategien - for eksempel, Total Net Profit må være over 5000, Drawdown må være lavere enn 20, ReturnDD ratio må være over 4, den må produsere minst 300 bransjer. Deretter klikker du Start-knappen og StrategyQuant vil gjøre jobben. Det vil tilfeldig generere nye handelsstrategier ved hjelp av byggeklosser du har valgt, tester dem med en gang, og lagrer de som passer dine krav til din anmeldelse. Du kan deretter gjennomgå de nylig genererte strategiene, utføre adda-tester eller eksportere dem som MetaTrader4 EAs. det er et fantastisk stykke programvare jeg kjøpte StrategyQuant i desember 2011, og har brukt det daglig siden da, bare sett - det er et fantastisk stykke programvare. Så langt har jeg opprettet flere EAer som fungerer veldig bra på backtest, så mye, så jeg har lagt dem til livekontiene mine. Tidligere ble jeg skuffet over kommersielle EA-resultater, og til denne dag er jeg overbevist om at når en lønnsom kommersiell EA er utgitt, finner meglerne raskt en måte å nøytralisere den til slutt ved hjelp av MT4-meglerens plugins. Med GB kan jeg automatisk utvikle og teste handelsstrategier som ingen (spesielt megler) i verden vet om, eller bruker og profitterer fra dem. Støtte for produktet er også utmerket med et medlemsforum, detaljerte instruksjoner og nye versjonsutgivelser. Jeg gratulerer Mark og teamet på StrategyQuant for denne spillskiftende programvaren. mange takk igjen - Neil Rickaby Start Utvikle dine egne automatiserte handelssystemer Vi vet alle hvor vanskelig det er å finne en lønnsom handelsstrategi som kan handles mekanisk. Med StrategyQuant kan du designe dine egne automatiserte handelssystemer. I stedet for å kjøpe EAer utviklet av noen andre kan du bare generere dine egne. Du kan til og med generere en portefølje av forskjellige EAer for å handle på forskjellige par. Tilnærmingen som brukes i StrategyQuant er fremtiden for automatisk handel, og StrategyQuant er det beste og mest komplekse verktøyet tilgjengelig for valutahandlere. StrategyQuant v. 3.8 Lifetime lisens med alle fremtidige oppgraderinger gratis Mulighet for å generere ubegrenset antall handelsstrategier Enkel eksport til MT4 EA, NinjaTrader C eller Tradestation EasyLanguage Tilgang til private fellesskap forumSlideshare bruker informasjonskapsler for å forbedre funksjonalitet og ytelse, og gi deg relevant reklame. Hvis du fortsetter å surfe på nettstedet, godtar du bruken av informasjonskapsler på denne nettsiden. Se vår brukeravtale og personvernregler. Slideshare bruker informasjonskapsler for å forbedre funksjonalitet og ytelse, og for å gi deg relevant annonsering. Hvis du fortsetter å surfe på nettstedet, godtar du bruken av informasjonskapsler på denne nettsiden. Se vår personvernerklæring og brukeravtale for detaljer. Utforsk alle favorittemner i SlideShare-appen Få SlideShare-appen til å lagre for senere, selv frakoblet Fortsett til mobilnettstedet Opplastning Logg inn Registrering Dobbeltklikk for å zoome ut Algoritmisk handel og maskinlæring av Michael Kearns, professor i datateknikk og informasjonsvitenskap, UPenn Del denne SlideShare LinkedIn Corporation kopiere 2017
Comments
Post a Comment