量化分析入门2:上证指数走势图及移动平均线

#talib入门2:上证指数走势图及移动平均线
作者:冯德平(山野雪人)
本文程序中给出了详细的注释:

import pandas as pd
import talib as ta
import matplotlib.pyplot as plt

#正常显示画图时出现的中文和负号:
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']    #显示中文
#mpl.rcParams['axes.unicode_minus']=False     #显示正负号

#从文件读取上证指数数据
df=pd.read_csv(r'D:\temp\szzs.csv')
print(df.tail(10))   #显示最后10行数据,默认是5行

#画3、21指数移动平均线
times=[3,21]
for time in times:
    df['ma_'+str(time)]=ta.EMA(df.close,timeperiod=time)    #timeperiod是时间,如3天,21天
    #df['ma_'+str(time)]=ta.SMA(df.close,timeperiod=time)    
    #df['ma_'+str(time)]=ta.WMA(df.close,timeperiod=time)    
    #df['ma_'+str(time)]=ta.DEMA(df.close,timeperiod=time)    
    #df['ma_'+str(time)]=ta.TEMA(df.close,timeperiod=time)    
    #df['ma_'+str(time)]=ta.TRIMA(df.close,timeperiod=time)
    #df['ma_'+str(time)]=ta.KAMA(df.close,timeperiod=time)
    #df['ma_'+str(time)]=ta.T3(df.close,timeperiod=time)
    #df['ma_'+str(time)]=ta.MAMA(df.close,timeperiod=time)    #出现错误
    #MAMA不知为什么会出现错误,将3,21改成5,20则可以正常运行,有待进一步的研究
    

#起始时间:2015-09-01;close为收盘价;figsize为图片尺寸:
df.loc['2015-09-01':,['close','ma_3','ma_21']].plot(figsize=(20,8))
ax = plt.gca()  #获得当前的Axes对象ax
ax.spines['right'].set_color('none')   #隐藏右边的竖轴
ax.spines['top'].set_color('none')     #隐藏顶上的横轴
plt.title('上证指数走势及移动平均线',fontsize=14)  #标题
plt.xlabel('时间')    #标注X轴
plt.ylabel('上证指数')  #标注Y轴
plt.show()   #绘图

'''
            date     open    close     high      low       volume code
5254  2021-09-06  3580.14  3621.86  3626.29  3580.14  521713276.0   sh
5255  2021-09-07  3621.71  3676.59  3681.93  3615.14  547721875.0   sh
5256  2021-09-08  3673.40  3675.19  3695.32  3661.00  586436193.0   sh
5257  2021-09-09  3666.82  3693.13  3693.45  3662.16  604810330.0   sh
5258  2021-09-10  3691.19  3703.11  3722.87  3681.64  635200433.0   sh
5259  2021-09-13  3699.25  3715.37  3716.83  3692.82  557484019.0   sh
5260  2021-09-14  3709.63  3662.60  3723.85  3655.63  564952386.0   sh
5261  2021-09-15  3651.16  3656.22  3677.53  3638.32  474970001.0   sh
5262  2021-09-16  3664.84  3607.09  3677.92  3606.73  546741474.0   sh
5263  2021-09-17  3595.27  3613.97  3620.96  3569.27  516850210.0   sh
'''

在这里插入图片描述
本文数据地址:
链接:https://pan.baidu.com/s/1tDiO6QYi5kTYT6AiYlsGfw
提取码:bvq9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值