diff --git a/datanode/api/trading_data_v2.go b/datanode/api/trading_data_v2.go index ffced3435d..f384b7c63a 100644 --- a/datanode/api/trading_data_v2.go +++ b/datanode/api/trading_data_v2.go @@ -3889,6 +3889,10 @@ func calcPositionMarginCappedAndFullyCollateralised( ongoing = ongoing.Add(v.Price.Mul(num.DecimalFromInt64(size))) } + // no volume, and we want to prevent division by 0 + if totalVolume == 0 { + return num.DecimalZero() + } averageEntryPrice := ongoing.Div(num.DecimalFromInt64(totalVolume)) if positionSize < 0 {