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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

Jetbrains全家桶1年46,售后保障稳定

运行后结果如下:

使用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • revit二次开发教程_BIM二次开发

    revit二次开发教程_BIM二次开发1、利用revit2012和vs2010实现二次开发。1)第一步,利用vs2010建立c#Windows服务类型的项目。2)给新生成的项目添加引用,(放在工程上右键),添加revit相关,把

    2022年8月1日
    0
  • java soa是什么_什么是SOA呢

    java soa是什么_什么是SOA呢关于SOA(Service-OrientedArchitecture),最近多次听到这概念,有点懵,网上找了些资料,一起来看看。SOA的概念SOA是由Garnter1996年提出的概念(架构如图1所示),将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,目的是为了让软件变的有弹性,能够快速响应业务的需求,使开发人员以最…

    2022年6月15日
    37
  • coding平台_codeserver github

    coding平台_codeserver github这年头,IDE虽然也便宜了,不过,免费,还如此强大的就不多了。Codio,官方号称世界上最强大的基于浏览器的强大免费WebIDE,口号很响亮,当然,我也没用过,希望有朋友用了的,也来冒个泡。因为自己也是才接触这个,看了些国外用户的反馈,感觉还不错。这里就主要给寻找IDE的朋友们推荐这个东西。Codio是一个功能强大的云计算和基于浏览器的IDE(webide),从原型到部署,涵盖了完整的web…

    2022年8月31日
    2
  • Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)

    Windows常用快捷键和常用的cmd命令(亲测用了办公效率提升明显)Widows常用快捷键常用的运行窗口命令大全常用的cmd命令

    2022年7月21日
    20
  • pytest skipif_pytest失败重跑

    pytest skipif_pytest失败重跑前言pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能Skip和xfail:处理那些不会成功的测试用例你可以对那些在某些特定平台上不能运行的测试用

    2022年7月31日
    3
  • PostgreSQL 列转行问题

    PostgreSQL 列转行问题1测试表数据SELECT   relative_label_contentFROM   frk_s.label_cor_generelative_label_content——AABBCC 2列转行写法写法1:(string_agg)SELECT   frwybs,   string_agg(relative_label_co…

    2022年6月16日
    102

发表回复

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

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