Joinquant : 不限语言·极速调取 | JQData HTTP 接口正式上线

不限语言·极速调取 | JQData HTTP 接口正式上线
原创: 聚宽数据 JoinQuant聚宽 昨天

JQData

聚宽量化数据接口JQData自上线以来,覆盖了银行、证券、保险、基金等各大金融机构以及高校师生和广大个人量化投资者们。历经一年多百亿级实盘交易量考验,完全具备商用数据的稳定性和准确性。为了保证数据质量,聚宽每年从各大交易所、统计局等权威官方渠道获取原始数据授权,再由专业的数据团队清洗入库,加工出适用于量化场景的数据和因子体系,拥有自有数据版权,做到“专业可依赖“。

新的一年,JQData除继续支持Python SDK外,还正式推出了不限编程语言的HTTP接口,无论你用的是:C、C++、C#、Java、R、Matlab、PHP、Go、NodeJS还是Ruby等任何一种语言,都能轻松方便的调用JQData提供的全品种量化金融数据。

JQData HTTP接口

在新上线的 HTTP 接口中,我们采用 post 机制,用户只需提交 JSON body 参数,就能获取股票、指数、基金、期货、期权、宏观经济、因子数据、舆情数据等量化研究所需的各类金融数据。点击申请JQData使用权限。下面我们来一一讲解JQData HTTP 接口的各个部分。

url:请求JQData数据的http接口地址

https://dataapi.joinquant.com/apis

token:请求数据接口前需要使用get_token函数获取调用数据的身份凭证,通过post方法传入申请JQData时填入的手机号和密码(密码是聚宽官网登录密码;新申请用户是手机号后6位):

body= {
"method" : "get_token",
 "mob" : "135xxxxxxx",
 "pwd" : "xxxxxxxxxx"
}

返回token结果如下所示:

5b6a9ba7b0f572bb6c287e280ed

body:通过post方法传入 JSON 格式的字符串,获取指定的金融量化数据,body 参数由如下部分组成:

body={
"method" : 指定获取数据的方法名,调用指定数据品种
"token" : 调用数据接口的身份验证,当天有效,失效后可重新获取
"param1" : 指定method方法输入的参数1
"param2" : 指定method方法输入的参数2
…
}

输出结果:返回 CSV 格式的文本数据,例如使用 get_all_securities 方法获取所有标的信息的返回结果如下:

code,display_name,name,start_date,end_date,type
000001.XSHE,平安银行,PAYH,1991-04-03,2200-01-01,stock
000002.XSHE,万科A,WKA,1991-01-29,2200-01-01,stock
…

下面,我们来用具体的代码示例演示一下:

Python调用JQData HTTP示例

import requests, json
import pandas as pd

#获取调用凭证
url = "https://dataapi.joinquant.com/apis"
body = {
    "method": "get_token",
    "mob": "ID",  #ID是申请JQData时所填写的手机号
    "pwd": "Password",  # Password为聚宽官网登录密码,新申请用户默认为手机号后6位
}
response = requests.post(url, data=json.dumps(body))
token = response.text

#调用get_all_securities函数获取所有股票信息
body = {
    "method": "get_all_securities",
    "token": token,
    "code": "stock",
    "date": "2019-01-15"
}
response = requests.post(url, data=json.dumps(body))
stock = response.text

#写入CSV文件
with open('C:/Users/jase8/Desktop/test/stock.csv', 'w')as f:
    f.write(stock)

#读取CSV文件转化成dataframe
df = pd.read_csv('C:/Users/jase8/Desktop/test/stock.csv',
'utf-8',engine='python')
print(df)


     code,display_name,name,start_date,end_date,type
0     000001.XSHE,平安银行,PAYH,1991-0 4-03,2200-01-01,stock
1       000002.XSHE,万科A,WKA,1991-01-29,2200-01-01,stock
2     000004.XSHE,国农科技,GNKJ,1990-12-01,2200-01-01,stock
3     000005.XSHE,世纪星源,SJXY,1990-12-10,2200-01-01,stock

Matlab调用JQData HTTP示例

slCharacterEncoding(‘UTF-8’)

