Sunday, 1 October 2017

Exponential Glidande-Medelvärde Cuda


För ett annat tillvägagångssätt kan du avkorta det exponentiala glidande medelfönstret och sedan beräkna din filtrerade signal genom att göra en konvolvering mellan din signal och den exponentiala fönstret. Konfolutionen kan beräknas med hjälp av det fria CUDA FFT-biblioteket (cuFFT) eftersom, som du kanske vet, konvolutionen kan uttryckas som den punktvisa multiplikationen av de två signalerna i fourier-domänen (Detta är det lämpliga namnet Convolution Theorem, som löper med en komplexitet av O (n log (n))). Denna typ av tillvägagångssätt minskar din CUDA-kärnkod och går mycket väldigt snabbt, även på en GeForce 570 Särskilt så om du kan göra alla dina beräkningar i enkel (flyt) precision. svarade 30 april 14 kl 17:04 Jag skulle föreslå att man manipulerar ovanstående skillnadsekvation som anges nedan och sedan använda CUDA Thrust Primitives. Skillnad Equation MANIPULATION - EXPLICIT FORM OF THE DIFFERENCE Equation Med enkel algebra kan du hitta följande: Följaktligen är den explicita formulären följande: CUDA THRUST IMPLEMENTATION Du kan implementera ovanstående explicit formulär genom att följa följande steg: Initiera en ingångssekvens dinput till alfa förutom dinput0 1. Definiera en vektor d1overbetatothen lika med 1, 1beta, 1beta2, 1beta3. Multiplicera elementwise dinput av d1overbetatothen Utför en inclusivescan för att få sekvensen av yn-betan Dela upp ovanstående sekvens med 1, 1beta, 1beta2, 1beta3. Ovanstående tillvägagångssätt kan rekommenderas för Linear Time-Varying (LTV) - system. För Linear Time-Invariant (LTI) - system, kan FFT-metoden som nämns av Paul rekommenderas. Jag ger ett exempel på detta tillvägagångssätt genom att använda CUDA Thrust och cuFFT i mitt svar på FIR-filter i CUDA. Jag är ingen programmerare med några förmågor. Bara någon nyfiken på CUDA och så gör jag lite läsning. Jag sprang över ett exempel på att använda Thrust för att göra ett glidande medelvärde: Exemplet, som det är, körs och fungerar mestadels korrekt. Men det är trivialt i den meningen att det bara gör en rörlig genomsnittlig operation. Hur skulle jag säga 352 av dessa rörliga genomsnittliga operationer parallellt, alla som fungerar på samma dataström I mitt sinne kan programflödet vara: Generera datarampan skickar den till en CUDA-kärna. (Samma som befintlig kod men tänk längder på 1000 eller 10000 istället för 30) Kopiera den från CUDA-kärnan till alla de andra 351 CUDA-kärnorna i min GTX 465 Berätta för varje CUDA-kärna vilket antal dataposter som ska överträffas. (4. 5. 6. 352. 353. 354) Berätta enheten för att köra medelvärdet i varje kärna parallellt. Läs tillbaka resultaten från varje kärna. Jag får den här koden så att allt händer, men hur får jag Thrust att göra många av dessa parallellt mitt intresse här handlar om något som lagerdata. Om jag tittar på GOOG-priser anger jag id i GPU med alla kärnor och lämnar det där. Id är då fri att göra mycket bearbetning utan att ladda data längre och bara läsa tillbaka resultat från varje kärna. OBS! Jag kanske inte vill använda GOOG i alla kärnor. Vissa kärnor kan vara GOOG, andra med någon annan symbol, men jag kommer senare. Jag tänker bara att jag inte vill ha lagerdata i globalt minne om det finns tillräckligt med utrymme i varje kärna. Jag antar att det här är ganska enkelt för CUDA Amp Thrust frågade 12 sep 12 kl 19:39 Min förståelse är att du är intresserad av följande två situationer: Du har en lång sekvens av objekt och du vill beräkna ett visst antal medeltal, med medelvärdet för olika antal objekt, dvs med olika längder för det glidande medelfönstret. Detta förstår jag från din ursprungliga fråga. Du har en serie sekvenser, som lagras i följd i minnet, och du vill genomsnittsa dem parallellt med ett fast medelvärdesfönster av storlek 2 RADIUS 1. Detta är vad ArrayFire-koden som föreslagits av ASM gör - du har accepterat den. Istället för att använda CUDA Thrust tror jag att det skulle vara lättare att skriva din egen CUDA-kärna för att göra ovanstående operationer. Nedan följer ett helt bearbetat exempel som fungerar som ArrayFire-koden föreslagits av ASM, vilket täcker fall 2. Ändring av det för att täcka fall 1 skulle vara enkelt. svarat 15 nov 14 kl 15:42 Ditt svar 2017 Stack Exchange, IncSimple Vs. Exponentiella rörliga medelvärden Flytta genomsnitt är mer än studien av en sekvens av siffror i successiv ordning. Tidigare utövare av tidsserieanalyser var faktiskt mer oroade över enskilda tidsserier än vad de hade med interpoleringen av data. Interpolation. i form av sannolikhetsteorier och analys, kom mycket senare, då mönster utvecklades och korrelationer upptäcktes. En gång förstod var olika formade kurvor och linjer ritade längs tidsserien i ett försök att förutsäga var datapunkterna skulle kunna gå. Dessa betraktas nu som grundläggande metoder som för närvarande används av tekniska analyshandlare. Kartläggningsanalys kan spåras tillbaka till 18th Century Japan, men hur och när glidande medelvärden först tillämpades till marknadspriser är fortfarande ett mysterium. Det är allmänt förstått att enkla glidande medelvärden (SMA) användes långt före exponentiella glidmedel (EMA), eftersom EMAs är byggda på SMA-ramverket och SMA-kontinuumet lättare förstod för plottning och spårning. (Vill du ha en liten bakgrundsavläsning Kolla in Rörande medelvärden: Vad är de) Enkla rörliga medelvärden (SMA) Enkla glidande medelvärden blev den föredragna metoden för att spåra marknadspriserna eftersom de är snabba att beräkna och lätt att förstå. Tidiga marknadsoperatörer bedrevs utan att använda de sofistikerade diagrammet som används idag, så de berodde främst på marknadspriser som enda guider. De beräknade marknadspriserna för hand och graderade dessa priser för att beteckna trender och marknadsriktning. Denna process var ganska tråkig, men visade sig vara lönsam med bekräftelse av ytterligare studier. För att beräkna ett 10 dagars enkelt glidande medelvärde, lägg till slutkurserna de senaste 10 dagarna och dela med 10. Det 20-dagars glidande genomsnittet beräknas genom att lägga till slutkurserna över en 20-dagarsperiod och dela med 20, och så vidare. Denna formel är inte bara baserad på slutkurs, men produkten är ett medelvärde av priser - en delmängd. Flyttande medel kallas rörelse eftersom den grupp av priser som används i beräkningen flyttar enligt punkten på diagrammet. Det betyder att gamla dagar tappas till förmån för nya stängningsdagar, så en ny beräkning behövs alltid som motsvarar tidsramen för den genomsnittliga sysselsättningen. Så omräknas 10 dagars genomsnitt genom att lägga till den nya dagen och släppa den tionde dagen och den nionde dagen släpps på andra dagen. (För mer om hur diagram används i valutahandling, kolla in vårt diagram Basics Walkthrough.) Exponentiellt rörligt medelvärde (EMA) Det exponentiella rörliga genomsnittet har förfinats och används vanligare sedan 1960-talet, tack vare tidigare utövare experimenterar med datorn. Den nya EMA skulle fokusera mer på de senaste priserna än på en lång rad datapunkter, eftersom det enkla rörliga genomsnittet var nödvändigt. Nuvarande EMA ((Pris (nuvarande) - tidigare EMA)) X multiplikator) tidigare EMA. Den viktigaste faktorn är utjämningskonstanten som 2 (1N) där N antalet dagar. En 10-dagars EMA 2 (101) 18.8 Det betyder att en 10-årig EMA väger det senaste priset 18,8, en 20-dagars EMA 9,52 och 50-dagars EMA 3,92 vikt på den senaste dagen. EMA arbetar med att väga skillnaden mellan nuvarande perioder och tidigare EMA och lägger till resultatet i tidigare EMA. Ju kortare perioden, desto större vikt tillämpas på det senaste priset. Monteringslinjer Genom dessa beräkningar punkteras punkter, vilket visar en passande linje. Monteringslinjer över eller under marknadspriset innebär att alla glidande medelvärden är fördröjande indikatorer. och används främst för följande trender. De fungerar inte bra med intervallmarknader och perioder med trängsel eftersom de passande linjerna inte visar en trend på grund av brist på uppenbara högre höjder eller lägre nedgångar. Plus, passande linjer tenderar att förbli konstanta utan ledtråd. En stigande monteringslinje under marknaden betyder en lång stund, medan en fallande monteringslinje över marknaden betyder en kort. (För en komplett guide, läs vår Moving Average Tutorial.) Syftet med att använda ett enkelt glidande medelvärde är att upptäcka och mäta trender genom att utjämna data med hjälp av flera grupper av priser. En trend är spotted och extrapolerad till en prognos. Antagandet är att tidigare trendrörelser fortsätter. För det enkla glidande medeltalet kan en långsiktig trend hittas och följas mycket lättare än en EMA, med rimligt antagande att fästelementet håller sig starkare än en EMA-linje på grund av det längre fokuset på genomsnittspriser. En EMA används för att fånga kortare trender, tack vare fokus på de senaste priserna. Med den här metoden skulle en EMA minska alla lager i det enkla glidande medelvärdet så att fästlinjen kommer att krama priserna närmare än ett enkelt glidande medelvärde. Problemet med EMA är detta: Det är benäget för prisavbrott, särskilt under snabba marknader och volatilitetsperioder. EMA fungerar bra tills priserna bryter passformen. Under högre volatilitetsmarknader kan du överväga att öka längden på den glidande medeltiden. Man kan även byta från en EMA till en SMA, eftersom SMA släpper ut data mycket bättre än en EMA på grund av dess fokus på långsiktiga medel. Trend-Following Indicators Som fördröjande indikatorer fungerar glidande medelvärden som stöd och motståndslinjer. Om priserna bryter under en 10-dagars monteringslinje i en uppåtgående trend är chansen god att den uppåtgående trenden kan minska, eller åtminstone marknaden kan konsolidera. Om priserna går över ett 10-dagars glidande medelvärde i en downtrend. Trenden kan minska eller konsolidera. I dessa fall använder du ett 10- och 20-dagars glidande medelvärde tillsammans och väntar på 10-dagars linjen att korsa över eller under 20-dagars linjen. Detta bestämmer nästa kortfristiga riktning mot priser. För längre perioder, titta på 100 och 200 dagars glidande medelvärden för längre siktriktning. Till exempel, om 100-dagars glidande medelvärde passerar under 200-dagars genomsnittet, kallas dödsövergången med 100 och 200-dagars glidmedel. och är väldigt baisse för priser. Ett 100-dagars glidande medelvärde som korsar över ett 200-dagars glidande medel kallas det gyllene korset. och är mycket bullish för priser. Det spelar ingen roll om en SMA eller en EMA används, eftersom båda är trend-följande indikatorer. Det är bara på kort sikt att SMA har små avvikelser från motparten, EMA. Slutsats Rörliga medelvärden är grunden för diagram och tidsserieanalys. Enkla glidande medelvärden och de mer komplexa exponentiella glidande medelvärdena hjälper till att visualisera trenden genom att utjämna prisrörelser. Teknisk analys kallas ibland som en konst snarare än en vetenskap, som båda tar år att behärska. (Läs mer i vår tekniska analyshandledning.) Beta är ett mått på volatiliteten eller systematisk risk för en säkerhet eller en portfölj i jämförelse med marknaden som helhet. En typ av skatt som tas ut på kapitalvinster som uppkommit av individer och företag. Realisationsvinster är vinsten som en investerare. En order att köpa en säkerhet till eller under ett angivet pris. En köpgränsorder tillåter näringsidkare och investerare att specificera. En IRS-regel (Internal Revenue Service) som tillåter utbetalningar från ett IRA-konto på ett strafffritt sätt. Regeln kräver det. Den första försäljningen av lager av ett privat företag till allmänheten. IPOs utfärdas ofta av mindre, yngre företag som söker. DebtEquity Ratio är skuldkvoten som används för att mäta en företags039s ekonomiska hävstångseffekt eller en skuldkvot som används för att mäta en individ. Exponential Moving Average - EMA BREAKING DOWN Exponential Moving Average - EMA De 12 och 26-dagars EMAs är de mest populära kortsiktiga medelvärdena , och de används för att skapa indikatorer som den rörliga genomsnittliga konvergensdivergensen (MACD) och den procentuella prisoscillatorn (PPO). I allmänhet används 50- och 200-dagars EMA som signaler för långsiktiga trender. Näringsidkare som anställer teknisk analys tycker att glidande medelvärden är mycket användbara och insiktsfulla när de tillämpas korrekt men skapar kaos när de används felaktigt eller misstolkas. Alla glidande medelvärden som vanligen används i teknisk analys är av sin natur släpande indikatorer. Följaktligen bör slutsatserna från att tillämpa ett glidande medelvärde till ett visst marknadsdiagram vara att bekräfta en marknadsrörelse eller att indikera dess styrka. Mycket ofta har den glidande genomsnittliga indikatorlinjen ändå förändrats för att återspegla ett betydande drag på marknaden, och den optimala marknaden för marknadsinträde har redan gått. En EMA tjänar till att lindra detta dilemma till viss del. Eftersom EMA-beräkningen lägger större vikt på de senaste uppgifterna, kramar prisåtgärden lite snävare och reagerar därför snabbare. Detta är önskvärt när en EMA används för att härleda en handelsinmatningssignal. Tolkning av EMA Liksom alla glidande medelindikatorer är de mycket bättre lämpade för trending marknader. När marknaden är i en stark och hållbar uppgång. EMA-indikatorlinjen visar också en uptrend och vice versa för en nedåtriktad trend. En vaksam näringsidkare kommer inte bara att uppmärksamma EMA-linjens riktning utan också förhållandet mellan förändringshastigheten från en stapel till en annan. När prisåtgärden för en stark uppåtgående börjar börja flata och vända, kommer EMA: s förändringshastighet från en stapel till nästa att minska till dess att indikatorlinjen plattas och förändringshastigheten är noll. På grund av den försvagande effekten, vid denna punkt, eller till och med några få barer innan, bör prisåtgärden redan ha reverserat. Det följer därför att observera en konsekvent minskande i förändringshastigheten hos EMA kan själv användas som en indikator som ytterligare kan motverka det dilemma som orsakas av den släpande effekten av rörliga medelvärden. Vanliga användningar av EMA-EMA används ofta i kombination med andra indikatorer för att bekräfta betydande marknadsrörelser och att mäta deras giltighet. För näringsidkare som handlar intradag och snabba marknader är EMA mer tillämplig. Ofta använder handlare EMA för att bestämma en handelsförskjutning. Till exempel, om en EMA på ett dagligt diagram visar en stark uppåtgående trend, kan en intraday-traderstrategi vara att endast handla från långsidan på ett intradagskarta.

No comments:

Post a Comment