INNER CODE UNIT · Python
CloseIn
simonlin1212/vibe-astock · vr/app.py:198
class CloseIn(BaseModel):
code: str
date: str
price: float
shares: float
cost: float
@app.post("/api/portfolio/close")
def portfolio_close(c: CloseIn):
"""记一笔已清仓(已实现盈亏)。存本地。"""
code = (c.code or "").strip()
if not code.isdigit() or len(code) != 6:
raise HTTPException(400, "代码必须是 6 位数字")
if c.price <= 0 or c.shares <= 0:
raise HTTPException(400, "清仓价与股数必须大于 0")
# 买入成本不限正负(同持仓录入):按 (清仓价 - 成本) × 股数 的结果计算已实现盈亏。
date = (c.date or "").strip()