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

只写 50 行代码!用 Streamlit + QuantDash 极速搭建多市场自选股实时监控面板
在量化交易里不仅需要冷冰冰的本地脚本有时候我们更需要一个直观的可视化看盘界面能一眼盯住自己最关心的几个 A股、港股和美股标的看看它们的实时行情、涨跌幅、甚至是五档盘口变化[6][12]。自己写一套 React 或 Vue 网页的前端对后端开发或策略研究员来说门槛太高、耗时太长。今天我们用 Python 领域著名的轻量级 Web 框架 Streamlit配合 QuantDash 的多市场行情接口在50 行代码以内搭建出一个美观、可交互的多市场自选股实时监控看板。1. 准备工作确保你的环境中安装了以下两个库pip install streamlit quantdash2. 看板完整代码新建一个 app.py写入以下极其精简的代码import streamlit as st import pandas as pd from quantdash import QuantDash import time # 页面基本配置 st.set_page_config(page_title多市场实时看盘终端, layoutwide) st.title( 多市场自选股实时看盘终端) # 1. 实例化 QuantDash (在 Streamlit 中通过 cache 防止重复初始化) st.cache_resource def get_qd_client(): # 填入你的 QuantDash API Key return QuantDash(api_keyyour_quantdash_api_key) qd get_qd_client() # 2. 侧边栏配置自选股 st.sidebar.header(⚙️ 监控配置) symbols_input st.sidebar.text_input( 自选股代码逗号分隔, value600519.SH,AAPL.US,00700.HK,510300.SH # 默认支持沪深、美股、港股及ETF ) refresh_interval st.sidebar.slider(刷新频率 (秒), min_value2, max_value30, value5) # 解析自选股列表 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(symbolssymbols) # 将返回数据组装为表格 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( labelf{row[股票名称]} ({row[标的代码]}), valuerow[最新价], deltaf{row[涨跌幅(%)]:.2f}% ) # 详细数据表格展示 st.dataframe(df.style.format({最新价: {:.2f}, 涨跌幅(%): {:.2f}%}), use_container_widthTrue) except Exception as e: st.error(f行情获取失败请检查 API Key 或标的代码格式。错误信息: {e}) # 控制循环刷新间隔 time.sleep(refresh_interval)3. 启动你的看板在终端中执行以下命令Streamlit 会自动在你的浏览器中弹出一个极具科技感的实时看板streamlit run app.py4. 本方案亮点说明支持混合跨市场传统接口很难做到在一个表格里把 A 股、美股、港股、ETF 的价格放在一起刷新。依靠 QuantDash 强大的多市场多端支持只需传入标准化的代码后缀如 .SH / .US / .HK底层的转换与路由逻辑全部被封装在云端大大节省了前端开发工作量[3][12]。低延迟与性能友好得益于 quantdash-python-sdk 极低的网络请求开销和简洁的 JSON 结构即使每 2 秒高频刷新一次监控面板依然能保持丝滑稳定不会出现卡顿。相关链接QuantDash 官方QuantDashPython SDK 快速开始快速开始 - QuantDash