最近在计算上证综指的对数收益率,用到了如下代码:
#计算日对数收益率
SZ["close_lag"] = SZ["close"].shift(1)
SZ["ln_clo"] = SZ["close"].apply(np.log)
SZ["ln_clo_lag"] = SZ["close_lag"].apply(np.log)
SZ["r"]=SZ["ln_clo"]-SZ["ln_clo_lag"]
出来的结果是这样的:
以2019-01-03这一行为例子,dataframe计算结果为:
ln(2464.36)-ln(2465.29)=-0.000376578
但是!!!
科学计算器计算的结果为:-0.000377309,为什么会有这么大的差距啊?