使用 Superset 处理股票数据并进行可视化分析Superset+Echarts

1. 引言

2. 为什么选择 Superset 和 ECharts

2.1 选择 Superset 的理由

  • 优势
    • 开源且功能强大,支持多种数据源。
    • 提供灵活的仪表盘和图表定制能力。
  • 不重新开发 BI 工具的原因
    • 开发成本高,时间长。
    • Superset 已成熟,社区支持广泛。

2.2 选择 ECharts 的理由

  • 特点
    • 轻量且高效,支持丰富的图表类型。
    • 与 Superset 集成良好。
  • 选择原因
    • 开源且由 Apache 基金会支持。
    • 易于二次开发和定制。

3. Superset 和 ECharts 的介绍

3.1 Superset 简介

  • 历史和背景:由 Airbnb 发起,现为 Apache 顶级项目。
  • 主要功能和特点
    • 数据探索、仪表盘创建、SQL 编辑器等。

3.2 ECharts 简介

  • 来源和发展:由百度开发,后捐献给 Apache 基金会。
  • 主要功能和特点
    • 支持动态交互图表、跨平台渲染等。

4. 部署 Superset

4.1 使用 Docker Compose 部署

  • 优势
    • 简化部署流程,环境一致性强。
  • 修改 Docker Compose 文件
    • 调整配置文件以适应股票数据处理需求。

4.2 部署步骤

  • 准备工作
    • 安装 Docker 和 Docker Compose。
    • 获取 Superset 官方镜像。
  • 配置 Docker Compose
    • 修改 docker-compose.yml 文件。
    • 设置数据库连接和端口映射。
  • 启动服务
    • 运行命令并验证部署成功。

4.3 我用到的部署代码

docker-compose.yml
version: "3"
services:
db:
image: postgres:16
container_name: superset_db
restart: always
environment:
POSTGRES_DB: superset
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset # 生产环境请使用强密码
volumes:
- db_data:/var/lib/postgresql/data
redis:
image: redis:7
container_name: superset_redis
restart: always
superset:
image: lutinglt/superset-zh
container_name: superset
hostname: superset
restart: always
depends_on:
- db
- redis
ports:
- 8080:8088
volumes:
- ./superset_config.py:/app/pythonpath/superset_config.py
- superset_home:/app/superset_home
environment:
SUPERSET_SECRET_KEY: your_secret_key_here #
volumes:
db_data:
superset_home:

5. 数据源获取

5.1 怎么获取

  • 股票数据来源
    • 主要是通过雅虎的yfinance API
  • 数据准备过程
    • 先获取标普五百成分股作为tic
    • 再用yfinance API下载数据
    • 增加我需要的技术指标
  • 数据获取

上图节选自另一个项目

5.2 部分数据展示

6. 数据分析和可视化

6.1 使用的主要图表类型

  • 时间序列折线图
    • 时间粒度:日/月,展示股价趋势。
  • 柱状图
    • 用于比较不同股票的表现。
  • 分区图
    • 显示股票类别分布。
  • 饼图
    • 展示持仓比例或收益构成。
  • 时间序列阶梯图
    • 表示股价阶段性变化。
  • 时间序列图表
    • 结合多维度数据分析。
  • 热力图
    • 显示股票相关性或波动性。
  • 箱线图
    • 分析股价波动范围和异常值。

7. 结果展示

  • 具体结果

未交互 直观展示

选中MSFT

  • 意义和价值

纵向来说:我能通过折线图很好跟踪指定股票收盘价随时间变化情况;通过联系折线图与柱状图得到收盘价与成交量之间的关系;通过热力图看恐慌指数与成交量的相关关系等等.

横向来说:我能通过分区图总览大盘成交量分布,通过折线图横向比较选中股票变化趋势等等.

8. Superset 插件开发

8.1 Superset 插件简介

Superset用到了多种插件,包括echarts

8.2 以echarts图表为例

说白了这是前端开发相关内容,通过研究该示例(热力图)能够明白superset这个BI如何调用echarts组件

9. 参考文献

本技术内容仅供学习和交流使用,如有疑问请联系qq2014160588并注明来意。请确保在使用过程中遵守相关法律法规。任何因使用本技术内容而导致的直接或间接损失,作者概不负责。用户需自行承担因使用本技术内容而产生的所有风险和责任。请勿将本技术内容用于任何非法用途。
上一篇
下一篇