contango
Search…
🀯
Theoretical pricing
The formulas presented below are theoretical. Contango protocol uses similar formulas by taking advantage of the trader's margin to make futures in DeFi more capital-efficient (see the protocol pricing section).

Theory

In TradFi, futures on currencies are priced using the well-known interest rate parity relationship. Given the quote currency can be borrowed or lent at the yearly fixed rate
rQr_{Q}
, the base currency at the yearly rate
rBr_{B}
and given a spot price
SS
then the theoretical price
PthP_{th}
to buy or sell 1 futures expiring in a time
TT
is given by:
Pth=Sβˆ—(1+rQ1+rB)TP_{th}=S*{ \bigg( \dfrac{1+r_{Q}}{1+r_{B}} \bigg) }^T
The pricing formula above is adapted from from "Options, futures and other derivatives", 6th edition, John C. Hull, Chapter 5 on futures pricing.

Example

Let's consider a contract on ETHDAI expiring in 3 months (
T=0.25T=0.25
) where the spot price is
S=100β€…DAIS=100 \: DAI
. Given the yearly fixed interest rate on the quote currency
DAIDAI
is
rQ=10%r_{Q}=10\%
and on the base currency
ETHETH
is
rQ=3%r_{Q}=3\%
then the theoretical price to buy or sell 1 futures would be:
​
Pth=100βˆ—(1+0.11+0.03)0.25=101.66β€…DAIP_{th}=100*{ \bigg( \dfrac{1+0.1}{1+0.03} \bigg) }^{0.25}=101.66\: DAI

Derived formula

In the section, a more realistic formula is derived. Taking the example of the currency pair ETHDAI, it is supposed that:
  • the quote currency is borrowed at the yearly fixed rate
    rQ,br_{Q,b}
    , e.g. borrow
    DAIDAI
    ​
  • the quote currency is lent at the yearly fixed rate
    rQ,lr_{Q,l}
    , e.g. lend
    DAIDAI
  • the base currency is borrowed at the yearly fixed rate
    rB,br_{B,b}
    , e.g. borrow
    ETHETH
    ​
  • the base currency is lent at the yearly fixed rate
    rB,lr_{B,l}
    , e.g. lend
    ETHETH
    ​
  • the base currency is bought at the spot price
    SLS_{L}
    , e.g. buy
    ETHETH
    by selling
    DAIDAI
    ​
  • the base currency is sold at the spot price
    SSS_{S}
    , e.g. sell
    ETHETH
    to buy
    DAIDAI
    .
The table below provides the theoretical prices at which a trader can go long or short a futures:
Theoretical short price
Theoretical long price
​
Pth,S=SSβˆ—(1+rQ,l1+rB,b)TP_{th,S}=S_{S}*{ \bigg( \dfrac{1+r_{Q,l}}{1+r_{B,b}} \bigg) }^T
​
​
Pth,L=SLβˆ—(1+rQ,b1+rB,l)TP_{th,L}=S_{L}*{ \bigg( \dfrac{1+r_{Q,b}}{1+r_{B,l}} \bigg) }^T
​
It could be noticed that, the tighter the spread between the borrowing and lending rates and the tighter the spread on the spot price then the tighter the spread between the futures prices to go long and short.

Example

Let's consider a contract on ETHDAI expiring in 3 months (
T=0.25T=0.25
) :
  • Given one could borrow DAI at a yearly fixed rate of
    rQ,b=10.10%r_{Q,b}=10.10\%
    ​, lend ETH at a yearly fixed rate
    rB,l=2.90%r_{B,l}=2.90\%
    and buy ETH on the spot market at
    SL=100.10S_{L}=100.10
    , the price to go long on 1 futures would be:
​
Pth,L=100.10βˆ—(1+0.10101+0.0290)0.25=101.81β€…DAIP_{th,L}=100.10*{ \bigg( \dfrac{1+0.1010}{1+0.0290} \bigg) }^{0.25}=101.81 \: DAI
​
  • Given one could borrow ETH at a yearly fixed rate of
    rB,b=3.10%r_{B,b}=3.10\%
    ​, lend DAI at a yearly fixed rate of
    rQ,l=9.90%r_{Q,l}=9.90\%
    and sell ETH on the spot market at
    SS=99.90S_{S}=99.90
    , the price to go short would be:
