R

升级公告

版本号版本变动信息发布时间
2.5.6.0V2.5.4.7-> V2.5.6.02024-8-23
  1. 新增流量查询函数
  2. 日期宏中绝对日期新增本季初、本季末、上季末
  3. CSS函数指标存在TradeDate、SellDate、EndDate、Tdate、Closedate等日期参数时,返回日期调整为日期参数具体值
  4. 代理函数setproxy的参数proxyip支持字母格式
  5. 其他bug修复

目录

接口配置接口配置登录函数退出函数数据函数截面函数序列函数专题报表宏观数据资讯函数板块截面函数功能函数条件选股宏观指标查询资讯板块查询板块函数交易日历交易日偏移区间交易日数获取错误码信息设置路径函数设置代理函数人工激活函数指标校验函数代码校验函数日期宏流量查询函数组合函数新建组合组合资金调配组合查询批量下单组合报表查询删除组合错误类型错误类型常见问题激活注册登录函数序列函数截面函数

接口配置

 

接口配置

 

文件存放位置

在量化接口官网 (https://quantapi.eastmoney.com/) 下载压缩包EmQuantAPI_R.zip,下载完成后解压。其中:

 

EMQuantR 接口配置的系统环境要求与方法

系统环境要求

  • 下载链接:http://choiceclub.eastmoney.com/#/articleDetail/8769

配置方法

  登录Choice量化接口网站主页(https://quantapi.eastmoney.com),点击右上角账户名-个人资料绑定手机号。或者登录Choice金融终端,进入用户中心-资料管理绑定手机号。

  运行接口激活工具LoginActivator.exe,输入绑定手机号获取验证码,激活成功后生成令牌文件userInfo,用户使用时无需输入用户名和密码,默认从令牌中获取登录权限。一个账号最多支持在十台设备上激活。

1566893970277

方式三:上行短信登录验证

1)手机号绑定API接口账号

2)主动发送短信内容 "SXDL" 到 9535711 (三网合一,不区分运营商)

3)完成上行短信发送后,调用登录函数start("LoginMode=SXDL,PhoneNumber=xxxxxxxx"),xxxxxx替换为发送短信的手机号

4)最后登录成功,并且生成userinfo登录令牌

5)userinfo生成之后,下次登录无需重复进行短信验证登录

注意: 1)发送短信会有通讯费用产生;2)不需要userInfo文件 登录成功后会生成一个userInfo文件;3)发送短信之后没有回执;4)短信失效时间10分钟。

 

方式四:人工激活

1)使用em_manualactivate函数,将自己的账号、密码、邮箱填进语句中代码并运行如下代码;

em_manualactivate("username","password","email=who@what.com")

2)联系客户经理或者客服验证并从邮箱中获取登录令牌userInfo。

 

 

 

 

登录函数

登录API账户,成功登录以后,才可调用其他函数获取数据。

 参数描述

输入参数:

options 可选参数 见附注1

返回结构体:

emdata是一个list,包含

errcode(interger)错误码

errmsg(character)错误信息.

范例

附注1 登录函数可选参数列表:

中文名称英文名称取值范围说明
用户名UserName字符串V2.5.4.6版本开始支持账密登录。若传入此参数且账号密码均不为空则使用账密登录模式。若要使用userinfo登录令牌模式,此参数不传
密码PassWord字符串同上
服务器测速TestLatency取值范围:0,1;
缺省值:0
取值0,不测速,连接默认服务器 ;
取值1,登录前服务器测速,并保存为默认
强制登录ForceLogin取值范围:0,1;
缺省值:0
取值0,当线上已存在该账户时,不强制登录 ;
取值1,当线上已存在该账户时,强制登录,将前一位在线用户踢下线 ;
记录登录信息标记RecordLoginInfo取值范围:0,1;
缺省值:1
取值0,不记录;
取值1,追加记录登录信息到logininfo.log文件,文件位于serverlist.json.e所在目录下
日志级别LogLevel取值范围:1,2,3;
缺省值:2
取值1,Debug
取值2,Info
取值3,Error
掉线自动重新登录Disconnectautologin取值范围: 0,1;
缺省值:0
取值0,掉线后不自动登录 ;
取值1,掉线后自动登录,登录可选参数和主动登录时一致
记录日志到本地文件Logtofile取值范围 :0,1;
缺省值:0
取值0,不输出日志到文本EmQuantR.log;
取值1,输出日志到文本 EmQuantR.log
上行短信登录LoginMode取值范围:SXDL
取值SXDL,进行上行短信登录验证,务必配合PhoneNumber参数一起使用。使用方法:用户先使用API绑定的手机号发送内容“SXDL”到9535711完成发送后,然后设置LoginMode和PhoneNumber参数,并调用start函数。成功后,自动生成userinfo。
手机号码PhoneNumber取值范围:中国境内11位有效手机号,且有API接口权限同上
HTTP超时时间设置HTTPTimeout默认值 15设置HTTP超时时间,单位秒
HTTP三网地址设置USEHTTP1,2,3取值1,电信;
取值2,移动;
取值3,联通
注意:不能跟参数UseProxy、UseInnerNet一起使用
内置代理设置UseProxy-1,0,1,2,3
默认值-1
使用前需要开通IP白名单,
取值-1,不做任何操作;
取值0,不使用代理,则不传;
取值1,使用内置代理1;
取值2,使用内置代理2;
取值3,使用内置代理3
否使用外网UseInnerNet-1,0,1
默认值-1
取值 0和-1 都表示使用外网, 其余值使用内网例如1。注意:UseProxy 与 UseInnerNet 同时使用时,UseInnerNet设置参数失效

 

 

 

