Bootstrap confidence intervals
ก่อนหน้านี้เราพบว่า S&P 500 และ Bitcoin มีความสัมพันธ์กันในระดับหนึ่ง วิธีหนึ่งในการวัดความสัมพันธ์นี้คือดูที่ค่าสัมประสิทธิ์สหสัมพันธ์ Pearson's R ระหว่างทั้งสอง แต่การทำเช่นนั้นให้ผลเป็นเพียงค่าประมาณจุดเดียว ในบางช่วงเวลาความสัมพันธ์ระหว่างทั้งสองอาจใกล้เคียงกันมาก ขณะที่บางช่วงก็อาจแตกต่างกันอย่างมาก แล้วจะอธิบายความแปรปรวนนี้ได้อย่างไร? แนวทางหนึ่งคือการสร้าง bootstrap confidence interval สำหรับค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างทั้งสอง ซึ่งเป็นสิ่งที่จะได้ทำในแบบฝึกหัดนี้!
โหลด DataFrame ของราคา S&P 500 และ Bitcoin (btc_sp_df) ไว้ให้แล้ว รวมถึงแพ็กเกจ pandas เป็น pd, NumPy เป็น np, และ stats จาก SciPy
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
พื้นฐานการอนุมานทางสถิติด้วย Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute the daily percent change of each asset
btc_sp_df['Pct_Daily_Change_BTC'] = (____['Open_BTC'] - ____['Close_BTC']) / ____['Open_BTC']
btc_sp_df['Pct_Daily_Change_SP500'] = ____
# Write a function which returns the correlation coefficient
def pearson_r(x, y):
return stats.____[0]
# Compute a bootstrap confidence interval
ci = stats.bootstrap((____, ____),
statistic=____,
vectorized=False, paired=True, n_resamples=1000, random_state=1)
print(ci.confidence_interval)