1. 程式人生 > >平安科技智能投顧接口設計說明書_陸金所 v1.1.4

平安科技智能投顧接口設計說明書_陸金所 v1.1.4

令牌 bench 效應 fast pem lose EDA jodd cep

平安科技

智能投顧項目

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 說明測試環境地址(公網地址):https://103.28.215.253:10094/app/
示例代碼:
@Test
br/>測試環境地址(公網地址):https://103.28.215.253:10094/app/
示例代碼:
@Test
// 秘鑰文件
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>

平安科技智能投顧接口設計說明書_陸金所 v1.1.4