news 2026/7/13 4:21:58

只写 50 行代码!用 Streamlit + QuantDash 极速搭建多市场自选股实时监控面板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
只写 50 行代码!用 Streamlit + QuantDash 极速搭建多市场自选股实时监控面板

在量化交易里,不仅需要冷冰冰的本地脚本,有时候我们更需要一个直观的可视化看盘界面:能一眼盯住自己最关心的几个 A股、港股和美股标的,看看它们的实时行情、涨跌幅、甚至是五档盘口变化[6][12]。

自己写一套 React 或 Vue 网页的前端,对后端开发或策略研究员来说门槛太高、耗时太长。今天我们用 Python 领域著名的轻量级 Web 框架 Streamlit,配合 QuantDash 的多市场行情接口,在50 行代码以内搭建出一个美观、可交互的多市场自选股实时监控看板。

1. 准备工作

确保你的环境中安装了以下两个库:

pip install streamlit quantdash
2. 看板完整代码

新建一个 app.py,写入以下极其精简的代码:

import streamlit as st import pandas as pd from quantdash import QuantDash import time # 页面基本配置 st.set_page_config(page_title="多市场实时看盘终端", layout="wide") st.title("📊 多市场自选股实时看盘终端") # 1. 实例化 QuantDash (在 Streamlit 中通过 cache 防止重复初始化) @st.cache_resource def get_qd_client(): # 填入你的 QuantDash API Key return QuantDash(api_key="your_quantdash_api_key") qd = get_qd_client() # 2. 侧边栏:配置自选股 st.sidebar.header("⚙️ 监控配置") symbols_input = st.sidebar.text_input( "自选股代码(逗号分隔)", value="600519.SH,AAPL.US,00700.HK,510300.SH" # 默认支持沪深、美股、港股及ETF ) refresh_interval = st.sidebar.slider("刷新频率 (秒)", min_value=2, max_value=30, value=5) # 解析自选股列表 symbols = [s.strip() for s in symbols_input.split(",") if s.strip()] # 3. 主页面布局 # 使用 placeholder 实现页面局部静默刷新,避免整页白屏重载 placeholder = st.empty() while True: with placeholder.container(): st.subheader("⏱️ 实时快照 (自动每 {} 秒更新)".format(refresh_interval)) try: # 批量获取多市场最新实时行情数据 # QuantDash 会自动识别后缀并分发给不同交易所接口获取最新价 quotes_data = qd.stock.get_quotes(symbols=symbols) # 将返回数据组装为表格 df_rows = [] for item in quotes_data: ext = item.get("ext", {}) df_rows.append({ "标的代码": item.get("symbol"), "股票名称": ext.get("name", "N/A"), "最新价": item.get("last_price"), "昨收价": item.get("prev_close"), "最高价": item.get("high"), "最低价": item.get("low"), "涨跌幅(%)": ext.get("change_pct", 0.0), "成交量": item.get("volume"), }) df = pd.DataFrame(df_rows) # 实时卡片展示 (Metrics) cols = st.columns(len(df_rows)) for i, row in enumerate(df_rows): with cols[i]: st.metric( label=f"{row['股票名称']} ({row['标的代码']})", value=row["最新价"], delta=f"{row['涨跌幅(%)']:.2f}%" ) # 详细数据表格展示 st.dataframe(df.style.format({"最新价": "{:.2f}", "涨跌幅(%)": "{:+.2f}%"}), use_container_width=True) except Exception as e: st.error(f"行情获取失败,请检查 API Key 或标的代码格式。错误信息: {e}") # 控制循环刷新间隔 time.sleep(refresh_interval)
3. 启动你的看板

在终端中执行以下命令,Streamlit 会自动在你的浏览器中弹出一个极具科技感的实时看板:

streamlit run app.py
4. 本方案亮点说明
  • 支持混合跨市场:传统接口很难做到在一个表格里把 A 股、美股、港股、ETF 的价格放在一起刷新。依靠 QuantDash 强大的多市场多端支持,只需传入标准化的代码后缀(如 .SH / .US / .HK),底层的转换与路由逻辑全部被封装在云端,大大节省了前端开发工作量[3][12]。

  • 低延迟与性能友好:得益于 quantdash-python-sdk 极低的网络请求开销和简洁的 JSON 结构,即使每 2 秒高频刷新一次,监控面板依然能保持丝滑稳定,不会出现卡顿。

相关链接:

  • QuantDash 官方:QuantDash

  • Python SDK 快速开始:快速开始 - QuantDash

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 4:21:29

Unity NGUI版本演进、UGUI混用与深度优化实战指南

1. 项目概述:为什么我们还在谈论NGUI?如果你在Unity社区里待得够久,一定会发现一个有趣的现象:尽管Unity官方力推的UGUI已经非常成熟,但“NGUI”这个词依然频繁出现在各种项目需求、面试题和论坛讨论里。我手头就有一个…

作者头像 李华
网站建设 2026/7/13 4:20:08

mikufans录播姬:开源免费直播录制工具终极指南

mikufans录播姬:开源免费直播录制工具终极指南 【免费下载链接】BililiveRecorder 录播姬 | mikufans 生放送录制 项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder 录播姬(BililiveRecorder)是一款专为mikufans直播平台…

作者头像 李华
网站建设 2026/7/13 4:18:02

路由器管理界面与钥匙串访问:2 种跨平台找回 WiFi 密码的底层逻辑

路由器管理界面与钥匙串访问:2 种跨平台找回 WiFi 密码的底层逻辑当你在咖啡厅打开笔记本准备处理紧急邮件,却发现手机早已自动连接的WiFi密码从未手动输入过;或是家中更换新设备时,面对路由器底部模糊的默认密码贴纸束手无策——…

作者头像 李华
网站建设 2026/7/13 4:15:49

三亚靠谱婚纱摄影

很多新人都梦想在三亚拍摄美美的婚纱照,可面对众多选择,如何找到靠谱的婚纱摄影机构成了难题。今天就给大家推荐一家三亚本地十三年老店——乔芙妮(三亚)婚纱摄影有限公司。宣传真实,拒绝虚假不少婚纱摄影机构过度依赖…

作者头像 李华
网站建设 2026/7/13 4:13:57

一篇文章带你吃透函数

函数,简言之,就是实现某种特定功能的一段代码。函数分为库函数和自定义函数。函数具有以下特点:1.封装性。 2.复用性。 一、 库函数 库函数是一些已经配置好功能的一些函数,根据自己的现实需要来选择库函数。因为库函数是在标准头…

作者头像 李华
网站建设 2026/7/13 4:09:26

国内开发者快速上手Codex智能体:两步接入与完整实战指南

最近在AI开发圈里,Codex智能体确实火得不行,但很多国内开发者一看到"OpenAI"、"API Key"这些词就头疼——网络限制、付费流程、接口调用复杂度都是实实在在的门槛。不过好消息是,现在通过国内平台接入Codex已经变得非常简…

作者头像 李华