Commit Graph

3 Commits

Author SHA1 Message Date
OpenClaw Agent
9b576de069 fix: 策略相关修复
1. GetPortfolioDetailAsync: 移除硬编码逻辑模型信息
   - 根据策略ID从数据库读取真实策略信息
   - 无策略时返回 null,前端显示'未绑定策略'

2. GetStrategies: 修复返回格式
   - 改为返回 { items: [...] } 格式,匹配前端期望
   - 修复 StrategyListResponse.Items 类型为 StrategyListItemDto
2026-03-25 07:52:13 +00:00
OpenClaw Agent
19f3cc8679 fix: 历史汇率处理bug + Transaction表增加汇率字段
关键修复:
1. BackfillNavHistoryInternalAsync 汇率处理bug
   - holdings 存储目标币种成本,避免卖出时用当前汇率重转历史成本
   - 优先使用交易时保存的汇率

2. Transaction 表新增字段
   - exchange_rate: 交易时汇率
   - total_amount_base: 本位币金额
   - 创建交易时自动保存汇率

3. CalculateAndSaveDailyNavAsync
   - 优先使用 TotalAmountBase 字段计算成本
   - 回退到当前汇率(兼容历史数据)

4. 新增迁移脚本 sql/migrate_financial_fields.sql
2026-03-25 05:22:50 +00:00
OpenClaw Agent
c411caea17 feat: Position表增加TotalCost字段 + 金融计算单元测试
1. Position实体增加TotalCost字段
   - 精确追踪卖出后的剩余成本
   - 避免用Shares*AvgPrice计算成本的精度问题

2. PortfolioService逻辑更新
   - 买入时更新TotalCost
   - 卖出时按比例减少TotalCost
   - 所有成本计算改用TotalCost字段

3. 增加关键计算步骤日志
   - 创建/更新持仓时记录成本变化
   - 持仓计算时记录关键数值

4. 新增金融计算单元测试
   - 卖出成本计算测试
   - 汇率变化影响测试
   - 夏普比率计算测试
   - 最大回撤计算测试
   - 边界情况测试

5. 提供数据库迁移SQL脚本
2026-03-25 04:27:40 +00:00