预备
所以计算两个序列的协方差,np.cov()得到的是一个2x2的矩阵。而第一行第二列的那个数值才是我们要求的值。
np.cov(x, y)
array([[11.71 , -4.286 ],
[-4.286 , 2.144133]])
计算beta的代码(方案一)
import pandas as pd
import numpy as np
import QUANTAXIS as QA
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
stock = QA.QA_fetch_stock_day_adv('002352','2018-12-28','2019-12-31')
index = QA.QA_fetch_index_day_adv('000300','2018-12-28','2019-12-31')
returns_stock = stock.data.close.pct_change()
returns_index = index.data.close.pct_change()
#计算两组数据的协方差
covr = np.cov(returns_stock[1:],returns_index[1:])[0