Position
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 Position {
market: Market!
party: Party!
openVolume: String!
realisedPNL: String!
unrealisedPNL: String!
averageEntryPrice: String!
lossSocializationAmount: String!
positionStatus: PositionStatus!
marginsConnection(
pagination: Pagination
): MarginConnection
updatedAt: Timestamp
}
Fields
Position.market
● Market!
non-null object
Market relating to this position
Position.party
● Party!
non-null object
The party holding this position
Position.openVolume
● String!
non-null scalar
Open volume (int64)
Position.realisedPNL
● String!
non-null scalar
Realised Profit and Loss (int64)
Position.unrealisedPNL
● String!
non-null scalar
Unrealised Profit and Loss (int64)
Position.averageEntryPrice
● String!
non-null scalar
Average entry price for this position
Position.lossSocializationAmount
● String!
non-null scalar
The total amount of profit and loss that was not transferred due to loss socialisation
Position.positionStatus
● PositionStatus!
non-null enum
Enum set if the position was closed out or orders were removed because party was distressed
Position.marginsConnection
● MarginConnection
object
Margins of the party for the given position
Position.marginsConnection.pagination
●Pagination
input
Position.updatedAt
● Timestamp
scalar
RFC3339Nano time the position was updated
Member of
Entities
object ● PositionEdge
object