一步一步画战车(雷电3接口)

在用EXCEL做量化分析的时候,经常需要通过一些金融数据平台的API接口,获取各种数据。最常用的公共API接口有YahooFinance,GoogleFinance,新浪财经,搜狐财经等。这些都不需要注册,就可以直接使用。获取方式相对简单,但数据种类不够丰富,通常只包括交易数据和财务数据。另外一些免费的金融数据平台,如国外的Quandl和国内的Tushare也都提供了API接口,数据种类更…

大家好,又见面了,我是你们的朋友全栈君。

在用EXCEL做量化分析的时候,经常需要通过一些金融数据平台的API接口,获取各种数据。

最常用的公共API接口有Yahoo Finance,Google Finance,新浪财经,搜狐财经等。这些都不需要注册,就可以直接使用。获取方式相对简单,但数据种类不够丰富,通常只包括交易数据和财务数据。

另外一些免费的金融数据平台,如国外的Quandl和国内的Tushare也都提供了API接口,数据种类更丰富一些,所不同的是需要注册,并获得API KEY才可以使用。

由于国内常用的Tushare平台,与大多数平台使用的GET方式获取不同,使用的是POST方式,比较特殊,不具有代表性。

因此,这里拿Quandl举例,教你一步一步的使用Excel,通过API接口载入数据。其他提供API数据接口的网站,也可以采用同样的方法。

具体操作步骤如下:

第一步:登录www.quandl.com,并注册一个免费账号

每个免费账号对应一个API KEY,可以在【帐户设置页面】中找到,如下图:在这里插入图片描述

第二步:选择数据库

点击正上方的‘EXPLORE’,可以选择所需要的数据库:

一步一步画战车(雷电3接口)

要注意选择免费的数据库。本例我们选择美股名称为“WIKI”的数据库。

第三步:查看API数据接口的参数

具体参数参见:https://docs.quandl.com/docs/in-depth-usage
教你一步一步使用Excel获取API接口的金融数据

假定我们要下载苹果公司AAPL的历史股价数据,那么对应的URL地址为:

https://www.quandl.com/api/v3/datasets/WIKI/AAPL/data.json?api_key=YOURAPIKEY

其中:

  • “WIKI” 位置为数据库名称,可根据需要替换
  • “AAPL”为股票名称,可以根据需要替换
  • 注意将其中的“YOURAPIKEY”换成上面注册后获得的API KEY

第四步:将该URL地址复制到浏览器中,可以看到如下JSON数据

教你一步一步使用Excel获取API接口的金融数据

第五步,在Excel中打开并解析JSON数据

上面的数据看起来很乱。但很酷的是,Excel 内置了 JSON 和XML解析功能,我们只需点击几下即可轻松将类似内容转换为更熟悉和可读的表。

5.1 新建查询
  • 打开Excel,在【数据】选项卡中,单击【新建查询】,然后选择【从其他源】,再选择【自网站】。如下图所示:

教你一步一步使用Excel获取API接口的金融数据

  • 在弹出的【从Web】对话框中,单击【基本】,然后输入前面的URL地址。如下图所示:

教你一步一步使用Excel获取API接口的金融数据

  • 得到查询结果如下,然后单击【转化数据】按钮。

教你一步一步使用Excel获取API接口的金融数据

  • 选择dataset_data-Record,单击【到表中】:

在这里插入图片描述

5.2 钻取数据

每个JSON的数据库结构不同,解析出来的数据,还要经过钻取的步骤,一直钻取到数据的最底层。

所谓的钻取,就是不断的重复执行【深化】+【到表中】的步骤。

以本案为例,要钻取二层,即要执行二次【深化】和【到表中】的步骤。

  • 第一层钻取:选择Record,右键单击【深化】。
    教你一步一步使用Excel获取API接口的金融数据

  • 然后,选择Data-List ,单击【到表中】。

教你一步一步使用Excel获取API接口的金融数据

  • 第二层钻取,选择Data-List ,右键单击【深化】。

教你一步一步使用Excel获取API接口的金融数据

  • 继续选择【到表】

教你一步一步使用Excel获取API接口的金融数据

5.3 提取数据