url = 'https://dataapi.joinquant.com/apis';
options = weboptions('RequestMethod','post','MediaType','application/json');
body = struct('method','get_token','mob','135xxxxxxx','pwd','xxxxxxxxxx');
token = webwrite(url,body,options);
body = struct('method','get_security_info','token',token,'code','600519.XSHG');
options = weboptions('RequestMethod','post','ContentReader',@readtable, 'MediaType','application/json');
result = webwrite(url,body,options);
% writetable(result,'xxxxxx.csv')
result

code,display_name,name,start_date,end_date,type,parent
600519.XSHG,贵州茅台,GZMT,2001-08-27,2200-01-01,stock,

R调用JQData HTTP示例

library(httr)
url <- "https://dataapi.joinquant.com/apis"
body <- list(
    method = "get_token",
    mob = "135xxxxxxx",
    pwd = "xxxxxxxxxx"
)
r <- POST(url, body = body, encode = "json")
token <- content(r)
body <- list(
    method = "get_security_info",
    token = token,
    code = "600519.XSHG"
)
r <- POST(url, body = body, encode = "json")
content(r)

code,display_name,name,start_date,end_date,type,parent
600519.XSHG,贵州茅台,GZMT,2001-08-27,2200-01-01,stock,

C#调用JQData HTTP示例:

using System;
using System.Net.Http;
using System.Text;
using System.Web.Script.Serialization;

namespace JQData.Samples
{
    class Program
    {
        static void Main(string[] args)
        {
            QuerySecurityInfo();
        }
        static void QuerySecurityInfo()
        {
            var url = "https://dataapi.joinquant.com/apis";
            using (var client = new HttpClient())
            {
                //需要添加System.Web.Extensions
                //生成JSON请求信息
                string json = new 
                JavaScriptSerializer().Serialize(new
                {
                    method = "get_token",
                    mob = "135xxxxxxx", //mob是申请JQData时所填写的手机号
                    pwd = "xxxxxxxxxx" //Password为聚宽官网登录密码,新申请用户默认为手机号后6位
                });
                var content = new StringContent(json,
                 Encoding.UTF8, "application/json");
                //POST请求并等待结果
                var result = client.PostAsync(url, 
                content).Result;
                //读取返回的TOKEN
                string token = result.Content.ReadAsStringAsync().Result;
                string body = new JavaScriptSerializer().Serialize(new
                {
                    method = "get_security_info",
                    token = token, //token
                    code = "600519.XSHG" //代码
                });
                var bodyContent = new StringContent(body,
                 Encoding.UTF8, "application/json");
                //POST请求并等待结果
                result = client.PostAsync(url, 
                bodyContent).Result;
                //code,display_name,name,start_date,end_date,type,parent
                //600519.XSHG,贵州茅台,GZMT,2001-08-27,2200-01-01,stock,
                var securityInfo = result.Content.ReadAsStringAsync().Result;
                Console.WriteLine("Result\n" + securityInfo);
            }
        }
    }
}

更多语言示例详见 JQData HTTP说明文档。使用中如有任何问题请添加JQData管理员咨询解答,扫描二维码立刻添加。

接口文档

get_token - 获取用户凭证

调用其他获取数据接口之前,需要先调用本接口获取token。token被作为用户认证使用,当天有效

{
    "method": "get_token",
    "mob": "135xxxxxxx",
    "pwd": "xxxxxxxxxx",
}

返回 token:

5b6a9ba7b0f572bb6c287e280ed

token是调取数据唯一标识。token过期或者更改用户权限后,可以重新获取。重新获取token后,之前的token会失效。

get_all_securities - 获取所有标的信息

获取平台支持的所有股票、基金、指数、期货信息

参数:

code: securities的类型,可选: stock, fund, index, futures, etf, lof, fja, fjb
date: 日期,用于获取某日期还在上市的证券信息,date为空时表示获取所有日期的标的信息

{
    "method": "get_all_securities",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "stock",
    "date": "2019-01-15"
}

返回:

code: 标的代码
display_name: 中文名称
name: 缩写简称
start_date: 上市日期
end_date: 退市日期,如果没有退市则为2200-01-01
type: 类型,stock(股票),index(指数),etf(ETF基金),fja(分级A),fjb(分级B)

code,display_name,name,start_date,end_date,type
000001.XSHE,平安银行,PAYH,1991-04-03,2200-01-01,stock
000002.XSHE,万科A,WKA,1991-01-29,2200-01-01,stock

get_security_info - 获取单个标的信息

获取股票/基金/指数的信息

参数:

code: 证券代码

{
    "method": "get_security_info",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "502050.XSHG"
}

返回:

code: 标的代码
display_name: 中文名称
name: 缩写简称
start_date: 上市日期, [datetime.date] 类型
end_date: 退市日期, [datetime.date] 类型, 如果没有退市则为2200-01-01
type: 类型,stock(股票),index(指数),etf(ETF基金),fja(分级A),fjb(分级B)
parent: 分级基金的母基金代码

code,display_name,name,start_date,end_date,type,parent
502050.XSHG,上证50B,SZ50B,2015-04-27,2200-01-01,fjb,502048.XSHG

get_index_stocks - 获取指数成份股

获取一个指数给定日期在平台可交易的成分股列表

参数:

code: 指数代码
date: 查询日期

{
    "method": "get_index_stocks",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000300.XSHG",
    "date": "2019-01-09"
}

返回:

股票代码

000001.XSHE
000002.XSHE

get_margincash_stocks - 获取融资标的列表

参数:

date: 查询日期,默认为前一交易日

{
    "method": "get_margincash_stocks",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "date": "2018-07-02"
}

返回:

返回指定日期上交所、深交所披露的的可融资标的列表

000001.XSHE
000002.XSHE

get_marginsec_stocks - 获取融券标的列表

参数:

date: 查询日期,默认为前一交易日

{
    "method": "get_marginsec_stocks",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "date": "2018-08-02"
}

返回:

返回指定日期上交所、深交所披露的的可融券标的列表

000001.XSHE
000002.XSHE

get_locked_shares - 获取限售解禁数据

获取指定日期区间内的限售解禁数据

参数:

code: 股票代码
date: 开始日期
end_date: 结束日期

{
    "method": "get_locked_shares",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "600000.XSHG",
    "date": "2010-09-29",
    "end_date": "2018-09-29"
}

返回:

day: 解禁日期
code: 股票代码
num: 解禁股数
rate1: 解禁股数/总股本
rate2: 解禁股数/总流通股本

day,code,num,rate1,rate2
2010-09-29,600000.XSHG,1175406872.0000,0.1024,0.1141
2015-10-14,600000.XSHG,3730694283.0000,0.2000,0.2500

get_index_weights - 获取指数成份股权重(月度)

获取指数成份股给定日期的权重数据,每月更新一次

参数:

code: 代表指数的标准形式代码, 形式:指数代码.交易所代码,例如"000001.XSHG"。
date: 查询权重信息的日期,形式:"%Y-%m-%d",例如"2018-05-03";

{
    "code": "000300.XSHG",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000300.XSHG",
    "date": "2018-01-09"
}

返回:

code: 股票代码
display_name: 股票名称
date: 日期
weight: 权重

code,display_name,date,weight
000001.XSHE,平安银行,2018-01-09,0.9730
000002.XSHE,万科A,2018-01-09,1.2870

get_industries - 获取行业列表

按照行业分类获取行业列表

参数:

code:行业代码
    sw_l1: 申万一级行业
    sw_l2: 申万二级行业
    sw_l3: 申万三级行业
    jq_l1: 聚宽一级行业
    jq_l2: 聚宽二级行业
    zjw: 证监会行业

{
    "method": "get_industries",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "sw_l3"
}

返回:

index: 行业代码
name: 行业名称
start_date: 开始日期

index,name,start_date
850111,种子生产III,2014-02-21
850112,粮食种植III,2014-02-21

get_industry - 查询股票所属行业

查询股票所属行业

参数:

code:标的代码
date:查询的日期

{
    "method": "get_industry",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000011.XSHE",
    "date": "2018-12-01"
}

返回:

industry:一级行业代码
industry_code:二级行业代码
industry_name:行业名称

industry,industry_code,industry_name
jq_l1,HY011,房地产指数
jq_l2,HY509,房地产开发指数
sw_l1,801180,房地产I

get_industry_stocks - 获取行业成份股

获取在给定日期一个行业的所有股票

参数:

code: 行业编码
date: 查询日期