​
Pth,S=99.90βˆ—(1+0.09901+0.0310)0.25=101.51β€…DAIP_{th,S}=99.90*{ \bigg( \dfrac{1+0.0990}{1+0.0310} \bigg) }^{0.25}=101.51\: DAI
​

Price equilibrium

If the price of a futures is above or under the theoretical formula then an arbitrage condition arises. Since market participants can take advantage of this "free lunch", by using significant amounts of money, prices are brought back to their theoretical formulas. In the examples below, where the same numerical assumptions as in the example above are kept, the two arbitrages to bring the price at equilibrium are presented.

Futures price above
Pth,SP_{th,S}
​

Let's say the price to sell 1 futures is
110.00β€…DAI110.00 \: DAI
instead of
Pth,S=101.51β€…DAIP_{th,S}=101.51 \: DAI
. An arbitrageur could:
  • Borrow now
    10000.00β€…DAI10000.00 \: DAI
    . In 3 months
    10000βˆ—(1.11)0.25=10243.46β€…DAI10000*{(1.11)}^{0.25}=10243.46 \: DAI
    need to be given back.
  • Convert now those
    10000β€…DAI10000\: DAI
    to
    10000/100.10=99.90β€…ETH10000 /100.10=99.90\: ETH
    .
  • Invest now the
    99.90β€…ETH99.90\: ETH
    to receive
    99.90βˆ—(1.029)0.25=100.62β€…ETH99.90*{(1.029)}^{0.25}=100.62 \: ETH
    ​ in 3 months.
  • Sell now futures contract for a quantity of
    100.62β€…ETH100.62 \: ETH
    for a price of
    100.62βˆ—110=11067.83β€…DAI100.62*110=11067.83 \: DAI
    .​
  • Deliver the
    100.62β€…ETH100.62 \: ETH
    at expiry to get
    11067.83β€…DAI11067.83 \: DAI
    for a cost of
    10243.46β€…DAI10243.46 \: DAI
    , locking-in a risk-free profit of
    824.37β€…DAI824.37\:DAI
    .
This arbitrage could be done with much bigger amounts and would disappear when the futures price is brought back to its theoretical pricing.

Futures price under
Pth,LP_{th,L}
​

Let's say the price to buy 1 futures is
90.00β€…DAI90.00 \: DAI
instead of
Pth,L=101.81β€…DAIP_{th,L}=101.81 \: DAI
. An arbitrageur could:
  • Borrow now
    100β€…ETH100 \:ETH
    . In 3 months
    100βˆ—(1.029)0.25=100.77β€…ETH100*{(1.029)}^{0.25}=100.77 \: ETH
    ​ need to be given back.
  • Convert now those
    100β€…ETH100\: ETH
    to
    100βˆ—99.9=9990β€…DAI100*99.9=9990 \: DAI
    .
  • Invest now those DAIs to receive
    100000βˆ—(1.099)0.25=10228.57β€…DAI100000*{(1.099)}^{0.25}=10228.57\: DAI
    in 3 months.​
  • Buy now futures contract for a quantity of
    100.77β€…ETH100.77 \: ETH
    for a price of
    100.77βˆ—90=9975.85β€…DAI100.77*90=9975.85 \:DAI
    .
  • At expiry, the trader would receive
    10228.57β€…DAI10228.57\: DAI
    from lending and use
    9975.85β€…DAI9975.85 \:DAI
    to buy the
    100.77β€…ETH100.77 \: ETH
    needed to reimburse the debt, locking-in a risk-free profit of
    252.72β€…DAI252.72\:DAI
    .
This arbitrage could be done with much bigger amounts and would disappear when the futures price is brought back to its theoretical pricing.
Copy link
On this page
Theory
Example
Derived formula
Example
Price equilibrium
Futures price above
Futures price under