无标题

Posted jiang2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无标题相关的知识,希望对你有一定的参考价值。

教你一步一步使用Excel获取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’,可以选择所需要的数据库:

技术图片

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

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

具体参数参见:https://docs.quandl.com/docs/in-depth-usage

技术图片

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

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

其中:

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

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

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

技术图片

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

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

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

技术图片

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

技术图片

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

技术图片

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

技术图片

5.2 钻取数据

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

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

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

  • 第一层钻取:选择Record,右键单击【深化】。

技术图片

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

技术图片

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

技术图片

  • 继续选择【到表】

技术图片

5.3 提取数据

出现如下图符号1中出现的双向小箭头,说明已经钻取到底层了。鼠标左键单击双向小箭头,在弹出的菜单中,选择【提取值】。

技术图片

  • 弹出【从列表提取值】,选择【串联列表值所用的分隔符】,本例选择【制表符】作为分隔符。

技术图片

5.4 数据分列

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

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

技术图片

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

技术图片

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

技术图片

欢迎关注我的雪球专栏:

ID:不写代码

专栏名称:Excel做量化投资






以上是关于无标题的主要内容,如果未能解决你的问题,请参考以下文章

QT 实用代码片段

2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段

LEETCODE 003 找出一个字符串中最长的无重复片段

未指定 CLion 目标 - 无目标

Discord.js 不发送消息(无错误)

AppCompat v22.1.0 没有为片段正确主题化所有 xml 小部件