littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于Python的全栈股票分析与展示系统

项目简介

本项目是基于Python的pandas、tushare、bokeh、tornado、stockstats、ta-lib等框架开发的全栈股票系统。可通过Docker进行本地部署,利用tushare和akshare抓取数据,使用Mariadb(MySQL)存储数据,具备数据抓取、处理、展示和计算等功能,为股票分析提供全面支持。

项目的主要特性和功能

  1. 数据抓取:借助tushare和akshare库抓取实时和历史股票数据,支持按天缓存,存储最近3天数据并每日定时清除。
  2. 数据处理:运用pandas进行数据清洗、去重和格式转换,处理重复数据并保存最新一条。
  3. 数据展示:采用Bokeh库绘制多达17个指标的股票数据图表,查看股票时可跳转至东方财富页面查看相关信息。
  4. 数据计算:使用stockstats和ta - lib库计算KDJ、RSI、CCI等多种技术指标,每日计算17个指标,依据3个指标进行股票数据计算。
  5. Web应用:通过Tornado框架构建Web系统,展示股票数据、沪深300成份股、中证500成份股、龙虎榜数据、每日股票数据和大盘指数行情等。
  6. 定时任务:利用corn每天18点开始计算当日数据,使用300天数据,约15分钟计算完毕。
  7. 通用展示:有通用数据展示系统,配置字典模板后页面自动加载数据并展示。
  8. 排序与筛选:支持单个字段排序、多字段排序、服务端分页排序以及多字段筛选查询。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且已安装Docker。

部署方式

方式一:使用mariadb和stock两个镜像

```bash mkdir -p /data/mariadb/data docker pull pythonstock/pythonstock:latest docker pull mariadb:latest

docker run --name mariadb -v /data/mariadb/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=mariadb -p 3306:3306 -d mariadb:latest

docker run -itd --link=mariadb --name stock \ -v /opt/stock/notebooks:/data/notebooks \ -p 9999:8888 \ -p 8888:9999 \ pythonstock/pythonstock:latest ```

方式二:直接启动stock,使用其他mysql数据库

bash docker run -itd --name stock \ -v /opt/stock/notebooks:/data/notebooks \ -p 9999:8888 \ -p 8888:9999 \ -e MYSQL_HOST=127.0.0.1 \ -e MYSQL_USER=root \ -e MYSQL_PWD=passwd \ -e MYSQL_DB=stock_data \ pythonstockleeks/pythonstockleeks:latest

方式三:使用docker compose

bash mkdir -p ./data/mariadb/data mkdir -p ./data/notebooks docker-compose up

进入镜像及初始化

bash docker exec -it stock bash sh /data/stock/jobs/cron.daily/run_daily 启动容器后,会调用run_init.sh进行数据初始化,同时第一次执行后台执行当日数据。以后每日18点进行股票数据抓取并计算。

本地访问

  • 股票系统:http://localhost:8888
  • jupyter:http://localhost:9999

查看jupyter密码

bash docker exec -it stock bash jupyter notebook list 可看到登录token,然后进行登录。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】