2017-07-19 6 views
5

मैं वर्तमान में कुछ वित्तीय गणना से जुड़े कोड को लिख रहा हूं। विशेष रूप से कुछ घातीय चलती औसत। काम मैं पांडा और तालिब की कोशिश की है करने के लिए:घातीय मूविंग औसत पांडस बनाम ता-lib

talib_ex=pd.Series(talib.EMA(self.PriceAdjusted.values,timeperiod=200),self.PriceAdjusted.index) 
pandas_ex=self.PriceAdjusted.ewm(span=200,adjust=True,min_periods=200-1).mean() 

वे दोनों ठीक काम करते हैं, लेकिन वे सरणी की शुरुआत में अलग-अलग परिणाम प्रदान करते हैं:

200 day EMA - Talib vs Pandas

तो वहाँ के लिए कुछ पैरामीटर है पांडा के ईडब्ल्यूएमए में बदलें या यह एक बग है और मुझे चिंता करनी चाहिए?

अग्रिम

लुका

उत्तर

3

तालिब ईएमए के लिए धन्यवाद, सूत्र है:

तो जब पांडा का उपयोग कर, आप के रूप में ही ईएमए पांडा करना चाहते हैं तालिब, आपको इसका उपयोग इस प्रकार करना चाहिए:

pandas_ex = self.PriceAdjusted.ewm (span = 200, समायोजन = झूठी, min_periods = 200-1) .mean()

दस्तावेज़ (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.ewm.html) आप तालिब के रूप में एक ही सूत्र उपयोग करना चाहते हैं के अनुसार के रूप में झूठी समायोजित सेट: जब समायोजित

यह सच है (डिफ़ॉल्ट), भारित औसत वजन (1-अल्फा) (एन -1), (1-अल्फा) (एन -2), ..., 1-अल्फा, 1.

समायोजन करते समय गणना की जाती है झूठी, भारित औसत की गणना क्रमशः गणना की जाती है: भारित_एवरेज [0] = तर्क [0]; भारित_एवरेज [i] = (1-अल्फा) भारित_एवरेज [i-1] + अल्फा तर्क [i]।

आप यहां देख सकते हैं: https://en.wikipedia.org/wiki/Moving_average

पुनश्च: हालांकि, अपने प्रोजेक्ट में, मैं अभी भी तालिब और pandas.ewm के बीच कुछ छोटे मतभेद अभी तक पता नहीं क्यों खोजने के लिए और ...

संबंधित मुद्दे