Thursday, 16 November 2017

Trading system utveckling


Guide till utveckling av handelssystem Den fortsatta utvecklingen av teknisk analysprogramvara har förenklat skapandet av datorautomatiserade handelssystem. Vissa system genererar bara signalerna för näringsidkaren att följa, medan andra placerar handeln på marknaden på uppdrag av näringsidkaren. Att kunna programmera din favorit handelsplattform är dock bara början. Du måste ha en ram för att testa dina handelsteorier för att vara säker på att lönsamma backtests inte bara är på grund av tur, utan är resultatet av robust modellering av marketrsquos beteende. Denna serie artiklar kommer att presentera ett förenklat tillvägagångssätt för att utveckla ett handelssystem för detaljhandeln forexmarknaden. Systemutvecklingsverktyget wersquoll användning kommer att vara MetaTrader 4 (MT4), även om de presenterade idéerna och processen gäller för ett brett utbud av mjukvaruplattformar. Metoden kommer att omfatta allmänna begrepp riktade till den första systemhandlaren. När vi tar genvägar för lämplighet, hänvisar wersquoll läsaren till ytterligare resurser för mer djupgående information. Det finns fem olika faser i handelssystemutveckling: Fas 1: Utveckla marknadsmodellen och det grundläggande automatiska systemet mdash det grundläggande automatiserade systemet implementerar denna modell men innehåller inte stoppförluster eller resultatmål. Grundsystemet syftar endast till att samla in data för statistisk analys som används i senare utvecklingsfaser. Fas 2: Riskhantering mdash den ursprungliga stoppförlusten (ISL). Med hjälp av data som samlats in i fas 1 och baserat på den statistiska analysen av den data lägger vi till en ISL i handelsstrategin. Vi använder optimering för att hitta en stoppförlustparameter som passar våra behov. Vi kommer att använda framåtriktad analys för att testa den här versionen av systemet. Fas 3: Resultathantering mdash vinstmålet (PT). Liksom i fas 2 kommer vi att använda den statistiska analysen av våra data för att införliva ett vinstmål i systemet. Återigen använder vi optimering för att hitta ett lämpligt resultatmål och använd sedan framåtriktad analys för att testa den här versionen av systemet. Fas 4: Money Management mdash handelsstorleksalgoritmen (TSA). Denna fas beror inte på de uppgifter som samlats in i fas 1. Istället kommer vi att integrera den populära fasta fraktionen handelsstorleksmetoden för att bestämma hur många partier som allokeras till varje handel. Populär handelslitteratur är fylld med råd för att begränsa risken för handel inom ett intervall från 1 till 3 av kontot eget kapital. Vi kommer att köra vår optimering med hjälp av dessa procentsatser, och sedan använda återigen analys för att testa den här versionen av systemet. Tillsammans består fas 2 till 4 av handelshantering, men det finns ytterligare ett kritiskt steg: Fas 5: Monte Carlo-analys mdash många handelsmän slutar efter fas 4. Vår provning är dock inte färdig vid den tidpunkten och systemet är inte redo för utplacering (förutsatt att det är lönsamt). Trots vår framflyttningsanalys kan vi inte vara säkra på att våra resultat inte är på grund av tur. Med andra ord kan vår modell kanske inte beskriva marknadsbeteendet, exakt positiva resultat kan ha gynnats av en marknadsmiljö vars prishöjning bara hände till vår logik. Monte Carlo-analysen kommer att hjälpa till att avgöra om vår modell lyckades på grund av lycka (slumpmässighet) eller dess förmåga att identifiera och utnyttja ett verkligt marknadsmönster. Denna artikel kommer att täcka fas 1 efterföljande artiklar kommer att omfatta faserna 2 till 5. Om författaren Neil Rosenthal är en pensionär tandläkare som handlar eget konto. Han är också en erfaren datorprogrammerare. Han kan nås på rightedgetradinggmx. Trading Systems: Konstruera ett system 13 Hittills har vi diskuterat de grundläggande komponenterna i handelssystemen, de kriterier de måste mötas och några av de många empiriska beslut som en systemdesigner måste göra. I det här avsnittet kommer vi att undersöka processen med att bygga ett handelssystem, de överväganden som behöver göras och några viktiga punkter att komma ihåg. Six-Step System Construction 1. Inställning - För att börja bygga ett handelssystem behöver du flera saker: Data - Eftersom systemdesignern måste använda omfattande backtesting. Tidigare prishistoria är viktigt för att bygga ett handelssystem. Sådan data kan integreras i handelssystemutvecklingsprogram, eller som en separat dataflöde. Levnadsdata tillhandahålls ofta för månadsavgift, medan åldersdata kan erhållas gratis. Programvara - Även om det är möjligt att utveckla ett handelssystem utan programvara, är det mycket opraktiskt. Sedan slutet av 90-talet har mjukvaran blivit en integrerad del av byggandet av handelssystem. Några vanliga funktioner gör det möjligt för näringsidkaren att göra följande: Placera handlar automatiskt - Detta kräver ofta tillstånd från mäklarens slut eftersom en konstant anslutning måste finnas på plats mellan din programvara och mäklaren. Trades måste köras omedelbart och till exakta priser för att säkerställa överensstämmelse. För att få din mjukvara att placera affärer för dig behöver du bara ange kontonummer och lösenord, och allting görs automatiskt. Observera att den här funktionen är strikt frivillig. Kod ett handelssystem - Denna programvarufunktion implementerar ett proprietärt programmeringsspråk som låter dig enkelt bygga regler. MetaTrader använder till exempel MQL (MetaQuotes Language). Heres ett exempel på sin kod att sälja om fri marginal är mindre än 5000: Om FreeMargin lt 5000, avsluta Ofta, bara läsa manualen och experimentera bör låta dig hämta grunderna i språket som din programvara använder. Backtest din strategi - Systemutveckling utan backtesting är som att spela tennis utan en racket. Systemutvecklingsprogram innehåller ofta en enkel backtesting-applikation som gör att du kan definiera en datakälla, inmatnings kontoinformation och backtest för vilken tid som helst med ett musklick. Här är ett exempel från MetaTrader: Efter att backtestet körts genereras en rapport som beskriver resultaten av resultaten. Rapporten innehåller vanligtvis vinst, antal misslyckade affärer, antal dagar i följd, antal branscher och många andra saker som kan vara till hjälp när du försöker bestämma hur du felsöker eller förbättrar systemet. Slutligen skapar mjukvaran vanligtvis en graf som visar investeringens tillväxt under hela testperioden. 2. Design - Designen är konceptet bakom ditt system, hur parametrarna används för att generera en vinst eller förlust. Du implementerar dessa regler och parametrar genom att programmera dem. Ibland kan denna programmering ske automatiskt via ett grafiskt användargränssnitt. Detta låter dig skapa regler utan att lära sig ett programmeringsspråk. Här är ett exempel på ett glidande medelvärdeöverföringssystem: Om SMA (20) CrossOver EMA (13) sedan anger Om SMA (20) CrossUnder EMA (13) avslutar Regler som de som sätts i kod tillåter programmet automatiskt generera inmatning och utgångar vid de punkter där reglerna är tillämpliga. Så här ser designgränssnittet ut på MetaTrader: Systemet skapas genom att bara skriva reglerna i fönstret och spara dem. Referenser för olika tillgängliga funktioner (till exempel oscillatorer och liknande) kan hittas genom att klicka på bokikonen. De flesta programvaror kommer att ha en liknande referens tillgänglig antingen inom själva programmet eller på dess hemsida. Efter att du skapat de önskade reglerna och kodar systemet, sparar du bara filen. Då kan du använda den genom att välja den på huvudskärmen. 3. Beslutsfattande - Det finns många beslut att göra vid denna tidpunkt: Vilken marknad vill jag handla i? 13 Hur lång tid ska jag använda? 13 Vilka prisserier ska jag använda? 13 Vilken del av aktierna ska jag använda för testning? tänka på att handelssystemen konsekvent ska göra vinst på många marknader. Genom att anpassa tidsperioden och prisserierna för mycket kan du smita resultaten och ge uncharacteristic results.4. Övning - Backtesting och pappershandel är avgörande för framgångsrik utveckling av ett handelssystem: Kör flera backtests på olika tidsperioder och se till att resultaten är konsekventa och tillfredsställande. Pappershandel systemet (använd imaginära pengar, men registrera handlarna och resultaten), och återigen leta efter konsekvent lönsamhet. Kontrollera noggrant om fel i programmet eller oavsiktliga affärer. Dessa kan vara ett resultat av felaktig programmering eller underlåtenhet att förutse vissa omständigheter som har oönskade följder. 5. Repetera - Repetition är nödvändig. Fortsätt arbeta med systemet tills du konsekvent kan göra vinst på de flesta marknader och villkor. Det finns alltid oförutsedda händelser som inträffar så snart ett system går live. Här är några faktorer som ofta orsakar snedställda resultat: Transaktionskostnader - Se till att du använder den verkliga kommissionen. och lite extra för att redogöra för felaktiga fyllningar (skillnad mellan bud och fråga). Med andra ord, undvik att glida (För att se vad det här är och hur det sker, se det föregående avsnittet i denna handledning.) Varning - Undvik att förlora affärer hålla ett öga på alla affärer. Optimering - Inte över optimera systemet. Med andra ord, skräddarsy inte systemet till en mycket specifik marknadsmiljö, försök att vara lönsam i så stor miljö som möjligt. Risk - Aldrig ignorera eller glömma risk. Det är väldigt viktigt att få sätt att begränsa förluster (annars kallas stoppförluster) och sätt att låsa in vinster (ta vinst). 6. Handel - Prova det, men förvänta sig oavsiktliga resultat. Var säker på att använda icke-automatiserad handel tills du är säker på systemets prestanda och konsekvens. Det tar lång tid att utveckla ett framgångsrikt handelssystem, och innan du gör det perfekta kan du behöva tåla några levande handelsförluster för att upptäcka glitches. Backtestning kan inte perfekt representera levande marknadsförhållanden och pappershandel kan vara felaktigt. Om ditt system förlorar pengar, gå tillbaka till ritbordet och se var det gick fel (se steg 5). Slutsats Dessa sex steg ger dig en överblick över hela processen med att bygga ett handelssystem. I nästa avsnitt bygger vi vidare på denna kunskap och tar en djupare titt på felsökning och modifiering. Trading Systems: Felsökning och OptimizationTrading System Development Services Behöver du expert assistans som tar ditt handelssystem till nästa nivå Låt NeuroDimensions konsulttjänster hjälpa dig. Vi har erfarenheten att hjälpa dig att utveckla och testa dina handelsideer, handla dem automatiskt och till och med utveckla dem som produkter från tredje part. Våra experter tar över 20 års handelsprogramvara och systemutvecklingserfarenhet till varje projekt. Kontakta NeuroDimension idag och låt våra konsulter och mjukvarulösningar ta ditt handelssystem till nästa nivå. Implementera dina handelsideer - så grundläggande eller så komplexa som önskat. Tick ​​eller barbaserade signaler Lager, Forex, Fonder och Futures (Alternativ kommer snart) Regelbaserad, Neuralbaserad, Data Mining och andra metoder Back-test dina idéer om historiska data Utnyttja vår expertis tillsammans med våra kommersiella och - hushåll finansiell mjukvara för att förbättra dina grundläggande begrepp Avancerad distribuerad forskningsmiljö som använder flera datorer parallellt för att variera och förbättra dina idéer. Testa alternativa parametrar över hela portföljen Testa nya tillgångar och portföljoptimeringsmetoder Genomföra avancerade riskskyddsmekanismer Identifiera de optimala parametrarna för dina önskade nivåer av vinst och risk Om du vill sälja ditt system till andra, kan vi bestämma hur du bäst kan paketera ditt system. Subscription-based Signal Services Hedge Funds ETFs Multi-System Portfolios Programvarupaket Add-on Kontakter i hela handelsbranschen. Identifiera optimala plattforms - och katastrofåterställningsplaner för ditt system. Utnyttja vår Trader68-programvara för snabbast möjliga tid till marknaden. Robust helautomatiserad handel med ditt system via Interactive Brokers eller PFG Best (stöd för ytterligare mäklare kommer snart) Stöd för sändning till abonnemangsbaserade signaltjänster Inbyggd support för pappershandel för ytterligare testning av ditt system Ändra marknadsvillkor hanteras genom kombination av automatiserad riskanalys och tillgängliga pågående förbättringar. Programvaruuppdateringar och dedikerat tekniskt stöd Tillgängligt underhåll av serverns servern Letar du efter andra neurala nätverksapplikationer. NeuroDimension har framgångsrikt tillämpat neurala nätverk för ett brett spektrum av datintensiva tillämpningar inom andra branscher, inklusive: medicinsk, vetenskap, företag, tillverkning, sportspel och mycket mer

No comments:

Post a Comment