在量化分析领域,实时且准确的数据接口是成功的基石。经过多次实际测试,我将已确认可用的数据接口分享给正在从事量化分析的朋友们,希望能够对你们的研究和工作有所帮助,接下来我会用Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家逐一演示一下如何获取各类股票数据。
在下方,所有演示中的API接口Url链接结尾的ZHITU_TOKEN_LIMIT_TEST,均为数据请求token证书,因为这个证书是官方测试证书,仅可用于验证各个接口的有效性,所以这个证书限制了只可请求股票代码为000001的数据,正式环境中是不能使用的,证书可以自己去申请一个替换掉就好了(证书是免费申请的),替换成自己申请的证书就可以请求任何股票数据了。
1、python
import requests
url = "https://api.zhituapi.com/hs/custom/boll/000001/d/2025-03-01/2025-04-01?token=ZHITU_TOKEN_LIMIT_TEST"
response = requests.get(url)
data = response.json()
print(data)
2、JavaScript (Node.js)
const axios = require('axios');
const url = "https://api.zhituapi.com/hs/custom/boll/000001/d/2025-03-01/2025-04-01?token=ZHITU_TOKEN_LIMIT_TEST";
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("https://api.zhituapi.com/hs/custom/boll/000001/d/2025-03-01/2025-04-01?token=ZHITU_TOKEN_LIMIT_TEST"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
4、C#
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using (HttpClient client = new HttpClient())
{
string url = "https://api.zhituapi.com/hs/custom/boll/000001/d/2025-03-01/2025-04-01?token=ZHITU_TOKEN_LIMIT_TEST";
HttpResponseMessage response = await client.GetAsync(url);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
5、Ruby
require 'net/http'
require 'json'
url = URI("https://api.zhituapi.com/hs/custom/boll/000001/d/2025-03-01/2025-04-01?token=ZHITU_TOKEN_LIMIT_TEST")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
data = JSON.parse(response.read_body)
puts data
返回的数据:
[{"t":"2025-03-03","u":11.8,"d":11.28,"m":11.54},{"t":"2025-03-04","u":11.8,"d":11.28,"m":11.54},{"t":"2025-03-05","u":11.8,"d":11.3,"m":11.55},{"t":"2025-03-06","u":11.8,"d":11.33,"m":11.57},{"t":"2025-03-07","u":11.8,"d":11.36,"m":11.58},{"t":"2025-03-10","u":11.8,"d":11.38,"m":11.59},{"t":"2025-03-11","u":11.8,"d":11.4,"m":11.6},{"t":"2025-03-12","u":11.83,"d":11.41,"m":11.62},{"t":"2025-03-13","u":11.86,"d":11.42,"m":11.64},{"t":"2025-03-14","u":11.92,"d":11.4,"m":11.66},{"t":"2025-03-17","u":11.91,"d":11.38,"m":11.64},{"t":"2025-03-18","u":11.89,"d":11.37,"m":11.63},{"t":"2025-03-19","u":11.88,"d":11.36,"m":11.62},{"t":"2025-03-20","u":11.88,"d":11.35,"m":11.61},{"t":"2025-03-21","u":11.88,"d":11.32,"m":11.6},{"t":"2025-03-24","u":11.88,"d":11.3,"m":11.59},{"t":"2025-03-25","u":11.88,"d":11.29,"m":11.59},{"t":"2025-03-26","u":11.89,"d":11.27,"m":11.58},{"t":"2025-03-27","u":11.89,"d":11.25,"m":11.57},{"t":"2025-03-28","u":11.89,"d":11.23,"m":11.56},{"t":"2025-03-31","u":11.9,"d":11.19,"m":11.55},{"t":"2025-04-01","u":11.91,"d":11.16,"m":11.54}]
自选时段历史分时BOLL(20,2)
API地址:https://api.zhituapi.com/hs/custom/boll/股票代码/分时级别/起始时间/结束时间?token=token证书
描述:根据《股票列表》得到的股票代码和分时级别获取历史boll数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是5、15、30、60、d(日线)、dq(日线前复权)、dh(日线后复权)、w(周线)、wq(周线前复权)、wh(周线后复权)、m(月线)、mq(月线前复权)、mh(月线后复权)、y(年线)、yq(年线前复权)、yh(年线后复权),自选时段:起始时间和结束时间的参数限定为YYYY-MM-DD HH:MM或YYYY-MM-DD两种格式。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
u | number | 上轨 |
d | number | 下轨 |
m | number | 中轨 |