指数移动平均

import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import talib

df=ts.get_k_data('600600')

#简单移动平均
def SMA(ps,k):
    
    ewma=pd.Series(0.0,index=ps.index)
#    ewma[period-1]=ps[:period].mean()
    
    for i in range(k,len(ps)):
        ewma[i] =ps[i-k:i].sum()/k
        
    return ewma
#指数移动平均
def EMA(ps,period=5,exp=0.1):
    
    ewma=pd.Series(0.0,index=ps.index)
    #数列的首项是五日的均值
    ewma[period-1]=ps[:period].mean()
    
    for i in range(period,len(ps)):
        ewma[i] =exp*ps[i]+(1-exp)*ewma[i-1]
        
    return ewma

ps=df.close
sma=SMA(ps,5)
ema=EMA(ps)
posted @ 2018-11-12 15:49  luoganttcc  阅读(196)  评论(0编辑  收藏  举报