退出函数

退出函数,退出当前登录状态

返回结构体:

emdata是一个list,包含

errcode(interger)错误码

errmsg(character)错误信息

范例

 

 

 

数据函数

 

截面函数

获取股票、指数、基金、期货等各个证券品种或组合的基本资料,财务,估值等截面数据

 参数描述

输入参数简称描述
codes东财代码格式为"300059.SZ,600000.SH"或者c("300059.SZ","600000.SH"),不支持跨品种证券输入
indicators指标简称最多不超过64个,详细指标列表见指标手册或官网命令生成
options可选参数附注2

返回结构体:emdata是一个list,包含

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注2 可选参数列表:

中文名称英文名称取值范围说明
排列形式organizdatabycode,date
缺省值:code
code--按证券代码
date--按日期
data.frame模式toonedataframe11 按data.frame格式返回;不传该参数则返回原格式
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

(注:截面函数每分钟请求次数不能超过700次)

 

 

 

序列函数

获取股票,指数,基金,期货等各个证券品种或组合的序列数据

参数描述:

输入参数简称描述
codes东财代码格式为"300059.SZ,600000.SH"或者c("300059.SZ","600000.SH")
indicators指标简称最多不超过64个,详细指标列表见指标手册或者接口官网命令生成
startdate起始日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
enddate截止日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
options可选参数附注3

返回结构体:emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注3 序列函数可选参数列表:

中文名称英文名称取值范围说明
日期周期Period1--4
缺省值:1
日期周期:日,周,月,年
分别对应:1,2,3,4
复权方式AdjustFlag1--3
缺省值:1
不复权--1
后复权--2
前复权--3
币种CurType1--4
缺省值:1
原始币种--1
人民币--2
美元--3
港币--4
按日期排序Order1--2
缺省值:1
升序--1
降序--2
排列形式organizdatabycode,date
缺省值:code
code--按证券代码
date--按日期
data.frame模式toonedataframe11 按data.frame格式返回;不传该参数则返回原格式
市场类型Market见说明
缺省值:“CNSESH”
CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
0 自然日
1 全部市场交易日
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
沿用之前数据filldata0,1
缺省值:0
不沿用--0
沿用--1
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

(注:序列函数每分钟请求次数不能超过700次)

 

 

 

 

专题报表

提供专题报表数据。

参数描述:

输入参数简称描述
ctrname报表名称详细枚举见指标手册或官网命令生成
indicators报表字段简称格式为"SECUCODE, NAME, WEIGHT", (支持筛选字段,传空时不筛选) ,字段枚举详见指标手册或官网命令生成
options可选参数其他可选参数见附注4

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

data(data.frame) 数据结果

范例

附注4 专题报表函数可选参数列表:

中文名称英文名称取值范围说明
编码类型ENCODEUTF-8;
GBK;
GB2312
默认值为空(代表自动判断)
部分文字无法准确判断编码,需要指定编码
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

宏观数据

获取宏观指标数据。

参数描述:

输入参数简称描述
edbids宏观指标ID最多不超过100个,格式为'EMM00058124,EMM00087117,EMG00147350',宏观指标列表见量化接口官网-命令生成-宏观数据
options可选参数可选参数 见附注5

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character)代码序列

indicator(character) 指标序列

date(character) 时间序列

data(data一个list,含有一个或多个data.frame) 数据结果

范例

附注5 宏观数据函数可选参数列表:

中文名称英文名称取值范围说明
起始日期StartDate支持格式: YYYYMMDD, YYYY/MM/DD, YYYY/M/D,YYYY-MM-DD,YYYY-M-D若StartDate不传,从第一条数据开始返回;
若EndDate不传,返回至最新一条数据;
若都不传则输出全部数据.
截止日期EndDate同上同上
最新一条数据IsLatest取值范围:0,1
缺省值:0
取值0,选定日期范围内数据;
取值1,最新一条数据
请求指标真实发布日期IsPublishDate取值范围:0,1
缺省值:0
取值0,不请求publishdate;
取值1,请求publishdate
备注:只有部分EDB指标有发布日期
排列形式organizdatabycode,date
缺省值:code
code--按证券代码
date--按日期
data.frame模式toonedataframe11 按data.frame格式返回;不传该参数则返回原格式
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒
调整返回日期FixDate取值范围:0,1
缺省值:0
取值0,按原始日期返回,不进行调整;
取值1,调整返回的日期为每个周期对应的最后一个自然日,如年频指标则返回每年的12月31日

 

 

 

资讯函数

提供多个证券品种的公告、新闻等历史资讯和多个板块的历史资讯查询

参数描述

输入参数简称描述
codes证券代码或板块代码输入 东财代码,支持多代码,以半角逗号分开。证券代码和板块代码不能混用;板块代码需先调用资讯板块查询函数获取
content请求内容类型表达式参数,表达式之前用英文分号隔开,内部各参数用半角逗号隔开 如 "companynews,industrynews,report,regularreport,tradeinfo" 或 "sectornews"
mode请求模式取值范围1-2,其中 1 - starttime和endtime中间的所有资讯;2 - 提取endtime的近count条数据
options可选参数string 输入 附加参数,可填””,可填附加字段,详见下表options可选参数

