目前,获取股票数据的渠道有很多,而且基本上是免费的,比如,行情软件有同花顺、东方财富等,门户网站有新浪财经、腾讯财经、和讯网等。Python也有不少免费的开源api可以获取交易行情数据,如pandas自带的库,tushare和baostock等。由于pandas库不再支持yahoo数据库后变得很不好用,而baostock最早记录的数据是2006年,因此本文主要讲讲如何使用tushare获取股票交易数据和可视化分析,tushare基本上记录了股票自上市之日起所有的日交易数据,是目前分析国内A股(支持其他非股票行情数据,如期货)比较好用的开源接口。

阅读本文之前,建议学习或回顾下【手把手教你】系列文章,熟悉掌握pandas、tushare、numpy和matplotlib等包的使用,不然后面代码阅读起来可能比较吃力。

获取股票数据

01

使用tushare包的get_k_data()函数来获取股票交易数据,具体可以通过命令help(ts.get_k_data)了解函数和参数含义。

#先引入后面可能用到的包(package)import pandas as pd import numpy as npimport matplotlib.pyplot as plt#正常显示画图时出现的中文from pylab import mpl#这里使用微软雅黑字体mpl.rcParams['font.sans-serif']=['SimHei']#画图时显示负号mpl.rcParams['axes.unicode_minus']=Falseimport seaborn as sns #画图用的import tushare as ts#Jupyter Notebook特有的magic命令#直接在行内显示图形%matplotlib inline 

02

小试牛刀:获取上证指数自发布以来的数据

sh=ts.get_k_data(code='sh',ktype='D', autype='qfq', start='1990-12-20')#code:股票代码,个股主要使用代码,如‘600000’#ktype:'D':日数据;‘m’:月数据,‘Y’:年数据#autype:复权选择,默认‘qfq’前复权#start:起始时间#end:默认当前时间#查看下数据前5行sh.head(5)

能看到的第一列是索引,对于pandas的数据结构,最后将索引设置为时间序列,方便后面可视化分析。

#将数据列表中的第0列'date'设置为索引sh.index=pd.to_datetime(sh.date) #画出上证指数收盘价的走势sh['close'].plot(figsize=(12,6))plt.title('上证指数1990-2018年走势图')plt.xlabel('日期')plt.show()

上面的指数走势图还是可以清晰看出,股指分别在2007年和2015年有两波大牛市,然后又从高峰跌入谷底,目前处于下跌通道。真是辛辛苦苦28年,一夜回到解放前o(╥﹏╥)o

描述性统计

#pandas的describe()函数提供了数据的描述性统计#count:数据样本,mean:均值,std:标准差sh.describe().round(2)

结果如下表所示:

从上述结果可以看出,上证指数从1990年12月20日至2018年11月7日(最后交易日是当前运行时间),一共有6645个样本,均值为1937.52点,标准差为1079.51点(波动还是比较大的),最大值是6092.06点。

#再查看下每日成交量 #2006年市场容量小,交易量比较小,我们从2007年开始看sh.loc["2007-01-01":]["volume"].plot(figsize=(12,6))plt.title('上证指数2007-2018年日成交量图')plt.xlabel('日期')plt.show()

上图的成交量反映了一个有趣的现象,2014-2015年的大牛市很可能是天量的交易推动起来的,因为这期间实体经济并不景气,央行多次降息降准,货币宽松,资金流入股市,银行理财等影子银行在这期间疯狂扩张,场外加杠杆和配资主导了这一场牛市。感兴趣的朋友可以结合货币供给、实体经济指标、影子银行等数据一起分析,进行交叉验证。

均线分析

#这里的平均线是通过自定义函数,手动设置20,52,252日均线#移动平均线:ma_day = [20,52,252]for ma in ma_day: column_name = "%s日均线" %(str(ma)) sh[column_name] =sh["close"].rolling(ma).mean()#sh.tail(3)#画出2010年以来收盘价和均线图sh.loc['2010-10-8':][["close