{
    "method": "get_industry_stocks",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "HY007",
    "date": "2016-03-29"
}

返回:

返回股票代码的list

000001.XSHE
000002.XSHE

get_concepts - 获取概念列表

获取概念板块列表

{
    "method": "get_concepts"
    "token": "5b6a9ba7b0f572bb6c287e280ed",
}

返回:

code: 概念代码
name: 概念名称
start_date: 开始日期

code,name,start_date
GN001,参股金融,2013-12-31
GN028,智能电网,2013-12-31

get_concept_stocks - 获取概念成份股

获取在给定日期一个概念板块的所有股票

参数:

code: 概念板块编码
date: 查询日期,

{
“method”: “get_concept_stocks”,
“token”: “5b6a9ba7b0f572bb6c287e280ed”,
“code”: “GN036”,
“date”: “2016-12-19”
}

返回:

股票代码

000791.XSHE
000836.XSHE

get_trade_days - 获取指定范围交易日

获取指定日期范围内的所有交易日

参数:

date: 开始日期
end_date: 结束日期

{
    "method": "get_trade_days",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "date": "2018-10-09",
    "end_date": "2018-11-18"
}

返回:

交易日日期

2018-10-09
2018-10-10

get_all_trade_days - 获取所有交易日

{
    "method": "get_all_trade_days"
    "token": "5b6a9ba7b0f572bb6c287e280ed",
}

2005-01-04
2005-01-05

get_mtss - 获取融资融券信息

获取一只股票在一个时间段内的融资融券信息

参数:

code: 股票代码
date: 开始日期
end_date: 结束日期

{
    "method": "get_mtss",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "date": "2016-01-04",
    "end_date": "2016-04-01"
}

返回:

date: 日期
sec_code: 股票代码
fin_value: 融资余额(元)
fin_buy_value: 融资买入额(元)
fin_refund_value: 融资偿还额(元)
sec_value: 融券余量(股)
sec_sell_value: 融券卖出量(股)
sec_refund_value: 融券偿还量(股)
fin_sec_value: 融资融券余额(元)

date,sec_code,fin_value,fin_buy_value,fin_refund_value,sec_value,sec_sell_value,sec_refund_value,fin_sec_value
2016-01-04,000001.XSHE,3472611852,152129217,169414153,594640,184100,317900,3479349123
2016-01-05,000001.XSHE,3439316930,143615276,176910198,584540,20800,30900,3445980686

get_money_flow - 获取资金流信息

获取一只股票在一个时间段内的资金流向数据,仅包含股票数据,不可用于获取期货数据

参数:

code: 股票代码
date: 开始日期
end_date: 结束日期

{
    "method": "get_money_flow",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "date": "2016-02-01",
    "end_date": "2016-02-04"
}

返回:

date: 日期
sec_code: 股票代码
change_pct: 涨跌幅(%)
net_amount_main: 主力净额(万): 主力净额 = 超大单净额 + 大单净额
net_pct_main: 主力净占比(%): 主力净占比 = 主力净额 / 成交额
net_amount_xl: 超大单净额(万): 超大单:大于等于50万股或者100万元的成交单
net_pct_xl: 超大单净占比(%): 超大单净占比 = 超大单净额 / 成交额
net_amount_l: 大单净额(万): 大单:大于等于10万股或者20万元且小于50万股或者100万元的成交单
net_pct_l: 大单净占比(%): 大单净占比 = 大单净额 / 成交额
net_amount_m: 中单净额(万): 中单:大于等于2万股或者4万元且小于10万股或者20万元的成交单
net_pct_m: 中单净占比(%): 中单净占比 = 中单净额 / 成交额
net_amount_s: 小单净额(万): 小单:小于2万股或者4万元的成交单
net_pct_s: 小单净占比(%): 小单净占比 = 小单净额 / 成交额

date,sec_code,change_pct,net_amount_main,net_pct_main,net_amount_xl,net_pct_xl,net_amount_l,net_pct_l,net_amount_m,net_pct_m,net_amount_s,net_pct_s
2016-02-01,000001.XSHE,-2.00,-6940.54,-16.82,-5296.92,-12.84,-1643.63,-3.98,3782.95,9.17,3157.59,7.65
2016-02-02,000001.XSHE,1.53,1375.48,3.74,2235.87,6.09,-860.39,-2.34,-194.21,-0.53,-1181.27,-3.22

get_billboard_list - 获取龙虎榜数据

获取指定日期区间内的龙虎榜数据

参数:

code: 股票代码
date: 开始日期
end_date: 结束日期

{
    "method": "get_billboard_list",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "date": "2016-08-01",
    "end_date": "2018-11-29"
}

返回:

code: 股票代码
day: 日期
direction: ALL 表示『汇总』,SELL 表示『卖』,BUY 表示『买』
abnormal_code: 异常波动类型
abnormal_name: 异常波动名称
sales_depart_name: 营业部名称
rank: 0 表示汇总, 1~5 表示买一到买五, 6~10 表示卖一到卖五
buy_value: 买入金额
buy_rate: 买入金额占比(买入金额/市场总成交额)
sell_value: 卖出金额
sell_rate: 卖出金额占比(卖出金额/市场总成交额)
net_value: 净额(买入金额 - 卖出金额)
amount: 市场总成交额

code,day,direction,rank,abnormal_code,abnormal_name,sales_depart_name,buy_value,buy_rate,sell_value,sell_rate,total_value,net_value,amount
000001.XSHE,2017-07-11,ALL,0,106001,涨幅偏离值达7%的证券,495288143.0000,0.1289,305812442.0000,0.0796,801100585.0000,189475701.0000,3842010171.2900
000001.XSHE,2017-07-11,BUY,1,106001,涨幅偏离值达7%的证券,中信证券股份有限公司上海古北路证券营业部,134111708.0000,0.0349,329967.0000,0.0001,134441675.0000,133781741.0000,3842010171.2900

get_future_contracts - 获取期货可交易合约列表

获取某期货品种在指定日期下的可交易合约标的列表

参数:

code: 期货合约品种,如 AG (白银)
date: 指定日期

{
    "method": "get_future_contracts",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "AU",
    "date": "2017-01-05"
}

返回:

某一期货品种在指定日期下的可交易合约标的列表

AU1701.XSGE
AU1702.XSGE

get_dominant_future - 获取主力合约对应的标的

参数:

code: 期货合约品种,如 AG (白银)
date: 指定日期参数,获取历史上该日期的主力期货合约

{
    "method": "get_dominant_future",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "AU",
    "date": "2018-05-05"
}

返回:

主力合约对应的期货合约

AU1812.XSGE

get_fund_info - 基金基础信息数据接口

获取单个基金的基本信息

参数:

code: 基金代码
date: 查询日期, 默认日期是今天。

{
    "method": "get_fund_info",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "519223.OF",
    "date": "2018-12-01"
}

返回:

fund_name: 基金全称
fund_type: 基金类型
fund_establishment_day: 基金成立日
fund_manager: 基金管理人及基本信息
fund_management_fee: 基金管理费
fund_custodian_fee: 基金托管费
fund_status: 基金申购赎回状态
fund_size: 基金规模(季度)
fund_share: 基金份额(季度)
fund_asset_allocation_proportion: 基金资产配置比例(季度)
heavy_hold_stocks: 基金重仓股(季度)
heavy_hold_stocks_proportion: 基金重仓股占基金资产净值比例(季度)
heavy_hold_bond: 基金重仓债券(季度)
heavy_hold_bond_proportion: 基金重仓债券占基金资产净值比例(季度)

{
“fund_name”: “海富通欣荣灵活配置混合型证券投资基金C类”,
“fund_type”: “混合型”,
“fund_establishment_day”: “2016-09-22”,
“fund_manager”: “海富通基金管理有限公司”,
“fund_management_fee”: “”,
“fund_custodian_fee”: “”,
“fund_status”: “”,
“fund_size”: “”,
“fund_share”: 32345.96,
“fund_asset_allocation_proportion”: “”,
“heavy_hold_stocks”: [“600519”,“601318”,“601398”,“000651”,“600887”,“600028”,“000338”,“600048”,“601939”,“000858”],
“heavy_hold_stocks_proportion”: 37.16,
“heavy_hold_bond”: [“111893625”,“018005”,“113014”],
“heavy_hold_bond_proportion”: 13.209999999999999
}

get_current_tick - 获取最新的 tick 数据

