Skip to content

bigdragonsoft/stock-quote

Repository files navigation

English Version

带薪看盘 - 股票、外汇、加密货币行情工具

这是一款为上班族和极客打造的股票、外汇、加密货币行情查看工具,提供图形用户界面 (GUI)命令行界面 (CLI) 两种模式,让您在工作间隙也能轻松、隐蔽地关注市场动态。

GUI 版本名为 “带薪看盘”,旨在提供一个功能丰富且不引人注目的看盘体验。CLI 版本则为喜欢高效、简洁操作的用户提供了纯粹的终端解决方案。

功能特性

  • 双界面支持
    • 图形界面 (GUI):名为“带薪看盘”,功能强大,交互友好。
    • 命令行界面 (CLI):轻量、快速,适合在终端中运行。
  • 实时数据:获取股票(A股、港股、美股)、外汇和主流加密货币的实时报价。
  • 自选与指数:支持自定义的自选列表和固定的指数列表,并可在两者间轻松切换。
  • 跨平台运行:支持 Windows, macOS 和 Linux 系统。

GUI 版本独有功能

  • 系统托盘:可将程序最小化到系统托盘,Windows系统下可通过全局快捷键 Ctrl+Alt+Z 快速隐藏/显示。
  • 高级数据显示
    • 盘前/盘后:自由选择是否显示美股的盘前盘后价格。
    • 交易状态过滤:一键筛选,仅显示仍在交易中的品种。
  • 列表管理:支持通过拖拽对自选股进行排序,并能方便地添加和删除。
  • 自定义刷新:可自定义刷新间隔,随时暂停或手动刷新。

界面截图

图形用户界面 (带薪看盘)

命令行界面

+----------+-------------+------------+-----------+
| Symbol   |       Price |     Change | Percent   |
+==========+=============+============+===========+
| USDCNH   |      7.1247 |     0.0038 | 0.05%     |
+----------+-------------+------------+-----------+
| BTC      | 101423      | -1523.61   | -1.48%    |
+----------+-------------+------------+-----------+
| SH513100 |      1.918  |    -0.031  | -1.59%    |
+----------+-------------+------------+-----------+
| SH513500 |      2.374  |    -0.015  | -0.63%    |
+----------+-------------+------------+-----------+
| SH513650 |      1.764  |    -0.024  | -1.34%    |
+----------+-------------+------------+-----------+
| SH513180 |      0.791  |    -0.009  | -1.12%    |
+----------+-------------+------------+-----------+
| HK09988  |    160.7    |    -4.3    | -2.61%    |
+----------+-------------+------------+-----------+


按 'Q' 退出,按 'X' 切换自选/指数,或等待 24 秒后自动刷新...

安装

  1. 克隆或下载本仓库到本地。

  2. 确保您已安装 Python 3。

  3. 安装所需的依赖库:

    pip install -r requirements.txt

使用方法

图形用户界面 (GUI)

运行 stock.py 启动“带薪看盘”图形界面:

python stock.py
  • 列表切换:点击“显示自选股”或“显示指数”按钮进行切换。
  • 自选股管理:点击“管理股票”按钮,可以添加、删除或拖拽排序您的自选股。
  • 数据显示:通过复选框控制是否显示美股盘前/盘后数据,或筛选交易中品种。
  • 隐藏到托盘:点击“隐藏到托盘”或使用快捷键 Ctrl+Alt+Z

命令行界面 (CLI)

运行 stock_cli.py 启动命令行版本:

基本用法

python stock_cli.py [选项] [股票/外汇/加密货币代码...]

选项

  • -i <秒数>: 指定刷新间隔的秒数,默认为 30 秒。
  • -idx, --indexes: 显示指数列表而不是自选股。
  • -e, --ext-data: 显示美股的盘前盘后价格。
  • -t, --trading-only: 仅显示正在交易中的市场行情。
  • -h, --help: 显示帮助信息。
  • -v, --version: 显示版本信息。

示例

  • 查看默认自选列表:

    python stock_cli.py
  • 查看指数列表:

    python stock_cli.py --indexes
  • 查看指定股票 (例如:纳指100ETF):

    python stock_cli.py QQQ

交互

  • 在程序运行过程中,按 q 键退出。
  • 在默认列表模式下,按 x 键可在自选股与指数列表间切换。

程序打包

您可以使用 PyInstaller 将程序打包为可执行文件,方便在没有 Python 环境的电脑上运行。

  1. 安装 PyInstaller:

    pip install pyinstaller
  2. 打包命令:

    • Windows:

      # 打包 GUI 版本 (隐藏终端窗口)
      pyinstaller --onefile --windowed --add-data "favorites.json;." --add-data "indexes.json;." --name="stock" --icon=icon.ico stock.py
      
      # 打包 CLI 版本
      pyinstaller --onefile --add-data "favorites.json;." --add-data "indexes.json;." --name="stock_quote_cli" --icon=icon.ico stock_cli.py
    • macOS:

      # 打包 GUI 版本 (创建 .app 应用)
      pyinstaller --onefile --windowed --add-data "favorites.json:." --add-data "indexes.json:." --name="stock" --icon=icon.icns stock.py
      
      # 打包 CLI 版本
      pyinstaller --onefile --add-data "favorites.json:." --add-data "indexes.json:." --name="stock_quote_cli" stock_cli.py

      注意: 在 macOS 上,--add-data 的分隔符是 : 而不是 ;

      如何创建 .icns 文件: macOS 使用 .icns 格式作为应用图标。您可以通过以下步骤从一张 .png 图片生成 .icns 文件:

      1. 准备一张 1024x1024 像素的 PNG 图片 (例如 icon.png)。
      2. 创建一个名为 icon.iconset 的文件夹。
      3. 使用 sips 命令生成不同尺寸的图标:
        mkdir icon.iconset
        sips -z 16 16     icon.png --out icon.iconset/icon_16x16.png
        sips -z 32 32     icon.png --out icon.iconset/icon_16x16@2x.png
        sips -z 32 32     icon.png --out icon.iconset/icon_32x32.png
        sips -z 64 64     icon.png --out icon.iconset/icon_32x32@2x.png
        sips -z 128 128   icon.png --out icon.iconset/icon_128x128.png
        sips -z 256 256   icon.png --out icon.iconset/icon_128x128@2x.png
        sips -z 256 256   icon.png --out icon.iconset/icon_256x256.png
        sips -z 512 512   icon.png --out icon.iconset/icon_256x256@2x.png
        sips -z 512 512   icon.png --out icon.iconset/icon_512x512.png
        sips -z 1024 1024 icon.png --out icon.iconset/icon_512x512@2x.png
      4. 使用 iconutil 命令将 .iconset 文件夹转换为 .icns 文件:
        iconutil -c icns icon.iconset

      现在您就有了一个 icon.icns 文件可用于打包。

    • Linux:

      # 打包 GUI 版本
      pyinstaller --onefile --add-data "favorites.json:." --add-data "indexes.json:." --name="stock" stock.py
      
      # 打包 CLI 版本
      pyinstaller --onefile --add-data "favorites.json:." --add-data "indexes.json:." --name="stock_quote_cli" stock_cli.py

      注意: 在 Linux 上,--add-data 的分隔符也是 :

  3. 打包完成后,可执行文件将位于 dist 目录中。

数据源

  • 股票数据:来自腾讯财经 (qt.gtimg.cn)
  • 外汇数据:来自东方财富网 (eastmoney.com)
  • 加密货币数据:来自 528btc (528btc.com)

配置文件

程序现在会将配置文件和日志存储在用户的主目录下的一个名为 .stock_quote 的文件夹中(例如,在 Windows 上是 C:\\Users\\YourUsername\\.stock_quote)。这样做的好处是,即使用户更新或移动了程序,其个人配置(如自选股列表)也能得以保留。

程序首次运行时,会自动在该目录创建和管理以下文件:

  • favorites.json: 存储您的自选股列表。您可以直接编辑此文件来批量修改自选股。
  • indexes.json: 存储固定的指数列表。
  • stock_quote.log: 记录程序运行中的错误,方便排查问题。

About

一款简洁好用的看盘(股票、外汇和加密货币)小工具

Resources

License

Stars

Watchers

Forks

Packages

No packages published