เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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)
แก้ไขและรันโค้ด