平安科技智能投顾接口设计说明书_陆金所 v1.1.4

平安科技

智能投顾项目

RBPAA接口设计说明书
(for 陆金所)

第1.1.2版

平安科技(深圳)有限公司
创新品牌体验团队智能投顾组

二○一七年十月

版本控制信息

版本 日期 拟稿和修改 作者 说明
1.0 2017-10-9 初稿 陈培镇
1.1 2017-12-14 需求更新 陈培镇 新增预测修复需求


目录
1 概述 1
2 接口约定 1
3 接口列表 1
4 接口组成 1
5 接口描述 2
5.1 模型 2
5.1.1 大势研判(8001) 2
5.1.2 行业预测(8002) 4
5.1.3 基金预测(8003) 5
5.1.4 预测结果准确性查询(8100) 6
6 附录 7
6.1 CLIENT API 说明 7

1 概述
本文目的是定义并描述“智能投顾系统”(以下简称“RBPAA系统”)与陆金所的联机接口规范。
2 接口约定
接口报文编码格式为“UTF-8”,数据交换格式为JSON,字段类型均为字符串,传输方式为 POST,访问地址为 https://ip:port/app/$tranCode
3 接口列表
接口类型 接口编号 接口名称 是否令牌认证 是否查询类
模型 8001 大势研判接口 否 是
8002 行业预测接口 否 是
8003 基金预测接口 否 是
8100 预测结果准确性查询接口 否 是
4 接口组成
接口报文由两部份组成,报文头和报文体;报文头说明在该小节定义,报文体根据每个接口编号在各自小节中定义。
请求报文头:
数据项 数据域 是否必填 说明
orgId 机构代号 是 310001
tranCode 接口编号 是
version 版本号 是 100
reqChl 请求渠道 是 02
reqTime 请求时间 是 yyyyMMddHHmmssfff
serNum 请求流水号 否 空字符串
token 令牌 否 空字符串
sign 加签值 是 SHA256withRSA2048
响应报文头:
数据项 数据域 说明
tranCode 接口编号
respTime 响应时间 yyyyMMddHHmmssfff
respCode 响应码 00-成功,01-处理中,其他-失败
respMsg 响应消息 接口响应描述信息
sign 加签值 SHA256withRSA2048

5 接口描述
5.1 模型
5.1.1 大势研判(8001)
接口编号: 8001
返回码说明:详见报文头说明。
接口说明:根据接口请求参数“查询日期”,返回该日期所属自然周、自然月或季度最新一次的研判结果,如果研判结果还未出来,则结果为空。

接口请求:
数据项 数据域 是否必填 说明
queryDate 查询日期 是 yyyyMMdd
judgeCycle 研判周期 是 005 - 周
020 - 月
060 - 季

接口返回:
数据项 数据域 说明
judgeDate 研判日期 yyyyMMdd
endDate 截止日期 yyyyMMdd
curCount 本次研判明细数量
curList 本次研判明细列表 List<Dtl80011>
<多笔返回明细>
Dtl80011
数据项 数据域 说明
rsId 研判ID
judgeModel 研判模型 IV – 异质波动率模型
IP – 机构观点模型
AL – 整合模型
capitalType 流通盘类型 L - 大盘
M - 中盘
S - 小盘
indexId 指数代码 对应的指数代码
judgeRs 研判结果 1 - 涨
0 - 平
-1 - 跌
rsDesc 结果描述
tOpen 起始价 研判日期的前收盘价
tClose 截止价 截止日期的收盘价
trueFlag 研判结果准确标志 Y - 准确
N - 不准确
W - 待确认

报文示例:
请求报文:
{"judgeCycle":"005","orgId":"310001","queryDate":"20171208","reqChl":"02","reqTime":"20171016120000999","serNum":null,"sign":"NxbLrtxJqQdVmU9Srx72OmueLv+noLzfEV7r6cuOBWQUWXY0iTKHeAMYd0s5Lj3JAX1eKOvUfehbl38Z2jKZxILpx5SnF53ICT2MQJfvBf5yZ0GYXHagCkc63V5a4/beTi+sp3NjjtU4gy307l0IjKsGtAQ366m1oo57Q8auSxo/4Q3EKCd6AyweN7h22HVOc7p4TT26ymHPEM410hV+ChTtQxhZ8LUxjZX9ScmK7ySTYf+voXeLanR0VBxBJoMkYsYEQ7loM0UGh9jUgU0uo2SjuE0qvv8uVmlPbaK9SSyvf5ix8TPuJPBUN6ocB+KuZQm8WDFo/31vKWNfR1yLsQ==","token":null,"tranCode":"8001","version":"100"}
响应报文:
{"curCount":"9","curList":[{"capitalType":"L","indexId":"000300.SH","judgeModel":"IP","judgeRs":"1","rsDesc":"流通盘:L,研报(家数):17,看涨机构:4,看平机构:12,看跌机构:1","rsId":"100212495707","tClose":"4003.3792","tOpen":"3998.1365","trueFlag":"Y"},{"capitalType":"M","indexId":"000905.SH","judgeModel":"IP","judgeRs":"-1","rsDesc":"流通盘:M,研报(家数):17,看涨机构:0,看平机构:17,看跌机构:0","rsId":"100212495708","tClose":"6203.1433","tOpen":"6316.4072","trueFlag":"Y"},{"capitalType":"S","indexId":"000852.SH","judgeModel":"IP","judgeRs":"-1","rsDesc":"流通盘:S,研报(家数):17,看涨机构:0,看平机构:16,看跌机构:1","rsId":"100212495709","tClose":"7078.0006","tOpen":"7215.7755","trueFlag":"Y"},{"capitalType":"M","indexId":"000905.SH","judgeModel":"AL","judgeRs":"0","rsDesc":"中盘周研判-整合模型:看平","rsId":"100212495718","tClose":"6203.1433","tOpen":"6316.4072","trueFlag":"N"},{"capitalType":"L","indexId":"000300.SH","judgeModel":"AL","judgeRs":"1","rsDesc":"大盘周研判-整合模型:看涨","rsId":"100212495719","tClose":"4003.3792","tOpen":"3998.1365","trueFlag":"Y"},{"capitalType":"S","indexId":"000852.SH","judgeModel":"AL","judgeRs":"0","rsDesc":"小盘周研判-整合模型:看平","rsId":"100212495717","tClose":"7078.0006","tOpen":"7215.7755","trueFlag":"N"},{"capitalType":"L","indexId":"000300.SH","judgeModel":"IV","judgeRs":"1","rsDesc":"大盘周研判-波动率模型:计算结果为3.039042,看涨","rsId":"100212494729","tClose":"4003.3792","tOpen":"3998.1365","trueFlag":"Y"},{"capitalType":"S","indexId":"000852.SH","judgeModel":"IV","judgeRs":"1","rsDesc":"小盘周研判-波动率模型:计算结果为4.224670,看涨","rsId":"100212494727","tClose":"7078.0006","tOpen":"7215.7755","trueFlag":"N"},{"capitalType":"M","indexId":"000905.SH","judgeModel":"IV","judgeRs":"1","rsDesc":"中盘周研判-波动率模型:计算结果为8.614893,看涨","rsId":"100212494728","tClose":"6203.1433","tOpen":"6316.4072","trueFlag":"N"}],"endDate":"20171208","judgeDate":"20171204","respCode":"00","respMsg":"成功","respTime":"20180105140106696","sign":"YN16nutlbqkPsIuY7y3eBlaDJkhVW1ljcm5QmHYYnAakVqBz6J5E0RF5srM4IA5dpgxKJ15oKepcZOPK9YxVA0Q2xfycHDOJmv0vcwlR2vAbBQYMLRY5qBbWDgcdEuTkvuCiP5Py+ysj+vteVtxtWJgZZauKRxFMmxBscUdP7MAnnBpklmW2OsX8TnFem5ZnMMhXinvs6+ofYJsDoaRtMoLIJhgSqSFZZ0F27UKexrk2GcNc9DNLOEapErjuqkOiyU+00YFewzLkzfDdc4gezjOE4uiSv36yXjbkxEvCQrpTzCAzrSA0vjxbUP4L7LqWR4hUP1Fchix7seTQUw2frw==","tranCode":"8001"}

5.1.2 行业预测(8002)
接口编号: 8002
返回码说明:详见报文头说明。
接口说明:根据接口请求参数“查询日期”, 返回该日期所属自然周、自然月或季度最新一次的预测结果,如果预测结果还未出来,则结果为空。

接口请求:
数据项 数据域 是否必填 说明
queryDate 查询日期 是 yyyyMMdd
predictCycle 预测周期 是 005 - 周
020 - 月
060 - 季
industryType 行业级别 是 11 - 中信一级
12 - 中信二级
13 - 中信三级
predictModel 预测模型 否 IP – 机构观点模型(默认)
BI - 交易热度模型

接口返回:
数据项 数据域 说明
predictDate 预测日期 yyyyMMdd
endDate 截止日期 yyyyMMdd
curCount 本次预测明细数量
curList 本次预测明细列表 List<Dtl80021>
<多笔返回明细>
Dtl80021
数据项 数据域 说明
rsId 预测ID
predictModel 预测模型
industryCode 行业代码
predictRs 预测结果 1 - 买入
0 - 持有
-1 - 卖出
-9 - 无数据
rsDesc 结果描述
tOpen 起始价 预测日期的前收盘价
tClose 截止价 截止日期的收盘价
trueFlag 预测准确标志 Y - 准确
N - 不准确
W - 待确认
0 - 无需确认

报文示例:

5.1.3 基金预测(8003)
接口编号: 8003
返回码说明:详见报文头说明。
接口说明:根据接口请求参数“查询日期”, 返回该日期所属自然周、自然月和季度最新一次的预测结果,如果预测结果还未出来,则结果为空。

