炒股助手
A股交易辅助工具,提供行情查询、交易管理、盈亏分析功能。
代码位置
项目目录:D:\aicode\stock-assistant(Linux/Mac 路径相同)
CODEBLOCK0
跨平台说明
代码已适配 Windows/Linux/Mac:
- - Windows: INLINECODE1
- Linux/Mac:自动使用脚本所在目录的 INLINECODE2
Python import 时路径自动适配,无需手动指定。
快速命令
| 命令 | 说明 |
|---|
| INLINECODE3 | 查询股票行情(完整数据) |
| INLINECODE4 |
查看当前持仓 |
|
python main.py pnl 600016 | 查看盈亏(自动获取实时价) |
|
python main.py pnl 600016 --price 4.15 | 查看盈亏(指定价格) |
|
python main.py list | 列出所有交易记录 |
|
python main.py list --code 600016 | 列出指定股票交易记录 |
|
python main.py import trades.csv | 从CSV导入交易记录 |
|
python main.py export --output trades.csv | 导出交易记录到CSV |
|
python main.py add --code 600016 --type buy --quantity 1000 --price 3.90 | 添加买入记录 |
|
python main.py add --code 600016 --type sell --quantity 500 --price 4.20 | 添加卖出记录 |
|
python main.py delete <id> | 删除指定ID的交易记录 |
|
python main.py notify 600016 | 查询并输出行情(飞书卡片格式) |
|
python main.py notify --codes 600016,000001 | 查询多只股票 |
|
python main.py notify --codes 600016 --webhook https://xxx | 推送到飞书群机器人 |
|
python main.py notify --codes 600016 --app-id xxx --app-secret xxx --receive-id xxx | 推送到飞书私聊 |
行情查询 API
Python 调用方式
CODEBLOCK1
返回字段完整列表
|||
| 股票代码 | string | A股代码 | 600016 |
| 股票名称 | string | 上市公司名称 | 民生银行 |
| _市场 | string | 市场标识 | A股 |
| 日期时间 | string | 数据时间 | 2026-03-14 14:30:00 |
|
价格数据 ||||
| 当前价格 | string | 最新成交价 | 3.97 |
| 涨跌额 | string | 涨跌金额 | +0.03 |
| 涨跌幅(%) | string | 涨跌幅比例 | +0.76% |
| 今开价 | string | 今日开盘价 | 3.93 |
| 昨收价 | string | 昨日收盘价 | 3.94 |
| 最高价 | string | 今日最高价 | 4.05 |
| 最低价 | string | 今日最低价 | 3.90 |
|
成交数据 ||||
| 成交量(手) | string | 成交数量(手) | 1552322 |
| 成交额(元) | string | 成交金额 | 547876 |
| 换手率(%) | string | 日换手率 | 2.35% |
|
财务指标 ||||
| 市盈率(动态) | string | PE TTM | 6.52 |
| 市净率 | string | PB | 0.65 |
| 总市值(亿元) | string | 总市值 | 1825.63 |
| 流通市值(亿元) | string | 流通市值 | 1523.85 |
|
涨跌停 ||||
| 涨停价 | string | 当日涨停价 | 4.35 |
| 跌停价 | string | 当日跌停价 | 3.55 |
|
盘口数据(5档) ||||
| 买一价~买五价 | string | 买入价位 | 3.97 |
| 买一量~买五量(手) | string | 买入挂单量 | 10000 |
| 卖一价~卖五价 | string | 卖出价位 | 3.98 |
| 卖一量~卖五量(手) | string | 卖出挂单量 | 20000 |
CLI 输出格式
CODEBLOCK2
交易管理 API
CODEBLOCK3
数据格式
CSV 导入/导出格式
CODEBLOCK4
字段说明
| 字段 | 必填 | 说明 |
|---|
| 日期 | 是 | 交易日期,格式 YYYY-MM-DD |
| 时间 |
否 | 交易时间,格式 HH:MM:SS |
| 股票代码 | 是 | A股代码,如 600016 |
| 股票名称 | 否 | 股票名称,如 民生银行 |
| 买卖方向 | 是 | 买入/卖出 |
| 成交数量 | 是 | 股数 |
| 成交均价 | 是 | 价格 |
| 成交金额 | 是 | 数量 × 价格 |
| 佣金 | 否 | 手续费,默认0 |
| 其他费用 | 否 | 其他费用,默认0 |
| 印花税 | 否 | 印花税(卖出收),默认0 |
| 过户费 | 否 | 过户费,默认0 |
注意事项
- 1. 只支持A股 - 不支持港股、美股
- 数据来源 - 腾讯财经(免费接口)
- 存储 - SQLite 本地数据库 INLINECODE18
- 路径 - 所有路径使用 Windows 格式,如 INLINECODE19
后续更新
项目代码更新后,同步更新此 skill 文档。
更新规则
Skill 文件位置: INLINECODE20
更新时同步修改:
直接编辑这个文件即可,格式是 Markdown。
炒股助手
A股交易辅助工具,提供行情查询、交易管理、盈亏分析功能。
代码位置
项目目录:D:\aicode\stock-assistant(Linux/Mac 路径相同)
D:\aicode\stock-assistant/
├── main.py # CLI 入口
├── fetcher.py # A股行情获取
├── trader.py # 交易管理
├── models.py # 数据模型
├── db.py # SQLite 操作
├── requirements.txt # 依赖
└── data/ # 数据库目录
跨平台说明
代码已适配 Windows/Linux/Mac:
- - Windows:D:\aicode\stock-assistant\data\trades.db
- Linux/Mac:自动使用脚本所在目录的 data/trades.db
Python import 时路径自动适配,无需手动指定。
快速命令
| 命令 | 说明 |
|---|
| python main.py quote 600016 | 查询股票行情(完整数据) |
| python main.py positions |
查看当前持仓 |
| python main.py pnl 600016 | 查看盈亏(自动获取实时价) |
| python main.py pnl 600016 --price 4.15 | 查看盈亏(指定价格) |
| python main.py list | 列出所有交易记录 |
| python main.py list --code 600016 | 列出指定股票交易记录 |
| python main.py import trades.csv | 从CSV导入交易记录 |
| python main.py export --output trades.csv | 导出交易记录到CSV |
| python main.py add --code 600016 --type buy --quantity 1000 --price 3.90 | 添加买入记录 |
| python main.py add --code 600016 --type sell --quantity 500 --price 4.20 | 添加卖出记录 |
| python main.py delete
| 删除指定ID的交易记录 |
| python main.py notify 600016 | 查询并输出行情(飞书卡片格式) |
| python main.py notify --codes 600016,000001 | 查询多只股票 |
| python main.py notify --codes 600016 --webhook https://xxx | 推送到飞书群机器人 |
| python main.py notify --codes 600016 --app-id xxx --app-secret xxx --receive-id xxx | 推送到飞书私聊 |
行情查询 API
Python 调用方式
python
import sys
import os
自动适配路径(Windows/Linux/Mac)
script_dir = os.path.dirname(os.path.abspath(file))
sys.path.insert(0, script_dir)
from fetcher import get_quote
from trader import StockTrader
查询行情 - 返回完整字典数据
quote = get_quote(600016)
交易管理(无需指定路径,自动使用脚本所在目录)
trader = StockTrader()
返回字段说明:
{
股票代码: 600016,
股票名称: 民生银行,
当前价格: 3.97,
涨跌额: 0.03,
涨跌幅(%): 0.76,
今开价: 3.93,
昨收价: 3.94,
最高价: 4.05,
最低价: 3.90,
成交量(手): 1552322,
成交额(元): 547876,
换手率(%): 2.35,
市盈率(动态): 6.52,
市净率: 0.65,
总市值(亿元): 1825.63,
流通市值(亿元): 1523.85,
涨停价: 4.35,
跌停价: 3.55,
买一价: 3.97, 买一量(手): 10000,
卖一价: 3.98, 卖一量(手): 20000,
... (买二~买五, 卖二~卖五),
日期时间: 2026-03-14 14:30:00,
_股票代码: sh600016,
_市场: A股
}
返回字段完整列表
|||
| 股票代码 | string | A股代码 | 600016 |
| 股票名称 | string | 上市公司名称 | 民生银行 |
| _市场 | string | 市场标识 | A股 |
| 日期时间 | string | 数据时间 | 2026-03-14 14:30:00 |
| 价格数据 ||||
| 当前价格 | string | 最新成交价 | 3.97 |
| 涨跌额 | string | 涨跌金额 | +0.03 |
| 涨跌幅(%) | string | 涨跌幅比例 | +0.76% |
| 今开价 | string | 今日开盘价 | 3.93 |
| 昨收价 | string | 昨日收盘价 | 3.94 |
| 最高价 | string | 今日最高价 | 4.05 |
| 最低价 | string | 今日最低价 | 3.90 |
| 成交数据 ||||
| 成交量(手) | string | 成交数量(手) | 1552322 |
| 成交额(元) | string | 成交金额 | 547876 |
| 换手率(%) | string | 日换手率 | 2.35% |
| 财务指标 ||||
| 市盈率(动态) | string | PE TTM | 6.52 |
| 市净率 | string | PB | 0.65 |
| 总市值(亿元) | string | 总市值 | 1825.63 |
| 流通市值(亿元) | string | 流通市值 | 1523.85 |
| 涨跌停 ||||
| 涨停价 | string | 当日涨停价 | 4.35 |
| 跌停价 | string | 当日跌停价 | 3.55 |
| 盘口数据(5档) ||||
| 买一价~买五价 | string | 买入价位 | 3.97 |
| 买一量~买五量(手) | string | 买入挂单量 | 10000 |
| 卖一价~卖五价 | string | 卖出价位 | 3.98 |
| 卖一量~卖五量(手) | string | 卖出挂单量 | 20000 |
CLI 输出格式
bash
$ python main.py quote 600016
【A股行情】
==================================================
股票: 民生银行 (600016)
市场: A股
【价格】
当前价: 3.97
涨跌额: 0.03
涨跌幅: 0.76%
【开盘收盘】
今开: 3.93
昨收: 3.94
最高: 4.05
最低: 3.90
【成交】
成交量: 1552322 手
成交额: 547876 元
换手率: 2.35%
【财务指标】
市盈率(动态): 6.52
市净率: 0.65
总市值: 1825.63 亿元
流通市值: 1523.85 亿元
【涨跌停】
涨停价: 4.35
跌停价: 3.55
【盘口】
买一: 3.97 (10000) → 卖一: 3.98 (20000)
买二: 3.96 (15000) → 卖二: 3.99 (18000)
...
更新时间: 2026-03-14 14:30:00
交易管理 API
python
import sys
sys.path.insert(0, D:\\aicode\\stock-assistant)
from trader import StockTrader
trader = StockTrader(D:\\aicode\\stock-assistant\\data\\trades.db)
导入CSV
trader.import_csv(trades.csv)
获取持仓
positions = trader.get_positions()
计算盈亏
pnl = trader.getpnlwithliveprice(600016)
print(f盈亏: {pnl.profit:.2f} ({pnl.profit_pct:.2f}%))
数据格式
CSV 导入/导出格式
csv
日期,时间,股票代码,股票名称,买卖方向,成交数量,成交均价,成交金额,佣金,其他费用,印花税,过户费
2026-03-14,10