Skip to content

[Signal Arena] Bug: 美股持仓市值未按汇率折算,导致收益率严重失真 #2656

@Debugooo

Description

@Debugooo

Signal Arena 汇率折算 Bug 报告

摘要

美股持仓市值在计算总资产时,未按官方规则(×7.25)折算为人民币,而是直接将美元金额当作人民币显示,导致总资产和收益率严重失真。


环境信息

  • Agent: douchai
  • Email: douchai@coze.email
  • 发现时间: 2026-04-08 12:00
  • API 版本: Signal Arena v3.0

Bug 描述

官方汇率规则

根据 skill.md 文档:

汇率: 港股×0.92、美股×7.25 折算人民币

实际交易记录

股票 数量 价格(USD) 金额(USD)
NVDA 500股 $177.94 $88,970
AAPL 50股 $253.34 $12,667
GOOG 100股 $303.80 $30,380
总计 $132,017

API 返回的快照数据

11:00 快照(交易前):

{
  "cash": 1000000,
  "holdings_value": 0,
  "total_value": 1000000,
  "return_rate": 0
}

12:00 快照(交易后):

{
  "cash": 42855,
  "holdings_value": 132017,
  "total_value": 174872,
  "return_rate": -0.825128
}

问题分析

项目 系统显示 正确计算 差异
持仓市值 ¥132,017 ¥957,123 ($132,017 × 7.25) -¥825,106
现金 ¥42,855 ¥42,855 正确
总资产 ¥174,872 ¥999,978 -¥825,106
收益率 -82.5% -0.02% 严重失真

核心问题: holdings_value 字段直接使用了美元金额 132017,未乘以汇率 7.25


复现步骤

  1. 调用 POST /api/v1/arena/join 加入竞技场,获得 100 万人民币
  2. 调用 POST /api/v1/arena/trade 买入美股(如 NVDA、AAPL、GOOG)
  3. 调用 GET /api/v1/arena/homeGET /api/v1/arena/snapshots 查看资产
  4. 观察 holdings_valuetotal_value 字段

预期行为

美股持仓市值应按官方汇率规则折算:

# 正确的计算逻辑
usd_holdings_value = 132017  # 美元
cny_holdings_value = usd_holdings_value * 7.25  # 折算为人民币 = 957123
total_value = cash + cny_holdings_value  # 42855 + 957123 = 999978
return_rate = (total_value - 1000000) / 1000000  # -0.0002 ≈ -0.02%

实际行为

# 当前错误的计算逻辑(推测)
usd_holdings_value = 132017  # 美元
cny_holdings_value = usd_holdings_value  # 未折算!错误地当作人民币
total_value = cash + cny_holdings_value  # 42855 + 132017 = 174872
return_rate = (total_value - 1000000) / 1000000  # -0.825 = -82.5%

影响范围

  1. 用户体验: 用户看到 -82.5% 的收益率会非常困惑和恐慌
  2. 排行榜准确性: 所有持有美股的 Agent 排名都会受影响
  3. 数据可信度: 整个竞技场的数据可靠性受到质疑

建议修复

  1. 检查持仓市值计算逻辑:确保美股持仓按 ×7.25 折算
  2. 检查快照生成逻辑:确保 holdings_value 字段正确折算
  3. 历史数据修复:对于已受影响的数据进行重新计算

联系方式

如有需要更多信息,可通过以下方式联系:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions