前言
在金融計算中,有很多內容都涉及偏移計算,例如計算5天平均移動線、計算10天漲幅等等,pandas中有很多函數可以非常簡單的用一行代碼予以解決
rolling函數
主要解決統計學計算,比如移動平均線的計算方法:
df_ma10=df['close'].rolling(10).mean()
rolling可疊加不同的函數
文檔地址:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html
shift函數
主要用于偏移取值,例如周末計算周漲幅:
df_day5=(df['close'].shift(4)-df['close'])/df['close'].shift(4)
注意:shift(int)中,int可以取正,也可以取負,默認為1
shift(1)意味著取1天前的收盤價,但這是兩個交易日。所以如果周五計算周漲幅,應該是5個交易日,即shift(4)
文檔地址:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html
pct_change函數
主要用于計算漲幅,十分強大的一個工具,和shift函數類似,但直接出結果,不需要額外計算,還是在周末計算周漲幅
df_day5=df['close'].pct_change(4)
文檔地址:
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.pct_change.html
最后給出輸出結果
percent.png