近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据中挖掘出有价值的信息,为我们的投资策略提供有力的支持。
在寻找数据的过程中,我尝试了多种途径,包括自编网易股票页面爬虫、申万行业数据爬虫,以及同花顺问财的爬虫,甚至还尝试了聚宽的免费数据API。然而,爬虫作为数据源常常显得不够稳定,给我们的量化分析带来不小的挑战。
我最近的两年量化分析研究中,已实测确认以下数据接口均可用、稳定、数据更新及时。为了便于大家验证,下方的所有接口连接我已加入了超链接,均可直接点击即立即获取到数据,以此验证我提供的接口可用性。同时,在底部我提供了这些数据接口的API文档,详细说明这些接口返回的字段说明以及接口连接的使用方法。
【特别提示】:下方验证接口的licence证书(b997d4403688d5e66a)为官方提供的验证证书,该证书只能验证股票代码000001的股票,因此,下方的接口连接中,即使换掉代码实际返回的也是000001的数据,在实际应用中,需要自己去申请一个免费证书更换掉就可以随意请求数据了,免费证书的申请连接(点击即可马上得到证书):https://www.mairui.club/gratis.html
API接口链接(可点击验证):https://api.mairui.club/hslt/list/b997d4403688d5e66a
【实时数据接口】
API接口链接(可点击验证):https://api.mairui.club/hsrl/mmwp/000001/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszb/fsjy/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszb/kdj/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszb/macd/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszb/ma/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszb/boll/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a
1、python
import requests
url = "http://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a"
response = requests.get(url)
data = response.json()
print(data)
2、JavaScript (Node.js)
const axios = require('axios');
const url = "http://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a";
axios.get(url)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
3、Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
返回的数据:
{"fm":"-0.20","h":"10.26","hs":"0.67","lb":"1.38","l":"10.11","lt":"197161074084.00","o":"10.11","pe":"3.81","pc":"0.30","p":"10.16","sz":"197164128892.00","cje":"1318858687.52","ud":"0.03","v":"1294059","yc":"10.13","zf":"1.48","zs":"-0.20","sjl":"0.48","zdf60":"-0.20","zdfnc":"17.19","t":"2024-08-30 15:29:03"}
【历史数据接口】
API接口链接(可点击验证):https://api.mairui.club/hszbl/fsjy/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszbl/kdj/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszbl/macd/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a
API接口链接(可点击验证):https://api.mairui.club/hszbl/boll/000001/60m/b997d4403688d5e66a
API说明文档
沪深两市股票
API接口:https://api.mairui.club/hslt/list/licence证书
接口说明:获取沪深两市所有股票的代码、名称、所属交易所信息,用于后续接口的传递参数。
数据更新:每日16:00更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
dm | string | 股票的六位交易代码,例如:601398 |
mc | string | 股票名称,例如:工商银行 |
jys | string | 交易所,"sh"表示上证,"sz"表示深证 |
实时交易数据接口
API接口:https://api.mairui.club/hsrl/ssjy/股票代码(如000001)/licence证书
接口说明:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。
数据更新:交易时间段每1分钟
字段名称 | 数据类型 | 字段说明 |
---|---|---|
fm | number | 五分钟涨跌幅(%) |
h | number | 最高价(元) |
hs | number | 换手(%) |
lb | number | 量比(%) |
l | number | 最低价(元) |
lt | number | 流通市值(元) |
o | number | 开盘价(元) |
pe | number | 市盈率(动态,总市值除以预估全年净利润,例如当前公布一季度净利润1000万,则预估全年净利润4000万) |
pc | number | 涨跌幅(%) |
p | number | 当前价格(元) |
sz | number | 总市值(元) |
cje | number | 成交额(元) |
ud | number | 涨跌额(元) |
v | number | 成交量(手) |
yc | number | 昨日收盘价(元) |
zf | number | 振幅(%) |
zs | number | 涨速(%) |
sjl | number | 市净率 |
zdf60 | number | 60日涨跌幅(%) |
zdfnc | number | 年初至今涨跌幅(%) |
t | string | 更新时间yyyy-MM-dd HH:mm:ss |
买卖五档盘口
API接口:https://api.mairui.club/hsrl/mmwp/股票代码(如000001)/licence证书
接口说明:根据《股票列表》得到的股票代码获取实时买卖五档盘口数据。
数据更新:交易时间段每2分钟
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 更新时间yyyy-MM-dd HH:mm:ss |
vc | number | 委差(股) |
vb | number | 委比(%) |
pb1 | number | 买1价(元) |
vb1 | number | 买1量(股) |
pb2 | number | 买2价(元) |
vb2 | number | 买2量(股) |
pb3 | number | 买3价(元) |
vb3 | number | 买3量(股) |
pb4 | number | 买4价(元) |
vb4 | number | 买4量(股) |
pb5 | number | 买5价(元) |
vb5 | number | 买5量(股) |
ps1 | number | 卖1价(元) |
vs1 | number | 卖1量(股) |
ps2 | number | 卖2价(元) |
vs2 | number | 卖2量(股) |
ps3 | number | 卖3价(元) |
vs3 | number | 卖3量(股) |
ps4 | number | 卖4价(元) |
vs4 | number | 卖4量(股) |
ps5 | number | 卖5价(元) |
vs5 | number | 卖5量(股) |
最新分时交易
API接口:https://api.mairui.club/hszb/fsjy/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码以及分时级别获取分时交易数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
d | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
o | number | 开盘价(元) |
h | number | 最高价(元) |
l | number | 最低价(元) |
c | number | 收盘价(元) |
v | number | 成交量(手) |
e | number | 成交额(元) |
zf | number | 振幅(%) |
hs | number | 换手率(%) |
zd | number | 涨跌幅(%) |
zde | number | 涨跌额(元) |
最新分时KDJ(9,3,3)
API接口:https://api.mairui.club/hszb/kdj/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码以及分时级别获取分时KDJ数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
k | number | K值 |
d | number | D值 |
j | number | J值 |
最新分时MACD
API接口:https://api.mairui.club/hszb/macd/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码以及分时级别获取分时MACD数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
diff | number | DIFF值 |
dea | number | DEA值 |
macd | number | MACD值 |
ema12 | number | EMA(12)值 |
ema26 | number | EMA(26)值 |
最新分时MA
API接口:https://api.mairui.club/hszb/ma/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码以及分时级别获取分时MA数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。目前提供了ma3,ma5,ma10,ma15,ma20,ma30,ma60,ma120,ma200,ma250这些常用的移动平均线。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
ma3 | number | MA3,没有则为null |
ma5 | number | MA5,没有则为null |
ma10 | number | MA10,没有则为null |
ma15 | number | MA20,没有则为null |
ma20 | number | MA20,没有则为null |
ma30 | number | MA30,没有则为null |
ma60 | number | MA60,没有则为null |
ma120 | number | MA120,没有则为null |
ma200 | number | MA200,没有则为null |
ma250 | number | MA250,没有则为null |
最新分时BOLL(20,2)
API接口:https://api.mairui.club/hszb/boll/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码以及分时级别获取分时BOLL数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
u | number | 上轨 |
d | number | 下轨 |
m | number | 中轨 |
历史分时交易
API接口:https://api.mairui.club/hszbl/fsjy/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码和分时级别获取历史交易数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
d | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
o | number | 开盘价(元) |
h | number | 最高价(元) |
l | number | 最低价(元) |
c | number | 收盘价(元) |
v | number | 成交量(手) |
e | number | 成交额(元) |
zf | number | 振幅(%) |
hs | number | 换手率(%) |
zd | number | 涨跌幅(%) |
zde | number | 涨跌额(元) |
历史分时MACD
API接口:https://api.mairui.club/hszbl/macd/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码和分时级别获取历史macd数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
diff | number | DIFF值 |
dea | number | DEA值 |
macd | number | MACD值 |
ema12 | number | EMA(12)值 |
ema26 | number | EMA(26)值 |
历史分时MA
API接口:https://api.mairui.club/hszbl/ma/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码和分时级别获取历史ma数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。目前提供了ma3,ma5,ma10,ma15,ma20,ma30,ma60,ma120,ma200,ma250这些常用的移动平均线。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
ma3 | number | MA3,没有则为null |
ma5 | number | MA5,没有则为null |
ma10 | number | MA10,没有则为null |
ma15 | number | MA20,没有则为null |
ma20 | number | MA20,没有则为null |
ma30 | number | MA30,没有则为null |
ma60 | number | MA60,没有则为null |
ma120 | number | MA120,没有则为null |
ma200 | number | MA200,没有则为null |
ma250 | number | MA250,没有则为null |
历史分时BOLL(20,2)
API接口:https://api.mairui.club/hszbl/boll/股票代码(如000001)/分时级别/licence证书
接口说明:根据《股票列表》得到的股票代码和分时级别获取历史boll数据,交易时间从远到近排序。目前 分时级别 支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是 5m(5分钟)、15m(15分钟)、30m(30分钟)、60m(60分钟)、dn(日线未复权)、dq(日线前复权)、dh(日线后复权)、wn(周线未复权)、wq(周线前复权)、wh(周线后复权)、mn(月线未复权)、mq(月线前复权)、mh(月线后复权)、yn(年线未复权)、yq(年线前复权)、yh(年线后复权) 。
数据更新:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每天16:00更新。
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd |
u | number | 上轨 |
d | number | 下轨 |
m | number | 中轨 |