स्टॉक्स का अध्ययन करने के लिए merge_asof() का उपयोग
आप स्टॉक मार्केट की कीमतों का एक फ़ीड रिकॉर्ड करते हैं. आप हर पाँच मिनट पर कीमत ट्रैक करने की कोशिश करते हैं. फिर भी, नेटवर्क लेटेंसी के कारण, जो कीमतें आप रिकॉर्ड करते हैं वे लगभग हर 5 मिनट पर होती हैं. आप तीन बैंकों — JP Morgan (JPM), Wells Fargo (WFC), और Bank Of America (BAC) — के अपने प्राइस लॉग्स निकालते हैं. आप जानना चाहते हैं कि बाकी दो बैंकों की कीमतों में बदलाव JP Morgan की तुलना में कैसा है. इसलिए, आपको इन तीनों लॉग्स को एक टेबल में मर्ज करना होगा. इसके बाद, समय के साथ प्राइस चेंज निकालने के लिए आप pandas की .diff() मेथड का उपयोग करेंगे. अंत में, प्राइस चेंज को प्लॉट करें ताकि आप अपना विश्लेषण देख सकें.
तीनों लॉग फाइलें आपके लिए jpm, wells, और bac नाम की टेबल्स के रूप में लोड की गई हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
pandas के साथ Data Joining
अभ्यास निर्देश
merge_asof()का उपयोग करकेjpm(लेफ्ट टेबल) औरwellsकोdate_timeकॉलम पर मर्ज करें, जहाँ सबसे नज़दीकी समय वाली पंक्तियाँ मैच हों, औरsuffixes=('', '_wells')दें. परिणामjpm_wellsमें सेव करें.merge_asof()का उपयोग करकेjpm_wells(लेफ्ट टेबल) औरbacकोdate_timeकॉलम पर मर्ज करें, जहाँ सबसे नज़दीकी समय वाली पंक्तियाँ मैच हों, औरsuffixes=('_jpm', '_bac')दें. परिणामjpm_wells_bacमें सेव करें.price_diffsसेclose_jpm,close_wells, औरclose_bacकी क्लोज़ प्राइस को प्लॉट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Use merge_asof() to merge jpm and wells
jpm_wells = ____
# Use merge_asof() to merge jpm_wells and bac
jpm_wells_bac = ____
# Compute price diff
price_diffs = jpm_wells_bac.diff()
# Plot the price diff of the close of jpm, wells and bac only
price_diffs.plot(y=[____, ____, ____])
plt.show()