Handel med SVMs Performance. To få en känsla av SVM-prestanda i handel, driver jag olika inställningar på SP 500 historiska data från 50-talet. Huvudmotivet bakom att använda detta årtionde var att bestämma vilka parametrar som skulle variera och vad som ska hållas stadigt innan de körs De viktigaste testerna Behandla det som ett provprov för att undvika ytterligare övermontering. Första prestandakortet. SPS 500 Trading Performance. Very nice Med 5-faldiga dagliga avkastningar visas liknande prestanda i ARMA GARCH-strategin, som jag hittade mycket lovande Om du undrar varför jag är så upphetsad över detta faktum är det därför att vi är i det område där ARMA GARCH är bäst, och ändå visar SVMs jämförbar prestanda. Statistiken är också imponerande. Samtidigt som jag skrev detta inlägg hittade jag en annan ansträngning att använda SVM i handel med Quantum Financier Hans tillvägagångssätt använder RSI av olika längd som input till SVM men använder också klassificeringskartor avkastningen till två värden, kort eller lång istället för regression Eftersom jag planerade att försök klassificering ändå, hans inlägg inspirerade mig att genomföra det och köra en ytterligare jämförelse, regression vs classification. SP 500 SVM Trading Regression vs Classification. What kan jag säga att de båda verkar fungera perfekt Som en läsare föreslog i kommentarerna, gör klassificeringen uppvisar mer konsekventa avkastningar. Vid bordet sänktes klassificeringen i halva maximal drawdown, men intressant, det förbättrade inte Sharpe-förhållandet avsevärt. Inget avgörande här, men det var en snabb körning av det snabbaste när det gällde löpande strategier. Det finns fortfarande en lång lista över ämnen att utforska, bara för att ge dig en idé, utan någon speciell ordning. Lägg till andra funktioner. Tänk mest på att lägga till några Fed-relaterade serier. Dessa data går tillbaka till 1960, så det kommer snart. andra svm parametrar andra regressioner, andra klassificeringar, andra gånger, osv. Detta är mer som ett stabilitetstest. Försök med andra felfunktioner Standard är att använda det genomsnittliga kvadratfelet, men i fallet med regres sion, varför inte använda Sharpe Ratio in-sample Regressionsfallet är enklare, eftersom vi har den faktiska avkastningen, kontrollerar inmatningen av. Pröva längre perioder i stället för dagar Veckovis är en start men helst föredrar jag att genomföra två eller tre dagers perioder . Variera loopback-perioden. Använd fler klasser med klassificering stora dagar, medeldagar etc. Det tar tid Som alltid är feedback och kommentarer välkomna.1 Har du Sharpe-förhållanden för SVM-regression vs SVM-klassificering Genom att eyeballa tabellen klassificeras klassificeringen verkar ge bättre riskjusterad avkastning.2 Har du hört talas om Caret-paketet Det verkar ha införlivat mycket av det arbete jag ser dig använda i din befintliga kod En annan stor fördel är att du enkelt kan byta ML learning algo, t. ex. neurala nätverk utan att behöva omkoda allt. Mycket intressant blogg. 1 Bra poäng, det skar avdragningen, men inte Sharpe-förhållandet betydligt jag uppdaterade inlägget 2 Tack för att du har tagit upp Caret-paketet, det här är andra gången jag hör om det, så ungefär tid att titta närmare. Ser ganska lovande ut, verkligen mycket att lära av. Om du delar din kod Resultaten är riktigt imponerande Jag försöker bygga en SVM-klassificator gör något liknande, men jag vill använda fler parametrar än prissättning Även om det kanske inte är så bra, eftersom det verkar priserna ensamma ger förutsägbart värde tack. Jag planerar också att använda mer än bara priser, men den typen av data är inte tillgänglig för 50-talet. Generellt är 50-talet på SP 500 är ganska förutsägbara. Det är troligt att fler komplexa modeller kommer att behövas. Kontrollera föregående inlägg i serien finns en länk till koden som jag använde baserat på e1071-paketet Sedan jag postade koden, flyttade jag till caret-paketet som ger en enhetlig gränssnitt till många modeller Ser bra ut så länge too. Sounds bra tack för att du delar All the best. Jag försöker också använda SVM-SVR för att förutse låga priser på aktierna, dvs indexvärde som CAC40 DJ etc. Min idé är väldigt enkel och enkelt, jag laddar ner data på en mäklare webbplats har jag tillgång till 3 år av dessa data Svaret är det nära värdet av indexet, jag antar att funktionerna från föregående dag påverkar det närmaste värdet av de kommande dagarna dvs högsta värde minsta värdeöppning värde för måndag är funktioner för att förutse, för att förklara stängningsvärdet på tisdag, bygger jag min dataset med dessa antaganden, så jag använder funktionen med lag1, självklart kan jag lägga till andra funktioner som lag2, lag3 Jag lägger ett urval av min datastruktur här. openinglag1 highestlag1 smallestlag1 stängande svarvolymen lag1 3950 59 3959 2 3936 33 4013 97 589818.Finalt har jag en 764 dataset, all dataset som jag använder för att träna svr och jag förutspår de närmaste dagarna som jag nämnde ovan. Mina frågor är hur kan jag förutse till exempel de närmaste 5 dagarna Är min datastruktur rätt. Inte nöjd med den rullande prognosen i svmComputeForecasts Se vad det gör för modellPeriod veckor till exempel. Ett alternativ är att göra veckoprognoser direkt före han data till veckor eller tre fyra dagars bitar och ringa svmComputeForecasts med hjälp av dagar på denna uppsättning. Varje förutsägelse gäller hela perioden. Såvitt jag vet kan man inte bara göra en fem dagars framtidsprognosisk förutsägelse med SVMs detta är möjligt med ARMA-tekniker. Hjälp det här, Ivan. Jag har njutit av dina inlägg och haft en fråga. Jag undrade vilken typ av förbättring du hittade när du flyttade från den enkla ARMA-modellen till ARMA-GARCH-modellen. Har du testat några andra träningsparametrar för rullande fönster Också fann du att den korta sidan gjorde mycket av en skillnad, dvs det är mycket bättre eller sämre än bara länge. Han tog upp några av dessa frågor i ett senare inlägg. Lägga till mer statistik till ARMA GARCH handledningen är säkert på min lista, men det kommer att ta tid Man kan göra all denna analys genom att använda indikatorn tillsammans med GSPC från Yahoo Indikatorn är redan inriktad utan att behöva lagras. Mycket imponerande Men har du försökt använda slumpmässig skog som det hävdar att vara superio r till SVM eftersom det tillåter implicita icke-linjära effekter och interaktionsvillkor bland de exogena variablerna. Det slår också ner den exogena variabeln till de viktigaste spelmakarna och dess ganska snabba, särskilt med ditt dataset. Och tack för det tidigare svar En sak som jag är lite förvirrad är att på ARMA GARCH-posten nämner du 18 87 CAGR och BH ser ut att vara ca 7 CAGR från eyeballing i diagrammet. I tabellen ovan visar du 30 88 och 15 4 för ARMA GARCH och BH, respektive Är det en annan tidsram eller saknar jag något tack igen. Tävling med supportvektorer SVM. Finalt har alla stjärnor anpassats och jag kan med säkerhet ägna lite tid för backtestning av nya handelssystem och supportvektor Maskiner SVM är den nya leksaken som kommer att hålla mig upptagen en stund. SVM är ett välkänt verktyg från området övervakat maskinlärande och de används både för klassificering och regression. Mer information finns i litteraturen. Det är s anser mig att den mest intuitiva ansökan om handel är regression, så låt oss börja med att bygga en SVM-regressionsmodell. Efter vår erfarenhet av ARMA GARCH-modeller börjar vi försöka prognostisera avkastning i stället för priserna. På samma sätt i våra första tester , vi kommer endast att använda avkastningen under de föregående 5 dagarna som funktioner som bestämmer avkastningen för en viss dag. Vi börjar med 500 dagars historia som träningsuppsättning. I mer matematiska termer har vi N-funktioner för träningssatsen för var och en av dem har vi M-prov. Vi har också M-svar. Ange en rad funktionsvärden, den vänstra matrisen, SVM är utbildad för att producera svarvärdet. I vårt specifika exempel har vi fem kolumner, varje kolumn som motsvarar avkastningen med en annan fördröjning från 1 till 5 Vi har 500 prov och motsvarande svar. När SVM är utbildad på den här uppsättningen kan vi börja mata den med uppsättningar med fem funktioner som motsvarar avkastningen för de fem föregående dagarna och SVM kommer att ge oss svaret, vilket är den prognostiserade avkastningen. Efter att ha utbildat SVM under de föregående 500 dagarna kommer vi att använda avkastningen för dagarna 500, 499, 498, 497 och 496. Dessa är våra som ingång för att erhålla den prognostiserade avkastningen för dag 501. Från alla paket som finns tillgängliga i R bestämde jag mig för att välja e1071-paketet Ett nära andrahandsval var kärnlabpaketet, som jag fortfarande planerar att försöka i framtiden. Sedan försökte jag några strategier först jag försökte något som mycket liknar ARMA GARCH-tillvägagångssättet, de fördröjda avkastningarna från de fem tidigare dagarna var jag ganska förvånad över att se den här strategin fungerar bättre än ARMA GARCH, det här är ARMA GARCHs hemland och jag skulle ha varit ganska glad bara med jämförbara Jag försökte till samma fem funktioner, men försökte välja den bästa delmängden. Urvalet gjordes med en girig inställning, som började med 0-funktioner och interaktivt lägga till funktionen som minimerar felet bäst. fördjupade saker ytterligare. Först försökte jag ha ett annat tillvägagångssätt med ungefär ett dussin funktioner. Funktionerna inkluderade avkastning under olika tidsperioder 1-dagars, 2-dagars, 5-dagars, etc, en viss statistik, median, sd, etc och volym Jag använde samma giriga inställning för att välja funktioner Det här sista systemet visade också en mycket bra prestation, men det tog ganska lång tid att springa. Tiden för att avsluta det här inlägget måste resultaten av backtestet vänta tills du kan spela med den fullständiga källkoden själv Här är ett exempel på att använda det. Han fungerar inte på grund av multicoreproblem En sak som jag inte förstår återspeglas här i raderna av kodregistret index data data index index. Enligt min mening är det mer effektivt att slå samman serier smth like. mydtret - och att ha bara ett argument objekt att fungera samtal istället för 2.Interesting arbete, tack Mike. Argh, Windows Jag använder det sällan nyligen Ganska förvånat fortfarande, eftersom parallellen Paketet är en del av basfördelningen R nu. Förhoppningsvis det kommer att behandlas snart. Samtidigt, vad sägs om att inte använda parallellkörning. Det finns också andra paket som ger parallell körning, men det skulle vara mer arbete. Du har rätt om sammanslagningen Jag undrar fortfarande varför jag gjorde det här den här gången. Jag mår mottagande fel Nu är felet data svmFeatures tt, c 1,2 Fel i objekt skevhet inte hittades. Men när jag gör manuellt dataobjekt får jag fel i prediktionen svmComputeOneForecast - funktion relaterad till dimensioner och provtagning cross. It är svårt för mig att felsöka. skewness kommer från PerformanceAnalytics-paketet, som du behöver installera från CRAN Lägger till kräver PerformanceAnalytics eftersom den första raden av svmFeatures borde adressera det första problemet. nu felet är fel i k 21, justera rätt längd av dimnames 2 inte lika med arrayutsträckning verkar att i Windows-kod behöver många förändringar. Jag menade aldrig att koden skulle användas direkt tills nu gav jag bara snippets, men jag är förvånad över att R på Windows är så ful. Inte säker på vad sy vårt mål, men för att analysera strategiernas prestanda kan du använda indikatorserierna som redan är beräknade. Det är bara rent akademiskt intresse på SVM Jag brukade arbeta med kluster, PCA och jag är nyfiken på hur SVM gör samma arbete I Windows mycket fel är relaterade till objekt med datum som xts är eller datarammar UNIX är bättre men alla mäklare ger API för Windows Några av dem i Java och bara det vi kan använda från UNIX Jag tycker inte om att vinna arkitektur men det är vana redan och jag har inte tid att ändra OS. Jag har bara försökt det på Windows 7, 64 bit, R version 2 15 2 Jag får en varning från svmFeatures, som jag vet hur man fixar att ringa sd på ett xts zoobjekt gör intressant omvandling till en matris men inga problem Running. Thanks Jag ska försöka En fråga om du inte tänker Varför använder du få med funktion cetSymboler från quantmod-paketet jag använder call vers Exempel SPY - getSymbols SPY, FALSE Du har mycket att beräkna och konsumera minne och tar tid för att erhålla objektnamn som en sträng var. Det samma felet jag använder R 2 15 1 Men jag är förvånad med det här resultatet innan call head data.1 fungerar, lista karaktär, paket NULL, NULL, 2 verbose getOption verbose, envir 3 4 fileExt - funktion x 5 db - grepl gz bz2 xz, x 6 ans-sub, x. Det verkar som att data är reserverat ord Och nu vet jag inte vad som ska fungera. En realtidsklypning och SVM-baserad prisvolatilitet förutsägelse för optimal trading strategy. Subhabrata Choudhury a, 1.Subhajyoti Ghosh b, 2.Arnab Bhattacharya c. Kiran Jude Fernandes d, 3, 4.Manoj Kumar Tiwari e,, 5.a Institutionen för Metallurgisk Materialteknik, Indiska Tekniska Högskolan Kharagpur, Kharagpur 721302, Indien. b Institutionen för Ocean Engineering och Naval Architecture, Indiska Tekniska Högskolan Kharagpur, Kharagpur 721302, Indien. c University of Pittsburgh, Pittsburgh, PA 15213, Förenta staterna. d Avdelningen för management, Durham University Business School, Mill Hill Lane, Durham University, Durham DH1 3LB, United Kingdom. e Departme nt Industrial Engineering and Management Indiska Tekniska Högskolan, Kharagpur 721302, Indien. Erövrad 17 oktober 2012 Reviderad 22 juli 2013 Godkänd 10 oktober 2013 Tillgänglig online 29 oktober 2013 Kommuniceras av Bijaya Ketan Panigrahi. Den optimala portföljen väljs med hjälp av ett tvåstegs klusterprogram på en pool av stocks. The framtida priser prognostiseras med hjälp av vektorvektor. En kortfattad handelsstrategi är formulerad baserat på förutsägelser. En testsimulering uppnådde en vinst på 1 5 över 15 dagar. Finansiell avkastning på investeringar och rörelse av marknadsindikatorer är Fyllda med osäkerhet och en stark volatil miljö som finns på den globala marknaden Aktiemarknaderna påverkas kraftigt av oförutsägbarhet på marknaden och upprätthållandet av en sund diversifierad portfölj med minimisk risk är utan tvekan avgörande för investeringar som görs i sådana tillgångar. Effektiv prissättning och volatilitetsprediktion kan påverka kursen av investeringsstrategin med avseende på en sådan portfölj av eget kapitalinstrument I denna uppsats integreras en ny SOM-baserad hybridklusteringsteknik med stödvektorregression för portföljval och exakta pris - och volatilitetsprognoser som blir grunden för den specifika handelsstrategin som antagits för portföljen. Forskningen anser att de 102 största aktierna i NSE-börsmarknaden Indien identifierar uppsättning bästa portföljer som en investerare kan upprätthålla för riskreduktion och hög lönsamhet Kortfristig aktiehandelstrategi och resultatindikatorer utvecklas för att bedöma förutsägelsens giltighet med hänsyn till faktiska scenarier. Stockmarknad. Självorganiserande Maps. Trading strategy. Support vector machine. Table 1 Fig 2 Fig 3 Fig 4 Fig 5.Table 3 Fig 6.Table 4 Fig 7.Subhabrata Choudhury driver för närvarande sin kandidatexamen i metallurgi och materialteknik vid Indiska Tekniska Högskolan Kharagpur, Indien och är i sista året Hans nuvarande forskningsintresse omfattar Data Mining, Operations Forskning, Maskininlärning och deras tillämpningar inom finans och stålindustrin. Subhajyoti Ghosh är en fjärde årsstudentstudent i Indiska Tekniska Högskolan Kharagpur, Indien med inriktning på det femåriga dubbla examensprogrammet B Tech och M Tech i Ocean Engineering and Naval Architecture. Hans nuvarande forskning fokuserar på Operations Research, Financial Markets och Scheduling. Arnab Bhattacharya är för närvarande doktorand i Operations Research vid University of Pittsburgh, USA. Han fullföljde femåriga dubbla examen B Tech och M Tech i industriell teknik och ledning vid Indian Institute of Teknologi Kharagpur, Indien 2011 Hans forskningsområden omfattar verksamhetsforskning och datavinnning. Kiran Jude Fernandes är forskningschef och chef för Operations Management Group vid York Management School, Storbritannien. Han är också en av de främsta utredarna på det tvärvetenskapliga York Center för komplexa systemanalyser YCCSA Han har doktorsexamen i Operations Management och System från University of Warwick en mästare MS från James Worth Bagley College of Engineering vid Mississippi State University MSU och en kandidatexamen i Engineering Hons grad i produktion från Waltech Hans forskning fokuserar på modellering av komplexa sociala och affärsdomäner med ett komplext systemperspektiv. Manoj Kumar Tiwari är professor i Institutionen för industriell teknik och ledning i Indiska Tekniska Högskolan Kharagpur, Indien Han är en associerad redaktör av tidskrifter som omfattar IEEE Transactions på SMC Del A Systems and Humans, International Journal of System Science Journal of Decision Support System Han har mer än 200 publikationer i olika internationella tidskrifter och konferenser. Hans forskningsintressen är beslutsstödsmodeller, planering, planering och kontrollproblem i tillverkningssystemet, Supply Chain Network. Corresponding author Tel 91 3222 283 746.Copyright 2013 Elsevier BV All rights reserved. Citing artiklar.
No comments:
Post a Comment