对于从事经济、金融研究类工作的新人们其实最先遇到的是主流金融终端使用问题。国内的氛围很奇怪,一碰上正儿八经能派上用场的东西业内人士总是讳莫如深,好像别人学去了他就马上失业,听说现在学个最基础的数据接口都动不动要付钱,把很多小白的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

其中第一句代码超级命令会自动生成,第二句就是转换代码,这样做出来的就是可以拿来用的数据了。

总结

其实金融或者经济学的学生在高校里学得更多的是数据的分析方法,可能你们懂很多高深的模型和原理,但是忽略了最基础的数据获取,因为通常你们的老师会直接把数据给你们准备好,希望这篇教程能让各位学到真正商业化且普遍使用的基础技能,否则找工作都麻烦。数据接口看似高大上,其实没什么难的,你随便搞一个数学模型难度都比他高,按我说的方法多试验,语法规则什么的就都懂了。

【R语言】如何直接调取Wind、iFinD数据接口教程相关推荐

  1. R语言为dataframe添加新的数据列(add new columns):使用R原生方法、data.table、dplyr等方案

    R语言为dataframe添加新的数据列(add new columns):使用R原生方法.data.table.dplyr等方案 目录 R语言为dataframe

  2. R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案

    R语言为dataframe添加新的数据列(横向拼接.Appending columns,Unioning columns):使用R原生方法.data.table.dplyr等方案 目录 R语言为dat

  3. R语言导入、读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv、readr包、data.table

    R语言导入.读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv.readr包.data.table 目录 R语言导入.读取网络CSV数据(Read a CSV ...

  4. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数

    R语言merge函数全连接dataframe数据(Full (outer) join).merge函数进行全连接必须将参数all设置为true(all=TRUE).默认merge函数通过公共列名合并数 ...

  5. R语言merge函数左连接dataframe数据(Left (outer) join in R)、左连接必须将参数all设置(all.x = TRUE)、默认merge函数通过公共列名合并数据集

    R语言merge函数左连接dataframe数据(Left (outer) join in R).merge函数进行左连接必须将参数all设置为(all.x = TRUE).默认merge函数通过公共 ...

  6. R语言ggplot2可视化:在选定数据点周围添加三角形(Add Triangles Around Select Data Points)

    R语言ggplot2可视化:在选定数据点周围添加三角形(Add Triangles Around Select Data Points) 目录

  7. R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points)

    R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points) 目录

  8. R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题、可视化模型预测的结果、添加超平面区域渲染并与原始数据标签进行对比分析

    R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题.可视化模型预测的结果.添加超平面区域渲染并与原始数据标签进行对比分析 目录

  9. R语言使用dplyr将特定的数据列移动到最前面、使用dplyr将特定数据列移动到另一指定数据列的后面、使用dplyr将特定数据列移动到另一指定数据列的前面

    R语言使用dplyr将特定的数据列移动到最前面.使用dplyr将特定数据列移动到另一指定数据列的后面.使用dplyr将特定数据列移动到另一指定数据列的前面 目录

  10. R语言使用pheatmap绘制热力图(数据归一化、行列聚类、注释、文字角度、字体)

    R语言使用pheatmap绘制热力图(数据归一化.行列聚类.注释.文字角度.字体) 目录

最新文章

  1. 函数指针到文本反汇编
  2. 华为诺亚开源首个亿级中文多模态数据集-悟空,填补中文NLP社区一大空白
  3. oracle删除表不等待,oracle故障处理之删除大表空间hang住
  4. error undefined reference to __android_log_print
  5. 貌似长沙有个用膳吧外卖网
  6. [转载]对 Linux 新手非常有用的20个命令
  7. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
  8. ASP.NET 2.0 XML 系列(2): XML技术
  9. C语言使用找出二维数组所有元素中的最大值,下标
  10. mac 由于网络问题,您已断开与 windows 计算机的联接.,苹果电脑启用windows系统时连接不上无线网怎么处理?...
  11. 搭建kafaka_Kafka 环境部署搭建
  12. 学习ASP.NET之前,先了解它
  13. redis mysql 事务_Mysql与Redis事务
  14. java 计算两个日期之间的月份_Java 8计算两个日期之间的月份
  15. 安装LaTeX中文字体 xGBKFonts
  16. 康泰克音源采样器完整版-Native Instruments Kontakt 6.5.3 WiN-MAC
  17. 信号的带宽、传输速率、采样率的关系
  18. java 计算百分数问题
  19. 电脑上的各个组合及功能键作用
  20. android课程设计致谢,课程设计致谢老师

热门文章

  1. c/c++成长之捷径 C/C++学习资料大全
  2. 小笔记-简单但够用系列_informix静默安装
  3. 御剑情缘服务器维护吗,御剑情缘更新后登不上怎么回事 1月11日更新后进不去解决方法...
  4. SQL挂起的解决办法
  5. 反向代理——Nginx
  6. C语言软盘,如何使用编程的方法--创建1.44兆软盘镜像的几种方法。。。(之一 C语言法)...
  7. Python编程基础 一张图认识Python
  8. 三岁小孩开发搜索引擎,搜索引擎白热化[原创]
  9. 上班摸鱼打卡模拟器微信小程序源码
  10. 北京的雾霾是大风吹走的吗