python画图包_「Python量化」股票分析入门相关推荐

  1. java交易撮合怎么实现_「康力电梯002367」“股票实时交易系统如何实现高并发撮合交易?最好有java架构“java 股票分析工具-京东方a小-seo金融...

    本文由京东方a小编创作于2020-09-10 21:11:04发布的来源于seo金融股票配资http://www.drill-pipe.com/gov/52833.html请您欣赏.seo金融网拥有众 ...

  2. python编写赛车_「世界模型」实现,一步步让机器掌握赛车和躲避火球的技能

    前段时间,由谷歌大脑研究科学家 David Ha 与瑞士 AI 实验室 IDSIA 负责人 Jürgen Schmidhuber(他也是 LSTM 的提出者)共同提出的「世界模型」让人工智能在「梦境」 ...

  3. python断点调试_「Python调试器」,快速定位各种疑难杂症!!!

    在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲 ...

  4. python生成器单线程_「Python异步编程-3」协程、生成器、yield 的联系

    异步编程的基础在于理解协程,而协程的基础在于理解生成器,而生成器的基础在于理解yield关键字,下面就来说说这几个概念. 什么是yield关键字? 相当于return关键字,在每次next(),或者f ...

  5. python 查看当前目录_「Python」打包分发工具setuptools学习

    ❝ setuptools是python标准的打包分发工具,它可以将我们编写的python项目打包安装,这样其他同事就可以像调用标准库或python第三方库那样直接使用:也可以将项目上传到Pypi供更多 ...

  6. python画图模块_学习python画图模块plotnine:第一步安装

    官网链接 https://plotnine.readthedocs.io/en/stable/index.html 知乎介绍的文章 https://zhuanlan.zhihu.com/p/47814 ...

  7. composer 安装dev包_「PHP编程」如何搭建私有Composer包仓库?

    在前一篇文章「PHP编程」如何制作自己的Composer包?中,我们已经介绍了如何制作自己的 composer 包,以及如何使用 composer 安装自己制作的 composer 包.不过,这其中有 ...

  8. python获取财务数据_「净利润增长率」使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据 - seo实验室...

    净利润增长率 证券宝www.baostock.com是一个免费.开源的证券数据平台. 提供大量准确.完整的证券历史行情数据.上市公司财务数据.实时证券行情推送服务等. 通过Python API获取证券 ...

  9. python 分词工具_「分词工具」干货 | 史上最全中文分词工具整理 - seo实验室

    分词工具 作者 | fendouai 分词服务接口列表 二.准确率评测: THULAC:与代表性分词软件的性能对比 我们选择LTP-3.2.0 .ICTCLAS(2015版) .jieba(C++版) ...

最新文章

  1. 英巴卡迪诺新年战略:支持Linux提供中文手册
  2. 第八章 用户方式中线程的同步(2)
  3. SNAP实现(转自SuiFei)
  4. iview weapp icon组件自定义图标 小程序
  5. 面试官:Redis的事务满足原子性吗?
  6. python学习高级篇(part6)--内置函数dir
  7. 【音视频安卓开发 (五)】Android中获取音视频原始数据的方法
  8. 堆栈图解CSAPP Bomb Lab实验解析
  9. Android播放器之SurfaceView与GLSurfaceView
  10. url中传递url参数|url中特殊字符、?、=无法解析问题
  11. 苹果怎么给软件加密码_用了2年苹果手机,才知道有这几个功能,钱没花冤枉,好用!!...
  12. JAVA读取EMF文件并转化为PNG,JPG,GIF格式
  13. 控制系统--系统结构图
  14. 这个图像工具箱,让我找得好苦
  15. foxmail超大附件密码不对的解决办法
  16. 80端口封了怎么办,利用80端口映射解决
  17. 最长单调递增子序列问题 设计一个O(n2)复杂度的算法,找出由n个数组成的序列的最长单调递增子序列
  18. (CVE-2020-11800)Zabbix_Server_trapper_命令注入漏洞
  19. 论文阅读_广义加性模型_GAMs
  20. 太神了!世界上最著名的菲尔人格测试!

热门文章

  1. 垃圾分类软件使用手册
  2. 42-【什么叫规矩 什么叫体统】内置算法-生成算法、集合算法
  3. css添加 渐变色 阴影
  4. CSS3之渐变(1)
  5. iOS性能调优利器——Instruments的使用
  6. 计算机英语反义词,计算机英语的学习方法
  7. 【系统分析师之路】第七章 复盘系统设计(面向服务开发方法)
  8. GOF 设计模式Facade模式 笔记
  9. OSChina 周三乱弹 —— 冰枫~这里绝对没有你想要的内容
  10. hsqldb数据库启动遇到的问题