options可选参数

中文名称英文名称说明
开始时间starttime模式一必传,模式二无意义。YYYYMMDDHHMMSS或者YYYYMMDD
结束时间endtimeYYYYMMDDHHMMSS或者YYYYMMDD。为空则为当前时间
资讯条数count模式二必传,模式一无意义,在模式二返回以endtime为基准的近count条资讯
排列形式organizdataby取值范围:code,date,缺省值:code
code--按证券代码;date--按日期

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character)代码序列

indicator(character) 指标序列,详细见下表字段说明

date(character) 时间序列

data(data一个list,含有一个或多个data.frame) 数据结果

返回中的indicator中指标字段说明

输出字段字段中文
datetime展示时间(公告只展示日期,部分盘后公告展示日期是下一个交易日)
eitime生产时间(公告只提供2017/01/01之后的数据并且只含日期)
code证券代码或板块代码
content请求类型
title资讯标题
infoCode资讯编码
medianname来源
url链接

范例

 

板块截面函数

获取沪深京股票板块的基本资料、财务等截面数据

 参数描述

输入参数简称描述
blockcodes板块代码东财板块代码,以B_开头,如 "B_018005001001",支持多代码输入,以半角逗号分隔,最多不超过6个
indicators指标简称指标名称,支持多指标输入,以半角逗号分隔,最多不超过15个,详细指标列表见指标手册
options可选参数附注6

返回结构体:emdata是一个list,包含

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注6 可选参数列表:

中文名称英文名称取值范围说明
是否取最新板块成分isHistory0,1
必传参数
0,取最新板块成分
1,取历史板块成分
排列形式organizdatabycode,date
缺省值:code
code--按证券代码
data.frame模式toonedataframe11 按data.frame格式返回;不传该参数则返回原格式
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

(注:板块截面函数不支持多线程)

 

 

 

功能函数

 

条件选股

条件选股函数

参数描述:

输入参数简称描述
cpscodes证券代码范围必传,CPS函数只能选取沪深京的板块和证券代码,支持两种模式:1. 板块代码,以B_开头,如"B_001004",常见板块代码见附注7;2. 东财代码,多个代码间用半角逗号隔开,如"000001.SZ,000002.SZ,600000.SH"
cpsindicators条件参数由条件表达式使用,多个参数之间用英文分号隔开,内部各参数用半角逗号隔开,具体指标和英文简称见接口官网命令生成-功能函数-条件选股,如:s1,LISTDATE;s2,TOTALSHARE,2021-06-18
cpscondtions条件表达式各表达式用 and 连接,表达式支持的操作符:ANY,CONTAINALL,ISNULL,ISNOTNULL,比较运算符, 算术运算符,逻辑运算符(必须小写)如and、or、not 等,具体操作符释义详见附注8;条件参数引用格式: [参数名1],例如: [s1] >10 and [s2] > [s1] and not CONTAINANY ([s3],重工,银行);若选择的条件是日期,需加d( ),例如:[s4]>d(2017/7/21),若选日期区间,需用多项日期表达式,用and连接,例如:[s4]>d(2013-09-30) and [s4]<d(2014-07-10)
options其他附加条件如排序,取前N条选股结果等,具体使用规则见附注9

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注7 常见板块代码:

板块名称板块代码
全部A股001004
上证A股001005
深证A股001006
深证B股001013
上证B股001012
全部B股001011
创业板001010
中小板001009
深证主板001008
深证主板A股001007
风险警示股票001023
风险警示股票(深交所)001025
风险警示股票(上交所)001024
已发行待上市股票001020
正在发行的股票001019
*ST001018
ST001017
全部A股(非金融石油石化)001044
可转债标的001046
融资融券标的001045
深股通001041
沪深股通001047
深证主板B股001033
中小板(含ST,ST*)001032
深证主板A股(含ST,ST*)001031
沪股通001038
中证500成份009006062
中证1000成份009007552
上证50指数成份009007063
上证180指数成份009007060
创业板综成份009007145
创业板指成份009007144
中小板综成份009007125
中小板指成份009007124
上证综合指数成份009007104
沪深300成份009006195
深证综合指数成份009007251
MSCI中国(概念类)007230
预盈预增007054
预亏预减007053

附注8 操作符列表:

分类操作符描述详细举例
算术运算符+ - * /加 减 乘 除  
比较运算符> = < >= <= <>大于 等于 小于 大于或等于 小于或等于 不等于  
逻辑运算符and or not与 或 非  
 ANY CONTAINANY包含任意一个 ANY( s[1] , 中国 , 美国 ) 表示当变量s1中包含“中国”或“美国”则成立
 CONTAINALL包含所有值 CONTAINALL ( s[1] , 中国 , 美国 ) 表示当变量s1中包含“中国”且包含“美国”则成立
 MAX取最大的N个值用在Top表达式中,对选股结果取TOPtop=max([s1],100)
 MIN取最小的N个值用在在Top表达式中,对选股结果取最小的N行top=min([s2],100)
 ISNULL ISNOTNULL等于空值 不等于空值条件选股取空值或不取空值,多项输入用and连接isnull([s1])and isnotnull([s2])

附注9 排序表达式和Top表达式使用规则:

