Skip to content

TangIsLearning/SwiftTrade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

股票短线记录工具

一个基于 Python Tkinter 开发的桌面端股票短线交易记录小工具,使用 SQLite 存储数据,支持股票持仓管理、买卖经验总结及日历事件提醒。

主要功能

  • 股票管理:增删查改股票信息,记录技术指标(MACD、KDJ、成交量、BOLL)、买入时间、卖出计划等。
  • 分批卖出:支持分多次卖出,可输入价格或涨跌幅百分比自动换算股价,记录卖出理由。
  • 待买待卖:用不同颜色标记待买入/待卖出股票,待买入可一键转为持有(自动记录买入交易)。
  • 买卖经验:卖出记录可选择标记为经验,提供专门的经验管理界面(增删查改)。
  • 日历事件:记录重要事件(如美联储议息会议),重要事件在本周会自动置顶提醒。
  • 数据持久化:所有数据保存在本地的 SQLite 数据库文件中。

技术栈

  • Python 3.x (标准库 tkinter, sqlite3)
  • SQLite 数据库
  • 分层架构:UI (界面)、managers (业务逻辑)、db (数据层)

快速开始

  1. 确保系统已安装 Python 3.6 或更高版本
  2. 克隆或下载本项目代码。
  3. 进入项目根目录,运行主程序:
    python main.py
  4. 首次运行会自动在项目目录下创建 swift_trade.db 数据库文件。

打包构建

如果你想将程序打包为单个 EXE 文件,无需安装 Python 环境即可运行,请执行以下步骤:

  1. 安装 PyInstaller:
    pip install pyinstaller
  2. 在项目根目录运行打包命令:
    pyinstaller --onefile --windowed --name "SwiftTrade" main.py
  3. 打包成功后,在 dist 文件夹中找到 SwiftTrade.exe,双击即可运行。

项目结构

stock_short_term_tracker/
├── main.py                       # 程序入口
├── config.py                     # 数据库路径等全局配置
├── db.py                         # 数据库初始化与连接
├── models.py                     # 数据实体类(Stock, Trade, Experience, CalendarEvent)
├── utils.py                      # 计算公式与校验工具
├── managers/
│   ├── __init__.py
│   ├── calendar_manager.py       # 日历事件管理
│   ├── experience_manager.py     # 买卖经验管理
│   ├── stock_manager.py          # 股票基本 CRUD
│   └── trade_manager.py          # 买卖交易处理
├── ui/
│   ├── __init__.py
│   ├── calendar_view.py          # 日历视图与事件管理
│   ├── color_config.py           # 状态颜色配置
│   ├── experience_view.py        # 买卖经验管理窗口
│   ├── main_window.py            # 主窗口与菜单栏
│   ├── pending_view.py           # 待买入视图及确认买入功能
│   ├── stock_dialog.py           # 新增/编辑股票对话框
│   ├── stock_list_view.py        # 通用股票列表视图(含右键菜单)
│   └── trade_dialog.py           # 卖出操作对话框(支持价格/涨跌幅联动)
└── README.md

使用说明

添加股票

  • 菜单栏 股票管理 → 全部股票 → 点击 新增股票,填写名称、买入价、股数、技术指标、时间、卖出计划等信息后保存。

卖出股票

  • 选中持仓股票 → 右键 卖出 → 填写卖出股数,可选择 直接输入价格输入涨跌幅(%)(自动计算对应股价),填写理由,确认卖出。
  • 可勾选 标记为买卖经验 将该笔交易纳入经验库。

待买入与待卖出

  • 待买入:添加股票时可选择状态为“待买入”,列表中会有浅蓝色背景。在待买入视图中点击 确认买入,填写实际买入价和股数,股票将变为持有状态并记录买入交易。
  • 待卖出:在持有股票上右键选择 标记为待卖出,会以浅橙色背景高亮,该视图可通过菜单进入。

买卖经验管理

  • 菜单栏 买卖经验 → 经验管理,可手动新增经验,或通过卖出时标记自动生成。
  • 支持编辑、删除经验,可关联原始交易 ID。

日历事件

  • 菜单栏 日历事件 → 事件管理,打开日历界面。
  • 单击选中日期,右侧显示当天事件;双击日期或点击 添加 创建事件。
  • 勾选 重要事件 后,在事件所在周的周一起,主界面日历提醒区域会以红色文字置顶显示。

状态颜色说明

状态 背景色
持有 白色
待买入 浅蓝色
待卖出 浅橙色
已卖出 浅灰色

注意事项

  • 数据库文件 swift_trade.db 会生成在项目根目录,请勿随意修改或删除。
  • 技术指标字段目前为文本描述,可自行扩展为图表展示(如使用 matplotlib)。
  • 本工具为本地单机版,数据不联网,安全性高。

License

MIT License

About

一个基于 Python Tkinter 开发的桌面端股票短线交易记录小工具,使用 SQLite 存储数据,支持股票持仓管理、买卖经验总结及日历事件提醒。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages