> For the complete documentation index, see [llms.txt](https://www.bluegamma.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.bluegamma.io/documentation/pricers/swaption-pricer.md).

# Swaption Pricer

Price a European payer or receiver swaption at an indicative mid, with the premium, forward swap rate, normal volatility and Greeks.

The **Swaption Pricer** gives an indicative mid price for a European swaption: the right to enter an interest rate swap on a future date at a fixed rate agreed today. It prices off the live swap curve and the currency's at-the-money normal volatility surface.

Open it from the sidebar under **Pricers → Swaption Pricer**. You can also open it pre-filled from a cell on [Swaption Volatilities](/documentation/market-data-guides/swaption-volatilities.md) with **Price this swaption**.

***

### 1. Choose the Reference Rate

**Reference Rate** sets the curve, the currency and the volatility surface. It defaults to SOFR.

| Currency | Reference Rate                     |
| -------- | ---------------------------------- |
| USD      | SOFR                               |
| GBP      | SONIA                              |
| EUR      | 1M EURIBOR, 3M EURIBOR, 6M EURIBOR |
| CHF      | SARON                              |
| JPY      | TONAR, 3M TIBOR, 6M TIBOR          |
| CAD      | 3M CDOR                            |
| DKK      | DESTR, CITA                        |
| HKD      | 3M HIBOR                           |
| MYR      | 3M KLIBOR                          |
| NZD      | OCR                                |
| KRW      | 91D CD                             |
| TWD      | 3M TAIBOR                          |
| CNY      | 7D REPO                            |
| SAR      | 3M SAIBOR                          |
| ZAR      | 3M JIBAR                           |
| CZK      | 6M PRIBOR                          |
| HUF      | 6M BUBOR                           |

The list in the app can include further rates. Where a rate has no volatility surface, the pricer shows the reason above the **Price Swaption** button instead of a price.

***

### 2. Set the Structure

Under **Structure**:

* **Expiry**: when the option can be exercised: 1M, 3M, 6M, 9M, 1Y, 18M, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y, 15Y, 20Y or 30Y. Defaults to 1Y.
* **Swap Tenor**: the length of the swap you would enter: 1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y, 15Y, 20Y, 25Y or 30Y. Defaults to 5Y.

Turn on **Exact dates** to use the dates from a quote or termsheet instead: **Expiry date** (tomorrow or later) and **Swap end date**.

***

### 3. Set the Type, Notional and Strike

* **Type**: **Payer (pay fixed)**, the right to pay the fixed rate (the default), or **Receiver (receive fixed)**, the right to receive it.
* **Notional**: in the reference rate's currency. Defaults to 10,000,000.
* **Strike (%)**: the swap's fixed rate. Leave it blank to price at the money, with the strike set to the forward swap rate.

Click **Price Swaption**. **Reset** restores the defaults. If a structure cannot be priced, the reason shows above the button.

***

### 4. Read the Result

<figure><img src="https://3184259219-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmmQPefoflG1RwUnUKKBR%2Fuploads%2Fgit-blob-540de23abdf078ae3a2979caf3036d312eeb2124%2Fswaption-pricer-result.png?alt=media" alt="The Swaption Pricer with the Swaption Details form and the result card for a 1Y×5Y USD payer swaption at the money"><figcaption></figcaption></figure>

**Indicative premium** is shown as a percentage of notional, as an amount in the currency, and in **bps upfront**. Beside it are the contract terms: **Index**, **Type**, **Notional**, **Strike** (tagged **ATM** when at the money), **Exercise date** and **Swap end date**.

| Output                | What it shows                                                                           |
| --------------------- | --------------------------------------------------------------------------------------- |
| **Forward swap rate** | The fixed rate of the underlying swap, starting at expiry, implied by the live curve    |
| **Normal vol**        | The at-the-money normal volatility used, in basis points per year                       |
| **Delta**             | Sensitivity to the forward swap rate: 0.5 at the money for a payer, -0.5 for a receiver |
| **DV01**              | Change in the option value for a 1bp move in the swap rate                              |
| **Vega (per vol bp)** | Change in the option value for a 1bp move in normal volatility                          |

The footer reads **Indicative mid, not executable.** and shows the **Market data** time. For tenor structures it also links to that cell's volatility history.

## How It Is Calculated

The pricer uses the normal (Bachelier) model with European exercise:

1. The expiry is counted from today on the reference rate's calendar. The option exercises on the swap start date.
2. The underlying swap is built on the same curves as the [Swap Pricer](/documentation/pricers/calculating-a-swap-rate.md): an overnight indexed swap for overnight rates, a vanilla swap for term rates. Its fair rate is the forward swap rate $$F$$.
3. The normal volatility $$\sigma\_N$$ is interpolated from the currency's at-the-money surface at the option's expiry and swap tenor. The same volatility is used whatever the strike.
4. A payer swaption is priced as:

$$
NPV = A \left\[ (F - K),\Phi(d) + \sigma\_N \sqrt{T},\phi(d) \right], \quad d = \frac{F - K}{\sigma\_N \sqrt{T}}
$$

where $$A$$ is notional × the sum of discounted fixed-leg year fractions, $$K$$ is the strike and $$T$$ the time to expiry in years. A receiver uses $$(K - F),\Phi(-d)$$ for the first term.

5. **Delta** is $$\Phi(d)$$ for a payer and $$\Phi(d) - 1$$ for a receiver. **DV01** is delta × the value of 1bp on the fixed leg. **Vega** is the change in NPV when the volatility rises by 1bp.

The premium percentage is NPV ÷ notional × 100, and **bps upfront** is that percentage × 100.

## Related

* [Swaption Volatilities](/documentation/market-data-guides/swaption-volatilities.md): the volatility surface and history behind the price
* [How to Price a Swaption Using the API](/documentation/integrations/api/how-to-guides/how-to-price-a-swaption-using-the-api.md): the same pricing through the API
* [Cap Pricer](/documentation/pricers/pricing-a-cap.md): price an interest rate cap


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://www.bluegamma.io/documentation/pricers/swaption-pricer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
