MulaiMulai sekarang secara gratis

Uji permutasi untuk korelasi

Bagaimana perbandingan volatilitas Bitcoin dengan volatilitas S&P 500?

Sebelumnya Anda menghitung volatilitas sebagai persentase perubahan harian, yang telah disimpan untuk Anda di kolom Pct_Daily_Change_BTC dan Pct_Daily_Change_SP500 pada data Anda. Pertanyaan yang ingin Anda jawab adalah sejauh mana kedua nilai ini berkorelasi. Salah satu cara menjawabnya adalah melalui uji permutasi. Dengan mengacak nilai secara acak antara S&P 500 dan BTC, Anda dapat melihat seperti apa hasil acak, lalu membandingkannya dengan nilai teramati.

Sebuah DataFrame berisi harga S&P 500 dan Bitcoin (btc_sp_df) telah dimuat untuk Anda, begitu juga paket pandas sebagai pd, NumPy sebagai np, dan stats dari SciPy.

Latihan ini adalah bagian dari kursus

Dasar-dasar Inferensi di Python

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi statistic() yang hanya mengembalikan nilai Pearson R antara dua vektor.
  • Setel data sama dengan tuple yang berisi volatilitas BTC dan SP500.
  • Lakukan uji permutasi dengan data ini, statistik tersebut, 1000 pengambilan ulang (resamples), dan dengan hipotesis alternatif bahwa volatilitas Bitcoin lebih besar.
  • Cetak jika p-value signifikan pada 5%.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode