写给前端的股票行情 SDK: stock-sdk,终于不用再求后端帮忙了

起因

说实话,这个项目的诞生完全是被逼出来的。

去年我想做一个股票行情看板,就是那种简单的页面,能实时显示几只自选股的涨跌。听起来很简单对吧?但当我真正开始动手的时候,才发现事情没那么简单。

网上搜一圈,股票数据接口相关的工具几乎全是 Python 的。AkShare、Tushare、掘金量化……确实牛,功能也确实全,但问题是——我是个前端啊

为了一个小看板,难道要我专门搭一个 Python 后端?再写个接口转发给前端?这也太折腾了。

于是我开始找有没有 JavaScript 能用的方案。结果你猜怎么着?翻遍了 npm,几乎找不到一个好用的。有的年久失修,有的只支持 Node.js 不支持浏览器,有的类型支持一塌糊涂,还有的接口莫名其妙就挂了。

摸索了一圈之后,我决定:算了,自己写一个得了。

stock-sdk 是什么?

简单说,stock-sdk 就是一个专门给前端和 Node.js 用的股票行情 SDK。

核心目标就一个:让你用最熟悉的 JavaScript / TypeScript,10 行代码搞定股票数据获取。

import { StockSDK } from 'stock-sdk'; const sdk = new StockSDK(); const quotes = await sdk.getSimpleQuotes(['sh000001', 'sz000858', 'sh600519']); quotes.forEach(q => { console.log(`${q.name}: ${q.price} (${q.changePercent}%)`); });

就这么简单。不用搭后端,不用装 Python,浏览器里直接跑。

它能干什么?

写到现在,功能已经比较齐全了:

行情数据

  • A 股、港股、美股、公募基金的实时行情
  • 历史 K 线(日线、周线、月线)
  • 分钟 K 线(1 分钟到 60 分钟都支持)
  • 当日分时走势

板块数据

  • 行业板块、概念板块的列表和实时行情
  • 板块成分股
  • 板块 K 线数据

技术指标

  • 内置 MA、MACD、BOLL、KDJ、RSI 等常用指标
  • 一个接口搞定 K 线 + 指标计算

扩展数据

  • 资金流向
  • 盘口大单
  • A 股交易日历

批量能力

  • 一次性获取全市场 5000+ 只 A 股行情
  • 内置并发控制,不会把接口打挂
  • 进度回调,知道当前拉取到哪里了

为什么要用它?

说实话,这个问题我自己也想过很久。毕竟市面上不是没有其他方案。

但仔细想想,stock-sdk 确实解决了一些痛点:

1. 零依赖,真的很小

压缩后不到 20KB。没有乱七八糟的依赖,不会给你的项目增加额外负担。

2. 浏览器和 Node.js 都能跑

这个是我一开始就确定的设计目标。不管你是做 Web 页面还是 Node.js 脚本,都能直接用。同时提供 ESM 和 CommonJS 两种格式,现代项目和老项目都兼容。

3. TypeScript 类型完整

说真的,类型提示这个东西,用过就回不去了。每个接口返回什么字段、每个参数是什么类型,IDE 里一目了然。写代码的时候不用反复查文档。

4. 接口稳定

数据源用的是腾讯财经和东方财富的公开接口,稳定性还是有保障的。而且我做了比较完善的错误处理,不会因为某个请求失败就整个崩掉。

适合什么场景?

这个 SDK 不是万能的,我也不打算把它做成大而全的东西。它比较适合这些场景:

  • 股票看板:做一个自选股页面,看看涨跌
  • 数据可视化:用 ECharts 或者 TradingView 画 K 线图
  • 学习 Demo:金融课程、量化入门的演示项目
  • 量化验证:快速验证一个交易策略的想法
  • 定时脚本:Node.js 定时抓取行情数据

如果你需要更专业的量化回测、高频交易之类的,这个 SDK 可能就不太够用了。那种场景还是 Python 生态更成熟。

一些实际的例子

获取全市场 A 股行情

const allQuotes = await sdk.getAllAShareQuotes({ batchSize: 300, concurrency: 5, onProgress: (completed, total) => { console.log(`进度: ${completed}/${total}`); }, }); console.log(`共获取 ${allQuotes.length} 只股票`);

5000 多只股票,几秒钟就拉完了。并发控制是内置的,不用自己操心。

获取带技术指标的 K 线

const data = await sdk.getKlineWithIndicators('sh600519', { period: 'daily', count: 100, indicators: { ma: { periods: [5, 10, 20] }, macd: true, boll: true, }, }); // data.kline 是原始 K 线 // data.indicators.ma 是均线数据 // data.indicators.macd 是 MACD 数据 // data.indicators.boll 是布林带数据

