内容来自:微信公众号:python金融量化
关注可了解更多的金融与Python干货。

“巧妇难为无米之炊”,找不到数据,量化分析也就无从谈起。对于金融分析者来说,获取数据是量化分析的第一步。Python的一个强大功能之一就是数据获取(爬虫)。但是对于没时间学爬虫程序的小白来说,python丰富的开源包为我们节省了不少时间精力,只要会用前人的车轮(wheel),就可以造就自己的车(py)。

【谁来教我python入门?】
对于python零基础的童鞋怎么办?莫慌,关注公众号CuteHand,并回复python入门,奉上python的程序安装和入门应用指南。对于python的高阶学习,如数据分析挖掘、机器学习和量化投资,请继续关注公众号的动态。

【tushare财经数据包安装】
Tushare是一个免费、开源的python财经数据接口包,可以获取新浪财经、腾讯财经、上交所和深交所提供的数据。如果安装了Anaconda(建议),可以使用Anaconda Prompt或者通过win+R输入cmd调出dos操作界面,输入pip install tushare进行安装。如果没有pip或pip3,可以先用conda install pip (或pip3)安装。

【获取宏观经济数据】
Tushare包可以获取宏观经济数据、股票交易数据、基本面数据(公司盈利能力、业绩报告等)、新闻事件、银行间同业拆放利率等,下面着重介绍使用tushare包获取宏观经济数据和可视化分析。

1、引入需要的包(模块module):import xxx
其中,pandas和matplotlib分别是数据处理和画图常用的包,%matplotlib inline表示在Jupyter Notebook上直接显示图形(%magic函数),如果使用spyder来运行程序则不需要,但要加上plt.show()。as意味着后面调用这些包将分别使用缩写ts、pd、plt。

2、获取所需数据
tushare获取数据的命令为get_xx,xx为相应指标名字,很直观。如获取存款利率命令为ts.get_deposit_rate(),贷款利率ts.get_loan_rate(),存款准备金率ts.get_rrr()。下面主要以CPI、GDP、M1、M2为例进行分析。

3、保存到本地文件夹
使用to_csv将数据保存到本地c:/zjy/data/cpi.csv。

4、读取数据和可视化
使用pandas读取刚刚保存的数据,注意pandas的缩写是pd,代码如下。

输出图形如下:

从上图中可以清晰地看出,93、94年出现超20%的高通货膨胀,当时还伴随着资产价格泡沫,“股票热”、“期货热”、“房地产热”。以史明鉴,可以知兴替。我们当时是怎么走过这一段风雨飘摇历程的,Very interesting!回顾历史,有很多值得我们反思和借鉴的地方。此处不详细展开分析,对当时经济金融形势和ZF如何治理宏观风险感兴趣的童鞋,可以翻阅这一时期的历史资料学习下。
再来看看货币供应量M1和M2的情况。首先了解下货币供应量的几个指标含义。根据货币金融学和央行实践,整个经济体系的货币供应大致可分为M0、M1、M2及M3。
M0:居民持有的货币(即市场上流通的货币)。
M1:居民持有的货币+银行客户的活期存款。M1又称为狭义货币供应量。
M2:M1+银行客户的储蓄及定期存款,以及由银行发行的可转让存款证(由非银行持有),又称为广义货币供应量。
M3:M1+M2+有限制牌照银行及接受存款公司的客户存款,及由上述机构发行的存款证(由非银行持有)。
从M1与M2的定义可见,两者的差异只在于M1不包括储蓄存款和定期存款,因此M1与M2增幅的差异,应由储蓄存款和定期存款变动所引起。M1反映居民和企业资金松紧变化,是经济周期波动的先行指标,流动性仅次于M0;M2流动性偏弱,但反映的是社会总需求的变化和未来通货膨胀的压力状况,通常所说的货币供应量,主要指M2。

其中:month :统计时间,m2 :货币和准货币(广义货币M2)(亿元),m2_yoy:货币和准货币(广义货币M2)同比增长(%) ,m1:货币(狭义货币M1)(亿元),m1_yoy:货币(狭义货币M1)同比增长(%),m0:流通中现金(M0)(亿元),m0_yoy:流通中现金(M0)同比增长(%),其他指标省略。

