# `Bourse.InstrumentGreeks`
[🔗](https://github.com/ZenHive/bourse/blob/main/lib/bourse/instrument_greeks.ex#L1)

Per-instrument Greeks joined to option identity with explicit conventions.

Built by `Bourse.Unified.OptionSurface.instrument_greeks/3`. Each populated
Greek names its native source field plus denomination, unit, bump size and
time basis; unsupported Greeks stay explicit with `supported: false`.

# `convention`

```elixir
@type convention() :: %{required(String.t()) =&gt; term()}
```

# `t`

```elixir
@type t() :: %Bourse.InstrumentGreeks{
  ask_price: number() | nil,
  bid_price: number() | nil,
  conventions: %{optional(String.t()) =&gt; convention()} | nil,
  delta: number() | nil,
  expiry: integer() | nil,
  gamma: number() | nil,
  id: String.t() | nil,
  info: map() | nil,
  mark_implied_volatility: number() | nil,
  observed_at: integer() | nil,
  option_type: String.t() | nil,
  rho: number() | nil,
  settle: String.t() | nil,
  source_timestamp: integer() | nil,
  strike: number() | nil,
  symbol: String.t() | nil,
  theta: number() | nil,
  underlying_price: number() | nil,
  vega: number() | nil,
  venue: String.t() | nil
}
```

# `schema`

```elixir
@spec schema() :: map()
```

JSON Schema for the InstrumentGreeks surface type.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
