Skip to content

[Feature] 持仓页面增加「卖出」操作按钮,记录卖出流水和已实现盈亏 #86

Description

@JulioZhu

问题背景

目前持仓管理页面(非模拟盘)只能通过「编辑」修改数量或「删除」整个持仓来处理卖出操作,但这样做:

  1. 不记录卖出价格和卖出时间
  2. 不计算已实现盈亏
  3. 无法追踪历史交易记录
  4. 导致「持有收益」与实际卖出情况不符

当前持仓页面的操作按钮

每只持仓右侧图标:📰 资讯 | 🧠 深度分析 | ✏️ 编辑 | 🗑️ 删除

缺少:卖出操作按钮

建议功能

1. 持仓列表增加「卖出」按钮

在操作栏增加一个「卖出」按钮(建议用 💰 或 📉 图标,与编辑/删除区分)。

2. 点击后弹窗填写卖出信息

  • 卖出价格(支持手动输入,默认填入当前实时价)
  • 卖出数量(默认全部持仓数量,支持修改为部分卖出)
  • 卖出时间(默认当前时间,可手动调整)

3. 后端支持

Position 模型新增字段或新建 Trade 表

# 方案 A:Position 新增字段
- sell_price: float | None      # 卖出均价
- sell_quantity: int | None     # 卖出数量  
- realized_pnl: float | None    # 已实现盈亏
- sell_at: datetime | None      # 卖出时间
- status: str                   # open / closed / partial

# 方案 B:新建 Trade 表(推荐,支持多次分批卖出)
class Trade:
    - id
    - position_id (FK)
    - trade_type: str            # buy / sell
    - price: float
    - quantity: int
    - fee: float                 # 交易费用(可选)
    - realized_pnl: float        # 已实现盈亏
    - traded_at: datetime

4. 前端展示

  • 部分卖出时:更新持仓数量,状态变为 partial
  • 全部卖出时:状态变为 closed,持仓从活跃列表移除或标记已平仓
  • 增加「已平仓记录」入口,查看历史卖出流水

5. 持仓汇总数据更新

  • 总持仓市值 = 当前持有股数 × 现价
  • 已实现盈亏 = 累计卖出盈亏
  • 持有收益 = 未实现盈亏 + 已实现盈亏

为什么需要这个功能

PanWatch 是一个持仓监控+AI分析工具,用户在真实券商操作后需要回到 PanWatch 同步操作状态。目前只能「手动改数量」或「直接删除」,体验不好且容易丢失数据。

可选增强(优先级低)

  • 支持导入券商交易流水,自动同步卖出记录
  • 卖出时自动推送通知(通过已配置的 Telegram/微信渠道)
  • 卖出记录关联盘中监控的 AI 信号,对比信号建议 vs 实际操作

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions