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

使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示使用Python对股票数据进行数据分析(一)-计算日线行情、5日均线、10日均线行情并显示各种炒股软件上可以显示各种技术指标,可以帮助投资者进行技术分析。这些股市中的这些指标都是怎么计算出来的呢?这里使用python的pandas库来进行计算。后期可能使用一些专门金融分析的库,比如talib库等进行分析。一、获取数据这里需要获取的数据是股票的日线行情,这里使用tushare进行获取,以…

使用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']]

运行后结果如下:

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

二、计算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日均线:

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

三、使用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()

图片输出如下:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213399.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • matlab的length函数和size函数

    matlab的length函数和size函数在matlab中length函数和size函数的用法

    2022年5月2日
  • 旁站C段探测_旁站平行检验还有什么

    旁站C段探测_旁站平行检验还有什么旁站查询什么是旁站?旁站是和目标网站在同一台服务器上的其它的网站。在线查询:https://www.webscan.cc/https://www.aizhan.com/C段查询什么是C段?C段服务器的本质是C类IP网段。C段资产是和目标服务器ip处在同一个C段的其它服务器。查询方式:北极熊扫描器Nmap…

    2022年10月22日
  • 史上最全阿里 Java 面试题总结及答案

    史上最全阿里 Java 面试题总结及答案史上最全阿里Java面试题总结–答案一、Java基础\color{blue}{一、Java基础}一、Java基础1.JAVA中的几种基本数据类型是什么,各自占用多少字节。答案:java分为两种数据类型:1.基本数据类型2.引用数据类型:如,类,接口,数组基本数据类型:8种1.byte1个字节,-128~1272.short2个字节,-32768~327673….

    2022年7月18日
  • mac电脑无法读取移动硬盘(mac无法写入移动硬盘)

    起因苹果电脑一般都是容量不大,大点的又贼贵,于是很多机智的小伙伴选择用移动硬盘或U盘来解决。然鹅,很多小伙伴可能会碰到这样的问题:移动硬盘只读且没法写入!这是因为你买的移动硬盘是NTFS格式的,而macOS无法识别NTFS格式。解决方法(不推荐)将移动硬盘或U盘格式化成macOS能识别的格式,但这样移动硬盘或U盘可能无法在Windows电脑上使用!(推荐TuxeraNTFS)借助第三方软件实现NTFS格式的读写对比过其他的NTFS软件,还是觉得Tux

    2022年4月12日
  • 素数_c语言素数判断程序

    素数_c语言素数判断程序素数

    2022年4月20日
  • Android 低功耗蓝牙开发

    Android 低功耗蓝牙开发初识低功耗蓝牙Android4.3(APILevel18)开始引入BluetoothLowEnergy(BLE,低功耗蓝牙)的核心功能并提供了相应的API,应用程序通过这些API扫描蓝牙设备、查询services、读写设备的characteristics(属性特征)等操作。AndroidBLE使用的蓝牙协议是GATT协议,有关该协议的详细内容可以参见蓝牙官方文…

    2022年6月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号