PositionUpdate
An individual party at any point in time is considered net long or net short. This refers to their Open Volume, calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume.
type PositionUpdate {
marketId: ID!
partyId: ID!
openVolume: String!
realisedPNL: String!
unrealisedPNL: String!
averageEntryPrice: String!
updatedAt: Timestamp
lossSocializationAmount: String!
positionStatus: PositionStatus!
}
Fields
PositionUpdate.marketId
● ID!
non-null scalar
Market relating to this position
PositionUpdate.partyId
● ID!
non-null scalar
The party holding this position
PositionUpdate.openVolume
● String!
non-null scalar
Open volume (int64)
PositionUpdate.realisedPNL
● String!
non-null scalar
Realised Profit and Loss (int64)
PositionUpdate.unrealisedPNL
● String!
non-null scalar
Unrealised Profit and Loss (int64)
PositionUpdate.averageEntryPrice
● String!
non-null scalar
Average entry price for this position
PositionUpdate.updatedAt
● Timestamp
scalar
RFC3339Nano time the position was updated
PositionUpdate.lossSocializationAmount
● String!
non-null scalar
The total amount of profit and loss that was not transferred due to loss socialisation
PositionUpdate.positionStatus
● PositionStatus!
non-null enum
Enum set if the position was closed out or orders were removed because party was distressed
Returned by
positions
subscription