【2025年18期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深A股历史交易数据获取实例演示及接口API说明文档

最近一两年内,股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步,就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任务是从这些数据中提炼出有价值的信息,为我们的投资策略提供有力的指导。

在数据探索的旅途中,我尝试了多种方法,包括自编网易股票页面爬虫、申万行业数据爬虫,以及同花顺问财的爬虫,甚至还使用了聚宽的免费数据API。然而,爬虫作为数据源常常显得不够稳定,给我们的量化分析带来不小的困扰。

在量化分析领域,实时且准确的数据接口是成功的基石。经过多次实际测试,我将已确认可用的数据接口分享给正在从事量化分析的朋友们,希望能够对你们的研究和工作有所帮助,接下来我会用Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家逐一演示一下如何获取各类股票数据:

1、python

import requests  
  
url = "https://api.zhituapi.com/hs/history/fsjy/000001/60?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/history/fsjy/000001/60?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/history/fsjy/000001/60?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/history/fsjy/000001/60?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/history/fsjy/000001/60?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

返回的数据示例:[{"d":"2025-01-03 10:30","o":11.44,"h":11.54,"l":11.36,"c":11.44,"v":421564,"e":482331693.0,"zf":1.57,"hs":0.22,"zd":0.09,"zde":0.01,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-03 11:30","o":11.44,"h":11.48,"l":11.42,"c":11.44,"v":121339,"e":138896597.0,"zf":0.52,"hs":0.06,"zd":0.0,"zde":0.0,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-03 14:00","o":11.45,"h":11.52,"l":11.4,"c":11.45,"v":280794,"e":321796871.0,"zf":1.05,"hs":0.14,"zd":0.09,"zde":0.01,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-03 15:00","o":11.45,"h":11.45,"l":11.38,"c":11.38,"v":330984,"e":377495802.0,"zf":0.61,"hs":0.17,"zd":-0.61,"zde":-0.07,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-06 10:30","o":11.38,"h":11.41,"l":11.22,"c":11.37,"v":535872,"e":606804917.0,"zf":1.67,"hs":0.28,"zd":-0.09,"zde":-0.01,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-06 11:30","o":11.38,"h":11.48,"l":11.36,"c":11.42,"v":239180,"e":273208965.0,"zf":1.06,"hs":0.12,"zd":0.44,"zde":0.05,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-06 14:00","o":11.42,"h":11.45,"l":11.35,"c":11.38,"v":114931,"e":130900237.0,"zf":0.88,"hs":0.06,"zd":-0.35,"zde":-0.04,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-06 15:00","o":11.38,"h":11.46,"l":11.38,"c":11.44,"v":195553,"e":223391647.0,"zf":0.7,"hs":0.1,"zd":0.53,"zde":0.06,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-07 10:30","o":11.42,"h":11.49,"l":11.37,"c":11.48,"v":250468,"e":286766840.0,"zf":1.05,"hs":0.13,"zd":0.35,"zde":0.04,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-07 11:30","o":11.49,"h":11.52,"l":11.43,"c":11.47,"v":139023,"e":159515153.0,"zf":0.78,"hs":0.07,"zd":-0.09,"zde":-0.01,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-07 14:00","o":11.47,"h":11.53,"l":11.44,"c":11.5,"v":188900,"e":217205620.0,"zf":0.78,"hs":0.1,"zd":0.26,"zde":0.03,"ud":"2025-02-24 23:22:04"},{"d":"2025-01-07 15:00","o":11.5,"h":11.52,"l":11.48,"c":11.51,"v":169472,"e":194841428.0,"zf":0.35,"hs":0.09,"zd":0.09,"zde":0.01,"ud":"2025-02-24 23:22:04"}]

历史分时交易

API地址:https://api.zhituapi.com/hs/history/fsjy/股票代码/分时级别?token=token证书

描述:根据《股票列表》得到的股票代码和分时级别获取历史交易数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是5、15、30、60、d(日线)、dq(日线前复权)、dh(日线后复权)、w(周线)、wq(周线前复权)、wh(周线后复权)、m(月线)、mq(月线前复权)、mh(月线后复权)、y(年线)、yq(年线前复权)、yh(年线后复权)。

更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新

字段名称 数据类型 字段说明
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 涨跌额(元)

【重要提示】

上方所有演示中的API接口Url链接结尾的ZHITU_TOKEN_LIMIT_TEST,均为数据请求token证书,因为这个证书是官方测试证书,仅可用于验证各个接口的有效性,所以这个证书限制了只可请求股票代码为000001的数据,正式环境中是不能使用的,证书可以自己去申请一个替换掉就好了,证书是免费申请的:https://www.zhituapi.com/gettoken.html,替换成自己申请的证书就可以请求任何股票数据了。

posted @ 2025-03-10 11:35  不会写代码的码农农  阅读(33)  评论(0)    收藏  举报