大熊猫,如何从退货中获得收盘价?

时间:2018-03-18 20:33:49

标签: python-3.x pandas quantitative-finance

我试图将退货转换为价格指数,以模拟ffn库的收盘价,但没有成功。

import pandas as pd

times = pd.to_datetime(pd.Series(['2014-07-4',
'2014-07-15','2014-08-25','2014-08-25','2014-09-10','2014-09-15']))

strategypercentage = [0.01, 0.02, -0.03, 0.04,0.5,-0.3]
df = pd.DataFrame({'llt_return': strategypercentage}, index=times)

df['llt_close']=1
df['llt_close']=df['llt_close'].shift(1)*(1+df['llt_return'])

df.head(10)


        llt_return  llt_close
2014-07-04  0.01    NaN
2014-07-15  0.02    1.02
2014-08-25  -0.03   0.97
2014-08-25  0.04    1.04
2014-09-10  0.50    1.50
2014-09-15  -0.30   0.70

如何才能正确使用?

1 个答案:

答案 0 :(得分:1)

您可以使用返回亲属的累积产品。

回归亲戚是当天回归的一倍。

>>> start = 1.0
>>> df['llt_close'] = start * (1 + df['llt_return']).cumprod()

>>> df
            llt_return  llt_close
2014-07-04        0.01     1.0100
2014-07-15        0.02     1.0302
2014-08-25       -0.03     0.9993
2014-08-25        0.04     1.0393
2014-09-10        0.50     1.5589
2014-09-15       -0.30     1.0912

这假设价格指数在2014-07-04之前交易日收盘时的start开始。

在7-04,你有1%的回报,价格指数收于1 *(1 + .01)= 1.01。

7-15,回报率为2%;收盘价为1.01 *(1 + .02)= 1.0302。

当然,鉴于您正在根据不规则频率数据(缺少日期)形成价格索引,这不完全是现实的,但希望这可以回答您的问题。