Tai.Venues.Product (tai v0.0.75)
Link to this section Summary
Types
The product to buy/sell or the underlying product used to buy/sell. For the product BTCUSD
Whether or not the product can be used as collateral for a portfolios balance
The ratio of balance of the quote asset that is used as collateral in the portfolio balance
The expiration date
A derivative contract where the PnL settlement is in the base asset, e.g. XBTUSD settles PnL in XBT
A derivative contract where PnL settlement is a different asset to the base or quote assets.
The underlying value of the product. Spot products will always have a value = 1. Derivative products can have values > 1.
The side that the value represents
Link to this section Types
asset()
Specs
asset() :: Tai.Markets.Asset.symbol()
The product to buy/sell or the underlying product used to buy/sell. For the product BTCUSD
- BTC = base asset
- USD = quote asset
collateral()
Specs
collateral() :: true | false
Whether or not the product can be used as collateral for a portfolios balance
collateral_weight()
Specs
collateral_weight() :: Decimal.t() | nil
The ratio of balance of the quote asset that is used as collateral in the portfolio balance
expiry()
Specs
expiry() :: DateTime.t() | nil
The expiration date
inverse()
Specs
inverse() :: true | false
A derivative contract where the PnL settlement is in the base asset, e.g. XBTUSD settles PnL in XBT
quanto()
Specs
quanto() :: true | false
A derivative contract where PnL settlement is a different asset to the base or quote assets.
status()
Specs
status() :: :unknown | :pre_trading | :trading | :restricted | :post_trading | :end_of_day | :halt | :auction_match | :break | :settled | :delisted
symbol()
Specs
symbol() :: atom()
Specs
t() :: %Tai.Venues.Product{ alias: String.t() | nil, base: asset(), collateral: collateral(), collateral_weight: collateral_weight(), expiry: expiry(), is_inverse: inverse(), is_quanto: quanto(), listing: DateTime.t() | nil, maker_fee: Decimal.t() | nil, max_price: Decimal.t() | nil, max_size: Decimal.t() | nil, min_notional: Decimal.t() | nil, min_price: Decimal.t(), min_size: Decimal.t(), option_type: :call | :put | nil, price_increment: Decimal.t(), quote: asset(), size_increment: Decimal.t(), status: status(), strike: Decimal.t() | nil, symbol: symbol(), taker_fee: Decimal.t() | nil, type: type(), value: value(), value_side: value_side(), venue_base: venue_asset(), venue_id: Tai.Venue.id(), venue_quote: venue_asset(), venue_symbol: venue_symbol() }
type()
Specs
type() :: :spot | :future | :swap | :option | :leveraged_token | :bvol | :ibvol | :move
value()
Specs
value() :: Decimal.t()
The underlying value of the product. Spot products will always have a value = 1. Derivative products can have values > 1.
e.g. OkEx quarterly futures product has a value of 100 where 1 contract represents $100 USD.
value_side()
Specs
value_side() :: :base | :quote
The side that the value represents
venue_asset()
Specs
venue_asset() :: String.t()
venue_symbol()
Specs
venue_symbol() :: String.t()