首页 > 编程语言 >【量化分析】Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家演示一下如何获取股票实时交易数据

【量化分析】Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家演示一下如何获取股票实时交易数据

时间:2024-09-01 16:23:39浏览次数:9  
标签:Node http url JavaScript import Java data response HttpClient

最近一两年,股票量化分析越来越受欢迎了。想要入行,首先得搞定股票数据。毕竟,所有量化分析都是建立在数据之上的,实时交易、历史交易、财务、基本面,这些数据咱们都得有。咱们的目标就是挖掘这些数据中的价值,来指导咱们的投资策略。

​ 为了找数据,我可是尝试了各种方法,自己动手写过网易、申万行业的爬虫,还试过同花顺问财的,连聚宽的免费API都用过。但爬虫这东西,数据总是不稳定,给量化分析带来不少困扰。

​ 在量化分析领域,实时、准确的数据接口太重要了。现在我用Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家演示一下如何获取股票实时交易数据:

1、python

import requests  
  
url = "http://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a"  
response = requests.get(url)  
data = response.json()  
print(data)
  1. JavaScript (Node.js)
const axios = require('axios');  
  
const url = "http://api.mairui.club/hsrl/ssjy/000001/b997d4403688d5e66a";  
axios.get(url)  
  .then(response => {  
    console.log(response.data);  
  })  
  .catch(error => {  
    console.log(error);  
  });
  1. 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/hsrl/ssjy/000001/b997d4403688d5e66a"))  
            .build();  
  
        try {  
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());  
            System.out.println(response.body());  
        } catch (IOException | InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}
  1. 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/hsrl/ssjy/000001/b997d4403688d5e66a";  
            HttpResponseMessage response = await client.GetAsync(url);  
            string responseBody = await response.Content.ReadAsStringAsync();  
            Console.WriteLine(responseBody);  
        }  
    }  
}
  1. Ruby
require 'net/http'  
require 'json'  
  
url = URI("http://api.mairui.club/hsrl/ssjy/000001/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

返回的数据:
{“fm”:“-0.20”,“h”:“10.26”,“hs”:“0.67”,“lb”:“1.38”,“l”:“10.11”,“lt”:“197161074084.00”,“o”:“10.11”,“pe”:“3.81”,“pc”:“0.30”,“p”:“10.16”,“sz”:“197164128892.00”,“cje”:“1318858687.52”,“ud”:“0.03”,“v”:“1294059”,“yc”:“10.13”,“zf”:“1.48”,“zs”:“-0.20”,“sjl”:“0.48”,“zdf60”:“-0.20”,“zdfnc”:“17.19”,“t”:“2024-08-30 15:29:03”}

API说明文档:

字段名称数据类型字段说明
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-dd HH:mm:ss

标签:Node,http,url,JavaScript,import,Java,data,response,HttpClient
From: https://blog.csdn.net/u012940698/article/details/141752396

相关文章

  • 基于nodejs+vue宠物互助领售平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代社会生活节奏的加快和孤独感的普遍增加,宠物已成为许多人生活中不可或缺的伴侣。然而,宠物市场的信息不对称、领养渠道不畅、宠物医疗知识普及不足等......
  • 基于nodejs+vue宠物户籍管理[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代社会生活节奏的加快与城市化进程的推进,宠物已成为许多家庭不可或缺的一员,它们不仅是情感的寄托,更是家庭的重要组成部分。然而,宠物数量的激增也带来......
  • 基于nodejs+vue宠物寄养酒店系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代社会生活节奏的加快和人们对宠物情感依赖的日益增强,宠物已成为许多家庭不可或缺的重要成员。然而,在主人因工作、旅行等原因无法直接照顾宠物时,如何......
  • 基于nodejs+vue宠物寄养平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快与城市化进程的推进,宠物已成为许多家庭不可或缺的一员,它们不仅带来了陪伴与慰藉,更是家庭成员间情感的纽带。然而,当人们面临出差、旅......
  • 基于Java Swing 的操作系统课程设计- 模拟文件管理项目(可视化
    一、需求分析......
  • Java中的i++操作为什么不是线程安全的?
     目录1.理解i++操作2.竞态条件的示例3.如何解决i++的线程安全问题?需求场景:计数器的并发访问与统计背景:需求:代码示例与问题分析:预期结果:实际结果:解决方案一:使用synchronized关键字解决方案二:使用AtomicInteger解决方案三:使用ReentrantLock需求模拟与扩展......
  • nodejs起一个http2
    静态页面其实就是复制官网的代码其中证书是我自己申请的可以用证书dingshaohua.comimportfsfrom"fs";importhttp2from"node:http2";constserver=http2.createSecureServer({key:fs.readFileSync("/etc/letsencrypt/live/dingshaohua.com/privkey.pem"),......
  • [Java手撕]交替打印0-100
    两个线程交替打印0-100importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;publicclassMain{publicstaticReentrantLocklock=newReentrantLock();publicstaticConditionodd=lock.newCondition();p......
  • [Java手撕]循环打印ABC
    多线程循环打印ABCimportjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;publicclassMain{publicstaticReentrantLockLock=newReentrantLock();publicstaticConditionConditionA=Lock.newCondition();......
  • JAVA高级编程之集合框架和泛型(超详细)
    Java集合框架包含的内容Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中Collection接口存储一组不唯一,无序的对象List接口存储一组不唯一,有序(插入顺序)的对象Set接口存储一组唯一,无序的对象Map接口存储一组键值对象,提供key到value的映......