Files
Grid_Trading/README.md
2026-07-09 11:17:51 +08:00

74 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Grid Trading
本项目是一个本地运行的 Python GUI 网格交易管理工具,第一阶段聚焦 A股/ETF 的账户、标的、手工成交、持仓成本、网格收益和回本价计算。
## 第一阶段功能
- 创建/编辑本地账户和初始资金。
- 添加 A股/ETF 标的,维护交易单位。
- 配置默认网格策略模板。
- 手动录入、编辑、删除买入/卖出成交。
- 自动计算持仓数量、T+1 可用数量、持仓成本、已实现盈亏、累计网格利润、持仓回本价、账户回本价。
- 点击“刷新行情”从腾讯接口获取实时价格,并用实时价更新持仓市值和账户摘要。
- 根据刷新后的现价和默认网格策略,生成选中标的的网格档位建议。
- 使用 SQLite 本地保存数据,默认路径为 `data/grid_trading.db`
## 行情说明
行情刷新使用腾讯接口:
```text
http://qt.gtimg.cn/q=<symbol>
```
例如 `000001` 会自动转换为 `sz000001``600000` 会自动转换为 `sh600000`
实时行情只保存在当前程序内存中,用于显示现价、持仓市值、浮动盈亏、总资产和资金使用率;不会写入 SQLite。成交录入里的价格只作为成交价保存不会作为现价兜底。关闭软件后再次打开需要重新点击“刷新行情”。
## 网格档位说明
选中标的后,底部“网格档位”表会根据腾讯现价和默认策略模板生成建议:
- 买入价按 `现价 * (1 - 网格间距)` 逐档向下递减。
- 卖出价按 `买入价 * (1 + 网格间距)` 计算。
- 建议买入股数按标的交易单位向下取整。
- 预计单轮毛利润不扣手续费,生成结果只用于展示,不会写入成交记录或 SQLite。
## 待卖网格说明
底部“待卖网格”表会展示尚未被网格卖出抵消的网格买入批次,包括买入价、剩余股数、建议卖出价、预计毛利润、当前价和状态。网格卖出按时间顺序 FIFO 抵消最早的网格买入;建议卖出价按 `买入价 * (1 + 网格间距)` 计算。
## 开发环境
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
pytest
```
## 启动
```powershell
python -m grid_trading.app
```
也可以指定数据库路径:
```powershell
python -m grid_trading.app --db data/dev.db
```
## 验证
```powershell
pytest -v
python -m grid_trading.app --help
```
如果只想确认 GUI 能构造起来,不打开真实窗口,可以运行测试里的 offscreen smoke
```powershell
pytest tests/test_ui.py -v
```