出现如下图符号1中出现的双向小箭头,说明已经钻取到底层了。鼠标左键单击双向小箭头,在弹出的菜单中,选择【提取值】。
教你一步一步使用Excel获取API接口的金融数据

  • 弹出【从列表提取值】,选择【串联列表值所用的分隔符】,本例选择【制表符】作为分隔符。
    教你一步一步使用Excel获取API接口的金融数据
5.4 数据分列

出现的数据,是没有分列的,我们需要对数据按照“制表符”进行拆分列处理。

  • 选择【转化】选项卡,再【文本列】组中,选择【拆分列】选项卡,在弹出的【按分隔符拆分列】窗口中,选择按【制表符】进行拆分。

教你一步一步使用Excel获取API接口的金融数据

5.5 数据上载到Excel
  • 拆分后,数据出现如下图所示,可以关闭POWER QUERY了,选择【关闭并上载】。将数据上载到Excel中。
    在这里插入图片描述

  • 上载到Excel中的数据,如下图所示。可以进行后续的量化分析操作了。

教你一步一步使用Excel获取API接口的金融数据

欢迎关注我的专栏:

ID:不写代码

专栏名称:Excel做量化投资

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

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

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


相关推荐

  • springboot+eureka集群搭建

    springboot+eureka集群搭建eureka集群搭建此集群共有三个eureka台组成eureka集群的核心思想就是互相注册,相互守望,你中有我,我中有你(个人理解)意思就是第一台机器01注册地址defaultZone中的地址是02,03的,02的注册地址是01,03的。03的注册地址是01,02的首先新建三个项目来代表eureka的三台机器父类的pom文件大家可以一起用<?xmlversion=”1.0″encoding=”UTF-8″?><projectxmlns=”http://maven.ap

    2022年5月21日
    67
  • oracle jdk 和 openjdk 切换使用

    oracle jdk 和 openjdk 切换使用

    2020年11月9日
    323
  • 文件路径超过系统限制_linux文件名长度限制

    文件路径超过系统限制_linux文件名长度限制Linux在Linux系统下,可以查看limits.h头文件里面有针对NAME和PATH的最大长度限制:#ifndef_LINUX_LIMITS_H#define_LINUX_LIMITS_H……#defineNAME_MAX255 /*#charsinafilename*/#definePATH_MAX4096 /*#charsinapathnameincludingnul*/……#en

    2022年8月30日
    0
  • 实战项目中Java heap space错误的解决[通俗易懂]

    实战项目中Java heap space错误的解决[通俗易懂] java高级面试 2018-09-0720:19:23部标GPS通讯系统在上线之后,经过不断调试,终于稳定运行一段时间,后来又遇到了Javaheapspace错误异常!日志如下: 说明系统中有未释放的对象。如何找出这些未释放对象以及监控JVM堆内存,优化代码释放内存对象呢?还有JVM的垃圾回收机制是如何运作的呢?首先在系统启动运行的时候打开记录GC详细信息,运行脚本…

    2022年7月8日
    16
  • 网络学习 局域网分类 以太网 令牌网 FDDI光纤分布式数据接口网 异步传输模式网(ATM) 无线局域网

    网络学习 局域网分类 以太网 令牌网 FDDI光纤分布式数据接口网 异步传输模式网(ATM) 无线局域网局域网虽然目前我们所能看到的局域网主要是以双绞线为代表传输介质的以太网,那只不过是我们所看到都基本上是企、事业单位的局域网,在网络发展的早期或在其它各行各业中,因其行业特点所采用的局域网也不一定都是以太网,目前在局域网中常见的有:以太网(Ethernet)、令牌网(TokenRing)、FDDI网、异步传输模式网(ATM)等几类,下面分别作一些简要介绍。1以太网是这样通信的,每台电…

    2022年9月21日
    0
  • flag_activity_new_task 简单_activity启动流程图解

    flag_activity_new_task 简单_activity启动流程图解当在一个的activity以FLAG_ACTIVITY_NEW_TASK的方式启动另一个已经启动的activity时,需要设置intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setAction(Intent.ACTION_MAIN);否则将要打开的activity会重走一遍onCreate(),加上之后会直接调用之前的acti

    2022年9月28日
    0

发表回复

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

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