शुरू करेंमुफ़्त में शुरू करें

Correlation के लिए permutation tests

Bitcoin की volatility की तुलना S&P 500 की volatility से कैसे है?

आपने पहले volatility को percent daily change के रूप में compute किया था, जो आपके डेटा में Pct_Daily_Change_BTC और Pct_Daily_Change_SP500 कॉलम में स्टोर है. अब आप यह जानना चाहते हैं कि ये दोनों मान किस हद तक correlate करते हैं. इसे जाँचने का एक तरीका permutation test है. S&P 500 और BTC के बीच मानों को रैंडम तरीके से shuffle करके आप देख सकते हैं कि एक यादृच्छिक परिणाम कैसा दिखेगा, और फिर उसे observed मानों से compare कर सकते हैं.

S&P 500 और Bitcoin कीमतों का एक DataFrame (btc_sp_df) आपके लिए लोड है, और साथ ही पैकेज pandas pd के रूप में, NumPy np के रूप में, और SciPy से stats भी लोड हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में अनुमान का आधार

पाठ्यक्रम देखें

अभ्यास निर्देश

  • एक statistic() फंक्शन परिभाषित करें जो दो वेक्टरों के बीच सिर्फ Pearson R मान लौटाए.
  • अपने data को एक tuple के बराबर सेट करें जिसमें BTC और SP500 की volatility हो.
  • इस data और statistic के साथ 1000 resamples तथा Bitcoin में अधिक volatility की वैकल्पिक परिकल्पना (alternative) रखते हुए एक permutation test चलाएँ.
  • प्रिंट करें कि p-value 5% स्तर पर significant है या नहीं.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Define a function which returns the Pearson R value
def statistic(x, y):
	____

# Define the data as the percent daily change from each asset
data = ____

# Compute a permutation test for the percent daily change of each asset
res = ____(____, ____, 
           n_resamples=____,
           vectorized=____, 
           alternative='____')

# Print if the p-value is significant at 5%
print(res.pvalue < 0.05)
कोड संपादित करें और चलाएँ