指数移动平均

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 @   luoganttcc  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示