量化交易必备:用python、JavaScript (Node.js)、JAVA等多种语言教你如何获取股票数据

量化交易必备:用python、JavaScript (Node.js)、JAVA等多种语言教你如何获取股票数据

​ 近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据中挖掘出有价值的信息,为我们的投资策略提供有力的支持。

​ 我最近的两年量化分析研究中,已实测确认以下数据接口均可用、稳定、数据更新及时。为了便于大家验证,下方的所有接口连接我已加入了超链接,均可直接点击即立即获取到数据,以此验证我提供的接口可用性。同时,在底部我提供了这些数据接口的API文档,详细说明这些接口返回的字段说明以及接口连接的使用方法。

【特别提示】:下方验证接口的licence证书(TEST-API-TOKEN-MOMA-836089C22111)为官方提供的验证证书,该证书只能验证股票代码000001的股票,因此,下方的接口连接中,即使换掉代码实际返回的也是000001的数据,在实际应用中,需要自己去申请一个免费证书更换掉就可以随意请求数据了,免费证书的申请连接(点击即可马上得到证书):https://momaapi.com/certificate-apply.html

**[沪深两市股票列表]

API接口链接(可点击验证):http://api.momaapi.com/hslt/list/您的Token

【实时数据接口】

**[沪深两市买卖五档盘口]

API接口链接(可点击验证):http://api.momaapi.com/hsstock/real/five/股票代码/证书您的Token

[沪深两市最新分时交易]

API接口链接(可点击验证):http://api.momaapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的Token?lt=最新条数(如5)

**[沪深两市实时交易数据接口]

API接口链接(可点击验证):http://api.momaapi.com/hsrl/ssjy/股票代码(如000001)/您的Token

1、python

import requests url ="http://api.momaapi.com/hsrl/ssjy/000001/TEST-API-TOKEN-MOMA-836089C22111" response = requests.get(url) data = response.json()print(data)

2、JavaScript (Node.js)

const axios =require('axios');const url ="http://api.momaapi.com/hsrl/ssjy/000001/TEST-API-TOKEN-MOMA-836089C22111"; axios.get(url).then(response=>{ console.log(response.data);}).catch(error=>{ console.log(error);});

3、Java

importjava.net.URI;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;importjava.net.http.HttpResponse;importjava.io.IOException;publicclassMain{publicstaticvoidmain(String[] args){HttpClient client =HttpClient.newHttpClient();HttpRequest request =HttpRequest.newBuilder().uri(URI.create("http://api.momaapi.com/hsrl/ssjy/000001/TEST-API-TOKEN-MOMA-836089C22111")).build();try{HttpResponse<String> response = client.send(request,HttpResponse.BodyHandlers.ofString());System.out.println(response.body());}catch(IOException|InterruptedException e){ e.printStackTrace();}}}

返回的数据:

{"o":11.69,"fm":0.17,"h":11.71,"hs":0.5,"lb":0.7,"l":11.55,"lt":225881388026.0,"pe":4.26,"pc":-0.17,"p":11.64,"sz":225884887825.0,"cje":1131033823.93,"ud":-0.02,"v":973969,"yc":11.66,"zf":1.37,"zs":0.17,"sjl":0.54,"zdf60":0.0,"zdfnc":-0.51,"t":"2025-02-21 15:29:05"}]

【历史数据接口】

**[沪深两市历史分时交易]

API接口链接(可点击验证):http://api.momaapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的Token?st=开始时间(如20240601)&et=结束时间(如20250430)&lt=最新条数(如100)

**[沪深两市历史分时KDJ]

API接口链接(可点击验证):http://api.momaapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

沪深两市历史分时MACD

API接口链接(可点击验证):http://api.momaapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

沪深两市历史分时MA

API接口链接(可点击验证):http://api.momaapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

**[沪深两市历史分时BOLL]

API接口链接(可点击验证):http://api.momaapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

API说明文档

沪深两市股票

API接口:http://api.momaapi.com/hslt/list/您的Token

描述:获取基础的股票代码和名称,用于后续接口的参数传入。

更新频率:每日16:20

字段名称数据类型字段说明
dmstring股票代码,如:000001
mcstring股票名称,如:平安银行
jysstring交易所,"sh"表示上证,"sz"表示深证

实时交易数据接口

API接口:http://api.momaapi.com/hsrl/ssjy/股票代码(如000001)/您的Token

描述:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。

更新频率:交易时间段每1分钟

字段名称数据类型字段说明
fmnumber五分钟涨跌幅(%)
hnumber最高价(元)
hsnumber换手(%)
lbnumber量比(%)
lnumber最低价(元)
ltnumber流通市值(元)
onumber开盘价(元)
penumber市盈率(动态,总市值除以预估全年净利润,例如当前公布一季度净利润1000万,则预估全年净利润4000万)
pcnumber涨跌幅(%)
pnumber当前价格(元)
sznumber总市值(元)
cjenumber成交额(元)
udnumber涨跌额(元)
vnumber成交量(手)
ycnumber昨日收盘价(元)
zfnumber振幅(%)
zsnumber涨速(%)
sjlnumber市净率
zdf60number60日涨跌幅(%)
zdfncnumber年初至今涨跌幅(%)
tstring更新时间yyyy-MM-ddHH:mm:ss

买卖五档盘口

