数据化碎片,一个接口搞定所有。过去找数据,要在同花顺扒行情、东方财富查财报,数据格式不统一,还得手动整理。而优质的股票API,能一次性覆盖。
有位量化交易者分享,用API后,每天花在数据处理上的时间从3小时降到20分钟,策略回测效率提升了5倍.接下来我给大家推荐一下实测可用的专业股票数据接口。并通过Python、JavaScript(Node.js)、Java、C#、Ruby等五种主流语言,逐一演示如何高效获取各类股票数据,希望能够对大家有所帮助。
沪深A股行情指标数据API接口:http://api.momaapi.com/hsstock/indicators/600519.SH/TEST-API-TOKEN-MOMA-836089C22111
描述:根据《股票列表》得到的股票代码获取各项行情指标,开始时间以及结束时间的格式均为 YYYYMMDD,例如:'20240101'。不设置开始时间和结束时间则为全部数据。
更新频率:实时
接口URL中,000001是股票代码,TEST-API-TOKEN-MOMA-836089C22111是请求证书,这个是官方提供的测试证书只能测试000001的数据,随后大家自己可以去领取一个免费的请求证书就可以获取其他股票的数据了。 证书申请
1、python
python
import requests
url = "http://api.momaapi.com/hsstock/indicators/600519.SH/TEST-API-TOKEN-MOMA-836089C22111"
response = requests.get(url)
data = response.json()
print(data)
2、JavaScript (Node.js)
javascript
const axios = require('axios');
const url = "http://api.momaapi.com/hsstock/indicators/600519.SH/TEST-API-TOKEN-MOMA-836089C22111";
axios.get(url)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
3、Java
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.momaapi.com/hsstock/indicators/600519.SH/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();
}
}
}
4、C#
csharp
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.momaapi.com/hsstock/indicators/600519.SH/TEST-API-TOKEN-MOMA-836089C22111";
HttpResponseMessage response = await client.GetAsync(url);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
5、Ruby
ruby
require 'net/http'
require 'json'
url = URI("http://api.momaapi.com/hsstock/indicators/600519.SH/TEST-API-TOKEN-MOMA-836089C22111")
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
返回数据示例:
json
"[
返回的数据字段说明:
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| time | string | 更新时间 |
| lb | float | 量比 |
| om | float | 1分钟涨速(%) |
| fm | float | 5分钟涨速(%) |
| 3d | float | 3日涨幅(%) |
| 5d | float | 5日涨幅(%) |
| 10d | float | 10日涨幅(%) |
| 3t | float | 3日换手(%) |
| 5t | float | 5日换手(%) |
| 10t | float | 10日换手(%) |