Thursday, October 20, 2016

Eksponensiële Geweegde Bewegende Gemiddelde Vba

Recipe6.4.Smoothing Data Gebruik geweegde gemiddeldes Youd graag data glad in 'n tydreeks. Oplossing Gebruik Excels eksponensiële gladstryking funksie in die analise ToolPak of bou 'n reëlmatige datareeks jouself met behulp van spreadsheet funksies en VBA. Bespreking Smoothing data is dikwels wenslik om ongewenste geraas te verwyder in 'n data-reeks. Berekening van bewegende gemiddeldes soos bespreek in Resep 6.3 is eintlik 'n glad proses. Behalwe die bewegende gemiddeldes metodes vroeër bespreek, daar is ander maniere om data te stryk. Excel bied 'n eksponensiële gladstryking funksie as deel van die analise ToolPak. Verder kan jy enige glad bedrywighede wat jy wil met behulp van standaard sigbladfunksies (en / of VBA) op te rig. Jy hierdie benadering in die vorige resep reeds gesien egter hierdie keer Siek wys jou hoe om 'n geweegde bewegende gemiddelde wat gebruik maak van 'n kubieke spline interpolasie kern maak gebruik. Eksponensiële gladstryking eksponensiële gladstryking is ook 'n geweegde-gemiddelde tegniek. Die idee agter geweegde gemiddelde is om datawaardes wat die naaste aan die waarde wat voorspel of beraamde groter belang, of invloed te gee, in teenstelling met waardes verder weg. Eksponensiële gladstryking gebruik die volgende formule: F N ​​1 is die waarde wat geskat op tyd interval N 1. 'n is 'n gewig faktor wat 'n dempingsfaktor in Excel genoem. F N is die vorige geskatte waarde, en Y N is die vorige werklike waarde in die oorspronklike data reeks. Om eksponensiële gladstryking gebruik, kies Tools Figuur 6-11. Eksponensiële dialoog Smoothing boks in die veld Input Range, tipe (of kies op die sigblad) die sel reeks met die insette data wat jy wil uit te stryk. Gee 'n dempingsfaktor in die dempingsfaktor veld of los dit leeg op die verstek waarde van 0,3 gebruik. Gee 'n verwysing na die boonste sel in die verlangde uitset sel reeks in die veld Uitgawe Range. Druk OK wanneer jy klaar en moet jy die resultate op jou spreadsheet sien. Figuur 6-12 toon 'n voorbeeld vir dieselfde jaarlikse temperatuur data wat in die vorige resep. Die gevolglike data reeks ná glad is vervat in kolom R. Figuur 6-12. Eksponensiële gladstryking resultate Net soos die bewegende gemiddelde hulpmiddel vroeër bespreek, die eksponensiële Smoothing hulpmiddel plaas 'n sel formule in plaas van 'n waarde in elke sel van die gevolglike data reeks. Op hierdie manier, as jou oorspronklike data veranderinge, die stryk data sal outomaties by te werk. Cell R10 gekies in Figuur 6-12, sodat jy kan sien wat die formules lyk. Die formule word in die formule bar en is van die vorm 0.7O90.3R9. Soos jy kan sien, hierdie formule ooreenstem met die eksponensiële gladstryking vergelyking ek jou gewys het vroeër. Natuurlik, kan jy hierdie formules jouself te betree, omleiding die behoefte om die analise ToolPak gebruik, as jy wil. Figuur 6-13 toon 'n plot van die reëlmatige data reeks wat bo-oor die oorspronklike reeks, sodat jy die verskil tussen die twee kan sien. Figuur 6-13. Eksponensieel stryk temperatuur data Ander geweegde gemiddelde tegnieke word algemeen gebruik in tydreeksanalise. In die volgende afdeling wys Siek jy een wat gebaseer is op 'n kubieke spline interpolasie kern. Kern glad In hierdie voorbeeld Siek wys jou 'n geweegde gemiddelde metode wat 'n kubieke spline interpolasie kern ontwerp om 'n Gaussiese kern benader gebruik. Jy kan allerhande verskillende pitte gebruik vir glad met slegs geringe veranderinge aan die tegniek Siek teenwoordig. Die kern Siek gebruik is: r verteenwoordig die afstand tussen datapunte en h verteenwoordig die effektiewe radius glad gedeel deur 2. Swak gebruik hierdie smoothing funksie om gewigte bereken wanneer die berekening van geweegde gemiddeldes van die tydreeks. Om hierdie taak makliker te maak, ek het bygevoeg 'n VBA funksie genoem WCS dat jy 'n beroep van die sigblad. Voorbeeld 6-1 toon my VBA implementering vir hierdie smoothing kern. Voorbeeld 6-1. Kubieke spline kern Dit is 'n redelik eenvoudige implementering van die vergelyking wat ek vroeër gewys, so ek sal nie gaan oor elke reël van die kode. Verwys na Hoofstuk 2 as julle nie reeds op hoogte oor die gebruik van VBA en die toevoeging van persoonlike funksies en subroetines. Siek gebruik hierdie funksie om gewigte op te wek om dieselfde temperatuur data vroeër bespreek glad. Figuur 6-14 toon 'n gewig tafel Ek bereken die gebruik van hierdie funksie. Figuur 6-14. Gewig tafel Die eerste kolom in die tabel, gemerk r. bevat relatiewe indekse om die vierde indeks, gemerk 0. Ons kan dit doen hier om r te bereken omdat die tydreeksdata is getoets op eweredig gespasieer tussenposes. Die tweede kolom bevat formules soos WCS (U10,2). Dit is die formule wat in sel V10. Al die ander selle bevat soortgelyke formules. Die som van die gewigte (bereken met behulp van die sommeskadeleer getoon in sel V14) is nodig om die geweegde gemiddelde berekening normaliseer. Jy kan hierdie stap te vermy as jou kern integreer om eenheid oor sy reeks van ondersteuning. Nou, na die stryk datareeks bereken, stel ek 'n ander kolom in my spreadsheet, soos getoon in Figuur 6-15. Figuur 6-15. Kern-smoothing resultate Die stryk data is vervat in kolom S onder die opskrif kern Smoothing. Ek gekies die eerste stryk datawaarde in sel S10 in die figuur, sodat jy die sel formule kan sien. Die formule is SUMPRODUCT (R7: R13, V7: V13) / V14. Soos jy kan sien, is dit gebruik die SUMPRODUCT formule om die som van die produkte van elke ooreenstemmende kwartaal in die twee gegewe sel wissel bereken (sien Hoofstuk 7 vir meer inligting oor hierdie en ander handige funksies). In hierdie geval, die eerste sel reeks ooreenstem met die ses data items rondom die gegewe data item, insluitend die gegewe data item. Dit beteken dat die geweegde gemiddelde in hierdie geval is gesentreer oor die i ste data-item en sluit die geweegde invloed van die drie vorige items en die drie volgende items. Die tweede sel reeks bevat die in Figuur 6-14 gewigte. Verdere, te deel deur die som van gewigte, soos vervat in sel V14, normaliseer die resultaat. Sodra die eerste formule is gestig, ek eenvoudig gekopieer en geplak dit in die oorblywende selle in die data-reeks. Let daarop dat ons nie verloor data. Spesifiek, ons verloor die eerste en laaste drie data-items in die reeks as gevolg van die omvang van die invloed van die gewig funksie wat ek gebruik. Jy kan die omvang van invloed te verhoog deur die verhoging van die waarde vir die h parameter geslaag in WCS. of jy dit kan verlaag deur 'n vermindering van hierdie waarde. Hoe groter die verskeidenheid van invloed (vandaar die groter die aantal data-items in die reeks gemiddeld vir elke stryk gevolg), die gladder die gevolglike data reeks. Figuur 6-16 toon 'n plot van die reëlmatige data reeks in vergelyking met die oorspronklike data reeks die effek van smoothing is duidelik. Figuur 6-16. - Kern stryk temperatuur data Sien ook Sien resep 6.3 om te leer hoe om nie-geweegde bewegende gemiddeldes te bereken in Excel. Glad data met behulp van die tegnieke in hierdie en die vorige resep is eintlik 'n vorm van filter. Jy kan ook data in die frekwensiedomein filter in Excel gebruik van Fourier-transforms lees resep 6.10 tot more. Calculate Historiese Volatiliteit leer behulp EWMA Volatiliteit is die mees algemeen gebruik word mate van risiko. Wisselvalligheid in hierdie sin kan óf historiese wisselvalligheid (een waargeneem uit die verlede data), of dit kan geïmpliseer wisselvalligheid Die historiese wisselvalligheid kan bereken word op drie maniere, naamlik (onderhou van markpryse van die finansiële instrumente.): Eenvoudige wisselvalligheid, eksponensieel Geweegde Moving Gemiddeld (EWMA) GARCH Een van die groot voordele van EWMA is dat dit gee meer gewig aan die onlangse opbrengste, terwyl die berekening van die opbrengs. In hierdie artikel, sal ons kyk na hoe wisselvalligheid word bereken deur gebruik te maak EWMA. So, laat ons begin: Stap 1: Bereken log opbrengste van die prys reeks As ons kyk na die aandeelpryse, kan ons die daaglikse lognormale opbrengste bereken met behulp van die formule ln (P i / P i -1), waar P verteenwoordig elke dae eindvoorraad prys. Ons moet die natuurlike log te gebruik, want ons wil die opbrengste voortdurend te vererger. Ons sal nou daagliks opbrengste vir die hele prys reeks. Stap 2: vierkant die opbrengs Die volgende stap is die neem van die vierkante van lang opbrengste. Dit is eintlik die berekening van eenvoudige variasie of wisselvalligheid wat deur die volgende formule te gebruik: Hier, jy verteenwoordig die opbrengs, en m verteenwoordig die aantal dae. Stap 3: Ken gewigte Ken gewigte sodanig dat onlangse opbrengste hoër gewig en ouer opbrengste het minder gewig. Vir hierdie het ons 'n faktor genoem Lambda (), wat 'n glad konstante of die aanhoudende parameter. Die gewigte word toegeken as (1-) 0. Lambda moet wees minder as 1. Risiko metrieke gebruik lambda 94. Die eerste gewig sal wees (1-0,94) 6, die tweede gewig sal wees 60,94 5,64 en so aan. In EWMA al die gewigte op te som tot 1, maar hulle dalende met 'n konstante verhouding van. Stap 4: Vermenigvuldig Opbrengste-kwadraat met die gewigte Stap 5: Neem die opsomming van R 2 w Dit is die finale EWMA variansie. Die wisselvalligheid sal die vierkantswortel van variansie wees. Die volgende kiekie toon die berekeninge. Die voorbeeld hierbo dat ons gesien het, is die benadering beskryf deur RiskMetrics. Die algemene vorm van EWMA kan voorgestel word as die volgende rekursiewe formule: 1 CommentHow om Geweegde bewegende gemiddeldes in Excel bereken aan die hand Eksponensiële Smoothing Excel Data-analise Vir Dummies, 2de Uitgawe die eksponensiële Smoothing instrument in Excel bereken die bewegende gemiddelde. Maar eksponensiële gladstryking gewigte die waardes wat in die bewegende gemiddelde berekeninge sodat meer onlangse waardes het 'n groter invloed op die gemiddelde berekening en ou waardes het 'n mindere effek. Dit gewigte word bereik deur 'n glad konstante. Om te illustreer hoe die eksponensiële Smoothing program werk, veronderstel dat you8217re weer te kyk na die gemiddelde daaglikse inligting temperatuur. Om geweegde bewegende gemiddeldes te bereken met behulp van eksponensiële gladstryking, neem die volgende stappe: Om 'n eksponensieel stryk bewegende gemiddelde te bereken, eerste kliek op die data tab8217s Data-analise opdrag knoppie. Wanneer Excel vertoon die dialoog Data-analise boks, kies die eksponensiële Smoothing item uit die lys en kliek op OK. Excel vertoon die dialoog Eksponensiële Smoothing boks. Identifiseer die data. Om die data waarvoor jy 'n eksponensieel stryk bewegende gemiddelde bereken identifiseer, klik in die Invoer Range tekskassie. Identifiseer dan die insette reeks, óf deur te tik 'n werkblad verskeidenheid adres of deur die kies van die werkblad reeks. As jou insette reeks sluit in 'n teks etiket om te identifiseer of jou data beskryf, kies die etikette boks. Verskaf die smoothing konstante. Tik die glad konstante waarde in die dempingsfaktor tekskassie. Die Excel Help lêer dui daarop dat jy 'n glad konstante van tussen 0,2 en 0,3 gebruik. Vermoedelik, maar indien you8217re gebruik van hierdie instrument, jy jou eie idees oor wat die korrekte glad konstante is. (As you8217re clueless oor die glad konstante, miskien het jy shouldn8217t word met behulp van hierdie instrument.) Vertel Excel waar die eksponensieel stryk bewegende gemiddelde data te plaas. Gebruik die Uitset Range tekskassie om die werkblad reeks waarin jy die bewegende gemiddelde data plaas identifiseer. In die werkkaart voorbeeld, byvoorbeeld, jy die bewegende gemiddelde data te plaas in die werkblad verskeidenheid B2: B10. (Opsioneel) Chart die eksponensieel stryk data. Om die eksponensieel stryk data karteer, Kies die diagram Uitgawe boks. (Opsioneel) Dui wat jy wil standaardfout inligting bereken. Standaard foute te bereken, kies die standaard foute boks. Excel plekke standaard fout waardes langs die eksponensieel stryk bewegende gemiddelde waardes. Nadat jy klaar spesifiseer wat bewegende gemiddelde inligting wat jy wil berekende en waar jy wil dit geplaas word, klik op OK. Excel bereken bewegende gemiddelde information. Here is 'n kode wat nuttig vir diegene wat met behulp tegniese ontleding in die handel moet wees en wil strategieë te toets in Excel. Dit bere die eenvoudige, lineêr geweeg en eksponensiële bewegende gemiddelde. Verdere sal Ek aan te bied en te verduidelik die stappe vir die skep van die vorm en die VBA-kode. Voeg 'n UserForm 8211 Naam: MAForm Voeg vier etikette van die Gereedskap Beheer 8211-onderskrifte soos per bogenoemde print screen Voeg 'n ComboBox vir die bewegende gemiddelde tipe seleksie. Dit is vernoem comboTypeMA Voeg twee RefEdit kontroles vir die insette reeks en die uitset reeks. Voeg 'n teksboks vir selecing die bewegende gemiddelde tydperk Voeg twee knoppies: Naam: buttonSubmit, Onderskrif: Stuur en Naam: buttonCancel, Onderskrif: Die styl Ten einde die drop-down list vir MA tipe seleksie genereer en laai die gebruiker vorm, 'n nuwe module sal plaas met die onderstaande kode. Die ComboBox items met bevolk deur bewegende gemiddeldes tipes en die gebruiker vorm sal gelaai word nie. Opsie Explicit Sub loadMAForm () Met MAFormboTypeMA. RowSource. AddItem Eenvoudige. AddItem Geweegde. AddItem Eksponensiële eindig met MAForm. Show End Sub Hier is die kode toegeskryf word aan die stuur knoppie. Private Sub buttonSubmitClick () Dim inputRange, outputRange Soos Range Die inputRange sal die prys reeks gebruik word vir die berekening van die MA en die outputRange sal ingevul word met die bewegende gemiddeldes waardes bevat. Dowwe inputPeriod As Integer Die bewegende gemiddelde tydperk verklaar. Dowwe inputAddress, outputAddress As String Die toevoer en afvoer reekse verklaar as string. As comboTypeMA. Value ltgt eksponensiële en comboTypeMA. Value ltgt eenvoudig en comboTypeMA. Value ltgt Geweegde Ware Dan MsgBox Kies 'n bewegende gemiddelde tipe uit die lys. RefInputRange. SetFocus afrit Sub Hierdie deel van die proses dwing die eerste beperkings met betrekking tot die voorgelê data. As die bewegende gemiddelde tipe nie vervat is in die drop-down list, sal die prosedure nie gaan na die volgende stap en die gebruiker sal gevra word om dit weer te kies. Elseif RefInputRange. Value Dan MsgBox Kies die insette reeks. RefInputRange. SetFocus afrit Sub elseif RefOutputRange. Value Dan MsgBox Kies die uitset reeks. RefOutputRange. SetFocus afrit Sub elseif RefInputPeriod. Value Dan MsgBox Kies die bewegende gemiddelde tydperk. RefInputPeriod. SetFocus afrit Sub elseif Nie IsNumeric (RefInputPeriod. Value) Dan MsgBox Moving gemiddelde tydperk moet 'n getal wees. RefInputPeriod. SetFocus afrit Sub End Indien Ander beperkings geskep. Die insette reeks, uitset reeks en insette tydperk moet nie leeg wees. Verder moet die bewegende gemiddelde tydperk 'n aantal wees. inputAddress RefInputRange. Value Stel inputRange Range (inputAddress) outputAddress RefOutputRange. Value Stel outputRange Range (outputAddress) inputPeriod RefInputPeriod. Value Die argumente vir inputRange en outputRange wissel sal wees inputAddress en outputAddress verklaar as snare. As inputRange. Columns. Count ltgt 1 Toe MsgBox kan Inset reeks net een kolom hê. RefInputRange. SetFocus afrit Sub Die inputRange moet net een kolom bevat. Elseif inputRange. Rows. Count ltgt outputRange. Rows. Count Dan MsgBox Uitgawe reeks het 'n verskillende aantal rye as die insette reeks. RefInputRange. SetFocus afrit Sub Einde As Die inputRange en outputRange moet 'n gelyke aantal rye. Dowwe RowCount As Integer RowCount inputRange. Rows. Count Dim Kraai Soos Integer ReDim inputarray (1 tot RowCount) Vir Kraai 1 Om RowCount inputarray (Kraai) inputRange. Cells (Kraai, 1).Value Volgende Kraai inputarray verklaar as skikking en it8217s elemente stem ooreen met die waardes van elke ry van die insette reeks. As inputPeriod GT RowCount Dan MsgBox aantal uitgesoekte waarnemings is amp RowCount amp en die tydperk is amp inputPeriod amp. Die insette reeks moet 'n hoër of gelyke hoeveelheid elemente as die gekose periode nie. RefInputRange. SetFocus afrit Sub Einde As 'n ander beperking bygevoeg 8211 moet die insette reeks 'n hoër of gelyke hoeveelheid elemente as die tydperk het. As inputPeriod Dit 0 Toe MsgBox Moving gemiddelde tydperk moet hoër as 0. RefInputPeriod. SetFocus afrit Sub End wees as die bewegende gemiddelde tydperk hoër as nul moet wees. ReDim outputarray (inputPeriod Om RowCount) Soos Variant Ook die skikking dimensies van outputarray bepaal. Die ondergrens van die skikking is die inputPeriod waarde en die bogrens is die waarde van RowCount (die aantal elemente in die inputRange). Onder deel van die prosedure bereken die eenvoudige bewegende gemiddelde, as die keuse vir comboTypeMA is eenvoudig. SMA ----------------------------------------- As comboTypeMA. Value Eenvoudige Dim Ek het toe , J As Integer Dim temp Soos Double want ek inputPeriod Om RowCount temp 0 Vir j (i - (inputPeriod - 1)) Om ek temp temp inputarray (J) langs j outputarray (i) temp / inputPeriod outputRange. Cells (i, 1 ).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value SMA (amp inputPeriod amp) Eintlik is die proses bere die bewegende gemiddelde van die laaste x getalle (x gelyk aan die inputPeriod), wat begin met die element van die inputarray gelyk aan die inputPeriod. Hier is 'n vereenvoudigde voorbeeld, wat elke stap van die proses toon. In hierdie voorbeeld is daar vier getalle (no01, no02, no03 en no04) van ry 1 tot Ry 4 en die bewegende gemiddelde tydperk is 3. Na elke nuwe bewegende gemiddelde bereken word, sal elke sel van die outputRange die waarde van die neem outputarray. En ná al die bewegende gemiddeldes bereken, in die sel hierbo outputRange n titel sal plaas met die bewegende gemiddelde tipe en tydperk. Dit volgende deel sal die eksponensiële bewegende gemiddelde bereken. EMO ------------------------------------------ elseif comboTypeMA. Value Eksponensiële Dim Toe Alpha Soos Double alfa 2 / (inputPeriod 1) Vir j 1 Om inputPeriod temp temp inputarray (J) langs j outputarray (inputPeriod) temp / inputPeriod eers die waarde van Alpha word bepaal. Want in die berekening, die waarde van die EMO is gebaseer op die vorige EMO, sal die eerste een die eenvoudige bewegende gemiddelde wees. Want ek inputPeriod 1 Om RowCount outputarray (i) outputarray (i - 1) alfa (inputarray (i) - outputarray (i - 1)) Volgende i Begin met die tweede bewegende gemiddelde, sal hulle bereken word op grond van die bogenoemde formule: die vorige EMO plus alfa vermenigvuldig met die verskil tussen die huidige getal van die inputarray en die vorige EMO waarde. Want ek inputPeriod Om RowCount outputRange. Cells (i, 1).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value EMO (amp inputPeriod amp) Net soos die kode vir SMA, die outputarray sal bevolk en die sel hierbo outputarray sal die tipe en tydperk van die bewegende gemiddelde verteenwoordig. Hier is die kode vir die berekening van die geweegde bewegende gemiddelde. WBG ------------------------------------------ elseif comboTypeMA. Value Geweegde Dan Dim temp2 As Integer want ek inputPeriod Om RowCount temp 0 temp2 0 Vir j (i - (inputPeriod - 1)) Om ek temp temp inputarray (j) (j - ek inputPeriod) temp2 temp2 (j - ek inputPeriod) Volgende j outputarray (i ) temp / temp2 outputRange. Cells (i, 1).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value WBG (amp inputPeriod amp) End As die tabel hieronder bevat die stappe vir die berekening van elke veranderlike wat gebruik word vir die WBG berekening. Net soos in die vorige voorbeeld, in hierdie een is daar vir getalle in die inputRange. en die insette tydperk is 3. Hier is die finale kode van die prosedure, wat die gebruiker vorm ontlaai. Los MAForm End Sub Die volgende prosedure is vir die styl knoppie. Dit sal in dieselfde module bygevoeg word. Private Sub buttonCancelClick () los MAForm End SubHow om EMO Bereken in Excel Leer hoe om die eksponensiële bewegende gemiddelde in Excel en VBA bereken, en kry 'n gratis web-verbind sigblad. Die sigblad gekry voorraad data van Yahoo Finansies, bereken EMO (oor jou gekose tyd venster) en intrige van die resultate. Die aflaai skakel is aan die onderkant. Die VBA kan besigtig word en geredigeer it8217s heeltemal gratis. Maar eers disover waarom EMO is belangrik om tegniese handelaars en markanaliste. Historiese aandele prys kaarte is dikwels besoedel met 'n baie hoë frekwensie geraas. Dit bedek dikwels groot tendense. Bewegende gemiddeldes te help gladde uit hierdie geringe fluktuasies, gee jou 'n groter insig in die algehele mark rigting. Die eksponensiële bewegende gemiddelde plekke groter belang op meer onlangse data. Hoe groter die tydperk, hoe laer is die belangrikheid van die mees onlangse data. EMO word gedefinieer deur die vergelyking. today8217s prys (vermenigvuldig met 'n gewig) en yesterday8217s EMO (vermenigvuldig met 1-gewig) Jy moet die EMO berekening met 'n aanvanklike EMO (EMO 0) kickstart. Dit is gewoonlik 'n eenvoudige bewegende gemiddelde lengte T. Die grafiek hierbo, byvoorbeeld, gee die EMO van Microsoft tussen 1 Januarie 2013 en 14 Januarie 2014 Tegniese handelaars dikwels die cross-over van twee bewegende gemiddeldes 8211 een gebruik met 'n kort tydskaal en 'n ander met 'n lang tydskaal 8211 tot koop / verkoop seine op te wek. Dikwels 12- en 26-dae - bewegende gemiddeldes gebruik. Wanneer die korter bewegende gemiddelde styg bo die meer bewegende gemiddelde, die mark is trending updwards dit is 'n koopsein. Maar wanneer die korter bewegende gemiddeldes val onder die lang bewegende gemiddelde, die mark val dit 'n sell sein. Let8217s eers leer hoe om EMO bereken met behulp van werkblad funksies. Daarna we8217ll ontdek hoe om VBA gebruik om EMO bereken (en outomaties plot kaarte) Bereken EMO in Excel met Werkkaart Funksies Stap 1. Let8217s sê dat ons wil hê dat die 12-dag EMO van Exxon Mobil8217s aandele prys te bereken. Eerstens moet ons historiese aandele pryse 8211 kry jy dat hierdie grootmaat voorraad kwotasie Downloader doen. Stap 2. Bereken die eenvoudige gemiddelde van die eerste 12 pryse met Excel8217s Gemiddeld () funksie. In die onderstaande Screengrab, in sel C16 het ons die formule GEMIDDELDE (B5: B16) waar B5: B16 bevat die eerste 12 naby pryse Stap 3. Net onder die sel wat in Stap 2, tik die EMO formule hierbo Daar het jy dit You8217ve suksesvol bereken 'n belangrike tegniese aanwyser, EMO, in 'n sigblad. Bereken EMO met VBA Nou let8217s meganiseer die berekeninge met VBA, insluitend die outomatiese skepping van erwe. Ek won8217t jou die volle VBA hier (it8217s beskikbaar in die onderstaande sigblad), maar we8217ll die mees kritieke kode bespreek. Stap 1. Aflaai historiese voorraadkwotasies vir jou ENKELE van Yahoo Finansies (met behulp van CSV lêers), en laai dit in Excel of die VBA gebruik in hierdie sigblad om historiese kwotasies te kry reguit in Excel. Stap 2: Jou data kan soos volg lyk. Dit is hier waar ons nodig het om 'n paar braincells 8211 wat ons nodig het om die EMO vergelyking in VBA implementeer oefen. Ons kan R1C1 styl gebruik om programatically betree formules in individuele selle. Ondersoek die kode hieronder snippet. EMAWindow is 'n veranderlike wat die vereiste tyd venster numRows gelyk is die totale aantal datapunte 1 (die 8220 18221 is omdat we8217re die veronderstelling dat die werklike voorraad data begin ry 2) die EMO word bereken in kolom H veronderstelling dat EMAWindow 5 en numrows 100 (dit wil sê, daar is 99 datapunte) die eerste reël plaas 'n formule in sel H6 dat die rekenkundige gemiddelde van die eerste 5 historiese data punte die tweede reël plaas formules in selle H7 bereken: H100 dat die EMO van bereken die oorblywende 95 datapunte Stap 3 Hierdie VBA funksie skep 'n plot van die beslote prys en EMO. Groot taak op kaarte en verduidelikings. Ek het 'n vraag though. As ek die begindatum tot 'n jaar later verander en kyk na onlangse EMO data, is dit opvallend anders as wanneer ek gebruik dieselfde EMO tydperk met 'n vroeëre aanvang van die datum vir dieselfde onlangse datum verwysing. Is dit wat jy verwag. Dit maak dit moeilik om te kyk na gepubliseerde kaarte met EMA getoon en dieselfde grafiek nie sien nie. Shivashish Sarkar sê: Hi, ek gebruik jou EMO sakrekenaar en ek dit baie waardeer. Ek het egter opgemerk dat die sakrekenaar is nie in staat om die grafieke te plot vir alle maatskappye (dit wys Run tyd fout 1004). Kan jy asseblief skep 'n updated weergawe van jou sakrekenaar waarin nuwe maatskappye sal ingesluit Laat 'n antwoord Kanselleer antwoord Soos die Vrystaat Spreadsheets Meester Knowledge Base Recent Posts


No comments:

Post a Comment