使用pandas读取数据并进行数据清洗。

输出结果如下:

对M1和M2数据进行可视化,并与重大经济金融事件联系起来,这里主要加入1997年的亚洲金融危机、2007年开始的美国次贷危机、2009年的四万亿刺激计划和2017年的金融去杠杆。代码如下(注意:数据存储在df变量上,画图包matplotlib.pyplot已经使用plt来代替):

得到如下结果:

从上图可以发现,我国ZF推行的“四万亿刺激计划”使M2和M1的增长率达到峰值,而2017年以来,随着金融去杠杆,M2增长率一直处于下滑中。很遗憾,由于数据缺失,不能与前面93、94年高通货膨胀时期联系起来看。
再来看下货币供应量和GDP年度变化情况。首先,获取M2、M1和GDP年度数据,并计算M2/GDP、M1/GDP数据。代码如下:

经过数据处理后进行可视化分析:


从上图不难看出,M2/GDP总体上是曲折上升的,从1990年的不到90%到2017年的接近220%。2017年以来,尽管经济增长一直处于下行空间,但在金融去杠杆的影响下,广义货币供应量持续下滑,导致M2/GDP出现下降趋势。
很多“专家”会经常使用M2/GDP指标来解读经济质量、通胀和危机,认为M2越高,货币发行量越大,所以通胀越严重;M2/GDP越高,GDP增长需要M2越高,货币供给不足,GDP增速会下降。特别是当2009年后中国M2绝对值超过美国,更为各界诟病,普遍认为中国存在巨大的货币隐患,它可能导致通胀失控、产生泡沫甚至经济危机。
那么到底中国M2/GDP高企的本质是什么?成因何在?是不是导致中国通胀的根本原因?它对经济和金融系统稳定究竟有多大危害?这些都是值得进一步探讨的问题。
从现有文献来看,M2/GDP并不存在所谓的最优比例,而且由于种种客观原因,不同经济体之间并不具备可比性。尽管M2/GDP指标通常反映了金融机构发展在市场中的重要程度或者对于个人储蓄的贡献,但作为传统的金融深化指标,两者只在成熟金融系统中呈正相关趋势,在一个借贷受限制的不成熟市场中,两者往往反而是负相关趋势。Elhiraika研究指出M2/GDP对于金融深化的衡量可能并不贴切,因为M2/GDP畸高可能是金融市场不发达的讯号,而高度成熟的金融市场这一比例反而较低,因为后者通常持有与之经济相适应的货币量。Shunsuke Bando(1998)的分析中还注意到,对M2/GDP的分析必须结合M1/GDP这一比例,在M1/GDP稳定增长下的M2/GDP的增长才反映了亚洲经济体市场下金融机构提供相对长期的资金,如从家庭储蓄向工业部门的转移,但也须注意到,资本的非完全有效给这一分析带来的偏差,如资产泡沫、银行不良贷款的积淀等。并且,只有在扣除通货膨胀因素之后才能得到Marshallian K的真实增长率。
最后再来看下消费、投资、净出口三大需求对GDP增速的贡献率情况。





这里发现一个有趣的现象,净出口贡献率大多时候是负的,但这并不意味着外贸在拖经济后退。实际上,净出口贡献率这一概念只有统计意义,没有经济意义。用这个指标来衡量,会低估外贸对经济增长的贡献度。根据经济学理论,一国国内生产总值(GDP)可分解为总投资、总消费和净出口(包括货物出口及服务出口)三个部分。净出口是指出口额与进口额之差,净出口对经济增长的贡献率是指净出口增量与GDP增量之比,即:净出口对GDP增长的贡献率=净出口增量/GDP增量×100%。
最后再分享一个获取实时电影票房的数据结束本次话题。

