Exchange Quoted Spreads


Spread trading is simply trading the difference between the prices of two futures contracts. It involves simultaneously buying and selling futures contracts with different expiration dates. These two contracts are also known as the two legs of the spread.

On Bitfex, this price difference or spread between individual futures contracts is available as a single contract, called Exchange Quoted Spread.

The symbol for such a contract is denoted as follows: Symbol for Contract 1: Symbol for Contract 2

Eg:- Spread between Perpetual contract and December Futures will be given by BTCUSD:BTCZ19*

*For a full list of all the month codes, refer to the section Month Codes for Futures.

Why trade spreads

Using spreads, a trader can speculate on the price relationship between the two contracts.

Unlike outright futures contracts where profit is made with price movement in one direction, with spreads, a trader can profit from up to five different scenarios through the various relative price movements between the two underlying futures contracts.

Spreads are also lower in volatility, being the price difference between two outrights. Lower volatility makes spread trading attractive to traders with lower risk appetites.

Consequently, with risk minimized, larger positions become possible to initiate in spreads.

Even in the case of a spread trade going against the trader, losses are limited in comparison to trades in outrights futures contracts.

Thus, spread trading can be highly beneficial because:

  • Lower Volatility
  • Lower risk
  • Limited Losses
  • Increased opportunity for profit making
  • Larger positions possible

Points to consider trading spreads

Spread trading is a good way to hedge directional risk and can be used a directional neutral trading strategy. By going long (buying) in one leg and short (selling) in other leg, a trader is protected against market moving in a particular direction.

The two legs of a spread trade expire at different times, so a trader must be careful that expiry in one contract will convert the spread position into a naked outrights position. Thus, a trader needs to exit their spread position before this happens.

Pricing and Representation

The price of an Exchange Quoted Spread on Bitfex is given by: Price of Contract_1 - Price of Contract_2

For example, let's say you want to calculate the price of BTCUSD:BTCZ19.

Suppose BTCUSD is trading at $10000 and BTCZ19 is trading at $10400.

Then, the price of BTCUSD:BTCZ19 = Price (BTCUSD) - Price (BTCZ19) = 10000 - 10200 = -400

Similarly, if BTCUSD is trading at $10000 and BTCZ19 at $9950, then price of the spread BTCUSD:BTCZ19 will be Price (BTCUSD) - Price (BTCZ19) = 10000 - 9700 = 300

If both BTCUSD and BTCZ19 are trading at $10000, then price of the spread BTCUSD:BTCZ19 will be Price (BTCUSD) - Price (BTCZ19) = 10000 - 10000 = 0

Thus, spread prices can be both negative, positive or zero. If the price is negative, it means the second contract is trading at a premium to the first contract. If positive, the second contract is trading at a discount. If the price is zero, it means both contracts are trading at par, i.e. at the same price.

Margin Requirements

Currently to trade an Exchange Quoted Spread on Bitfex, a trader needs to fulfil the margin requirements of the two individual contracts that make up the spread.

So, Initial Margin for Spread = Initial Margin for Contract 1 + Initial Margin for Contract 2 = IM% * BTC Value of position in Contract 1 + IM% * BTC Value of position in Contract 2

Similarly, Maintenance Margin for Spread = Maintenance Margin for Contract 1 + Maintenance Margin for Contract 2 = MM% * BTC Value of position in Contract 1 + MM% * BTC Value of position in Contract 2

Let's consider an example :

           You want to take a 100000 position in BTCUSD:BTCZ19, 
           while BTCUSD is trading at $10000 and BTCZ19 at $9975.

           For both contracts let IM = 5% and MM = 3%

           BTC Value of position in BTCUSD = 10000/100000 = 0.1 BTC

           BTC Value of position in BTCZ19 = 9975/100000 = 0.09975 BTC

           IM = 5% of 0.1 + 5% of 0.09975 =  0.0099875 BTC

           MM = 3% of 0.1 + 3% of 0.09975 = 0.0059925 BTC

Trading the Spread

Although on Bitfex, buying or selling an exchange quoted spread will be a single-click action, it is important understand what goes behind this action.

When you buy (or long) the spread, it means you buy the first contract and sell the second contract. Consequently, to sell (or short) the spread, means you sell the first contract and buy the second contract.

Suppose you want to trade the BTCUSD:BTCZ19 spread. When you buy this spread, it implies you bought the BTCUSD contract and sold the BTCZ19 contract. When you will sell this spread, you will be selling the BTCUSD contract and buying the BTCZ19 contract.

NOTE: As a trader, you will not need to sell/buy the individual contracts of the spread, that will happen automatically based on you buying or selling the exchange quoted spread. At the time of expiry however, once one leg expires, the spread position automatically will become an outrights position in the non-expiring contract.

Profit and Loss Calculation

Profit and Loss calculation involves calculating the PnL of the individual contracts of the spread and then adding them together to find the net PnL.

Lets take an example to understand this better:

 BTCUSD:BTCZ19 is trading at 25, with BTCUSD at $10000 and BTCZ19 at $9975.

 You buy 100000 contracts of this spread, and thus effectively, long (buy) 
 100000 of BTCUSD and short (sell)  100000 BTCZ19.

 After some time, BTCUSD:BTCZ19 is trading at 50, with BTCUSD at $10050 
 and BTCZ19 at $10000.

 Now for BTCUSD:
 Unrealised PnL =  [1/Entry Price - 1/Market Price] * No. of Contracts 
 = [1/10000 - 1/10050] * 100000 = 0.04975124 BTC

 For BTCZ19: 
 Unrealised PnL =  -[1/Entry Price - 1/Market Price] * No. of Contracts 
 = -[1/9975 - 1/10000] * 100000 = -0.02506266 BTC

 Thus net unrealised PnL = 0.04975124 - 0.02506266 = 0.02468858 BTC

 Suppose the spread goes to 300, with BTCUSD at $10800 and BTCZ19 at $10500, 
 and you decide to exit the position.

 Now for BTCUSD:
 Realised PnL =  [1/Entry Price - 1/Exit Price] * No. of Contracts 
 = [1/10000 - 1/10800] * 100000 = 0.74074074 BTC

 For BTCZ19: 
 Realised PnL =  -[1/Entry Price - 1/Exit Price] * No. of Contracts 
 = -[1/9975 - 1/10500] * 100000 = -0.50125313 BTC

 Thus, net realised PnL = 0.74074074 - -0.50125313 = 0.23948761 BTC

Contract Specifications

Underlying Index Bitfex BTC Index
Symbol Contract_1 : Contract_2
Contract Size 1 USD
Instrument Type Difference of Inverse Futures
Price Quotation US Dollars per 1 bitcoin
Tick Size 0.5 USD
P&L Settlement Cash Settled in BTC
Contract Expiration Last Friday of the contract expiration month of the expiring contract at 08:00:00 UTC
Position Limit 500,000 contracts. To increase limit contact us at
Fees See Fee Structure for complete breakdown as per profile

Risks of Manual Spread Trading

As of today, on any crypto derivatives exchange, manual buying/selling of individual contracts is required to trade this price difference also called a spread.

There are several risks associated with the manual buying and selling of futures contracts to trade their spread. These are:

  • Volatility Risk: There is a high chance of slippage while placing orders; you get fill in one contract and no fill/partial fill in the other
  • Liquidity Risk: While exiting, you get fill in one contract but no fill in the other due to sparse order book
  • High Fees: To minimise volatility risk, you have to place market orders to both enter & exit, so you pay the taker fees, four times
  • Liquidation Risk: When you initiate a spread position, one contract will be in profit and the other in loss, so your position in the losing contract may get liquidated

With Exchange Quoted Spreads, these risks are eliminated, as you trade the spread in a single click via the spread contract.

Mark Price

Mark Price for the spread is on the basis of the mark prices for the underlying contracts.

Liquidation is done on basis of NAV.


Below is a table tracking prices of BTCUSD, BTCZ19, the BTCUSD:BTCZ19 spread and the % premium/discount of futures to perpetual at different times:

BTCUSD BTCZ19 BTCUSD:BTCZ19 Premium/Discount
10000 10200 -200 +2%
9800 10200 -400 +4.08%
10200 10200 0 0%
10700 10300 +400 -3.73%
10400 10200 +200 -1.92%
10000 9900 +100 -1%

As evident, the different price movements of BTCUSD and BTCZ19 relative to one another give different trading opportunities.

To reiterate, selling the spread means sell BTCUSD and buy BTCZ19. Buying the spread means buying BTCUSD and sell BTCZ19.

  • Sell the spread at -200,
  • Buy at -400,
  • Sell at 0, if previously bought; if not Buy at 0
  • Sell at +400
  • Buy at +200 if previously sold; if not Sell at +200
  • Buy at +100

Note, that in this entire time, the spread trades between -3.73% to 4%, i.e. in a 7.73% range.