数据驱动决策:Superset+DolphinDB 可视化分析市场行情

本页是一篇教程型文章:引入 Apache Superset 与 DolphinDB 结合,用于市场行情相关的数据分析、可视化与仪表盘实践。

Source: https://dolphindb.cn/blogs/163

What this page covers

技能认证特训营第二期正式开启(限时报名)

页面顶部提供活动报名提示与报名链接入口。

数据驱动决策:Superset+DolphinDB 可视化分析市场行情

给出文章标题、作者与发布日期信息,并引入将 Superset 与 DolphinDB 结合用于行情可视化分析的主题。

1. 安装部署

概述在 Python 虚拟环境下安装、初始化并启动 Superset 的步骤方向。

1.1 安装 Python 运行环境

说明使用 Miniconda 创建虚拟环境,并给出 Superset 与 pydolphindb 的版本要求与安装命令示例。

1.2 配置环境变量及初始化

通过创建 superset_config.py、设置环境变量,并执行升级与初始化命令完成 Superset 初始化。

1.3 启动 Superset

给出 Superset 启动命令与访问地址示例,并展示登录界面相关说明。

2. 数据准备

在 DolphinDB 中创建 catalog 与 schema、创建行情分布式表,并用 MockData 生成模拟股票行情数据与共享表。

3. 连接至 DolphinDB

在 Superset 中创建 DolphinDB 数据库连接并创建 dataset,使 Superset 可访问 DolphinDB 数据。

3.1 创建连接

通过 Superset 设置菜单进入数据库连接页面,选择 DolphinDB 类型,并按 URI 格式填写连接参数与测试连接。

3.2 创建 dataset

在 Superset 中选择数据库、schema 与 table 创建 dataset,并说明共享表选择与元数据刷新机制。

4. 可视化分析

基于股票案例数据在 Superset 中制作多种图表,并最终组合为仪表盘进行分析展示。

4.1 市场深度趋势图

使用折线图基于 snapshot 数据集配置时间轴、时间粒度、过滤与自定义指标,并生成与保存市场深度趋势图。

4.2 最新行情信息

使用 Table 图表配置字段与过滤条件,按交易时间倒序与行数限制展示最新行情,并可调整日期显示格式。

4.3 成交量分布图

使用柱状图按分钟聚合成交量,并以证券代码为维度对比两只股票;同时说明方向与缩放配置。

4.4 市场成交词云图

使用 WordCloud 以证券代码为维度、以成交金额指标控制字号,并说明旋转方向、字体大小等自定义项。

4.5 总成交量图

使用 Big Number 图表通过自定义指标计算并展示某股票某日总成交量。

4.6 使用仪表盘

创建仪表盘并拖拽组合图表,设置仪表盘属性,并通过分享链接与权限管理进行共享访问。

5. 总结

总结集成方式与价值,并列出当前兼容性限制与学习用途声明。

Facts index