参数:

code: 标的代码, 支持股票、商品期货和股指期货。 不可以使用主力合约和指数合约代码。

{
    "method": "get_current_tick",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE"
}

返回:

time: 时间
current: 当前价
high: 截至到当前时刻的日内最高价
low: 截至到当前时刻的日内最低价
volume: 累计成交量
money: 累计成交额
position: 持仓量,期货使用
a1_v~a5_v: 五档卖量
a1_p~a5_p: 五档卖价
b1_v~b5_v: 五档买量
b1_p~b5_p: 五档买价

time,current,high,low,volume,money,position,a1_v,a2_v,a3_v,a4_v,a5_v,a1_p,a2_p,a3_p,a4_p,a5_p,b1_v,b2_v,b3_v,b4_v,b5_v,b1_p,b2_p,b3_p,b4_p,b5_p
20190129150003.000,11.0,11.07,10.77,82663110,904847854.07,302833,195900,453000,437662,861700,11.0,11.01,11.02,11.03,11.04,502000,113100,102100,186800,176700,10.99,10.98,10.97,10.96,10.95

get_extras - 获取基金净值/期货结算价等

参数:

code: 证券代码
date: 开始日期
end_date: 结束日期

{
    "method": "get_extras",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "date": "2018-05-29",
    "end_date": "2018-07-06"
}

返回:

date: 日期
is_st: 是否是ST,是则返回 True,否则返回 False。股票使用
acc_net_value: 基金累计净值。基金使用
unit_net_value: 基金单位净值。基金使用
futures_sett_price: 期货结算价。期货使用
futures_positions: 期货持仓量。期货使用
adj_net_value: 场外基金的复权净值。场外基金使用

date,is_st
2018-05-29,0
2018-05-30,0

get_price / get_bars - 获取指定时间周期的行情数据

获取各种时间周期的bar数据,bar的分割方式与主流股票软件相同, 同时还支持返回当前时刻所在 bar 的数据。get_price 与 get_bars 合并为一个函数

参数:

code: 股票代码
count: 大于0的整数,表示获取bar的条数,不能超过5000
unit: bar的时间单位, 支持如下周期:1m, 5m, 15m, 30m, 60m, 120m, 1d, 1w, 1M。其中m表示分钟,d表示天,w表示周,M表示月
end_date:查询的截止时间,默认是今天
fq_ref_date:复权基准日期,该参数为空时返回不复权数据

{
    "method": "get_price",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "600000.XSHG",
    "count": 10,
    "unit": "1d",
    "end_date": "2018-07-21",
    "fq_ref_date": "2018-07-21"
}

返回:

date: 日期
open: 开盘价
close: 收盘价
high: 最高价
low: 最低价
volume: 成交量
money: 成交额

date,open,close,high,low,volume,money
2018-07-09,9.37,9.60,9.63,9.37,22172565,212109327.00
2018-07-10,9.61,9.57,9.65,9.50,12402837,118668133.00

get_ticks - 获取tick数据

股票部分, 支持 2010-01-01 至今的tick数据,提供买五卖五数据
期货部分, 支持 2010-01-01 至今的tick数据,提供买一卖一数据。 如果要获取主力合约的tick数据,可以先使用get_dominant_future获取主力合约对应的标的
期权部分,支持 2017-01-01 至今的tick数据,提供买五卖五数据

参数:

code: 证券代码
count: 取出指定时间区间内前多少条的tick数据,如不填count,则返回end_date一天内的全部tick
end_date: 结束日期,格式2018-07-03或2018-07-03 10:40:00,只能获取一天内的tick数据

{
    "method": "get_ticks",
    "token": "5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "count": 15,
    "end_date": "2018-07-03"
}

返回:

time: 时间
current: 当前价
high: 当日最高价
low: 当日最低价
volume: 累计成交量(手)
money: 累计成交额
position: 持仓量,期货使用
a1_v~a5_v: 五档卖量
a1_p~a5_p: 五档卖价
b1_v~b5_v: 五档买量
b1_p~b5_v: 五档买价

