INNER CODE UNIT · Python

portfolio_add

simonlin1212/vibe-astock · vr/app.py:142

def portfolio_add(h: HoldingIn):
    """加一笔持仓(同代码按加权平均成本合并)。存本地,不上传。"""
    code = (h.code or "").strip()
    if not code.isdigit() or len(code) != 6:
        raise HTTPException(400, "代码必须是 6 位数字")
    if h.shares <= 0:
        raise HTTPException(400, "数量必须大于 0")
    # 成本价不限正负:融券 / 返息 / 摊薄后为负成本等情形按结果计算,用户想怎么输就怎么输。
    out = pf.add_holding(code, h.shares, h.cost)
    watchtower.poke()  # 每日盯盘:持仓变化立即重建快照
    return {"data": out}


@app.delete("/api/portfolio/holding")
def portfolio_remove(code: str = Query(...)):
    out = pf.remove_holding(code.strip())
    watchtower.poke()  # 每日盯盘:持仓变化立即重建快照
    return {"data": out}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…