当前位置: 首页 > news >正文

【如何获取股票数据07】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股历史分时MA数据获取实例演示及接口API说明文档

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

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

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

1、python

import requests  url = "http://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a"  
response = requests.get(url)  
data = response.json()  
print(data)

2、JavaScript (Node.js)

const axios = require('axios');  const url = "http://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a";  
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("http://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a"))  .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 = "http://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a";  HttpResponseMessage response = await client.GetAsync(url);  string responseBody = await response.Content.ReadAsStringAsync();  Console.WriteLine(responseBody);  }  }  
}

5、Ruby

require 'net/http'  
require 'json'  url = URI("http://api.mairui.club/hszbl/ma/000001/60m/b997d4403688d5e66a")  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":"2024-07-19 14:00","ma3":"10.33","ma5":null,"ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-19 15:00","ma3":"10.35","ma5":null,"ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-22 10:30","ma3":"10.30","ma5":"10.31","ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-22 11:30","ma3":"10.26","ma5":"10.29","ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-22 14:00","ma3":"10.21","ma5":"10.27","ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-22 15:00","ma3":"10.22","ma5":"10.24","ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-23 10:30","ma3":"10.24","ma5":"10.23","ma10":null,"ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-23 11:30","ma3":"10.27","ma5":"10.25","ma10":"10.28","ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-23 14:00","ma3":"10.29","ma5":"10.26","ma10":"10.28","ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-23 15:00","ma3":"10.25","ma5":"10.25","ma10":"10.26","ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-24 10:30","ma3":"10.21","ma5":"10.24","ma10":"10.24","ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null},{"t":"2024-07-24 11:30","ma3":"10.18","ma5":"10.22","ma10":"10.23","ma15":null,"ma20":null,"ma30":null,"ma60":null,"ma120":null,"ma200":null,"ma250":null}]

历史分时MA

API接口:http://api.mairui.club/hszbl/ma/股票代码(如000001)/分时级别/licence证书

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

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

字段名称数据类型字段说明
tstring交易时间,短分时级别格式为yyyy-MM-dd HH:mm:ss,日线级别为yyyy-MM-dd
ma3numberMA3,没有则为null
ma5numberMA5,没有则为null
ma10numberMA10,没有则为null
ma15numberMA20,没有则为null
ma20numberMA20,没有则为null
ma30numberMA30,没有则为null
ma60numberMA60,没有则为null
ma120numberMA120,没有则为null
ma200numberMA200,没有则为null
ma250numberMA250,没有则为null

【重要提示】

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

http://www.lryc.cn/news/466699.html

相关文章:

  • Rust语法基础
  • AWS WAF实现API安全防护
  • vue将table转换为pdf导出
  • 20240818 字节跳动 笔试
  • 在Debian上安装向日葵
  • 13.2 Linux_网络编程_UNIX域套接字
  • 10.22 多进程间通信-共享内存、信号量集
  • 输入输出管理器的使用
  • windows连接linux服务器上的jupyter lab
  • golang生成并分析cpu prof文件
  • 【Python爬虫实战】XPath与lxml实现高效XML/HTML数据解析
  • 软件测试学习笔记丨Selenium学习笔记:元素定位与操作
  • 在 HTML 中,<input> 元素支持的事件汇总
  • vue3【实战】 渲染 md 文件(markdown语法 .md后缀的文件)
  • Sora高端制造业WordPress外贸主题
  • windows安装superset及各种问题解决
  • JMeter模拟并发请求
  • 【小趴菜前端实习日记5】
  • 如何通过谷歌外推占据搜索引擎首页?
  • jmeter学习(6)逻辑控制器
  • Android14 和android12 在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时
  • 智能时代摩托车一键启动无钥匙进入感受科技前线
  • 需要补充的技能
  • 15分钟学 Go 第 15 天:映射(Map)
  • element-plus 官方表格排序问题
  • AI语音模型在家宽业务中的应用
  • 零七生活API-文字转语音API使用示例
  • rpc的客户端为什么称为stub
  • RHCE--nginx实现多IP访问多网站
  • TikTok运营对IP有什么要求?