指数移动平均

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luoganttcc/article/details/83993180
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)

猜你喜欢

转载自blog.csdn.net/luoganttcc/article/details/83993180