INNER CODE UNIT · Python

portfolio_get

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

def portfolio_get():
    """持仓 + 实时盈亏(浮动盈亏红涨绿跌)。"""
    try:
        return {"data": pf.get_portfolio()}
    except Exception as e:  # noqa: BLE001
        raise HTTPException(502, f"持仓读取异常:{e}") from e


@app.post("/api/portfolio/holding")
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)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…