Autocorrelation का उपयोग करती एक लोकप्रिय रणनीति
स्टॉक्स में एक पेचीदा विसंगति यह है कि निवेशक खबरों पर अक्सर ज़्यादा प्रतिक्रिया दे देते हैं। बड़े उछालों के बाद, चाहे ऊपर हों या नीचे, स्टॉक प्राइस आम तौर पर उलट जाते हैं। इसे स्टॉक प्राइस में mean reversion कहा जाता है: बड़े मूव्स के बाद प्राइस समय के साथ अपने पहले के स्तरों की ओर वापस लौटने लगते हैं, जो लगभग एक हफ्ते के समय-क्षेत्र में देखा जाता है। इसे और गणितीय तरीके से कहें तो स्टॉक रिटर्न नकारात्मक रूप से autocorrelated होते हैं।
यही सरल विचार एक लोकप्रिय हेज फंड रणनीति का आधार है। यदि आप इस हेज फंड रणनीति के बारे में और जानना चाहें (हालाँकि कोर्स के आगे के भागों के लिए यह पढ़ना आवश्यक नहीं है), तो यहाँ देखें.
आप 2012 से 2017 के बीच MSFT स्टॉक के साप्ताहिक रिटर्न की autocorrelation देखेंगे। आप दैनिक प्राइस वाले DataFrame MSFT से शुरू करेंगे। आपको साप्ताहिक प्राइस पाने के लिए .resample() मेथड का उपयोग करना है और फिर प्राइस से रिटर्न निकालने हैं। pandas का .autocorr() मेथड उपयोग करके autocorrelation निकालें और दिखाएँ कि autocorrelation नकारात्मक है। ध्यान दें कि .autocorr() मेथड केवल Series पर काम करता है, DataFrame पर नहीं (भले ही DataFrame में केवल एक कॉलम हो), इसलिए आपको DataFrame में से कॉलम select करना होगा।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Analysis
अभ्यास निर्देश
- दैनिक डेटा को साप्ताहिक डेटा में बदलने के लिए
.resample()मेथड कोrule='W'के साथ उपयोग करें और उसके बाद फंक्शन.last()लगाएँ। - साप्ताहिक प्राइस में प्रतिशत बदलावों का एक नया DataFrame
returnsबनाएँ, इसके लिए.pct_change()मेथड का उपयोग करें। - autocorrelation निकालने के लिए DataFrame
returnsमें क्लोज़िंग स्टॉक प्राइस वाले कॉलम'Adj Close'(जो एक series होगी) पर.autocorr()मेथड चलाएँ।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Convert the daily data to weekly data
MSFT = MSFT.resample(___).___
# Compute the percentage change of prices
returns = MSFT.___
# Compute and print the autocorrelation of returns
autocorrelation = returns[___].___
print("The autocorrelation of weekly returns is %4.2f" %(autocorrelation))