# Options

## Greeks

{% hint style="warning" %}
Coming Soon
{% endhint %}

Subscribe to continual updates for all relevant Greeks. These are streamed as soon as there is any change to any of the sensitivities. The subscriptions are split into first-order, second-order, and third-order and you can subscribe to them as below:

```python
# Subscribe to first-order Greeks on Deribit 31DEC21 100k call
channel = ['deribit.BTC-31DEC21-100000-C.greeks.1']

# Subscribe to second-order Greeks on Deribit 31DEC21 100k call
channel = ['deribit.BTC-31DEC21-100000-C.greeks.2']

# Pattern-subscribe to second-order Greeks on all Deribit options exiring 31DEC21
channel = ['deribit.BTC-31DEC21*.greeks.2']

# Pattern-subscribe to all Greeks (all 3 orders) on all Deribit puts
channel = ['deribit.BTC-*-P.greeks.*']
```

### First Order

| Greek | Field Name | Description                                                 |
| ----- | ---------- | ----------------------------------------------------------- |
| Delta | delta      | Sensitivity of option price to move in underlying (*dv/ds*) |
| Vega  | vega       | Sensitivity of option price to move in volatility (*dv/dσ*) |
| Theta | theta      | Sensitivity of option price to time, time decay, (*dv/d𝜏*) |
| Rho   | rho        | Sensitivity to risk-free rate (dv/drho)                     |

{% hint style="warning" %}
We calculate Rho based on 8h perpetual funding rate where available; this may differ from many exchanges which use a rate of 0%. The logic behind the use of the funding rate is the interpretation of this rate as an implied interest rate received from buying spot, trasferring to exchange, and shorting a perpetual. Other implementations can be made available on request.
{% endhint %}

### Second Order

| Greek | Field Name | Description                                                              |
| ----- | ---------- | ------------------------------------------------------------------------ |
| Gamma | gamma      | Rate of change of delta with respect to underlying price (*DdeltaDspot*) |
| Vanna | vanna      | (*DvegaDspot / DdeltaDvol*)                                              |
| Charm | charm      | Delta decay (*DdeltaDtime*)                                              |
| Volga | volga      | Vega convexity (*DvegaDvol)*                                             |
| Veta  | veta       | Rate of change of vega with respect to time (*DvegaDtime)*               |

### Third Order

| Greek  | Field Name | Description                                                              |
| ------ | ---------- | ------------------------------------------------------------------------ |
| Speed  | speed      | Rate of change of gamma with respect to underlying price (*DgammaDspot*) |
| Zomma  | zomma      | Rate of change of gamma with respect to volatility (*DgammaDvol*)        |
| Color  | color      | Gamma decay (*DgammaDtime*)                                              |
| Ultima | ultima     | Sensitivity of Vomma to volatility (*DvommaDvol)*                        |

## Black-Scholes Pricing

{% hint style="warning" %}
Coming Soon
{% endhint %}

Simple Black-Scholes-Merton pricing for a given option, or series of options, provided on a streaming tick basis on any change to valuation.

{% hint style="info" %}
Pass a volatility argument to the subscription call to get the value based on different volatility scenarios
{% endhint %}

You can pass an argument to determine which volatility scenario to use:

| Scenario                    | Argument | Scenario Detail                            |
| --------------------------- | -------- | ------------------------------------------ |
| Realized Volatility (1m)    | rv.1     | Historical realized volatility (1 minute)  |
| Realized Volatility (15m)   | rv.15    | Historical realized volatility (15 minute) |
| Realized Volatility (1h)    | rv.60    | Historical realized volatility (1 hour)    |
| Realized Volatility (1 day) | rv.1d    | Historical realized volatility (1 day)     |

Some example subscriptions are given below:

```python
# Subscribe to Black-Scholes Price on Deribit 31DEC21 100k call (1 minute RV)
channel = ['deribit.BTC-31DEC21-100000-C.bsprice.rv.1']

# Subscribe to Black-Scholes Price on Deribit 31DEC21 100k call (1 day RV)
channel = ['deribit.BTC-31DEC21-100000-C.bsprice.1d']
```

## Black-Scholes Components

{% hint style="warning" %}
Coming Soon
{% endhint %}

You can get the components of the Black-Scholes calculation (i.e. d1, d2) through separate calls if these are used in other calculations, these are available for the same scenarios as the B-S pricing above:

![](https://wikimedia.org/api/rest_v1/media/math/render/svg/02b3399c25f96bc2ce3a70dbce628620cf726c29)

| Component | Argument |
| --------- | -------- |
| d1        | d1       |
| d2        | d2       |

Some example subscriptions are given below:

```python
# Subscribe to d1 on Deribit 31DEC21 100k call (1 minute RV)
channel = ['deribit.BTC-31DEC21-100000-C.d1.rv.1']

# Subscribe to d2 on Deribit 31DEC21 100k put (1 day RV)
channel = ['deribit.BTC-31DEC21-100000-C.d2.rv.1d']
```

## Implied Volatility (IV)

{% hint style="warning" %}
Coming Soon
{% endhint %}

Get the IV for a given option or use a pattern subscription to get IVs for all options at a given expiry, or of a given currency. This uses a combination of Newton-Raphson and binomial search to quickly and robustly find the implied volatility.

Some example subscriptions are shown below:

```python
# Subscribe to IV changes on the BTCUSD DEC31 100k call on Deribit
channel = ['deribit.BTC-31DEC21-100000-C.d1.iv']

# Subscribe to the IV changes of all 31DEC21 expiring options on Deribit
channel = ['deribit.BTC-31DEC21-*.iv']
```

## Skewness

{% hint style="warning" %}
Coming Soon
{% endhint %}

Get the IV skew for a given expiry or use a pattern subscription to get the IV skews for all expiries on an exchange, or across exchanges.

Some example subscriptions are shown below:

```python
# Subscribe to skew changes on the BTCUSD DEC31 option expiry
channel = ['deribit.BTC-31DEC21.skew']

# Subscribe to skew changes for all expiries on deribit
channel = ['deribit.*.skew']

# Subscribe to skew changes for all ETH expiries on deribit
channel = ['deribit.ETH-*.skew']
```

## Volatility Smile

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Volatility Surface

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Realized Variance Premium

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Implied Variance Premium

{% hint style="warning" %}
Coming Soon
{% endhint %}

## SABR Pricing

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Heston Pricing

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Dupire Pricing

{% hint style="warning" %}
Coming Soon
{% endhint %}

## Vanna-Volga Pricing

{% hint style="warning" %}
Coming Soon
{% endhint %}
