# 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 %}


---

# 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://docs.cryptostats.dev/streaming/options.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.
