使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示

使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示

各种炒股软件上可以显示各种技术指标,可以帮助投资者进行技术分析。这些股市中的这些指标都是怎么计算出来的呢?这里使用python的pandas库来进行计算。后期可能使用一些专门金融分析的库,比如talib库等进行分析。

一、获取数据

这里需要获取的数据是股票的日线行情,这里使用tushare进行获取,以‘贵州茅台’股票进行分析。

#获取贵州茅台2019年12月1日以来的日线数据
daily = pro.daily(ts_code = '600519.SH',start_date = '20191201')
#将trade_date列,转化为日期格式
daily['trade_date'] = pd.to_datetime(daily['trade_date'], format="%Y%m%d")
#删除无用的列
daily = daily[['trade_date', 'close']]

运行后结果如下:

二、计算5日均线、10日均线数据

代码如下,通过pandas的rolling函数,计算5日均线数据:

#按照时间顺序升序排列
daily.sort_values('trade_date', inplace = True)
ma_list = [5, 10, 20]
for ma in ma_list:
    daily['ma_' + str(ma)] = daily['close'].rolling(ma).mean()
print(daily)

输出结果,可以看到5日均线数据的前4天是没有数据的,因为这个时候还没有到5天,无法计算5日均线:

三、使用matplotlib对数据进行作图

使用matplotlib进行作图,以日期列作为横坐标,收盘价、5日均线、10日均线、20日均线作为纵坐标进行作图显示,并保存图像。

#收盘价作图
plt.plot(daily['trade_date'], daily['close'], '-', label = 'close')

for ma in ma_list:
    #ma作图
    plt.plot(daily['trade_date'], daily['ma_' + str(ma)], '-', label = 'ma_' + str(ma))

plt.gcf().autofmt_xdate()
#显示文字
plt.legend()
#显示图片
plt.savefig('all.png')
plt.show()

图片输出如下:

使用tushare pro 数据需要免费注册,取得token。点击免费注册获取token或者https://tushare.pro/register?reg=287337,免费注册,获取token。

就到这里了,看看是不是和股票软件显示的一样的。有个这个数据是不是可以激发你的灵感。比如自己写一个程序,当10日均线小于5日均线,并且10日均线大约20日均线的时候,发出提醒。赶紧动起手来吧,实现你的千奇百怪的想法,祝各位早日实现财务自由的梦想~~

  • 13
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值