开始使用免费开始使用

相关性的置换检验

比特币的波动性与 S&P 500 的波动性相比如何?

您之前将波动性计算为每日百分比变动,这些结果已存储在数据中的 Pct_Daily_Change_BTCPct_Daily_Change_SP500 列。您现在要回答的问题是这两个值之间的相关程度。可以通过置换检验来回答。通过在 S&P 500 与 BTC 之间随机打乱数值,您可以观察到随机结果会是什么样子,然后将其与观测到的数值进行比较。

已为您加载包含 S&P 500 与比特币价格的 DataFrame(btc_sp_df),以及将 pandas 导入为 pd、NumPy 导入为 np,并从 SciPy 导入 stats

本练习是课程的一部分

Python 推断基础

查看课程

练习说明

  • 定义一个 statistic() 函数,仅返回两个向量之间的 Pearson 相关系数 R。
  • data 设为一个元组,内含 BTCSP500 的波动性。
  • 使用该数据与统计量进行置换检验,重抽样次数为 1000,备择假设为比特币具有更高的波动性。
  • 当 p 值在 5% 水平上显著时打印结果。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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)
编辑并运行代码