Entity Attribute Value Confidence
文章发布日期2025-03-26high
Superset定位/性质由 Apache 软件基金会维护的开源数据可视化和数据探索工具high
Superset能力帮助用户快速构建交互式数据仪表盘,并支持丰富的图表类型medium
DolphinDB 与 Superset 结合用途/效果更高效进行数据分析和可视化,监控关键业务指标(如市场行情、交易量等),实现更好的数据驱动决策low
SupersetPython 版本要求Python 需安装 3.10 或以上版本high
Superset 安装示例环境conda 虚拟环境创建命令conda create -n superset python==3.11;conda activate supersethigh
Superset依赖安装方式通过 pip 安装 requirements.txt 中的依赖(pip install -r requirements.txt)high
Superset 依赖安装(中国地区)清华源加速命令pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplehigh
pydolphindb版本要求安装 1.1.1 或以上版本;示例安装为 pydolphindb==1.1.1high
pydolphindb 1.1.1+作用实现了 Superset 所需的 DBAPI2.0 相关数据库元信息接口medium
Superset 配置SECRET_KEY 建议密钥长度建议 32 位以上随机字符串;可用 DolphinDB 脚本 rand(33..126, 32).concat("").base64Encode() 生成high
Superset 配置创建 superset_config.py 示例命令echo "SECRET_KEY = 'cIgiAjJyZoxb4FfPzxQ8CdLJa+afcA5m+r3ezwe7XGzJ/Qj1VQWnGHRU'" > superset_config.pyhigh
Superset关键环境变量示例FLASK_APP=superset;SUPERSET_HOME=/home/peter/superset;SUPERSET_CONFIG_PATH=/home/peter/superset/superset_config.pyhigh
Superset 初始化执行命令(按文中给出)supersetdb upgrade;flask fab create-admin;supersetinithigh
Superset 服务启动启动命令示例superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debuggerhigh
Superset 访问方式URL 格式通过浏览器访问 http://ip:8088(端口由 -p 指定)high
DolphinDB(用于 Superset 访问)版本要求需使用 3.00.0 及以上版本(因 Superset 使用 catalog、schema 等概念)high
DolphinDB MockData 模块用途(本文案例)模拟一天的股票行情数据high
DolphinDB案例中创建的 catalog 名称stockhigh
DolphinDB案例中创建的分布式表使用 stockSnapShotPT("dfs://level2", "snapshot") 创建 snapshot 分布式表(注释:创建行情分布式表snapshot)high
DolphinDB案例中创建的 schemacreateSchema("stock", "dfs://level2", "level2")high
模拟数据生成(DolphinDB)生成参数(示例)data = stockSnapshot(2020.01.06, 100)high
DolphinDB案例中创建的共享表名称share tmp as snapshotghigh
Superset 连接 DolphinDB操作入口(菜单路径)Settings → Database Connections(文中描述:右上角 Settings,下拉 Data 分类中 Database Connections)high
Superset 连接 URI格式dolphindb://user:password@host:port/cataloghigh
Superset 连接参数user数据库用户名high
Superset 连接参数password数据库用户对应的密码high
Superset 连接参数hostDolphinDB 所在服务器的主机名或 IPhigh
Superset 连接参数portDolphinDB 监听端口high
Superset 连接参数catalog数据库目录名称high
Superset 连接 DolphinDB连接验证/提交按钮TEST CONNECTION 测试连接;CONNECT 连接数据库high
Superset dataset用途Superset 使用数据集(dataset)管理数据,并以此作为图表的数据源high
Superset 创建 dataset步骤要点点击 +DATASET,选择数据库连接、SCHEMA、TABLE,点击 CREATE DATASET AND CREATE CHART(后续 CREATE CHART 可忽略)high
Superset dataset可选数据源类型(文中说明)除分布式表外,也可选择 _shared_table 选取共享内存表medium
Superset 元数据缓存行为与刷新方式(文中说明)Superset 通常会缓存数据库元信息;若非最新可点击刷新按钮更新元数据medium
可视化分析案例覆盖内容通过 Superset 绘制图表分析股票数据:市场深度趋势、成交量分布、行情展示等high
Superset 折线图配置项(文中列举)X-AXIS趋势图通常选择时间字段作为 X 轴high
Superset 折线图配置项(文中列举)TIME GRAIN对 X 轴时间列进行聚合,在更大时间粒度(Minute、Day、Month 等)展示high
Superset 折线图配置项(文中列举)FILTERS过滤器对应 SQL 的 where 条件high
Superset 折线图配置项(文中列举)METRICS图表展示指标;建议选择 CUSTOM SQL 手动编写high
Superset 自定义指标(METRICS)支持范围(文中说明)CUSTOM SQL 输入框中可使用所有合法的 DolphinDB SQL(含内置函数与自定义函数)medium
市场深度趋势图指标(示例)买卖队列计算表达式sum(rowSum(OfferOrderQty)) 与 sum(rowSum(BidOrderQty))high
Superset 调试技巧(文中说明)查看生成 SQL可通过右上角菜单 View query 查看界面配置生成的 SQL 以确认正确性high
市场深度趋势图示例 SQL查询内容(按文中给出)SELECT minute("TradeTime") as "minute_TradeTime", SUM(rowSum(OfferOrderQty)) as "SUM_rowSum_OfferOrderQty", SUM(rowSum(BidOrderQty)) as "SUM_rowSum_BidOrderQty" FROM snapshotg WHERE "TradeTime" >= time("09:30:00.000") && "TradeTime" < time("11:30:00.000") GROUP BY minute("TradeTime") ORDER BY "SUM_rowSum_OfferOrderQty" desc LIMIT 10000;high
Superset 图表保存保存方式(文中说明)点击右上角 SAVE,输入 CHART NAME 保存图表high
Superset 图表外观调整位置在图表编辑 CUSTOMIZE 栏可调整格式(如轴标签、单位显示格式等)high
最新行情信息表格展示内容(文中说明)查看某股票最新 100 笔行情信息:交易时间、价格、买卖 10 档量价(ArrayVector 类型)等medium
Table 图表配置(示例)过滤与排序与行数限制FILTERS 中选择 SecurityID;按交易时间倒序;ROW LIMIT 设置为 50high
Superset 过滤字符串(文中提示)输入规则字符串不需要手动加上引号或双引号high
Table 时间字段显示格式tradeDate 格式化方式(示例)CUSTOMIZE → CUSTOMIZE COLUME → %Y-%m-%d,将 tradeDate 显示为日期格式high
成交量分布图分析对象(示例)查看“000076”和“000024”每分钟的成交量high
柱状图配置(文中说明)维度与过滤字段DIMENSIONS 选择 SecurityID;FILTERS 中筛选 SecurityID 与 TradeDatehigh
柱状图自定义(文中说明)方向与缩放CUSTOMIZE 可选水平/垂直方向;DATA ZOOM 可缩放 X 轴范围high
市场成交词云图适用性(文中说明)词云图可直观显示热点事件;在股票市场中适合显示热门股票medium
词云图配置(示例)维度与指标DIMENSION 选择 SecurityID;METRIC 设置为 sum(totalValueTrade) 以成交金额控制词条大小high
词云图自定义(文中说明)可调项可控制词条旋转方向(随机、水平、平方)及字体大小high
总成交量图(Big Number)目的(文中说明)展示个股在某个交易日的总成交量high
Big Number 指标(示例)METRIC 表达式sum(NumTrades)high
仪表盘(Dashboard)作用(文中说明)组合多个图表展示多维度数据并形成叙事逻辑,便于从不同视角分析业务表现medium
Superset 创建仪表盘操作方式(文中说明)通过 Dashboards 菜单创建;将右侧图表拖入并可拖拽改变位置和大小high
Superset 仪表盘属性可配置项(文中说明)Edit properties 可设置仪表盘名称、权限、色彩主题等;可设置 URL SLUGmedium
Superset 共享仪表盘分享方式(文中说明)Share → Copy permanlink to clipboard 获取仪表盘 URL;访问者需要具备登录 Superset 权限high
Superset 权限管理能力(文中说明)支持工程化权限管理:创建用户/组、设置图表访问与编辑权限;在 Settings → List Users/List Roles 设置用户与角色权限medium
Superset 仪表盘 URL(默认)示例形态http://ip:port/superset/dashboard/p/8pGRY22dK9D/(文中称不易记)high
Superset 仪表盘 URL(使用 URL SLUG)示例访问路径设置 URL SLUG(如 stockMarket)后可通过 http://ip:port/superset/dashboard/stockMarket 访问high
Superset 与 DolphinDB 集成方式(文中说明)交互机制Superset 通过调用 pydolphindb 的相关元数据接口实现与 DolphinDB 交互数据medium
Superset 显示 DolphinDB TIME 类型字段显示问题与原因(文中说明)TIME 类型字段会加上固定日期 1970-01-01;因 Superset 统一用 pandas.datetime 显示时间,需将 DolphinDB TIME 转为 YYYY-MM-dd HH:mm:ss 形式high
Superset TIME GRAIN不支持的粒度(文中说明)不支持 Week、Month、Quarterhigh
Superset 图表类型兼容性(文中说明)暂不支持暂不支持 Handlebars 图、Event Flow 图、Map 图high
本文案例数据适用范围声明(文中说明)模拟数据与真实市场数据差距较大,部分图表效果可能与业务直觉不符,仅用于学习和参考high
活动报名入口限时报名链接https://www.qingsuyun.com/h5/e/217471/5/high