对于从事经济、金融研究类工作的新人们其实最先遇到的是主流金融终端使用问题。国内的氛围很奇怪,一碰上正儿八经能派上用场的东西业内人士总是讳莫如深,好像别人学去了他就马上失业,听说现在学个最基础的数据接口都动不动要付钱,把很多小白的career都扼杀在了摇篮里,数据是一切研究的基础,API的应用很重要,这里我会直接上干货手把手给大家展示使用流程和最重要的一些小窍门。
Wind金融终端
首先是最常用也是最全的Wind(万得)终端,原理优势什么的都是废话我就不讲了,输入你的账号密码登录,然后再程序最上方菜单栏里有一个“量化”选项,点进去再选“数据接口”,接着再点API接口:
然后会跳出内部网页,然后点页面上的“R”按钮就可以看到全部使用细节,这是官方的说明,用来解决深入的问题。
直接点的方法,在最顶部的菜单栏第一个“我的”选项里,有一个“插件修复”选项,点击“修复R插件”即可自动配置Wind在R语言的环境配置:
接着打开RStudio,第一次运行安装Wind包:
install.packages("WindR")
待安装完成后加载该包:
library(WindR)
接下来对新手很重要的一点,启动Wind快捷菜单:
w.start()
就会跳出来一个小菜单栏:
这个东西可以直接生成所有数据的相应抓取代码,比如第一个WSD,即日期序列数据,点开来就是这样:
如果是研究股票的就选择相应的股票数据,如行情数据中的开、收盘价等:
然后就一直按说明点“下一步”,最后会在RStudio的控制台里直接显示数据代码:
此时的代码是未运行的,需要你复制粘贴后自行运行,这里的话我一般不建议数据名用默认的,比如这里的“w_wsd_data”,可以改成更简介易懂的,代码中具体的各种参数会根据你选的数据种类变化,大家自己按需求试就行了。这步完成后就已经直接从Wind数据库下载数据到R上了,但是这里千万注意,还不能直接使用,因为万得的数据包含了两层,它的结构是这样的:
真正的数据在“Data”里,所以要用美元符号进行提取:
data<-stock_1$Data
然后看“data”就发现是我们想要的数据了:
其他种类的数据同理操作即可。这个方法对小白的友好之处就在于快捷工具栏的使用没有编程能力要求,看的懂中文按说明一步步用鼠标点点就行,理论上所有数据都能这样拿到,自动出代码后复制粘贴即可,后续多试验熟练了你就会懂参数的语法,进而自己直接修改代码,到此Wind的API调用就结束了。
同花顺iFinD
现在介绍另一个最常用的数据供应商同花顺iFinD的使用,一般用它最主要的原因是使用相对便宜,当然如果你的老板够大方就直接买Wind账号吧,用起来确实更方便,数据也更全。
首先下载同花顺iFinD应用程序,同样在菜单中找到插件修复,然后点击修复R语言插件就完成环境配置。这里需要注意的是在官网同时下载数据接口应用:
也就是图中第3个,下载下来的应用解压后创建快捷方式,叫做“super command”,也就是下图中的第二个图标:
这个东西就类似之前Wind上的快捷工具栏,也是可以直接生成代码的,属于小白必备。
所需应用程序完备了就开始准备R上的代码,首次运行时安装程序包:
install.packages("iFinDR")
install.packages("RJSONIO")
RJSONIO包如果无发下载可能是你的版本太低,升级你的R版本就行,如果还是不行就需要手动安装,百度一下就行,方法很多不说了。
然后再运行:
library('iFinDR')
library('RJSONIO')
然后输入你的账号密码,注意,iFinD的账号密码是要在R里面以代码的形式再次输入的(Wind只需要登录了应用程序就行,不用再次输入),代码为:
THS_iFinDLogin('账号','密码') ##输入账号密码##
运行后返回值为0就说明成功了,这里插一嘴,任何报错返回值都可以在官网的错误说明中找到相应解释,对症下药debug就行了。
然后打开超级命令,在最上方的“接口语言”选择R,然后点“账号信息”,再次输入账号密码再连接就ok了。最后在这个上方菜单栏中选择点出你要的数据,一步步做下去,同样会自动生成所需代码:
比如我需要可转债的转股价和纯债价值,注意,与Wind不同的是此处代码并非直接获得了数据,后面还需要一行特有的转换代码:
data1<-THS_DateSerial(code,'ths_conversion_clause_price_cbond;ths_pure_bond_value_cbond',';','',nowday,nowday,TRUE)
data1<-THS_Trans2DataFrame(data1)
data1
其中第一句代码超级命令会自动生成,第二句就是转换代码,这样做出来的就是可以拿来用的数据了。
总结
其实金融或者经济学的学生在高校里学得更多的是数据的分析方法,可能你们懂很多高深的模型和原理,但是忽略了最基础的数据获取,因为通常你们的老师会直接把数据给你们准备好,希望这篇教程能让各位学到真正商业化且普遍使用的基础技能,否则找工作都麻烦。数据接口看似高大上,其实没什么难的,你随便搞一个数学模型难度都比他高,按我说的方法多试验,语法规则什么的就都懂了。