/*
 * BitMEX API
 *
 * ## REST API for the BitMEX Trading Platform  _If you are building automated tools, please subscribe to the_ _[BitMEX API RSS Feed](https://blog.bitmex.com/api_announcement/feed/) for changes. The feed will be updated_ _regularly and is the most reliable way to get downtime and update announcements._  [View Changelog](/app/apiChangelog)  -  #### Getting Started  Base URI: [https://www.bitmex.com/api/v1](/api/v1)  ##### Fetching Data  All REST endpoints are documented below. You can try out any query right from this interface.  Most table queries accept `count`, `start`, and `reverse` params. Set `reverse=true` to get rows newest-first.  Additional documentation regarding filters, timestamps, and authentication is available in [the main API documentation](/app/restAPI).  _All_ table data is available via the [Websocket](/app/wsAPI). We highly recommend using the socket if you want to have the quickest possible data without being subject to ratelimits.  ##### Return Types  By default, all data is returned as JSON. Send `?_format=csv` to get CSV data or `?_format=xml` to get XML data.  ##### Trade Data Queries  _This is only a small subset of what is available, to get you started._  Fill in the parameters and click the `Try it out!` button to try any of these queries.  - [Pricing Data](#!/Quote/Quote_get)  - [Trade Data](#!/Trade/Trade_get)  - [OrderBook Data](#!/OrderBook/OrderBook_getL2)  - [Settlement Data](#!/Settlement/Settlement_get)  - [Exchange Statistics](#!/Stats/Stats_history)  Every function of the BitMEX.com platform is exposed here and documented. Many more functions are available.  ##### Swagger Specification  [⇩ Download Swagger JSON](swagger.json)  -  ## All API Endpoints  Click to expand a section. 
 *
 * API version: 1.2.0
 * Contact: support@bitmex.com
 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
 */

package swagger

import (
	"time"
)

// Summary of Open and Closed Positions
type Position struct {
	Account int64 `json:"account"`
	Symbol string `json:"symbol"`
	Currency string `json:"currency,omitempty"`
	Underlying string `json:"underlying,omitempty"`
	QuoteCurrency string `json:"quoteCurrency,omitempty"`
	Commission float64 `json:"commission,omitempty"`
	InitMarginReq float64 `json:"initMarginReq,omitempty"`
	MaintMarginReq float64 `json:"maintMarginReq,omitempty"`
	RiskLimit int64 `json:"riskLimit,omitempty"`
	Leverage float64 `json:"leverage,omitempty"`
	CrossMargin bool `json:"crossMargin,omitempty"`
	DeleveragePercentile float64 `json:"deleveragePercentile,omitempty"`
	RebalancedPnl int64 `json:"rebalancedPnl,omitempty"`
	PrevRealisedPnl int64 `json:"prevRealisedPnl,omitempty"`
	PrevUnrealisedPnl int64 `json:"prevUnrealisedPnl,omitempty"`
	OpeningQty int64 `json:"openingQty,omitempty"`
	OpenOrderBuyQty int64 `json:"openOrderBuyQty,omitempty"`
	OpenOrderBuyCost int64 `json:"openOrderBuyCost,omitempty"`
	OpenOrderBuyPremium int64 `json:"openOrderBuyPremium,omitempty"`
	OpenOrderSellQty int64 `json:"openOrderSellQty,omitempty"`
	OpenOrderSellCost int64 `json:"openOrderSellCost,omitempty"`
	OpenOrderSellPremium int64 `json:"openOrderSellPremium,omitempty"`
	CurrentQty int64 `json:"currentQty,omitempty"`
	CurrentCost int64 `json:"currentCost,omitempty"`
	CurrentComm int64 `json:"currentComm,omitempty"`
	RealisedCost int64 `json:"realisedCost,omitempty"`
	UnrealisedCost int64 `json:"unrealisedCost,omitempty"`
	GrossOpenPremium int64 `json:"grossOpenPremium,omitempty"`
	IsOpen bool `json:"isOpen,omitempty"`
	MarkPrice float64 `json:"markPrice,omitempty"`
	MarkValue int64 `json:"markValue,omitempty"`
	RiskValue int64 `json:"riskValue,omitempty"`
	HomeNotional float64 `json:"homeNotional,omitempty"`
	ForeignNotional float64 `json:"foreignNotional,omitempty"`
	PosState string `json:"posState,omitempty"`
	PosCost int64 `json:"posCost,omitempty"`
	PosCross int64 `json:"posCross,omitempty"`
	PosComm int64 `json:"posComm,omitempty"`
	PosLoss int64 `json:"posLoss,omitempty"`
	PosMargin int64 `json:"posMargin,omitempty"`
	PosMaint int64 `json:"posMaint,omitempty"`
	InitMargin int64 `json:"initMargin,omitempty"`
	MaintMargin int64 `json:"maintMargin,omitempty"`
	RealisedPnl int64 `json:"realisedPnl,omitempty"`
	UnrealisedPnl int64 `json:"unrealisedPnl,omitempty"`
	UnrealisedPnlPcnt float64 `json:"unrealisedPnlPcnt,omitempty"`
	UnrealisedRoePcnt float64 `json:"unrealisedRoePcnt,omitempty"`
	AvgCostPrice float64 `json:"avgCostPrice,omitempty"`
	AvgEntryPrice float64 `json:"avgEntryPrice,omitempty"`
	BreakEvenPrice float64 `json:"breakEvenPrice,omitempty"`
	MarginCallPrice float64 `json:"marginCallPrice,omitempty"`
	LiquidationPrice float64 `json:"liquidationPrice,omitempty"`
	BankruptPrice float64 `json:"bankruptPrice,omitempty"`
	Timestamp time.Time `json:"timestamp,omitempty"`
}
