前言
在金融計(jì)算中,有很多內(nèi)容都涉及偏移計(jì)算畜晰,例如計(jì)算5天平均移動(dòng)線砾莱、計(jì)算10天漲幅等等,pandas中有很多函數(shù)可以非常簡(jiǎn)單的用一行代碼予以解決
rolling函數(shù)
主要解決統(tǒng)計(jì)學(xué)計(jì)算凄鼻,比如移動(dòng)平均線的計(jì)算方法:
df_ma10=df['close'].rolling(10).mean()
rolling可疊加不同的函數(shù)
文檔地址:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html
shift函數(shù)
主要用于偏移取值腊瑟,例如周末計(jì)算周漲幅:
df_day5=(df['close'].shift(4)-df['close'])/df['close'].shift(4)
注意:shift(int)中,int可以取正野宜,也可以取負(fù)扫步,默認(rèn)為1
shift(1)意味著取1天前的收盤價(jià),但這是兩個(gè)交易日匈子。所以如果周五計(jì)算周漲幅河胎,應(yīng)該是5個(gè)交易日,即shift(4)
文檔地址:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html
pct_change函數(shù)
主要用于計(jì)算漲幅虎敦,十分強(qiáng)大的一個(gè)工具游岳,和shift函數(shù)類似,但直接出結(jié)果其徙,不需要額外計(jì)算胚迫,還是在周末計(jì)算周漲幅
df_day5=df['close'].pct_change(4)
文檔地址:
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.pct_change.html
最后給出輸出結(jié)果