fix(swap): 修复互换价格变动时盈亏计算错误
- 在后端计算逻辑中添加 longRatio 参数用于区分多空头寸类型 - 修改前端 JavaScript 代码中的盈亏计算公式,加入 longRatio 参与计算 - 更新单元测试,增加空头头寸价格上涨时亏损的测试用例 - 补充前端测试用例验证空头头寸计算逻辑的准确性 - 修复了空头头寸在价格上涨时显示盈利而非亏损的计算错误
This commit is contained in:
@@ -308,6 +308,18 @@ describe('交叉校验:对齐 C# FrontendCalcCharacterizationTest 金标准',
|
||||
expectClose(r.MarkClosePnl, 5400000, 'income MarkClosePnl按数量计算');
|
||||
expectClose(r.FloatPnlSum, 5355000, 'income FloatPnlSum包含分红');
|
||||
});
|
||||
|
||||
test('收取空头价格上涨应为亏损', () => {
|
||||
const r = SwapCalc.calcIncome({
|
||||
multiplier: 100, posiGrossPrice: 1.01654321, tradingAmountAvg: 101.754321,
|
||||
positionQty: 50000000, contractSize: 1,
|
||||
closeNotionalValue: 50827160.5, closeQty: 0,
|
||||
payDirection: 1, positionType: 2,
|
||||
tradingFee: '0', tradingFeePending: '0', dividendIn: '-90400'
|
||||
});
|
||||
expectClose(r.MarkClosePnl, -50000, '收取空头价格上涨=盯市亏损');
|
||||
expectClose(r.FloatPnlSum, -140400, '盯市亏损加分红');
|
||||
});
|
||||
});
|
||||
|
||||
// ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user