在用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
第四步:将该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做量化投资