【结语】
本文主要介绍了如何使用Python的开源包tushare获取宏观经济数据,以及利用pandas和matplotlib包对数据进行清洗和可视化分析。对问题的深入分析,还得结合理论(逻辑)+历史(纵向比较)+统计(数据和计量分析)。Python是我们获取和分析数据的实用工具,为验证分析逻辑或理论的正确与否提供了一个重要维度,即用数据说话,透过数据看世界。
最后分享两本Python的高清pdf教程:《Python金融大数据分析》和《零起点Python大数据与量化交易》,只要扫描下面二维码,关注公众号CuteHand并回复“python金融大数据与量化”,就可以免费下载了。

【关于CuteHand】
CuteHand是深度学习的智能助手,具有讲笑话、故事(如输入经济学小故事)、中英翻译、查询等功能。除了上述交互聊天服务,还会分享与经济金融前沿热点相关的分析框架、读书笔记,以及Python数据分析与量化投资等。

【手把手教你】Python获取财经数据和可视化分析相关推荐

  1. 【手把手教你】获取股票数据并进行量化回测——基于ADX和MACD趋势策略

    01 引言 不少喜欢量化的读者向我反馈,虽然已经掌握了Python的编程基础,但仍不知道如何切入到股票量化分析上,一是对如何获取股票数据还不太熟悉:二是拿到股票数据后不知道怎么做量化回测.实际上公众号 ...

  2. 可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析

    之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...

  3. python做bi系统_可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析

    之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...

  4. python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  5. Python获取股票数据及其可视化--基于tushare库

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  6. jq获取input选取的文件名_tushare获取交易数据并可视化分析

    获取数据是金融量化分析的第一步,找不到可靠.准确的数据,量化分析就无从谈起.随着信息技术的不断发展,数据获取渠道也越来越多,尤其是Python网络爬虫,近几年愈来愈火.然而,很多人毕竟精力有限,没时间 ...

  7. 手把手教你Python获取全部金融数据

    恒有数(UDATA)金融数据社区,由恒生电子出品.社区推出了Python金融量化资源合集(持续更新),建议收藏.

  8. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

  9. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

最新文章

  1. STM32使用DMA从串口读可变长度数据到内存
  2. 网络营销外包专员浅析定制网站更容易在网络营销外包中获取稳定排名
  3. java设计模式 单例_java设计模式一(单例模式singleton)
  4. python入门之函数结构函数的参数_python3基础之函数参数类型
  5. linux-目录查询命令-目录内容查看-ls查询-tree查询-查询类容分类-不同颜色对应不同类型
  6. labview高级编程与虚拟仪器工程应用 代码_用labview自己编程控制专用的声发射仪器...
  7. kafka--Struct Streaming--hdfs案例
  8. 将20180608141920转成date格式
  9. el-select传递多个参数_python函数是如何进行参数传递的
  10. MySQL多IDC部署注意事项
  11. 88.合并两个有序数组
  12. Xshell 发送文本到当前Xshell窗口的全部会话
  13. codeforces1549 F1 - Gregor and the Odd Cows (Easy)(皮克公式)
  14. Python 数据处理与分析(五) 设计一个高回报的投资组合(投资回报和风险分析)任务 4:马科维茨的均值-方差组合模型
  15. 运放的 零点和极点快速找到
  16. c语言求abc大小时要怎么输入,C语言 有3个数a,b,c,要求按大小顺序把它们输出。,急!!!!!有三个数abc,要求按大小顺序输出. 请问用C语...
  17. Django-数据库使用
  18. linux常用命令2
  19. 学python与嵌入式操作系统_嵌入式操作系统那么多,哪一个适合你?
  20. ASLR(地址空间随机化)

热门文章

  1. Y2_J2EE_自定义JSP标签
  2. #6讲项目实战js第三区域响应式菜单
  3. mudo atomic详解
  4. Github标星过万,Python新手100天学习计划,这次再学不会算我输!
  5. Android 抛弃IMEI改用ANDROID_ID
  6. java中输出数组元素的方法
  7. 机械设计制造及其自动化专业向PLC方向发展的可行性
  8. [虚幻引擎][UE][UE5]在UE中画一个线框球,网格连接画球,高阶画球并操控
  9. HTTP中的API是什么?
  10. linux env 变量,Linux下 输入 env 而得到的环境变量解读