字段说明取值格式取值示例
排序表达式:对返回的结果进行排序格式:orderby=[rd|ra],(rd为降序,ra为升序) 支持变量引用,引用格式为方括号+变量名 多个排序字段间,以=> 符号分隔 支持的操作符:rd,ra,算术运算符,“=>”分隔符orderby=rd([s1]*2) => ra([s2])
Top表达式:对返回结果按指定排序提取前N行格式:top=max(排序字段表达式,行数)或top=min(排序字段表达式,行数) 支持变量引用,引用格式为方括号+变量名 支持的操作符and,or,算术运算符top = max([s1],100) and min([s2],100)
板块成分日期:选择的板块成分的日期格式:sectordate=板块历史成分的日期,若sectordate不传则默认取最新的一天。sectordate=2018-07-18
超时时间设置格式:RECVtimeout=正整数,单位秒,如 设置60代表60秒RECVtimeout=60

 

 

 

 

宏观指标查询

获取宏观指标ID详情信息

参数描述:

输入参数简称描述
edbids宏观指标ID格式为'EMM00058124,EMM00087117,EMG00147350',最多不超过100个,详细枚举见官网命令生成
indicators报表字段简称格式为'ID,NAME,SOURCE,REGION'或为'' 输出全部,详细字段列表见附注10
options可选参数附注11

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character)代码序列

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注10 宏观指标信息查询函数支持字段列表:

字段简称中文简称备注
ID指标ID 
Name指标名称 
Unit单位 
Source来源 
Region国家/地区 
Frequency日期频率取值范围1-9,其中分别:1 日 2 周 3 旬 4 半月 5 月 6 季 7 半年 8 年 9 不定期
Startdate起始日期 
Enddate截止日期 
Updatetime更新时间 

附注11 可选参数列表:

中文名称英文名称取值范围说明
排列形式organizdatabycode,date
缺省值:code
code--按证券代码
date--按日期
data.frame模式toonedataframe11 按data.frame格式返回;不传该参数则返回原格式

 

 

资讯板块查询

获取资讯函数和资讯订阅函数支持的板块信息

参数描述:

输入参数:

options 其他附加条件

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

 

 

 

板块函数

获取Choice金融终端指定系统板块证券代码成分列表,目前只支持沪深股票、上交所期权的历史成分查询,其他板块只能获取最新成分

参数描述:

