在量化分析领域,实时且准确的数据接口是成功的基石。经过多次实际测试,我将已确认可用的数据接口分享给正在从事量化分析的朋友们,希望能够对你们的研究和工作有所帮助,接下来我会用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/margin/zymx/000002?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/margin/zymx/000002?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/margin/zymx/000002?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/margin/zymx/000002?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/margin/zymx/000002?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
返回的数据:
[[{"gdmc":"深圳盈嘉众实业合伙企业(有限合伙)","zygfsl":59737200,"zygfsz":992040123.495007,"zscgfbl":13.62,"zyjg":"国信证券股份有限公司","zyyy":"深圳盈嘉众实业合伙企业(有限合伙)质押股份给国信证券股份有限公司用于投资","zymd":null,"zyrspj":13.62,"yjxgs":13.28539166208,"pcxgs":11.62471770432,"zysd":"2022-09-28","zyed":"","zyzt":"未解押","pubd":"2022-09-30"},{"gdmc":"深圳盈嘉众实业合伙企业(有限合伙)","zygfsl":119351996,"zygfsz":2847692580.01604,"zscgfbl":27.2056,"zyjg":"招商财富资产管理有限公司","zyyy":"深圳盈嘉众实业合伙企业(有限合伙)质押股份给招商财富资产管理有限公司主要用于债务偿还","zymd":null,"zyrspj":27.2056,"yjxgs":19.08769136976,"pcxgs":16.70172994854,"zysd":"2021-04-30","zyed":"2022-09-06","zyzt":"已解押","pubd":"2022-09-09"},{"gdmc":"深圳盈嘉众实业合伙企业(有限合伙)","zygfsl":185880000,"zygfsz":3108076290.50342,"zscgfbl":42.37,"zyjg":"中信证券股份有限公司","zyyy":"深圳盈嘉众实业合伙企业(有限合伙)质押股份给中信证券股份有限公司用于投资","zymd":null,"zyrspj":42.37,"yjxgs":13.37670019584,"pcxgs":11.70461267136,"zysd":"2022-09-08","zyed":"","zyzt":"未解押","pubd":"2022-09-09"}]
质押明细
API地址:https://api.zhituapi.com/hs/margin/zymx/股票代码?token=token证书
描述:根据《股票列表》得到的股票代码作为参数,得到股票的质押明细。
更新频率:每日21:00
字段名称 | 数据类型 | 字段说明 |
---|---|---|
gdmc | string | 股东名称 |
zygfsl | number | 质押股份数量(股) |
zygfsz | number | 质押股份市值(元) |
zscgfbl | number | 占所持股份比例(%) |
zyjg | string | 质押机构 |
zyyy | string | 质押原因 |
zymd | number | 质押目的 |
zyrspj | number | 质押日收盘价(元) |
yjxgs | number | 预警线估算(元)。预警线算法:冻结起始日收盘价前复权质押率预警线比例。 |
pcxgs | number | 平仓线估算(元)。平仓线算法:冻结起始日收盘价前复权质押率平仓线比例。 |
zysd | string | 质押开始日期(yyyy-MM-dd) |
zyed | string | 质押结束日期(yyyy-MM-dd) |
zyzt | string | 质押状态 |
pubd | string | 公告日期(yyyy-MM-dd) |