在量化分析领域,实时且准确的数据接口是成功的基石。经过多次实际测试,我将已确认可用的数据接口分享给正在从事量化分析的朋友们,希望能够对你们的研究和工作有所帮助,接下来我会用Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家逐一演示一下如何获取各类股票数据。
在下方,所有演示中的API接口Url链接结尾的ZHITU_TOKEN_LIMIT_TEST,均为数据请求token证书,因为这个证书是官方测试证书,仅可用于验证各个接口的有效性,所以这个证书限制了只可请求股票代码为000001的数据,正式环境中是不能使用的,证书可以自己去申请一个替换掉就好了(证书是免费申请的),替换成自己申请的证书就可以请求任何股票数据了。
1、python
import requests url = "https://api.zhituapi.com/hz/list/hszs?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/hz/list/hszs?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/hz/list/hszs?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/hz/list/hszs?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/hz/list/hszs?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
返回的数据:
[{"dm":"sh000001","mc":"上证指数","jys":"sh"},{"dm":"sz399001","mc":"深证成指","jys":"sz"},{"dm":"sz899050","mc":"北证50","jys":"sz"},{"dm":"sz399006","mc":"创业板指","jys":"sz"},{"dm":"sh000680","mc":"科创综指","jys":"sh"},{"dm":"sh000688","mc":"科创50","jys":"sh"},{"dm":"sz399330","mc":"深证100","jys":"sz"},{"dm":"sh000300","mc":"沪深300","jys":"sh"},{"dm":"sh000016","mc":"上证50","jys":"sh"},{"dm":"sz399673","mc":"创业板50","jys":"sz"},{"dm":"sh000888","mc":"上证综合全收益","jys":"sh"},{"dm":"sz399750","mc":"深主板50","jys":"sz"},{"dm":"shsz930050","mc":"中证A50","jys":"shsz"},{"dm":"sh000903","mc":"中证A100","jys":"sh"},{"dm":"sh000510","mc":"中证A500","jys":"sh"},{"dm":"sh000904","mc":"中证200","jys":"sh"},{"dm":"sh000905","mc":"中证500","jys":"sh"},{"dm":"sh000906","mc":"中证800","jys":"sh"},{"dm":"sh000852","mc":"中证1000","jys":"sh"},{"dm":"shsz932000","mc":"中证2000","jys":"shsz"},{"dm":"sh000985","mc":"中证全指","jys":"sh"},{"dm":"sh000010","mc":"上证180","jys":"sh"},{"dm":"sh000009","mc":"上证380","jys":"sh"},{"dm":"sh000132","mc":"上证100","jys":"sh"},{"dm":"sh000133","mc":"上证150","jys":"sh"},{"dm":"sh000003","mc":"B股指数","jys":"sh"},{"dm":"sh000012","mc":"国债指数","jys":"sh"},{"dm":"sh000013","mc":"企债指数","jys":"sh"},{"dm":"sh000011","mc":"基金指数","jys":"sh"},{"dm":"sz399002","mc":"深成指R","jys":"sz"},{"dm":"sz399850","mc":"深证50","jys":"sz"},{"dm":"sz399005","mc":"中小100","jys":"sz"},{"dm":"sz399003","mc":"成份B指","jys":"sz"},{"dm":"sz399106","mc":"深证综指","jys":"sz"},{"dm":"sz399004","mc":"深证100R","jys":"sz"},{"dm":"sz399007","mc":"深证300","jys":"sz"},{"dm":"sz399008","mc":"中小300","jys":"sz"},{"dm":"sz399293","mc":"创业大盘","jys":"sz"},{"dm":"sz399019","mc":"创业200","jys":"sz"},{"dm":"sz399020","mc":"创业小盘","jys":"sz"},{"dm":"sz399100","mc":"新指数","jys":"sz"},{"dm":"sz399550","mc":"央视50","jys":"sz"}]
沪深主要指数列表接口
API地址:https://api.zhituapi.com/hz/list/hszs?token=token证书
描述:获取沪深两市主要的指数代码和名称,用于后续接口的参数传入。
更新频率:每日15:50
字段名称 | 数据类型 | 字段说明 |
---|---|---|
dm | string | 指数代码,如:sh000001(注意,股票代码可以不带“sh/sz”前缀,指数代码必须带) |
mc | string | 股票名称,如:上证指数 |
jys | string | 交易所,"sh"表示上证,"sz"表示深证,"shsz"表示同时含有沪深两市成分股的指数 |