vector - EMA computation using filter function in R -


मैं vectorized संकेतन में इस कोड को पुन: उत्पन्न करना चाहूंगा

  getEMA2 & lt; -function (x , जीत) {k & lt; -2 / (win + 1) v & lt; -vector () के लिए (i में 1: लंबाई (x)) {if (i == 1) {v [i] & lt; -x [i ]} और {v [i] & lt; -k * x [i] + (1-k) * v [i-1]} वापसी (v)} टेस्टऑप्टपुट & lt; -getEMA2 (rnorm (100,0,1) , 5)   

मैंने फिल्टर फ़ंक्शन का उपयोग करने की कोशिश की है, लेकिन यह प्रकट नहीं होता कि पुनरावर्ती / कनवर्लिशन विधियों को यह प्राप्त कर सकता है

प्रतिक्रियाओं के लिए धन्यवाद,

चूंकि फ़िल्टर computes

  y [n ] = X [n] + अल्फा * y [n-1]   

आपको परिणाम rescale की आवश्यकता है।

  f & lt; - function (x , जीत) {अल्फा और एलटी; - 2 / (जीत + 1) फिल्टर (एक्स, 1-अल्फा, विधि = "रिकर्सिव", पक्ष = 1, init = x [1] / अल्फा) * अल्फा} x & lt; - 1 : 10 के & lt; - 3 getEMA2 (x, k) f (x, k) # समान   

अधिकांश फिल्टर पहले से ही TTR पैकेज में परिभाषित किए गए हैं ।

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -