如何转移对数熊猫返回原价?

时间:2019-02-10 20:26:02

标签: python pandas

对数收益可以在Python中以这种方式计算-参见parent class

import pandas as pd
import numpy as np

np.random.seed(0)
df = pd.DataFrame(100 + np.random.randn(5).cumsum(), columns=['price'])
df['pct_change'] = df.price.pct_change()
df['log_ret'] = np.log(df.price) - np.log(df.price.shift(1))

df
Out[84]: 
        price  pct_change   log_ret
0  101.883151         NaN       NaN
1  100.535392   -0.013228 -0.013317
2   99.264907   -0.012637 -0.012718
3  100.234303    0.009766  0.009718
4   99.061180   -0.011704 -0.011773    

对于给定的起始价格,如果仅提供log_ret数据,如何获得后续价格?

首选熊猫解决方案。

1 个答案:

答案 0 :(得分:0)

您必须查看原木返回的定义并为价格解决此问题:

df['price_'] = np.exp(df['log_ret']) * df['price'].shift(1)