【2025年02期】实例演示五种主流语言获取股票行情api接口之沪深A股最新分时MA数据获取实例演示及接口API说明文档

在近一至两年期间,股票量化分析逐步成为热门议题。而投身于该领域工作的首要步骤,便是获取全面且精准的股票数据。无论是实时交易数据、历史交易记录、财务数据抑或是基本面信息,均是开展量化分析过程中不可或缺的宝贵资源。我们的核心任务是从这些数据中萃取具有价值的信息,从而为投资策略提供坚实有力的指导。

在数据探索进程中,我尝试运用了多种方式,涵盖自编的网易股票页面爬虫、申万行业数据爬虫、同花顺问财爬虫,甚至还采用了聚宽的免费数据 API。然而,爬虫作为数据来源,稳定性往往欠佳,给量化分析工作带来了诸多困扰。

在量化分析领域,实时且精确的数据接口堪称成功的关键基石。经过多次实际测试,我现将已确认可用的数据接口分享给正在从事量化分析工作的各位同仁,期望能对大家的研究与工作有所助益。接下来,我将通过 Python、JavaScript(Node.js)、Java、C# 和 Ruby 这五种主流语言的实例代码,依次为大家演示如何获取各类股票数据:

1、python

import requests  
  
url = "https://api.zhituapi.com/hs/latest/ma/000001/d?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/latest/ma/000001/d?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/latest/ma/000001/d?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/latest/ma/000001/d?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/latest/ma/000001/d?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-02-24","ma3":11.63,"ma5":11.68,"ma10":11.61,"ma15":11.54,"ma20":11.48,"ma30":11.46,"ma60":11.52,"ma120":11.3,"ma200":10.98,"ma250":10.86}

最新分时MA

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

描述:根据《股票列表》得到的股票代码以及分时级别获取分时MA数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日周月年级别(包括前后复权),对应的值分别是5、15、30、60、d(日线)、dq(日线前复权)、dh(日线后复权)、w(周线)、wq(周线前复权)、wh(周线后复权)、m(月线)、mq(月线前复权)、mh(月线后复权)、y(年线)、yq(年线前复权)、yh(年线后复权)。目前提供了ma3,ma5,ma10,ma15,ma20,ma30,ma60,ma120,ma200,ma250这些常用的移动平均线。

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

字段名称 数据类型 字段说明
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

【重要提示】

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

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