两个数据帧与 group by 的差异的标准差

Standard deviation for the difference of two dataframes with group by

我有两个熊猫数据框:

雅虎数据框:

date        ticker  return
2017-01-03  CRM     0.018040121229614625
2017-01-03  MSFT    -0.0033444816053511683
2017-01-04  CRM     0.024198086662915008
2017-01-04  MSFT    -0.0028809218950064386
2017-01-05  CRM     -0.0002746875429199269
2017-01-05  MSFT    0.0017687731146487362

数据框范围:

date        ticker  return
2017-01-03  CRM     0.018040120991250852
2017-01-03  MSFT    -0.003344466975803595
2017-01-04  CRM     0.024198103213211475
2017-01-04  MSFT    -0.0028809268004892363
2017-01-05  CRM     -0.00027464144673694513
2017-01-05  MSFT    0.0017687829680113065

我想获得 Yahoo 和 Quandl 的 'return' 数据差异的标准差,这些数据是针对每一天和数据字段的所有股票代码计算得出的。

我怎样才能得到它?

从合并数据开始:

  • df1 是雅虎数据
  • df2为Quandl数据
df = pd.merge(df1, df2, on=['date', 'ticker'], suffixes=('_yahoo', '_quandl'))

创建diff:

df['diff'] = df.return_yahoo - df.return_quandl

输出df:

获得 stdticker:

df.groupby('ticker')['diff'].std()

ticker
CRM     2.345815e-08
MSFT    1.018375e-08
Name: diff, dtype: float64