time,current,high,low,volume,money,a1_p,a1_v,a2_p,a2_v,a3_p,a3_v,a4_p,a4_v,a5_p,a5_v,b1_p,b1_v,b2_p,b2_v,b3_p,b3_v,b4_p,b4_v,b5_p,b5_v
2018-07-02 14:56:21,8.62,9.05,8.56,1280510.0,1128400132.0,8.62,5006.0,8.63,6549.0,8.64,417.0,8.65,466.0,8.66,816.0,8.61,1134.0,8.6,3960.0,8.59,2054.0,8.58,3171.0,8.57,1710.0
2018-07-02 14:56:24,8.62,9.05,8.56,1280663.0,1128531972.0,8.62,4934.0,8.63,6519.0,8.64,417.0,8.65,466.0,8.66,816.0,8.61,1158.0,8.6,4021.0,8.59,2074.0,8.58,3164.0,8.57,1710.0

get_factor_values - 聚宽因子库数据

获取因子值的 API,点击查看因子列表

参数:

code: 单只股票代码
columns: 因子名称,因子名称,多个因子用逗号分隔
date: 开始日期
end_date: 结束日期

{
    "method": "get_factor_values",
    "token":"5b6a9ba7b0f572bb6c287e280ed",
    "code": "000001.XSHE",
    "date": "2019-01-20",
    "end_date":"2019-02-07",
    "columns":"net_profit_ratio,cfo_to_ev"
}

返回:

date:日期
查询因子值

注:

为保证数据的连续性,所有数据基于后复权计算
为了防止单次返回数据时间过长,尽量较少查询的因子数和时间段
如果第一次请求超时,尝试重试

date,cfo_to_ev,net_profit_ratio
2019-01-21,0.009278,0.217480
2019-01-22,0.009281,0.217480

run_query - 模拟JQDataSDK的run_query方法

run_query api 是模拟了JQDataSDK run_query方法获取财务、宏观、期权等数据
可查询的数据内容请查看JQData文档

以查询上市公司分红送股(除权除息)数据为例:

参数:

table: 要查询的数据库和表名,格式为 database + . + tablename 如finance.STK_XR_XD
columns: 所查字段,为空时则查询所有字段,多个字段中间用,分隔。如id,company_id,columns不能有空格等特殊字符
conditions: 查询条件,可以为空,格式为report_date#>=#2006-12-01&report_date#<=#2006-12-31,条件内部#号分隔,格式: column # 判断符 # value,多个条件使用&号分隔,表示and,conditions不能有空格等特殊字符
count: 查询条数

{
    "method": "run_query",
    "token":"5b6a9ba7b0f572bb6c287e280ed",
    "table":"finance.STK_XR_XD",
    "columns":"company_id,company_name,code,report_date",
    "conditions":"report_date#=#2006-12-01",
    "count":10
}

返回:

返回的结果顺序为生成时间的顺序

company_id,company_name,code,report_date
420600103,福建省青山纸业股份有限公司,600103.XSHG,2006-12-01
430000506,中润资源投资股份有限公司,000506.XSHE,2006-12-01

注:run_query api 只是简单地模拟了python的sqlalchemy.orm.query.Query方法,不能支持复杂的搜索。想要更好查询体验,可以使用JQDataSDK。

get_query_count - 获取查询剩余条数

查询剩余条数

{
    "method": "get_query_count",
    "token":"5b6a9ba7b0f572bb6c287e280ed"
}

100000

常见问题

请求数据时返回error: invalid token或者error: token expired:

请使用get_token方法重新获取token

token的有效期是多久:

当天获取的token有效期截止到当天夜里23:59:59。每次获取token后,之前的token都会失效

为什么返回数据是CSV格式:
  1. 减少非必要的返回字符
  2. 方便用户保存数据到文本
  3. 由于sdk中的get_fund_info方法返回数据是嵌套结构,所以get_fund_info接口返回了json格式数据
如何解析CSV格式数据:
  1. 先用换行符"\n"切割文本数据,生成数组,再将每条数据用","切割成字段数据
  2. Python开发者可以使用csv包或者pandas的read_csv()方法进行读取csv数据
请求返回空、状态码504怎么办:

504意为请求超时,如果出现在含有count参数的接口,可以减小count值重新请求。

JQData现有流量增加活动,详情请咨询JQData管理员,微信号:JQData01

猜你喜欢

转载自blog.csdn.net/wowotuo/article/details/88048572
今日推荐