输入参数简称描述
pukeycode板块编码通过Choice量化接口网站命令生成(https://quantapi.eastmoney.com/Cmd/Sector?from=web)获取
enddate截止日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
options可选参数附加参数,可填NULL,其他参数见附注11

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注11 板块函数可选参数列表:

中文名称英文名称取值范围说明
自选股板块查询selfblock11-自选股板块,获取本账号最新的全部自选股板块代码和名称,例sector(“”,””,”selfblock=1”),板块代码和日期传空。
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

交易日历

获取指定交易市场,指定时间区间的日期序列,不建议使用未来交易日

参数描述:

输入参数简称描述
startdate起始日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
enddate截止日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
options可选参数附注12

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注12 交易日函数可选参数列表:

中文名称英文名称取值范围说明
日期周期Period1--5,缺省值:1日期周期:日,周,月,年,季
分别对应:1,2,3,4,5
按日期排序Order1--2,缺省值:1升序--1; 降序--2
市场类型Market见说明,缺省值:“CNSESH”CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

交易日偏移

获取指定市场交易日历推算第N天交易日

参数描述:

输入参数简称描述
tradedate交易日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
offday偏移天数N=0时,返回交易日当天;N>0时,交易日往后取最近第N个交易日的日期,若交易日期为最新交易日并N>0,则返回最新交易日;N<0,时,交易日往前取最近第N个交易日的日期
options可选参数附注13

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

附注13 偏移N天函数可选参数列表:

中文名称英文名称取值范围说明
市场类型Market见说明,缺省值:“CNSESH”CNSESH 上海证券交易所
CNSESZ 深圳证券交易所
HKSE00 香港证券交易所
USSE00 美国证券交易所
USSEND 美国纳斯达克市场
USSENY 纽约证券交易所
CNFEBC 渤海商品交易所
CNFEDC 大连商品交易所
CNFESF 上海期货交易所
CNFEZC 郑州商品交易所
INE000 上海国际能源交易中心
CNGCSH 上海黄金交易所
HKME00 香港商品交易所
CNSH00 沪股通交易日
CNSHHK 沪港股通交易日
CNSZ00 深股通交易日
CNSZHK 深港股通交易日
NYMEX0 纽约商业期货交易所
USFENY 纽约商品交易所
CME000 芝加哥商业交易所
LDMETL 伦敦金属交易所
LDEXCH 伦敦证券交易所
SGSE00 新加坡交易所
超时时间设置RECVtimeout正整数单位秒,如 设置60代表60秒

 

 

 

区间交易日数

获取指定交易市场,指定时间区间的交易日个数

参数描述:

输入参数简称描述
startdate起始日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
enddate截止日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
options可选参数附注13

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

 

 

 

获取错误码信息

获取错误码相应的错误信息

参数描述:

输入参数简称描述
errcode错误码见下方错误类型定义列表
lang语言取值范围0-1,其中 0-中文, 1-英文

返回参数:

errmsg 错误描述字符串.

范例

 

 

 

设置路径函数

设置SeverList.json.e文件存放目录

参数描述:

输入参数:

dir SeverList.json.e文件所在路径

返回参数:

范例

 

设置代理函数

设置网络代理

参数描述:

输入参数简称描述
type代理类型取值 0~4,其中 0:不使用代理,1:http代理,2:https代理,3:sock4代理,4:sock5代理
proxyip代理IP地址 
proxyport代理端口号 
verify代理验证代理是否需要验证账号名和密码,取值 0-1, 0:不需要, 1:需要
proxyuser代理账号名 
proxypwd代理密码 

返回结构体: emdata是一个list,包含:

errcode(interger)

errmsg(character)

 

 

人工激活函数

人工激活函数,输入Choice账号和密码,人工验证通过以后,等待客户经理或客服发送令牌文件放到ServerList.json.e所在目录后执行令牌登录 参数描述:

输入参数简称描述
username用户名 
password密码 
varargin附加条件邮箱地址,格式必须为"email=who@what.com"

返回结构体:emdata是一个list,包含:

errcode(interger)

errmsg(character)

 

 

指标校验函数

支持校验css/csd/cses函数的代码+指标模式

参数描述:

输入参数简称描述
incodes证券代码东财代码或组合代码或板块代码,支持多代码输入,以半角逗号分隔
indicators字段简称指标字段简称,支持多字段输入,以半角逗号分隔
options可选参数附注14

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

data(data.frame) 数据结果

范例

附注14 指标校验函数可选参数列表:

中文名称英文名称取值范围说明
函数种类funtypecss、csd、csescss-截面函数
csd-序列函数
cses-板块截面函数
:单个传入,不支持多个拼接

 

代码校验函数

支持判断东财代码是否有效,同时提供补齐后缀的功能

参数描述:

输入参数简称描述
incodes证券代码支持多代码输入,以半角逗号分隔
options可选参数附注15

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

data(data.frame) 数据结果

范例

附注15 代码校验函数可选参数列表:

中文名称英文名称取值范围说明
数据返回类型Returntype0,10-检测模式,结果查看T/F字段;
1-补全模式,结果查看FULLCODES字段,有可能为空或者None,也有可能有多种后缀
证券品种SecuType1-8适配Returntype=1使用,默认值为1,
1-股票,
2-债券,
3-基金理财,
4-利率,
5-指数,
6-期货现货,
7-期权,8-外汇
证券市场SecuMarket0-5适配Returntype=1使用,默认值为1,
当SecuType=1时,0-全部,1-沪深,2-三板,3-港股,4-美股,5-伦股;
当SecuType=2时,0-全部,1-交易所,2-银行间,3-其他;
当SecuType=3时,0-全部,1-交易所,2-场外,3-理财;
当SecuType=4时,0-全部,1-交易所,2-银行间,3-其他;
当SecuType=5时,0-全部,1-东财优先,2-申万优先;
当SecuType=6时,0-全部;
当SecuType=7时,0-全部;
当SecuType=8时,0-全部,1-人民币中间价,2-银行间,3-国际外汇

 

 

日期宏

在日期参数中可直接使用字母替代或者加减法运算获取对应的日期,分为相对日期和绝对日期。

 

相对日期

可用于日期相对计算。

相对日期参数英文描述
交易日TD搭配market参数 可按照指定市场交易日历返回,默认CNSESH上交所,市场列表参考附注12 交易日历函数可选参数列表
日历日D 
日历周W 
日历月M 
日历季Q 
日历半年HY 
日历年Y 
开始日期SD引用标识,如 当StartDate="20221020"时,则可设置EndDate="SD+5D" 代表取2022年10月20日到这之后的5天的日期区间
截止日期ED引用标识,如 当EndDate="20221020"时,则可设置StartDate="ED-5D" 代表取截止日期的前五天到截止日的日期区间

绝对日期

特殊,可返回指定字母对应的具体日期。

绝对日期参数英文描述
上市首日S仅支持css/csd
最新N 
最新报告期MRQ仅支持css
去年一季LQ1 
去年中报LQ2 
去年三季LQ3 
去年年报LQ4 
今年一季RQ1 
今年中报RQ2 
今年三季RQ3 
今年年报RQ4 
本年初RYF 
本周一RWF 
本月初RMF 
上周末LWE 
上月末LME 
上半年末LHYE 
下半年初RHYF 
上年末LYE 
本季初RQF 
本季末RQE 
上季末LQE 

说明

  1. 支持加减法运算,比如 'ED-10D' 代表 从截止日前推 10 天;'SD+5TD' 代表从开始日往后推5个交易日。
  2. 运算中,数字代表 N 个周期,只支持整数。
  3. 负号’-’代表前推,没有负号或用加号代表后推。
  4. 不带SD/ED标识,则默认从最新开始推,比如 '-5D' 从最新往前推5天。

举例:

  1. 起始日期为1个周前,截至日期为最新 StartDate= -1W , EndDate= N
  2. 报告期为最新 ReportDate = MRQ

 

流量查询函数

查询函数使用量情况

参数描述:

输入参数简称描述
funcname函数名称量化接口函数名称,仅支持单个函数查询,传空值返回全部函数,具体可查询函数见附注16,例如:EM_CSS。
indicators查询字段查询字段,支持传多个字段,使用逗号分隔,传空值则返回全部字段,具体参数见附注17,例如:FUNCENAME。
options参数日期参数,见附注18

返回结构体: emdata是一个list,包含:

errcode(integer) 错误码

errmsg(character) 错误信息

data(data.frame) 数据结果

范例

 

 

组合函数

 

新建组合

新建组合

参数描述

输入参数简称描述
combincode组合代码英文和数字,最大10位,单个账户最多支持30个
combinname组合名称 
initialfound初始资金最大为99999999999
remark备注说明 
options可选参数附注19

返回结构体:emdata是一个list,包含:

errcode(interger)

errmsg(character)

范例

附注19 新建组合函数可选参数列表:

中文名称英文名称取值范围说明
组合类型combintype1-4 默认值 11 成长型
2 指数型
3 平衡型
4 稳健型
创建公司createcompanycharacter默认留空
业绩基准criteria1-16 默认31 上证指数
2 深证成指
3 沪深300指数
4 上证A股指数
5 上证180指数
6 上证50指数
7 深证100指数
8 中小板指
9 中小板综
10 创业板指
11 深证综指
12 三板做市指数
13 基金指数
14 中证500指数
15 中证100指数
16 中证1000指数

 

 

 

组合资金调配

提供组合出入金调配

参数描述

输入参数简称描述
combincode组合代码英文和数字,最大10位,单个账户最多支持30个
transferdirect资金调配方向in:增加资金 ,out:减少资金
date资金调配日期交易日期格式:YYYYMMDD,YYYY/MM/DD,YYYY/M/D,YYYY-MM-DD,YYYY-M-D
opCash资金调配额增加或减少的资金量,上限100000000000
remark备注说明 
options可选参数附注20

返回结构体: emdata是一个list,包含:

errcode(interger)

errmsg(character)

范例

附注20 组合资金调配函数可选参数列表:

中文名称英文名称取值范围说明
调配方式transfertype1-21 单个组合增加或减少
2 组合间调配
组合2 IDcombincode2character若transfertype为2 则必传
调配时间time24小时格式:HHMMSS,仅在当天有效

 

 

 

组合查询

提供组合账户信息相关数据

参数描述:

输入参数:

options 其他附加条件,详见附注21

返回结构体:emdata是一个list,包含

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果,其中data.frame的列名见附注22

范例

附注21 组合查询函数附加参数明细

中文名称英文名称取值范围说明
组合类型combinetype0-我管理的组合
1-我关注的组合
默认值:0

附注22 返回数据具体参数明细

参数名简称备注
COMBINCODE组合代码 
GROUPNAME组合名称 
STARTCAST初始资金 
RESTFOUND剩余资金 
CREATEDATE创建日期 
MODIFYDATE最近调整日期 
GROUPTYPE组合类型1:成长型 2:指数型 3:平衡型 4:稳健型
MONEYTYPE基准货币1:人民币 2:美元 3:港币
criteria组合业绩基准1 上证指数
2 深证成指
3 沪深300指数
4 上证A股指数
5 上证180指数
6 上证50指数
7 深证100指数
8 中小板指
9 中小板综
10 创业板指
11 深证综指
12 三板做市指数
13 基金指数
14 中证500指数
15 中证100指数
16 中证1000指数
CREATECOMPANY创建公司 
REMARK组合说明 
LEVEL组合等级1:普通组合 2:POP组合
FOLLOWEDID关注组合ID仅在请求关注组合数据时,返回对应ID

 

 

 

批量下单

组合批量下单

参数描述:

输入参数简称描述
orderinfo下单参数是一个data.frame,必须包含c("code", "volume", "price", "date", "time")这些字段,c("optype", "cost", "rate", "reserve")可选,每个字段的类型见附注23
combincode组合名称 
remark备注描述 
options可选参数附注24

返回结构体: emdata是一个list,包含:

errcode(interger)

errmsg(character)

范例

附注23 orderinfo参数定义列表

序号参数名简称定义是否必填参数说明
1code代码character东财代码,格式为'300059.SZ'
2volume /
destvolume /
weight
数量或金额/
目标数量/
目标权重
numeric股票、场内基金数量(正负表示买入、卖出),
场外基金申购定投金额、赎回份额 option参数:
OrderMode=0时表示交易数量或金额
OrderMode=1时表示持仓目标数量
OrderMode=2时表示持仓目标权重
3price价格numeric交易价格
4date日期character交易日期格式为"YYYYMMDD,YYYY/MM/DD,YYYY-MM-DD"
5time时间character交易时间,格式为“hhmmss,hh:mm:ss”
(只影响当日交易,历史交易后台默认150000录入计算)
6optype操作integer1买入,2卖出,3申购,4赎回
股票交易对应1、2,
场外基金交易对应3、4
7cost费用numeric场外基金申购、赎回费用/费率,二选一填写,另一个位置填写0。
费用为0,则读取费率;
费率为0,则读取费用;
两者都为0,表示0费用、费率;
两者都不为0,默认读取第一个费用。
单位:费用 元;费率 %
适用于场外基金、股票品种
8rate费率numeric仅适用于对场外基金品种

附注24 组合交易附加参数options列表

中文名称英文名称取值范围说明
补入现金方式autoAddCash0--2
缺省值:0
0:不补充
1:先扣除可用现金,不足再补充
2:全部外部补充本次批量买入操作所需现金
下单模式OrderMode0--2
缺省值:0
0:按数量交易 volume传入交易数量
1:调仓至目标数量,volume传目标数量
2:调仓至目标权重,volume传目标权重,总权重相加不能超过1
备注:1 和 2 不支持逆回购

 

 

 

组合报表查询

查询组合报表信息

参数描述:

输入参数简称描述
combincode组合代码支持单次查询单个组合的单个报表
indicators报表简称hold(持仓查询), record(交易记录查询),Contri(业绩贡献-已清仓股票),stagePerf(周期回报-阶段回报),profAna(盈亏分析-区间分析),RiskAna(风险分析),VarAna(VAR分析),GDaily(组合日报),TDaily(交易日报),ctransferrecord(资金调配查询)
options可选参数可选参数见指标手册或官网命令生成

返回结构体:emdata是一个list,包含

errcode(integer) 错误码

errmsg(character) 错误信息

code(character) 证券代码

indicator(character) 指标序列

date(character) 时间序列

data(data是一个list,含有一个或多个data.frame) 数据结果

范例

 

 

 

删除组合

删除组合

参数描述:

combincode 组合代码

options 可选参数

返回结构体: emdata是一个list,包含:

errcode(interger)

errmsg(character)

范例

 

 

 

错误类型

 

错误类型

错误标识错误描述错误代码
EQERR_SECUSS成功0
EQERR_NO_LOGIN用户未登陆10001001
EQERR_USERNAMEORPASSWORD_ERR用户名或密码错误10001002
EQERR_NO_ACCESS用户无API权限10001003
EQERR_ACCESS_EXPIRE用户API权限过期10001004
EQERR_GETUSERINFO_FAIL获取用户信息失败10001005
EQERR_DLLVESION_EXPIREDLL版本号过期10001006
EQERR_NO_LV2_ACCESS用户无API_LV2权限10001007
EQERR_LV2_ACCESS_EXPIRE用户API_LV2权限过期10001008
EQERR_LOGIN_COUNT_LIMIT账号登陆数达到上限10001009
EQERR_LOGIN_FAIL用户登陆失败10001010
EQERR_LOGIN_DISCONNECT用户登陆掉线10001011
EQERR_ACCESS_INSUFFICIENCE用户权限不足10001012
EQERR_IS_LOGIN用户正在登录10001013
EQERR_NEED_ACTIVATE需要登录激活10001014
EQERR_LOGIN_SERVICE_ERR登录服务异常10001015
EQERR_IS_MANUAL_ACTIVATE正在人工激活10001016
EQERR_NOTNEED_MANUAL_ACTIVATE无需人工激活10001017
EQERR_MANUAL_ACTIVATE_FAIL人工激活失败10001018
EQERR_DIFFRENT_DEVICE激活设备与登录设备不一致10001019
EQERR_USERINFO_EXPIREDuserInfo已失效需重新激活10001020
EQERR_INFOQUERY_LOGIN_FAIL资讯查询服务登录验证失败10001023
EQERR_INFOSUB_LOGIN_FAIL资讯订阅服务登录验证失败10001024
EQERR_INFO_FLOW_FAIL资讯服务流量验证失败10001025
EQERR_SMS_INVALIED无效的上行短信10001026
EQERR_CHQQUOTE_LOGIN_FAIL专项服务登录验证失败10001027
EQERR_CHQQUOTE_ACCESS_FAIL专项服务权限验证失败10001028
EQERR_GET_TRADE_FAIL获取交易日失败10000001
EQERR_INIT_OBTAIN_CLASS_FAIL初始化主类失败10000002
EQERR_NEW_MEM_FAIL申请内存失败10000003
EQERR_PARSE_DATA_ERR解析数据错误10000004
EQERR_UNGZIP_DATA_FAILgzip解压失败10000005
EQERR_UNKNOWN_ERR未知错误10000006
EQERR_FUNCTION_INTERNAL_ERR函数内部错误10000007
EQERR_OUTOF_BOUNDS数组越界10000008
EQERR_NO_DATA无数据10000009
EQERR_SYSTEM_ERROR系统级别错误10000010
EQERR_SERVERLIST_ERROR服务器列表错误10000011
EQERR_OPERATION_FAILURE操作失败10000012
EQERR_SERVICE_ERROR服务错误10000013
EQERR_GETSERVERLIST_FAIL获取服务器列表失败10000014
EQERR_SERVICE_TIMEOUT服务超时10000015
EQERR_FREQUENCY_OVER请求频次过高10000016
EQERR_OVERSEAS_IP_RESTRICTED海外IP受限10000017
EQERR_POP_GROUP_NOT_SUPPORTPOP组合不支持此操作10000018
EQERR_SOCKET_ERR网络错误10002001
EQERR_CONNECT_FAIL网络连接失败10002002
EQERR_CONNECT_TIMEOUT网络连接超时10002003
EQERR_RECVCONNECTION_CLOSED网络接收时连接断开10002004
EQERR_SENDSOCK_FAIL网络发送失败10002005
EQERR_SENDSOCK_TIMEOUT网络发送超时10002006
EQERR_RECVSOCK_FAIL网络接收错误10002007
EQERR_RECVSOCK_TIMEOUT网络接收超时10002008
EQERR_HTTP_FAILhttp访问失败10002010
EQERR_WAIT_NET_RES_TIMEOUT等待网络响应超时10002011
EQERR_INFO_RECONNECT资讯服务器重连10002013
EQERR_INFO_RECONNECT_FAIL资讯服务器连续重连失败10002014
EQERR_CHQQUOTE_RECONNECT专项服务器重连10002015
EQERR_CHQQUOTE_RECONNECT_FAIL专项服务器连续重连失败10002016
EQERR_INPARAM_EMPTY传入参数为空10003001
EQERR_OUTPARAM_EMPTY传出参数为空10003002
EQERR_PARAM_ERR参数错误10003003
EQERR_START_DATE_ERR起始日期格式不正确10003004
EQERR_END_DATE_ERR截止日期格式不正确10003005
EQERR_START_BIGTHAN_END起始日期大于截至日期10003006
EQERR_DATE_ERR日期格式不正确10003007
EQERR_CODE_INVALIED无效的证券代码10003008
EQERR_CODE_REPEAT证券代码重复10003009
EQERR_INDICATOR_INVALIED无效的指标10003010
EQERR_USERNAME_EMPTY用户名为空10003011
EQERR_PASSWORD_EMPTY密码为空10003012
EQERR_TO_UPPER_LIMIT订阅数或股票总数达到上限10003013
EQERR_MIXED_INDICATOR不支持的混合指标10003014
EQERR_INDICATOR_TO_UPPER_LIMIT单次订阅指标达到上限10003015
EQERR_BEYOND_DATE_SUPPORT超出日期支持范围10003016
EQERR_BASE_LESS_THAN_END复权基期小于截止日期10003017
EQERR_MIXED_CODES_MARKET不支持的混合证券品种10003018
EQERR_NO_SUPPORT_CODES_MARKET不支持的证券代码品种10003019
EQERR_ORDER_TO_UPPER_LIMIT交易条数超过上限10003020
EQERR_NO_SUPPORT_ORDERINFO不支持的交易信息10003021
EQERR_INDICATOR_REPEAT指标重复10003022
EQERR_INFOBKCODE_INVALIED资讯板块代码错误10003023
EQERR_INFOSIZE_TOOLARGE资讯数据量过大10003024
EQERR_INFO_SEARCH_NODATA资讯查询不到数据10003025
EQERR_INFOBKCODE_REPEAT资讯板块代码重复10003026

 

 

常见问题

 

激活注册

  1. Mac下无法使用打开激活工具?

  2. 有图形界面的Linux点击激活工具无反应?

    • 在命令行使用./LoginActivator
    • 使用chmod命令获取执行权限
  3. 错误提示:获取图片验证码失败,稍后再试?

    • 确认是否有外网限制,如有网络限制,需要将Choice服务器添加至网络白名单,联系Choice相关工作人员(400-620-1818)获取白名单地址;
    • 发送serverlist.json.e同级目录下的激活日志ActivatorLog.txt给Choice相关工作人员。
  4. 错误提示:发送激活码失败?

    • 重启激活工具
    • 查看serverlist.json.e同级目录下的激活日志ActivatorLog.txt错误提示,直接联系下Choice相关工作人员(400-620-1818)
  5. 无图形界面怎么激活?

    • 运行人工激活函数manualactive或者询问客服人员获取人工激活脚本
  6. 如何使人工激活函数进行激活?

    • 以64位为例。取消\x64\EmQuantAPITestExe文件夹中main.cpp中的注释,并将自己的账号密码邮箱填进语句中,代码如下。
    • 在makefile文件夹中使用make命令编译生成新的emquantapitest文件。
    • 运行bin目录下的emquantapitest。如果观察到

    [Em_Info][2019-06-18 16:22:54]:manual activate begin. [Em_Info][2019-06-18 16:22:54]:manual activate success, please contact with your service manager to get token file.

    即可联系客户经理完成人工激活的剩余步骤。

  7. Linux或者mac报错Errno13 Permission denied

    • 运行注册文件权限不足,需要切换到root
  8. 报错丢失MSVCP100.dll或者WinError126或者WinError 193

 

登录函数

  1. 如何使用上行短信登录

    • 手机号绑定API接口账号
    • 主动发送短信内容 "SXDL" 到 9535711 (三网合一,不区分运营商)
    • 完成上行短信发送后,调用登录函数start("LoginMode=SXDL,PhoneNumber=xxxxxxxx"),xxxxxx替换为发送短信的手机号
    • 最后登录成功,并且生成userinfo登录令牌
    • userinfo生成之后,下次登录无需重复进行短信验证登录

    注意: 1)发送短信会有通讯费用产生

    2)不需要userInfo文件 登录成功后会生成一个userInfo文件

    3)发送短信之后没有回执

    4)短信失效时间10分钟

  2. 报错login count up to limit

    • 确认下是否在多台电脑或者多进程使用,因为账号不能同时在多个IP地址上登录,并且不支持多进程。可以在start参数中加强制登录参数ForceLogin=1。正式账号可联系客户经理开通多点登录服务。
  3. 报错EQERR_USERINFO_EXPIRED

    • 一般是修改密码导致的,一旦修改密码,需要重新激活。
  4. 报错EQERR_DIFFRENT_DEVICE

    • 激活时设备和当前设备不一致。如果是由于设备更换,需要重新激活。确认设备号是否变化可通过查看userinfo同级目录下的登录日志文件logininfo.log中devicenumber最近的登录中是否变化。同一设备上只需要首次使用的时候激活。激活文件有效期一年。
  5. 报错userInfo不存在或不可用

    • 需要先运行激活程序生成userInfo文件

 

序列函数

  1. 报错The number of WaitHandles must be less than or equal to 64

    • 指标单次传入不能超过64个
  2. 报错em_csd无权限?

  3. 市场类型没有想要的市场怎么办?

    • 可以选择自然日 market=0,再自行过滤。

 

截面函数

各个函数中的ReportDate要传什么?