# Theoretical pricing

{% hint style="danger" %}
The formulas presented below are theoretical and used for forward pricing. Contango protocol uses similar but different formulas by taking advantage of the trader's margin to make expirables in DeFi capital-efficient (see the [protocol pricing](/exchange/protocol/protocol-pricing.md) section).
{% endhint %}

## **Theory**

In TradFi, forwards 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 $$r\_{Q}$$ , the base currency at the yearly rate $$r\_{B}$$ and given a spot price $$S$$ then the theoretical price $$P\_{th}$$ to buy or sell 1 forward expiring in a time $$T$$ is given by:

$$
P\_{th}=S\*{ \bigg( \dfrac{1+r\_{Q}}{1+r\_{B}} \bigg) }^T
$$

{% hint style="info" %}
The pricing formula above is adapted from from *"**Options, futures and other derivatives**", 6th edition, John C. Hull, Chapter 5 on futures pricing.*
{% endhint %}

### **Example**

Let's consider a contract on ETHDAI expiring in 3 months ($$T=0.25$$) where the spot price is $$S=100 : DAI$$. Given the yearly fixed interest rate on the quote currency $$DAI$$ is $$r\_{Q}=10%$$ and on the base currency $$ETH$$ is $$r\_{Q}=3%$$ then the theoretical price to buy or sell 1 forwards would be:

$$P\_{th}=100\*{    \bigg(    \dfrac{1+0.1}{1+0.03}   \bigg)    }^{0.25}=101.66: DAI$$&#x20;

## **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 $$r\_{Q,b}$$, e.g. borrow $$DAI$$
* the quote currency is lent at the yearly fixed rate $$r\_{Q,l}$$, e.g. lend $$DAI$$&#x20;
* the base currency is borrowed at the yearly fixed rate $$r\_{B,b}$$ , e.g. borrow $$ETH$$
* the base currency is lent at the yearly fixed rate $$r\_{B,l}$$ , e.g. lend $$ETH$$
* the base currency is bought at the spot price $$S\_{L}$$ , e.g. buy $$ETH$$ by selling $$DAI$$
* the base currency is sold at the spot price $$S\_{S}$$, e.g. sell $$ETH$$ to buy $$DAI$$.

The table below provides the theoretical prices at which a trader can go long or short a forward:

|                          Theoretical short price                         |                           Theoretical long price                          |
| :----------------------------------------------------------------------: | :-----------------------------------------------------------------------: |
| $$P\_{th,S}=S\_{S}\*{ \bigg( \dfrac{1+r\_{Q,l}}{1+r\_{B,b}} \bigg) }^T$$ | $$P\_{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 forward prices to go long and short.

### Example

Let's consider a contract on ETHDAI expiring in 3 months ($$T=0.25$$) :

* Given one could borrow DAI at a yearly fixed rate of $$r\_{Q,b}=10.10%$$​, lend ETH at a yearly fixed rate $$r\_{B,l}=2.90%$$and buy ETH on the spot market at $$S\_{L}=100.10$$, the price to go long on 1 forward would be:

$$P\_{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 $$r\_{B,b}=3.10%$$​, lend DAI at a yearly fixed rate of $$r\_{Q,l}=9.90%$$ and sell ETH on the spot market at $$S\_{S}=99.90$$, the price to go short would be:

$$P\_{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 forward 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](#example) above are kept, the two arbitrages to bring the price at equilibrium are presented.

### Forward price above $$P\_{th,S}$$

Let's say the price to sell 1 forward is $$110.00 : DAI$$ instead of $$P\_{th,S}=101.51 : DAI$$. An arbitrageur could:

* Borrow now $$10000.00 : DAI$$. In 3 months $$10000\*{(1.11)}^{0.25}=10243.46 : DAI$$ need to be given back.
* Convert now those $$10000: DAI$$ to $$10000 /100.10=99.90: ETH$$.
* Invest now the $$99.90: ETH$$ to receive $$99.90\*{(1.029)}^{0.25}=100.62 : ETH$$​ in 3 months.
* Sell now a forward contract for a quantity of $$100.62 : ETH$$ for a price of$$100.62\*110=11067.83 : DAI$$.​
* Deliver the $$100.62 : ETH$$ at expiry to get $$11067.83 : DAI$$ for a cost of $$10243.46 : DAI$$, locking-in a risk-free profit of $$824.37:DAI$$.&#x20;

This arbitrage could be done with much bigger amounts and would disappear when the forward price is brought back to its theoretical pricing.

### Forward price under $$P\_{th,L}$$

Let's say the price to buy 1 forward is $$90.00 : DAI$$  instead of $$P\_{th,L}=101.81 : DAI$$. An arbitrageur could:

* Borrow now $$100 :ETH$$. In 3 months $$100\*{(1.029)}^{0.25}=100.77 : ETH$$​ need to be given back.
* Convert now those $$100: ETH$$ to $$100\*99.9=9990 : DAI$$.
* Invest now those DAIs to receive $$100000\*{(1.099)}^{0.25}=10228.57: DAI$$ in 3 months.​
* Buy now a forward contract for a quantity of $$100.77 : ETH$$ for a price of $$100.77\*90=9975.85 :DAI$$.
* At expiry, the trader would receive $$10228.57: DAI$$ from lending and use $$9975.85 :DAI$$to buy the $$100.77 : ETH$$needed to reimburse the debt, locking-in a risk-free profit of $$252.72:DAI$$.

This arbitrage could be done with much bigger amounts and would disappear when the forward price is brought back to its theoretical pricing.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://contango-2.gitbook.io/exchange/protocol/theoretical-pricing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
