How To Bygge Algoritmisk Trading System


Grunnleggende om Algoritmisk handel: Konsepter og eksempler En algoritme er et spesifikt sett med klart definerte instruksjoner som skal utføre en oppgave eller prosess. Algoritmisk handel (automatisert handel, svart bokhandel eller ganske enkelt algo-trading) er prosessen med å bruke datamaskiner som er programmert til å følge et definert sett med instruksjoner for å sette en handel for å generere fortjeneste med en hastighet og frekvens som er umulig for en menneskelig næringsdrivende. De definerte settene av regler er basert på timing, pris, kvantitet eller hvilken som helst matematisk modell. Bortsett fra profittmuligheter for næringsdrivende, gjør algo-trading markeder mer likvide og gjør handel mer systematisk ved å utelukke følelsesmessige menneskelige konsekvenser for handelsaktiviteter. Anta at en næringsdrivende følger disse enkle handlekriteriene: Kjøp 50 aksjer på en aksje når 50-dagers glidende gjennomsnitt går over 200-dagers glidende gjennomsnitt. Selg aksjer på aksjene når 50-dagers glidende gjennomsnitt går under 200-dagers glidende gjennomsnitt Ved å bruke dette settet med to enkle instruksjoner, er det enkelt å skrive et dataprogram som automatisk overvåker aksjekursen (og de bevegelige gjennomsnittlige indikatorene) og legger kjøps - og salgsordrene når de definerte betingelsene er oppfylt. Trafikken trenger ikke lenger å holde øye med livepriser og grafer, eller legge inn ordrene manuelt. Det algoritmiske handelssystemet gjør det automatisk for ham ved korrekt å identifisere handelsmuligheten. (For mer om å flytte gjennomsnitt, se: Enkle bevegelige gjennomsnittsverdier Gjør utfordringer.) Algo-trading gir følgende fordeler: Handler utført til best mulig pris Øyeblikkelig og nøyaktig handelsordreplassering (derved høye muligheter for utførelse på ønsket nivå) Handler tidsbestemt korrekt og øyeblikkelig for å unngå betydelige prisendringer. Reduserte transaksjonskostnader (se gjennomføringsbristeksemplet nedenfor) Samtidig automatisert kontroll av flere markedsforhold. Redusert risiko for manuelle feil i å plassere bransjene. Teste algoritmen basert på tilgjengelige historiske og sanntidsdata Redusert Mulighet for feil av menneskelige handelsfolk basert på følelsesmessige og psykologiske faktorer Den største delen av dagens algo-trading er HFT (High Frequency Trading), som forsøker å kapitalisere seg på å plassere et stort antall bestillinger med svært høye hastigheter på tvers av flere markeder og flere beslutninger parametere, basert på forhåndsprogrammerte instruksjoner. (For mer om handel med høyfrekvent handel, se: Strategier og hemmeligheter for høyfrekvenshandelsvirksomhet). Algo-trading brukes i mange former for handels - og investeringsaktiviteter, blant annet: Midtre til langsiktige investorer eller kjøpsselskaper (pensjonskasser , fond, forsikringsselskaper) som kjøper i aksjer i store mengder, men ikke vil påvirke aksjekursene med diskrete, store voluminvesteringer. Kortsiktige forhandlere og selger sidedeltakere (markedstakere, spekulanter og arbitragerer) drar nytte av automatisert handelstiltak i tillegg, algo-trading hjelpemidler for å skape tilstrekkelig likviditet for selgere i markedet. Systematiske handelsfolk (trendfølgere, parhandlere, hedgefond etc.) finner det mye mer effektivt å programmere handelsreglene og la programmet handle automatisk. Algoritmisk handel gir en mer systematisk tilnærming til aktiv handel enn metoder basert på en menneskelig handlende intuisjon eller instinkt. Algoritmiske handelsstrategier Enhver strategi for algoritmisk handel krever en identifisert mulighet som er lønnsom når det gjelder bedre inntjening eller kostnadsreduksjon. Følgende er vanlige handelsstrategier som brukes i algo-trading: De vanligste algoritmiske handelsstrategiene følger trender i flytende gjennomsnitt. kanalutbrudd. prisnivåbevegelser og tilhørende tekniske indikatorer. Dette er de enkleste og enkleste strategiene for å implementere gjennom algoritmisk handel fordi disse strategiene ikke innebærer å gjøre noen spådommer eller prisprognoser. Handler er initiert basert på forekomsten av ønskelige trender. som er enkle og enkle å implementere gjennom algoritmer uten å komme inn i kompleksiteten av prediktiv analyse. Ovennevnte eksempel på 50 og 200 dagers glidende gjennomsnitt er en populær trend-strategi. (For mer om trend trading strategier, se: Enkle strategier for kapitalisering på trender.) Å kjøpe en dobbelt børsnotert aksje til en lavere pris i ett marked og samtidig selge den til en høyere pris i et annet marked, tilbyr prisforskjellen som risikofri gevinst eller arbitrage. Samme operasjon kan replikeres for aksjer kontra futures instrumenter, da prisforskjeller eksisterer fra tid til annen. Implementering av en algoritme for å identifisere slike prisforskjeller og å plassere ordrene gir lønnsomme muligheter på en effektiv måte. Indeksfondene har definert perioder med rebalansering for å bringe sine beholdninger på nivå med sine respektive referanseindekser. Dette skaper lønnsomme muligheter for algoritmiske handelsmenn, som utnytter forventede bransjer som tilbyr 20-80 basispoeng fortjeneste avhengig av antall aksjer i indeksfondet, like før indeksfondets rebalansering. Slike handler initieres via algoritmiske handelssystemer for rettidig utførelse og beste priser. Mange påviste matematiske modeller, som delta-nøytral handelsstrategi, som tillater handel på kombinasjon av opsjoner og underliggende sikkerhet. hvor handler er plassert for å kompensere positive og negative deltakere slik at porteføljens delta blir opprettholdt til null. Gjennomsnittlig reverseringsstrategi er basert på ideen om at høye og lave priser på en eiendel er et midlertidig fenomen som regelmessig vender tilbake til gjennomsnittlig verdi. Identifisere og definere et prisklasse og en implementeringsalgoritme basert på det tillater handel å bli plassert automatisk når prisen på aktivet bryter inn og ut av sitt definerte område. Volumvektet gjennomsnittsprisstrategi bryter opp en stor ordre og frigjør dynamisk bestemte mindre biter av ordren til markedet ved hjelp av aksjespesifikke historiske volumprofiler. Målet er å gjennomføre bestillingen nær Volumvektet Gjennomsnittlig Pris (VWAP), og derved nytte gjennomsnittlig pris. Tidsvektet gjennomsnittsprisstrategi bryter opp en stor ordre og frigjør dynamisk bestemte mindre biter av ordren til markedet ved å bruke jevnt fordelte tidsluker mellom en start og sluttid. Målet er å gjennomføre bestillingen nær gjennomsnittlig pris mellom start - og sluttider, og dermed minimere markedsvirkningen. Inntil handelsordren er fullstendig, fortsetter denne algoritmen å sende partielle ordrer, i henhold til definert deltakelsesforhold og i henhold til volumet som handles på markedene. Den relaterte trinnstrategien sender ordrer til en brukerdefinert prosentandel av markedsvolumer og øker eller reduserer denne deltakelsesraten når aksjekursen når brukerdefinerte nivåer. Strategien for gjennomføring av mangler har til hensikt å minimere eksekveringsprisen for en ordre ved å avregne realtidsmarkedet, og dermed spare på kostnadene for ordren og dra nytte av mulighetskostnaden ved forsinket utførelse. Strategien vil øke den målrettede deltakelsesraten når aksjekursen beveger seg gunstig og reduserer den når aksjekursen beveger seg negativt. Det er noen spesielle klasser av algoritmer som forsøker å identifisere hendelser på den andre siden. Disse sniffingsalgoritmene, som for eksempel brukes av en selger side markedsfører, har den innebygde intelligensen for å identifisere eksistensen av noen algoritmer på kjøpssiden av en stor ordre. Slik gjenkjenning gjennom algoritmer vil hjelpe markedsmakeren til å identifisere store ordre muligheter og gjøre det mulig for ham å få fordel ved å fylle ordrene til en høyere pris. Dette er noen ganger identifisert som high-tech front-running. (For mer om høyfrekvent handel og bedragerisk praksis, se: Hvis du kjøper aksjer på nettet, er du involvert i HFT.) Tekniske krav til algoritmisk handel Implementering av algoritmen ved hjelp av et dataprogram er den siste delen, klubbbedret med backtesting. Utfordringen er å omdanne den identifiserte strategien til en integrert datastyrt prosess som har tilgang til en handelskonto for å plassere ordrer. Følgende er nødvendige: Programmeringskunnskap for å programmere den nødvendige handelsstrategien, innleid programmører eller ferdigstillet handelsprogramvare Nettverkstilkobling og tilgang til handelsplattformer for å plassere ordrene Tilgang til markedsdata feeds som vil bli overvåket av algoritmen for muligheter til plassering ordrer Evnen og infrastrukturen til å sikkerhetskopiere systemet en gang bygget, før den går live på ekte markeder Tilgjengelig historisk data for backtesting, avhengig av kompleksiteten av regler implementert i algoritmen Her er et omfattende eksempel: Royal Dutch Shell (RDS) er notert på Amsterdam Børs (AEX) og London Stock Exchange (LSE). Lar bygge en algoritme for å identifisere arbitrage muligheter. Her er noen interessante observasjoner: AEX handler i euro, mens LSE handler i Sterling Pounds På grunn av en times tidsforskjell åpner AEX en time tidligere enn LSE, etterfulgt av begge børser som handler samtidig for de neste par timene og deretter handler kun i LSE under Den siste timen når AEX lukkes Kan vi undersøke muligheten for arbitragehandel på Royal Dutch Shell-børsen som er oppført på disse to markedene i to forskjellige valutaer. Et dataprogram som kan lese nåværende markedspriser. Prisene fra både LSE og AEX. A forex rate feed for GBP-EUR-vekslingskurs Bestill plasseringskapasitet som kan ordne bestillingen til riktig utveksling Tilbakestillingskapasitet på historiske prisfeeder Dataprogrammet bør utføre følgende: Les innkommende prisfôr av RDS-lager fra begge børser Ved hjelp av tilgjengelige valutakurser . konvertere prisen på en valuta til andre Hvis det eksisterer en stor nok prisavvik (rabatt på meglerkostnadene) som fører til en lønnsom mulighet, legger du kjøpsordren på lavere prissentral og salgsordre på høyere prissentral Hvis ordrene utføres som Ønsket, arbitrage fortjeneste vil følge Simple and Easy Imidlertid er praksis med algoritmisk handel ikke så enkelt å vedlikeholde og utføre. Husk at hvis du kan plassere en algo-generert handel, så kan de andre markedsdeltakere. Følgelig varierer prisene i milli - og til og med mikrosekunder. I eksemplet ovenfor, hva skjer hvis kjøpekjøpet ditt blir henrettet, men selger handel, da selgerprisene endrer seg når bestillingen din treffer markedet. Du vil ende opp med å sitte med en åpen stilling. gjøre arbitrage-strategien din verdiløs. Det er flere risikoer og utfordringer: for eksempel systemfeil, nettverkstilkoblingsfeil, tidsforsinkelse mellom handelsordre og utførelse, og viktigst av alt, ufullkomne algoritmer. Jo mer komplekse en algoritme, desto strengere backtesting er nødvendig før den blir satt i gang. Kvantitativ analyse av en algoritmeprestasjon spiller en viktig rolle og bør undersøkes kritisk. Det er spennende å gå for automatisering hjulpet av datamaskiner med en ide å tjene penger uten problemer. Men man må sørge for at systemet er grundig testet og at det stilles krav om grenser. Analytiske handelsfolk bør vurdere å lære programmerings - og byggesystemer alene, for å være sikre på å implementere de riktige strategiene på idiotsikker måte. Forsiktig bruk og grundig testing av algo-handel kan skape lønnsomme muligheter. Hvordan handelsalgoritmer er laget. Kvantitativ handel er ikke tilgjengelig utelukkende for institusjonelle forhandlere. Detaljhandlerne blir også involvert. Mens programmering ferdigheter anbefales hvis du vil produsere algoritmer, selv de arent alltid nødvendig. Programmer og tjenester er tilgjengelige som skriver programmeringskoden for en strategi basert på inngangene du oppgir. Koden som produseres av programtjenesten er da koblet til handelsplattformen og handel begynner. Men før noe av dette kan oppstå, vil algoritmiske handelsmenn fremskritt gjennom flere trinn bestemme nøyaktig hva de vil oppnå med algoritmen. og hvordan. Tidsramme og begrensninger Mens en brønnprogrammert algoritme kan kjøres på egenhånd, anbefales det noen menneskelig tilsyn. Velg derfor en tidsramme og en handelsfrekvens som du kan overvåke. Hvis du har en heltidsjobb og algoritmen din er programmert til å gjøre hundrevis av handler om dagen på et minuts diagram mens du er på jobb, er det kanskje ikke ideelt. Du kan ønske å velge en litt langsiktig ramme for handler, og mindre handel frekvens, slik at du kan holde faner på den. Lønnsomhet i testfasen av algoritmen betyr ikke at den vil fortsette å produsere disse avkastningene for alltid. Av og til må du gå inn og endre handelsalgoritmen hvis resultatene viser at det ikke fungerer bra lenger. Dette er også en tidsforpliktelse at alle som foretar algoritmisk handel, må akseptere. Finansielle begrensninger er også et problem. Provisjoner rack opp veldig raskt med en høyfrekvent handelsstrategi, så sørg for at du er med den laveste kostnadsmegleren tilgjengelig, og at fortjenestepotensialet for hver handel garanterer å betale disse provisjonene, muligens mange ganger om dagen. Startkapital er også en vurdering. Ulike markeder og finansielle produkter krever ulike beløpskapital. Hvis dag handel aksjer youll trenger en t minst 25 000 (mer anbefales), men trading forex eller futures kan du potensielt starte med mindre. Markedsbegrensninger er et annet problem. Ikke alle markedene passer til algoritmisk handel. Velg aksjer, ETF, Forex-par eller futures med god likviditet for å håndtere ordrene som algoritmen vil produsere. Utvikle eller finjustere en strategi Når økonomiske og tidsbegrensninger er forstått, utvikler eller finjusterer en strategi som kan programmeres. Du kan ha en strategi du handler manuelt, men er det enkelt kodet Hvis strategien din er svært subjektiv, og ikke regelen basert, kan programmeringen være umulig. Regelbaserte strategier er enkleste å kode strategier med oppføringer, stoppe tap og prismål basert på kvantifiserbare data eller prisbevegelser. Siden regelbaserte strategier enkelt kopieres og testes, er det mange fritt tilgjengelige hvis du ikke har egne ideer. Quantpedia er en slik ressurs, og gir akademiske artikler og handelsresultater for ulike kvantitative handelsmetoder. Reglene skissert kan kodes og deretter testes for lønnsomhet på tidligere og nåværende data. Koding av en algoritme krever programmeringsevner eller tilgang til programvare eller noen som kan kode for deg. Teste en handelsalgoritme Det viktigste trinnet er testing. Når en handelsstrategi har blitt kodet, må du ikke handle ekte kapital med den før den er testet. Testing inkluderer å la algoritmen løpe på historiske prisdata, og viser hvordan algoritmen utføres over tusenvis av handler. Hvis den historiske testfasen er lønnsom, og den produserte statistikken er akseptabel for din risikotoleranser som maksimal trekk, vindforhold, risiko for ødeleggelse. for eksamenplethen fortsett å teste algoritmen i leveforhold på en demo-konto. Igjen, denne fasen bør produsere hundrevis av bransjer, slik at du får tilgang til ytelsen. Hvis algoritmen er lønnsom på historiske prisdata, og handler en live demo-konto, bruk den handel med ekte kapital, men med et vakkert øye. Levende forhold er forskjellige enn historisk eller demo-testing, fordi algoritmenes ordre faktisk påvirker markedet og kan forårsake glidning. Inntil det er verifisert, fungerer algoritmen i det virkelige markedet, som det gjorde i testing, opprettholde et vakkert øye. Så lenge algoritmen fungerer innenfor de statistiske parametrene som er etablert under testingen, la algoritmen alene. Algoritmer har fordelen av å handle uten følelser. men en handelsmann som stadig tinker med algoritmen, nullifiserer den fordelen. Algoritmen krever imidlertid oppmerksomhet. Overvåk ytelsen, og hvis markedsforholdene endres så mye at algoritmen ikke lenger fungerer som den skal, kan det hende at det er nødvendig med justeringer. Algoritmisk handel er ikke en sett-og-glem-innsats som gjør deg rik over natten. Faktisk kan kvantitativ handel være like mye arbeid som handel manuelt. Hvis du velger å lage en algoritme, være oppmerksom på hvordan tid, økonomiske og markedsmessige begrensninger kan påvirke strategien din, og planlegg deretter. Vend en gjeldende strategi til en regel basert en som lettere kan programmeres, eller velg en kvantitativ metode som allerede er testet og forsket. Deretter kan du kjøre din egen testfase ved hjelp av historiske og nåværende data. Hvis det sjekker ut, kjør du algoritmen med ekte penger under et vakkert øye. Juster om nødvendig, men ellers la det gjøre jobben sin. Som rent en datavitenskapsmann er du i perfekt posisjon for å komme i gang med algoritmisk handel. Dette er noe jeg har sett på førstehånd på Quantiacs1. hvor forskere og ingeniører er i stand til å hoppe rett inn i automatisert handel uten tidligere erfaring. Med andre ord, programmeringskoteletter er den viktigste ingrediensen som trengs for å komme i gang. For å få en generell forståelse av hvilke utfordringer som venter på deg etter at du har opprettet et algoritmisk handelssystem, sjekk ut dette Quora-innlegget. Å bygge et handelssystem fra grunnen vil kreve litt bakgrunnskunnskap, en handelsplattform, markedsdata og markedsadgang. Selv om det ikke er et krav, vil det være lettere å velge en enkelt handelsplattform som gir de fleste av disse ressursene. Når det er sagt, vil ferdighetene du utvikler bli overført til hvilket som helst programmeringsspråk og nesten hvilken som helst plattform. Tro det eller ei, bygger automatiserte handelsstrategier ikke på grunn av å være markedsekspert. Likevel vil læring av grunnleggende markedsmekanikk hjelpe deg med å oppdage lønnsomme handelsstrategier. Alternativer, Futures og andre Derivater av John C. Hull - Stor første bok for å skrive inn kvantitativ finans, og nærmer seg den fra matematikk siden. Kvantitativ handel av Ernie Chan - Ernie Chan gir den beste introduksjonsboken for kvantitativ handel og går deg gjennom prosessen med å skape handelsalgoritmer i MATLAB og Excel. Algoritmisk handel med futures via maskinlæring - En 5-siders oversikt over bruk av en enkel maskinlæringsmodell til ofte brukte tekniske analyseindikatorer. Heres en samlet leseliste PDF med en fullstendig oversikt over bøker, videoer, kurs og handelsfora. Den beste måten å lære er ved å gjøre, og i tilfelle av automatisert handel som kommer ned til kartlegging og koding. Et godt utgangspunkt er eksisterende eksempler på handelssystemer og eksisterende utstillinger av tekniske analyseteknikker. Videre har en dyktig datavitenskapsmann den ekstra kanten av å kunne bruke maskinlæring til algoritmisk handel. Her er noen av disse ressursene: TradingView - En fantastisk visuell kartleggingsplattform alene, TradingView er en flott lekeplass for å bli komfortabel med teknisk analyse. Det har den ekstra fordelen av å tillate deg å skript trading strategier og bla andre folks handel ideer. Automated Trading Forum - Great online community for å legge inn nybegynnere og finne svar på vanlige quant-problemer når du bare begynner. Kvantfora er et flott sted å bli nedsenket i strategier, verktøy og teknikker. YouTube-seminar om handelsideer med arbeidskodeeksempler på Github. Maskinlæring: Flere presentasjoner på automatisert handel finnes på Quantiacs Quant Club. De fleste fra en vitenskapelig bakgrunn (enten det er datavitenskap eller engineering) har hatt eksponering mot Python eller MATLAB, som tilfeldigvis er populære språk for kvantitativ finans. Quantiacs har opprettet en åpen kildekode verktøykasse som gir backtesting og 15 års historisk markedsdata gratis. Den beste delen er alt som er bygget på både Python og MATLAB, og gir deg muligheten til å utvikle systemet med. Heres en trend trend-trading strategi i MATLAB. Dette er all koden som trengs for å kjøre et automatisert handelssystem, som viser både kraften til MATLAB og Quantiacs Toolbox. Quantiacs lar deg handle 44 futures og alle aksjene i SampP 500. I tillegg støttes en rekke tilleggsbiblioteker som TensorFlow. (Ansvarsfraskrivelse: Jeg jobber hos Quantiacs). Når du er klar til å tjene penger som en quant, kan du bli med på den siste Quantiacs automatiserte handelskonkurransen, med totalt 2,250 000 investeringer tilgjengelig. Kan du konkurrere med de beste quants? 28.3k Visninger middot View Upvotes midtpunkt Ikke for reproduksjon Dette svaret har blitt fullstendig omskrevet Her er 6 hovedkunnskapsbase for bygg algoritmiske handelssystemer. Du bør være kjent med dem alle for å kunne bygge effektive handelssystemer. Noen av begrepene som brukes kan være litt tekniske, men du bør kunne forstå dem av Googling. Merk: (De fleste av) disse gjelder ikke hvis du vil gjøre High-Frequency Trading 1. Markedssteorier Du må forstå hvordan markedet fungerer. Mer spesifikt bør du forstå markedets ineffektivitet, forhold mellom ulike assetproducts og prisadferd. Handelsideer stammer fra markedets ineffektivitet. Du må vite hvordan du skal vurdere markedets ineffektivitet som gir deg en handelskant mot de som ikke gjør det. Å designe effektive roboter innebærer å forstå hvordan automatiserte handelssystemer fungerer. I hovedsak består en algoritmisk handelsstrategi av 3 kjernekomponenter: 1) Oppføringer, 2) Utganger og 3) Posisjonering. Du må designe disse 3 komponentene i forhold til markedets ineffektivitet du tar opp (og nei, dette er ikke en enkel prosess). Du trenger ikke å vite avansert matte (selv om det vil hjelpe hvis du tar sikte på å bygge mer komplekse strategier). God kritisk tenkning ferdigheter og en anstendig forståelse av statistikk vil ta deg veldig langt. Design innebærer backtesting (testing for trading kanten og robusthet) og optimalisering (maksimering ytelse med minimal kurve montering). Du trenger å vite hvordan du skal håndtere en portefølje av algoritmiske handelsstrategier også. Strategier kan være komplementære eller motstridende dette kan føre til uplanlagte økninger i risikoeksponering eller uønsket sikring. Kapitalfordeling er viktig, og du deler kapitaltall i regelmessige intervaller eller belønner vinnerne med mer kapital. Hvis du vet hvilke produkter du vil handle, kan du finne passende handelsplattformer for disse produktene. Deretter lærer du programmeringsspråket API for denne plattformen. Hvis du starter, vil jeg anbefale Quantopian (bare aksjer), Quantconnect (aksjer og FX) eller Metatrader 4 (FX og CFDs på aksjeindekser, aksjer og varer). De programmerte språkene som brukes er henholdsvis Python, C og MQL4. 4. Datastyring Søppel i søppel ut. Unøyaktige data fører til unøyaktige testresultater. Vi trenger rimelig rene data for nøyaktig testing. Rengjøringsdata er et avvik mellom kostnad og nøyaktighet. Hvis du vil ha mer nøyaktige data, må du bruke mer tid (tidspenger) å rense den. Noen problemer som forårsaker skitne data, inkluderer manglende data, dupliserte data, feil data (dårlige flått). Andre problemer som fører til misvisende data inkluderer utbytte, aksjeklover og futures rollovers etc. 5. Risikostyring Det er 2 hovedtyper av risiko: Markedsrisiko og Operasjonell risiko. Markedsrisiko innebærer risiko knyttet til din handelsstrategi. Betraktes det worst case scenarioer Hva skjer hvis en svart svanehendelse som andre verdenskrig skjer Har du sikret bort uønsket risiko Er posisjonen din for stor, foruten å håndtere markedsrisiko, må du se på operasjonell risiko. Systemkrasj, tap av internettforbindelse, dårlig utførelsesalgoritme (som fører til dårlig utførte priser, eller tapte handler på grunn av manglende evne til å håndtere requoteshigh slippage) og tyveri av hackere er veldig virkelige problemer. 6. Live Execution Backtesting og live trading er svært forskjellige. Du må velge riktig meglere (MM vs STP vs ECN). Forex Market Nyheter med Forex Trading Forums amp Forex Brokers Anmeldelser er din beste venn, les megler anmeldelser der. Du trenger riktig infrastruktur (sikker VPN og nedetidshåndtering osv.) Og evalueringsprosedyrer (overvåke roboterytelsen din og analyser dem i forhold til markedets ineffektivitetstestoptimeringer) for å administrere roboten gjennom hele levetiden. Du må vite når du skal gripe inn (modifyupdateshutdownturn på roboter) og når du ikke skal. Evaluering og optimalisering av handelsstrategier Pardo (Stor innsikt i metoder for bygging og testing av handelsstrategier) Handel deg med finansiell frihet Van K Tharp (Løftig-agn-tittel til side, denne boken er en flott oversikt over mekaniske handelssystemer) Quantitative Trading Ernest Chan (Flott introduksjon til algo trading på detaljnivå.) Handel og utveksling: Markedsmikrostruktur for utøvere Larry Harris (Markedsmikrostruktur er vitenskapen om hvordan utveksling fungerer og hva som faktisk skjer når en handel er plassert. Det er viktig å vite denne informasjonen selv om du bare har startet) Algorithmic Trading amp DMA Barry Johnson (Shed lys på banker eksekveringsalgoritmer. Dette er ikke direkte gjeldende algo trading, men det er godt å vite) Quants Scott Patterson (Krigshistorier av noen toppkvitter. som sengetid leses) Quantopian (Kode, forskning og diskutere ideer med samfunnet. Bruker Python) Fundamentals of Algo Trading Algo Trading101 (Ansvarsfraskrivelse: Jeg eier denne sitecourse. Lær robot design teorier, markeds teorier og koding. Bruker MQL4) - Bli med i utfordringen (Lær handelskonsepter og backtesting teorier. De har nylig utviklet sin egen backtesting og trading plattform, så denne delen er fortsatt ny for meg. Men deres kunnskapsbase om handelskonsepter er bra.) Anbefalte BlogsForums (disse inkluderer økonomi , trading og algo trading forums): Anbefalte programmeringsspråk: Hvis du vet hvilke produkter du vil handle, kan du finne passende handelsplattformer for disse produktene. Deretter lærer du programmeringsspråket API for denne plattformen. Hvis du starter, vil jeg anbefale Quantopian (bare aksjer), Quantconnect (aksjer og FX) eller Metatrader 4 (FX og CFDs på aksjeindekser, aksjer og varer). De programmerte språkene som brukes er henholdsvis Python, C og MQL4. 16.8k Vis middot Vis Oppvotes middot Ikke for reproduksjon Jeg har en bakgrunn som programmerer og sette opp agilescrum-lag før jeg begynte å se på algoritmisk handel. Verden av algoritmisk handel fascinerer meg, men det kan være litt overveldende. Jeg begynte å få noe perspektiv ved å dykke inn i Quantopian-plattformen, se på quant lectures serien og kjøre mine og tilpassede samfunnsbaserte algo trading systemer i sitt miljø. Som den nedenfor: Jeg skjønte da å komme i dypere raskere, jeg må møte folk som elsker å skape handelsstrategier, men kan ikke programmere - for å matche meg selv som en smidig teamleder og programmerer av handelssystemer. Så jeg skrev en bok om hvordan man lager et team for å implementere dine handelsalgoritmer. Building Trading Systems The Agile Way: Hvordan bygge Winning Algorithmic Trading Systems som et lag. I samfunnet av Quantopian så jeg økonomisk kunnskapsrike mennesker på jakt etter folk til å implementere sine handelsstrategier, men hvor redd for å be programmører å implementere sine ideer. Siden de potensielt kan begynne å drive sine handelsideer uten dem. Jeg løser dette problemet i boken min. For å unngå at programmører løper med ideene dine: Lag en spesifikasjon for din handelsidee som bruker et kodingsramme som er skreddersydd for hvilken type strategi du vil utvikle. Det høres kanskje vanskelig ut, men når du kjenner alle babystrinnene og hvordan de passer sammen, er det ganske greit og morsomt å håndtere. Hvis du likte dette svaret, vær så snill å stemme og følg. 2,7k Visninger middot View Oppvoter midtpunkt Ikke for reproduksjon Selv om dette er et veldig bredt emne med referanser til bygningsalgoritmer, innstilling av infrastruktur, ressursallokering og risikostyring, men jeg vil bare fokusere på den første delen av hvordan det skal arbeides med å bygge vår egen algoritme , og gjør de riktige tingene. 1. Byggestrategi. Noen av de viktigste punktene å merke seg her er: Catch Big Trends - En god strategi må i alle tilfeller tjene penger når markedet er trending. Markeder går med en god trend som varer bare 15-20 av tiden, men dette er tiden da alle katter og hunder (handelsmenn fra alle tidsrammer, intradag, daglig, ukentlig og lang sikt) er ute og handler, og de alle ha ett felles tema. Mange handelsfolk bygger også betydelige reverseringsstrategier der de forsøker å dømme forholdene når prisen har flyttet langt fra gjennomsnittet, og handler mot trenden, men de bør bygges når du har bygget og omsatt noen gode trender etter systemer . Odds for stabling - Folk jobber ofte for å prøve å bygge et system som har et utmerket winloss-forhold, men det er ikke riktig tilnærming. For eksempel vil en algo med en vinner på 70 med en gjennomsnittlig fortjeneste på 100 per handel og gjennomsnittlig tap på 200 per handel bare gjøre 100 per 10 handler (10trade netto). Men et algo med en vinner på 30 med en gjennomsnittlig fortjeneste på 500 per handel og tap på 100 per handel vil gi en netto overskudd på 800 for 10 handler (80trade). Så det er ikke nødvendig at winloss-forholdet skal være bra, men det er oddsen for å stable opp, noe som burde være bedre. Dette fortsetter med å si kvittere tap små, men la dine vinnere runquot. Quote investing, det er komfortabelt, er sjelden lønnsomt. Quot - Robert Arnott Drawdown - Drawdown er uunngåelig, hvis du følger noen form for strategi. Så mens du designer et algo, prøv ikke å redusere drawdownen eller gjøre noen spesifikke tilpassede betingelser for å ta vare på den nedgangen. Denne spesifikke tilstanden kan i fremtiden virke som en veisklokke i å fange en stor trend, og algoet ditt kan utføre dårlig. Risikostyring - Når du bygger en strategi, bør du alltid ha en utgangsport, uansett hva markedet velger å gjøre. Markedet er et sted for odds, og du må designe et algo for å få deg ut av en handel så snart som mulig dersom den ikke passer din risikofrukt. Vanligvis argumenteres det for at du må risikere 1-2 av kapitalen i hver handel, og er optimal på mange måter, selv om du får arnd 10 falske handler i rekkefølge, vil kapitalen din gå ned med bare 20. Men dette er ikke det tilfelle i faktiske markedsscenariet. Noen avvikende handler vil være mellom 0-1, mens noen kan gå til 3-4, så det er bedre å definere gjennomsnittlig tapskapital per handel og den maksimale kapitalen du kan miste i en handel, da markedene er helt tilfeldige og kan bedømmes . QuoteMore en gang imellom, gjør markedet noe så dumt, det tar pusten bort. Quot - Jim Cramer 2. Testing og optimalisering av strategi slippe. Når vi tester en strategi for historiske data, er vi under forutsetning av at bestillingen vil bli utført på forhåndsdefinert pris ankommet av algoen. Men dette vil aldri være tilfelle, da vi må håndtere markeds beslutningstakere og HFT algo039s nå. Din bestilling i today039s verden vil aldri bli utført til ønsket pris, og det vil bli slippe. Dette må inkluderes i testingen. Market Impact: Volum handlet av algoen er en annen viktig faktor som skal vurderes mens du foretar back-testing og samler historiske resultater. Etter hvert som volumøkningene øker, vil ordrene plassert av algo ha betydelig markedsvirkning, og gjennomsnittsprisen på fylt ordre vil være mye forskjellig. Din algo kan produsere komplette forskjellige resultater i faktiske markedsforhold, hvis du ikke vil studere volumdynamikken din algo har. Optimalisering: De fleste handelsfolk foreslår at du ikke gjør kurvepassing og overoptimalisering, og de er korrekte da markedene er en funksjon av tilfeldige variabler, og ingen to situasjoner vil noensinne være de samme. Så optimalisering av parametere for bestemte situasjoner er en dårlig ide. Jeg vil foreslå at du går for Zonal Optimization. Det er en teknikk som jeg følger, kjøpe identifiserende soner som har lignende egenskaper i form av volatilitet og volum. Optimaliser disse områdene separat, i stedet for å optimalisere for hele perioden. Ovennevnte er noen av de mest grunnleggende og viktigste trinnene jeg følger, når jeg konverterer en grunnleggende tanke til en algoritme og kontrollerer validiteten av den. Sitat Alle har hjernekraft til å følge aksjemarkedet. Hvis du har gjort det gjennom femte klasse matte, kan du gjøre det. quotPeter Lynch 17.2k Vis middot Vis Oppvotes middot Ikke for Reproduksjon Kort svar: Lær matematikk anvendt til handel, struktur av markeder og eventuelt være en topp nettverksdistribuert systemprogrammerer. Det er tre potensielt parallelle spor som kan tas for å lære algoritmisk handel fra grunnen avhengig av det endelige formålet med hvorfor du ønsker å lære det. Her er de i økende rekkefølge av vanskeligheter som også korrelerer med hvor mye det blir din del av ditt levebrød. De tidligere vil åpne mulighetene for de følgende. Du kan stoppe på et hvilket som helst trinn underveis når du har lært nok eller fått en jobb å gjøre det. Hvis du vil være en quant, bruker det meste matteprogramvare og egentlig ikke være programmerer for et algo-system, så er det korte svaret å få en doktorgrad i matematikk, fysikk eller noe matematisk tungt relatert teknikkemne. Prøv å få praktikplasser i topp hedgefond, stupbutikker eller investeringsbanker. Hvis du kan bli ansatt av et vellykket firma, så vil du bli undervist der ellers, det vant bare. Men i alle fall bør du fullføre 039Self Study039-delen nedenfor for å sikre at du virkelig vil gå gjennom forsøket på å få en doktorgrad. Med mindre du er et geni, hvis du ikke har en doktorgrad, kan du konkurrere med de som gjør det med mindre du spesialiserer seg i programmering av handelssystemer. Hvis du ønsker å være mer på programmeringssiden, prøv å søke om ansettelse etter hvert trinn, men ikke ofte enn en gang per år per firma. Selvstudium Det første trinnet er å forstå hva algoritmisk handel virkelig er og hvilke systemer som kreves for å støtte den. I039d anbefaler å lese gjennom quotAlgorithmic Trading amp DMAquot (Johnson, 2010), noe jeg personlig gjorde og kan anbefale. Det vil la deg forstå på et grunnleggende nivå. Deretter bør du programmere din egen bestillingsbok, en enkel markedsdata simulator og en algoritme implementering på din videre med Java eller CC. For ekstra kreditt som vil hjelpe med å få jobb, bør du også skrive ditt eget nettverkskommunikasjonslag fra begynnelsen. På dette punktet kan du kanskje være ferdig med å svare på spørsmålet alene. Men for fullstendighet og nysgjerrighet, vær så snill å fortsette: Den neste boken som skal håndteres, er quotTrading amp Exchanges: Market Microstructure for Practitionersquot (Harris, 2003). Dette vil gå inn i finere detaljer om hvordan markedene fungerer. Det er en annen bok jeg har lest, men ikke helt studert fordi jeg var en systemprogrammerer og ikke en kvant eller en leder på forretningssiden. Til slutt, hvis du vil begynne å lære matematikken på hvordan markedene fungerer, jobber du gjennom teksten og problemene i quotOptions, Futures og Other Derivativesquot (Hull, 2003). Jeg gjorde det gjennom omtrent halvparten av den læreboken, enten som forberedelse til eller som en del av intern opplæring hos en av mine tidligere arbeidsgivere. Jeg tror jeg opprinnelig fant ut om den boken fordi det var enten foreslått eller nødvendig å lese for en av vel ansett MS Financial Mathematics-programmer. For å få en bedre sjanse til å jobbe gjennom et nyfødt feederprogram, fullfør et MS Financial Mathematics-program hvis du ønsker å være programmerer for en handelsplattform eller et team av quants. Hvis du vil være den som designer algos, må du ta en doktorgrad som er forklart tidligere. Hvis du fortsatt er ferdig med college, så prøv å få en praktikplass på samme type steder. Sysselsetting Uansett hvor mye du lærer i bøker og skole, vil ingenting sammenligne med de små detaljene du lærer mens du jobber for et firma. Hvis du ikke kjenner alle kantsaker og vet når modellen din slutter å fungere, vil du tape penger. Jeg håper at svaret på spørsmålet ditt og at i løpet av læringsveien oppdager du om du virkelig ønsker å gå over fra studiet til det virkelige daglige arbeidet. 18.5k Visninger middot View Oppvoter middot Ikke for Reproduksjon Interactive Brokers Interactive Brokers har en virkelig toppskjermende investeringsplattform og anstendig prising. It039 er definitivt et kraftig verktøy, så du kan sannsynligvis få billigere alternativer fra rabattmeglerne som Etrade og Scottrade, men hvis du er seriøs med algoritmisk handel, er IB det hvor det er. InvestFly Suksess handler om å praktisere og teste hypotesen og algoritmer. Back-test, test markeder og sammenlign det med andre. Jeg foretrekker Investfly - Virtual Stock Exchange, Stock Market Game Amp Trading Strategies. men det er massevis av gode programmer der ute. Idea Generasjon Don039t start fra grunn null - Jeg liker å få ideer fra Motiv Investing (Online Brokerage, Investment Ideas, Stock Trading) og Seeking Alpha, men se alltid på det store bildet og tenk på hvordan disse tingene gjelder for din egen hypotese og formler. Skål og lykke 4,5k Vis middot Vis Oppvoter midtpunkt Ikke for reproduksjon Hvis investering er en prosess, så er den logiske konklusjonen automatisering. Algoritmer er ingenting annet enn den ekstreme formaliseringen av en underliggende filosofi. Dette er det visuelle uttrykket for en trading edge Trading edge Vinn gjennomsnittlig gevinst - tap av gjennomsnittlig tap Det forandret livet mitt og måten jeg nærmer seg markedene. Visualiser distribusjonen din, alltid. Det vil hjelpe deg med å klargjøre dine konsepter, kaste lys på dine logiske feil, men først la oss begynne med filosofi og trosløft 1. Hvorfor er det viktig å klargjøre din tro Vi handler vår tro. Enda viktigere handler vi vår underbevisste tro. Hvis du ikke vet hvem du er, markeder er et dyrt sted for å finne outquot, Adam Smith. Mange mennesker tar ikke tid til å fremkalle sin tro og operere på lånte trosretninger. Ubesvarte spørsmål og feil logikk er grunnen til at noen systematiske forhandlere tilpasser seg systemet rundt hver drawdown. Jeg pleide å være slik i mange år. Troutløpsøvelser: Byron Kats arbeid. Etter at jeg fullførte en 2 overbevisninger en dag utfordring i 100 dager, kunne jeg forklare min stil til en bestemor 5 hvorfor. Still deg selv et spørsmål med hvorfor og dykk dypere. Mindsets: ekspansiv og subtraktiv eller smoothie Vs bandhjelp Det er to typer tankegang, og vi trenger begge på forskjellige tidspunkter: Utvidet for å utforske konsepter, ideer, triks osv. Subtraktive: forenkle og klargjøre konsepter Systematiske handelsfolk som mislykkes i å være subtraktive har en smoothie tilnærming. De kaster alle slags ting i sin strategi og blander den med en optimizer. Dårlig trekk: Kompleksitet er en form for latskap Overdriven, subtraherende systematiske handelsmenn har en båndhjelps mentalitet. De kaller hardt alt og så lykke til å patchere. Erotisk tradersquot forstår at det er en dans mellom perioder med leting og tider med hard kjerneforenkling. Enkel er ikke lett Det har tatt meg 3 873 timer, og jeg aksepterer at det kan ta livet 2. Utgang: Begynn med slutten i tankene Kontrastintuitiv sannhet Den eneste tiden når du vet om en handel var lønnsom, er etter utgang, høyre så, fokus på avslutningslogikken først. Etter min mening er hovedårsaken til at folk ikke klarer å automatisere sin strategi, at de fokuserer for mye på oppføring og ikke nok ved utgang. Kvaliteten på dine utgange danner PampL-fordelingen, se diagram over. Bruk enorm tid på å stoppe tapet da det påvirker 4 komponenter i handelssystemet ditt: Vinn, tap, gjennomsnittlig tap, handelsfrekvens Kvaliteten på systemet ditt vil bli bestemt av kvaliteten på ditt stoppfall, 3. Pengene er laget i pengestyringsmodulen Likt vekt er en form for latskap. Størrelsen på innsatsene dine bestemmer formen på avkastningen. Forstå når strategien din ikke virker og redusere størrelsen. Omvendt, øk størrelsen når den virker. Jeg vil skrive mer om stillingsstørrelsen på nettstedet mitt, men det er mange ressurser på internett. 3. Sist og minst, Innføring Etter at du har sett en hel sesong med quotesperate housewivesquot eller quotbreaking badquot, hadde litt sjokolade, gikk hunden, matet Fisken, kalt moren din, så er det tid å tenke på oppføring. Les ovenstående formel, aksjeplukking er ikke en hovedkomponent. Man kan hevde at riktig aksjeplukking kan øke seier. Kanskje, men det er verdiløst dersom det ikke finnes verken utgangspolicy eller pengehåndtering. I probabilistiske termer, etter at du har fast utgang, blir oppføring en sannsynlighet for glideskala 4. Hva skal fokusere når du tester Det er ingen magisk glidende gjennomsnittlig indikatorverdi. Når du tester systemet, fokuserer du på tre ting: False positiver: de eroderer ytelsen. Finn enkle (elegante) måter å redusere dem, arbeid på logikkperioder når strategien ikke virker: ingen strategi virker hele tiden. Vær forberedt på det og utarbeide beredskapsplaner på forhånd. Tweaking systemet under en drawdown er som å lære å svømme i en storm Kjøpekraft og penger ledelse: dette er et annet mot-intuitivt faktum. Systemet ditt kan generere ideer, men du har ikke kjøpekraften til å utføre. Vennligst ta en titt på diagrammet ovenfor. Jeg bygger alle mine strategier fra kortsiden først. Den beste testen av robusthet for en strategi er kort side: Tynt volum brutalt flyktig kortere syklus Platformer jeg startet på WealthLab-utvikleren. Den har en spektakulær posisjon dimensjonering bibliotek. Dette er den eneste plattformen som tillater porteføljebasert backtetting og optimalisering. Jeg tester alle mine konsepter på WLD. Anbefaler sterkt. Det har en ulempe, det forbinder ikke posisjon sizer med ekte live trading. Amibroker er bra også. Den har en API som kobler til interaktive meglere og en anstendig tillitsverker. Vi programmerer på Metatrader for Forex. Dessverre har Metatrader gått ned i kompleksitets kaninhullet. Det er et levende samfunn der ute. MatLab, valgfri våpen for ingeniører. Ingen kommentar. Tradestation Perry Kaufman skrev noen gode bøker om TS. Det er et levende samfunn der ute. Det er lettere enn de fleste andre plattformer. Endelig råd Hvis du vil lære å svømme, må du hoppe i vannet. Mange nybegynnere vil sende sine milliarder dollar ideer til noen billige programmerere et sted. Det virker ikke slik. Du må lære språket, logikken. Brace for en lang reise 14.7k Vis middot Vis Oppvoter middot Ikke for reproduksjon Se på TradeLink (C) eller ActiveQuant (Java). TradeLink039s kode er mer elegant. I039m skriver dette på en mobiltelefon, så vær så snill å unnskyld min korthet. i utgangspunktet se på hva som kommer inn vs hva som går ut som en innledende måte å ramme problemet. I. markedsdata, exhangemarket-hendelser (henrettelser til transaksjoner som systemet ditt plassert, acks, avviser, handelsavbrutt varsel, osv.). Ute. Ordrer, endringer i ordre. quotBuy 100 15.5, IOCquot, for eksempel. IOC umiddelbart eller avbryt. Imellom. strategibeslutninger basert på informasjon samlet inn fra sanntidsdata, sammen med historiske data og andre innganger (trader039s kommando fra hans GUI for å handle morløst aggressivt, etc). Ting som. plassere en bestilling, endre en eksisterende ordre, osv. Nå kan du begynne å adressere den tekniske arkitekturen til et slikt system. Av sentral betydning vil være muligheten til å uttrykke strategien enkelt, elegant, til tross for kompleksiteten av hendelsesbehandlingen involvert (det er flere interessante løpevilkår som kan forvirre systemet med hensyn til markedets tilstand, dine ordrer, for eksempel). Jeg pleide å gjøre dette for å leve og kan nok gå på endeløst, men å skrive på en mobiltelefon er avskrekkende. Håper du fant dette nyttig. Kontakt meg hvis du trenger mer veiledning. 21.2k Vis middot Vis Oppvoter midtpunkt Ikke for reproduksjon Oppdatert 100w siden midot Upvoted av Patrick J Rooney. 5 års handel profesjonelt Jeg spesialiserer meg på avansert o For å begynne med det grunnleggende, få tak i Amibroker (AmiBroker - Download). Amibroker har en lett å lære språk og kraftig backtest-motor der du kan prototype dine ideer. Få også Howard Bandy 039s bok Quantitative Trading Systems. Denne boken er en veldig god introduksjon til konseptene kvant utvikling. You039ll trenger også minst en grunnleggende kunnskap om statistikk. Det er mange gode MOOC-kurs tilgjengelig for dette gratis. Slik som denne One Statistics One - Princeton University Coursera It039s er også verdt å følge The Whole Street. som er en mashup av alle kvantbloggene, hvorav mange publiserer Amibroker-kode med sine ideer. Derfra er it039s verdt å lære Python (lær python - Google Search), og gjør også Andrew Ng039s utmerkede Stanford University Machine Learning kurs, som går gratis på Coursera. Hvis du deretter vil sette dine egne algoritmer på prøve, er gode nettsteder for det Quantconnect eller Quantopian. Endelig har denne fyren gode råd om å snu det inn i karrieren din Quantstart Lykke til med reisen Delvis hentet fra Alan Clement039s svar på Hvordan kan en programvareutvikler i økonomi bli en kvantutvikler 16.2k Vis middot Vis Oppvoter midtpunkt Ikke for reproduksjon Hvordan kan en programvareutvikler Jeg bygger et Order Routing System for en algoritmisk handelsplattform Kan en enkelt person faktisk lønnsomt engasjere seg i algoritmisk handel Hvor kan jeg få ressurser til å begynne å lære Python for Algorithmic trading Hvordan kan jeg begynne algoritmisk handel i JavaScript Hvilke valutaer skal jeg bruke Hvilke APIer skal jeg bruke? bruk Hvordan kommer jeg i gang Hvorfor er kapitalismen sterkt utsatt for handelssykluser Hva er en handelssyklus Hvilken megler er god for algoritmisk handel Jeg har en solid forståelse av aksjemarkederne amp har Python ferdigheter. Jeg vil utvikle et automatisert algoritmisk handelssystem. Hvor starter jeg Hva er de beste avkastningene fra algoritmehandel

Comments

Popular posts from this blog

Hysterese Moving Average