API接口:http://api.momaapi.com/hsstock/real/five/股票代码/证书您的Token

描述:根据《股票列表》得到的股票代码获取实时买卖五档盘口数据。

更新频率:交易时间段每2分钟

字段名称数据类型字段说明
psnumber委卖价
pbnumber委买价
vsnumber委卖量
vbnumber委买量
tstring更新时间

最新分时交易

API接口:http://api.momaapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的Token?lt=最新条数(如5)

描述:根据《股票列表》得到的股票代码以及分时级别获取分时交易数据,交易时间升序。目前分时级别支持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更新

字段名称数据类型字段说明
tstring交易时间
ofloat开盘价
hfloat最高价
lfloat最低价
cfloat收盘价
vfloat成交量
afloat成交额
pcfloat前收盘价
sfint停牌 1停牌,0 不停牌

历史分时交易

API接口:http://api.momaapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的Token?st=开始时间(如20240601)&et=结束时间(如20250430)&lt=最新条数(如100)

描述:根据《股票列表》得到的股票代码和分时级别获取历史交易数据,交易时间升序。目前分时级别支持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更新

字段名称数据类型字段说明
tstring交易时间
ofloat开盘价
hfloat最高价
lfloat最低价
cfloat收盘价
vfloat成交量
afloat成交额
pcfloat前收盘价
sfint停牌 1停牌,0 不停牌

历史分时MACD

API接口:http://api.momaapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

描述:根据《股票列表》得到的股票代码和分时级别获取历史macd数据,交易时间升序。目前分时级别支持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更新

字段名称数据类型字段说明
tstring交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd
diffnumberDIFF值
deanumberDEA值
macdnumberMACD值
ema12numberEMA(12)值
ema26numberEMA(26)值

历史分时MA

API接口:http://api.momaapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

描述:根据《股票列表》得到的股票代码和分时级别获取历史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更新

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

历史分时BOLL(20,2)

API接口:http://api.momaapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的Token?st=开始时间&et=结束时间&lt=最新条数

描述:根据《股票列表》得到的股票代码和分时级别获取历史boll数据,交易时间升序。目前分时级别支持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更新

字段名称数据类型字段说明
tstring交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd
unumber上轨
dnumber下轨
mnumber中轨

Read more

深度解析 WebMCP:让网页成为 AI 智能体的工具库

深度解析 WebMCP:让网页成为 AI 智能体的工具库

深度解析 WebMCP:让网页成为 AI 智能体的工具库 * 深度解析 WebMCP:让网页成为 AI 智能体的工具库 * 前言 * 什么是 WebMCP? * 类比理解 * 为什么要用 WebMCP? * 1. 现有方案的局限性 * 2. WebMCP 的核心优势 * WebMCP 核心概念解析 * 1. 工具(Tools) * 2. 代理(Agent) * 3. 人类在环(Human-in-the-Loop) * 典型使用场景 * 场景一:创意设计助手 * 场景二:智能购物 * 场景三:代码审查 * WebMCP vs 现有方案对比 * 与 MCP 的关系 * 技术架构浅析 * 注册工具的基本模式 * 调用链 * 安全考量 * 1.

By Ne0inhk
【n8n教程】:Webhook节点,构建自动化触发器

【n8n教程】:Webhook节点,构建自动化触发器

【n8n教程】:Webhook节点,构建自动化触发器 什么是Webhook? Webhook 是一个能让外部服务与 n8n 进行实时通信的神奇工具。简单来说,当某个事件发生时,外部服务会立即将数据推送到你的 n8n 工作流,触发自动化流程。 相比传统的"轮询"方式(不断询问是否有新数据),Webhook 更高效、更实时。一旦事件发生,数据就被立即发送给 n8n,n8n 立刻开始处理。 🎯 Webhook的应用场景 * 表单提交处理:用户提交网页表单 → Webhook 接收数据 → n8n 验证并保存 * 支付确认通知:支付平台发送支付成功通知 → 触发订单更新、发票生成 * 第三方系统集成:Shopify 订单、Slack 消息、GitHub 推送等 * 监控和告警:监控系统发送警报 → n8n 通知团队并执行应对措施

By Ne0inhk

Walt插件系统终极指南:从零构建可扩展的WebAssembly编译器

Walt插件系统终极指南:从零构建可扩展的WebAssembly编译器 【免费下载链接】walt:zap: Walt is a JavaScript-like syntax for WebAssembly text format :zap: 项目地址: https://gitcode.com/gh_mirrors/wa/walt WebAssembly作为新一代的Web技术标准,正在彻底改变Web应用的性能表现。然而传统的WebAssembly文本格式(WAT)语法复杂,学习曲线陡峭。Walt编译器通过JavaScript语法简化了这一过程,而其真正的威力在于高度灵活的插件系统。本文将深入解析Walt插件架构的核心机制,并提供完整的实践指导。 问题场景:为什么需要插件系统? 在传统编译器开发中,添加新功能往往意味着直接修改核心代码库。这种方式存在诸多痛点:代码耦合度高、维护困难、升级风险大。当多个团队需要为同一编译器贡献不同特性时,冲突和兼容性问题频发。 想象一下,你正在开发一个需要闭包支持的WebAssembly应用,但Walt原生并不支持这一特性。没有插件系统的情况下,

By Ne0inhk