接口请求:
数据项 数据域 是否必填 说明
queryDate 查询日期 是 yyyyMMdd
predictCycle 预测周期 是 005 - 周
020 - 月
060 - 季

接口返回:
数据项 数据域 说明
predictDate 预测日期 yyyyMMdd
endDate 截止日期 yyyyMMdd
curCount 本次预测明细数量
curList 本次预测明细列表 List<Dtl80031>
<多笔返回明细>
Dtl80031
数据项 数据域 说明
rsId 预测ID
predictModel 预测模型 IV – 基于大势研判异质波动率模型
IP – 基于大势研判机构观点模型
AL – 基于大势研判整合模型
IN – 基于基金持仓个股所属中信一级行业
I2 – 基于基金持仓个股所属中信二级行业
I3 – 基于基金持仓个股所属中信三级行业
fundId 基金代码
predictRs 预测结果 1 - 买入
0 - 持有
-1 - 卖出
-9 - 无数据
rsDesc 结果描述
tOpen 起始价
tClose 截止价
trueFlag 预测准确标志 Y - 准确
N - 不准确
W - 待确认
0 - 无需确认

报文示例:

5.1.4 预测结果准确性查询(8100)
接口编号: 8100
返回码说明:详见报文头说明。
接口说明:
根据请求的rsId列表查询其对应的预测预测准确性结果,一次最多支持500个rsId;
建议可以通过截止日期来确认是否需要做准确性结果查询。

接口请求:
数据项 数据域 是否必填 说明
predictType 预测类型 是 1 – 大势研判
2 – 行业预测
3 – 基金预测
rsIdList 查询列表 是 List<String>

接口返回:
数据项 数据域 说明
count 明细数量
rsList 预测结果明细列表 List<Dtl81002>
<多笔返回明细>
Dtl81002
数据项 数据域 说明
rsId 预测ID
tOpen 起始价
tClose 截止价
trueFlag 预测准确标志 Y - 准确
N - 不准确
W - 待确认
0 - 无需确认

报文

5.1.5 组合分析(1000)
接口编号: 1000
返回码说明:详见报文头说明。
接口说明:
组合分析
接口请求:
数据项 数据域 说明
List<Dtl1000>

Dtl1000
数据项 数据域 是否必填 说明
comboId 组合代码 是

investAmt 投资金额 是
fundId 基金代码 是
ctgId 组合大类 是
nav 购买净值 是
unit 份额 是
income 收益 是

接口返回:
数据项 数据域 说明
List<Dtl10001>

Dtl10001
数据项 数据域 说明
cycle 周期
comboId 组合代码
ctgId 组合大类
comboWeight 组合权重
comboReturn 组合回报
benchmarkWeight 基准权重
benchmarkReturn 基准回报
distEffect 分配效应
selectEffect 选择效应
crossItem 交叉项

报文

5.1.6 个股分析(1001)
接口编号: 1001
返回码说明:详见报文头说明。
接口说明:
个股分析

报文

5.1.7 行业分析(1002)
接口编号: 1002
返回码说明:详见报文头说明。
接口说明:
行业分析

报文

6 附录
6.1 Client API 说明br/>测试环境地址(公网地址):https://103.28.215.253:10094/app/
示例代码:
@Test
public void test8001() {
// 秘钥文件
String privateKeyPath = "d:/app/rbpaa/etc/310001/stg-lu-private.key";
String publicKeyPath = "d:/app/rbpaa/etc/310001/stg-rbpaa-public.key";
String algorithm = "SHA256withRSA";

    // 请求报文
    Req8001 request = new Req8001();
    request.setOrgId("310001");
    request.setVersion("100");
    request.setReqChl("02");
    request.setReqTime("20171016120000999");

    request.setTranCode("8001");
    request.setQueryDate("20171208");
    request.setJudgeCycle("005");

    try {
        // 秘钥(建议系统启动时读取到静态变量中,只需加载一次)
        Object obj = FileUtil.readFileByInputStream(privateKeyPath);
        PrivateKey privateKey = (PrivateKey) obj;

        obj = FileUtil.readFileByInputStream(publicKeyPath);
        PublicKey publicKey = (PublicKey) obj;

        // 创建客户端对象
        ApiClient<Req8001, Resp8001> client = new ApiClient<Req8001, Resp8001>(testUrl, algorithm, privateKey, publicKey, 10000);

        // 请求服务端并获取响应对象
        Resp8001 response = client.call(request, Resp8001.class, LogEnum.SYSOUT, null);
        System.out.println( response.getRespCode() );

    } catch(Exception e) {
        e.printStackTrace();
    }
}

API请求对象包:
bringer-1.0.3.jar
rbpmdl-facade-1.0-20171225.033101-12.jar

新增依赖包:
bcprov-jdk15on-1.58.jar

API调用工具包:
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-core</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-http</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.33</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.58</version>
</dependency>

猜你喜欢

转载自blog.51cto.com/7952376/2363794