You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python和Pandas的FIFO资本利得/损失程序合理性检查请求

FIFO资本利得计算程序逻辑合理性排查请求

我用Python和Pandas开发了一款基于FIFO(先进先出)规则的资本利得/损失计算程序,但程序计算结果远低于我手动计算用于报税的数值(手动结果也可能出错),差值超过一半。恳请财务或技术人员帮忙检查程序的合理性,测试数据及代码如下:

编辑说明:已根据评论将排序参数从False修改为True

# 创建交易数据的DataFrame
transactions = pd.DataFrame({
    "Date": ["2022-01-01", "2022-01-02", "2022-01-03", "2022-01-04", "2022-01-05"],
    "Operation": ["Buy", "Buy", "Buy", "Sell", "Sell"],
    "Stock Price": [100.0, 110.0, 120.0, 130.0, 140.0],
    "Shares": [10.0, 20.0, 30.0, 15.0, 25.0]
})


# 创建成本基数列(买入总价)
transactions["Cost Basis"] = transactions["Stock Price"] * transactions["Shares"]

# 创建资本利得/损失列
transactions["Capital Gain/Loss"] = 0.0

# 创建剩余股数列
transactions["Remaining Shares"] = 0.0

# 初始化剩余股数和成本基数跟踪变量
remaining_shares = 0.0
cost_basis = 0.0

# 按时间正序遍历交易记录
for i, row in transactions.sort_values("Date", ascending=True).iterrows():
    if row["Operation"] == "Buy":
        # 买入操作:累加剩余股数和成本基数
        remaining_shares += row["Shares"]
        cost_basis += row["Cost Basis"]
        transactions.at[i, "Remaining Shares"] = remaining_shares
    elif row["Operation"] == "Sell":
        # 卖出操作:计算资本利得/损失并更新剩余股数和成本基数
        if remaining_shares > 0:
            if remaining_shares >= row["Shares"]:
                capital_gain_loss = row["Shares"] * (row["Stock Price"] - cost_basis/remaining_shares)
                remaining_shares -= row["Shares"]
                cost_basis -= row["Shares"] * (cost_basis/remaining_shares)
            else:
                capital_gain_loss = remaining_shares * (row["Stock Price"] - cost_basis/remaining_shares)
                remaining_shares = 0
                cost_basis = 0
            transactions.at[i, "Capital Gain/Loss"] = capital_gain_loss
            transactions.at[i, "Remaining Shares"] = remaining_shares

# 按年份汇总资本利得/损失
transactions["Year"] = pd.to_datetime(transactions["Date"]).dt.year
result = transactions.groupby("Year")["Capital Gain/Loss"].sum()

print(result)

内容的提问来源于stack exchange,提问作者Lucas Muller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:34:39