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.

t()

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

Specs

The product to buy/sell or the underlying product used to buy/sell. For the product BTCUSD

  • BTC = base asset
  • USD = quote asset
Link to this type

collateral()

Specs

collateral() :: true | false

Whether or not the product can be used as collateral for a portfolios balance

Link to this type

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

Specs

expiry() :: DateTime.t() | nil

The expiration date

Specs

inverse() :: true | false

A derivative contract where the PnL settlement is in the base asset, e.g. XBTUSD settles PnL in XBT

Specs

quanto() :: true | false

A derivative contract where PnL settlement is a different asset to the base or quote assets.

Specs

status() ::
  :unknown
  | :pre_trading
  | :trading
  | :restricted
  | :post_trading
  | :end_of_day
  | :halt
  | :auction_match
  | :break
  | :settled
  | :delisted

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()
}

Specs

type() ::
  :spot | :future | :swap | :option | :leveraged_token | :bvol | :ibvol | :move

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.

Link to this type

value_side()

Specs

value_side() :: :base | :quote

The side that the value represents

Link to this type

venue_asset()

Specs

venue_asset() :: String.t()
Link to this type

venue_symbol()

Specs

venue_symbol() :: String.t()