一个接口把 K 线和指标都算好了,直接拿去画图就行。

写在最后

这个项目从去年开始写,断断续续维护到现在,功能也越来越完善了。

其实我一直觉得,工具这个东西,好不好用自己最清楚。stock-sdk 就是我自己在用的东西,遇到问题就修,需要新功能就加。

如果你也是前端,也需要获取股票数据,不妨试试。

Read more

安卓手机安装Termux+AstrBot+NapCat搭建QQ个人机器人【非官方】(简易版)

安卓手机安装Termux+AstrBot+NapCat搭建QQ个人机器人【非官方】(简易版)

前言        好久不见,亲爱的友友们,这次我来了!这次我学会了用旧安卓手机安装termux软件搭建了一个AstrBotQQ机器人(大模型可能跑不了),我使用的旧安卓手机是vivoY31s标准版,手机型号有点久,到时能用就行了。其实方法都通用差不多。 目录 目录 前言 目录 一、简介 1.Termux 2.AstrBot 3.NapCat  二、步骤 1. 安装Termux 2. 更新系统包打开 Termux,依次执行以下命令,更新软件源并安装基础工具。 换源 (可选) 3. 申请存储权限 正式部署 安装 proot-distro 及 其他必须组件 登录 Ubuntu环境 添加第三方PPA 安装 Python 克隆 AstrBot 仓库 运行 AstrBot

双模态无人机太阳能光伏红外可见光一一对应缺陷检测数据集,共650张 无人机可见光红外缺陷检测数据集 红外 + 可见光配对无人机红外可见光光伏缺陷检测数据集

双模态无人机太阳能光伏红外可见光一一对应缺陷检测数据集,共650张 无人机可见光红外缺陷检测数据集 红外 + 可见光配对无人机红外可见光光伏缺陷检测数据集

1 1 1 1 1 类别: dmjrb ns dyrb ejgdl zw yyzd ygfs ycdw dmjrb_ycdw dyrb_ycdw ✅ 一、数据集基本信息表 项目内容数据集名称无人机光伏太阳能板缺陷检测数据集(红外 + 可见光配对)总图像数量650 张(红外与可见光图像严格一一对应,共 650 对 → 1,300 张图像)模态类型双模态配对数据:• 红外热成像(Infrared)• 可见光图像(RGB)标注格式YOLO 格式(.txt 文件,适用于 YOLOv5/v8/v11 等)数据划分未明确说明,建议按 7:2:

基于DamoFD-0.5G的AR虚拟试妆系统

基于DamoFD-0.5G的AR虚拟试妆系统 1. 引言 想象一下这样的场景:你在网上看中了一支口红,但不确定这个颜色是否适合自己。传统的网购只能靠想象,或者看别人的试色图,但每个人的肤色、唇形都不一样,效果可能天差地别。 现在有了基于DamoFD-0.5G的AR虚拟试妆系统,这个问题就迎刃而解了。你只需要打开手机摄像头,系统就能实时检测到你的人脸,精准定位五官,然后把口红、眼影、腮红等彩妆效果叠加到你的脸上,让你在购买前就能看到真实的上妆效果。 这种技术不仅能让购物体验更加直观,还能节省大量试妆时间。对于美妆品牌来说,这也是提升用户 engagement 的利器。今天我们就来深入探讨如何利用DamoFD-0.5G这个人脸检测模型,构建一个高精度的AR虚拟试妆系统。 2. DamoFD-0.5G的技术优势 DamoFD-0.5G是达摩院推出的一款轻量级人脸检测模型,只有0.5G的计算量,但在精度上却毫不妥协。它在WiderFace数据集上的hard集精度达到了71.03%,比同级别的其他模型高出2.5个百分点。 这个模型最大的特点是能够同时输出人脸 bounding

5分钟搞定!ComfyUI Photoshop插件终极安装指南:让AI绘画直接在PS中完成

5分钟搞定!ComfyUI Photoshop插件终极安装指南:让AI绘画直接在PS中完成 【免费下载链接】Comfy-Photoshop-SDDownload this extension via the ComfyUI manager to establish a connection between ComfyUI and the Auto-Photoshop-SD plugin in Photoshop. https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin 项目地址: https://gitcode.com/gh_mirrors/co/Comfy-Photoshop-SD 还在为AI绘画的繁琐流程而烦恼吗?每次都要在Photoshop和AI软件之间来回切换,不仅效率低下,还容易打断创作灵感。ComfyUI Photoshop插件完美解决了这一痛点,让你在熟悉的Photoshop环境中直接使用强大的AI功能,实现无缝创作体验。 🎯 为什么你需要ComfyUI Photoshop