Call prices and all Greeks across strikes¶
Minimal example: compute call and greeks for a range of strikes and print a table.
import numpy as np
import pandas as pd
import volkit as vk
# Parameters (edit these) -----------------------------
F = 100.0 # futures price
T = 0.50 # years
r = 0.02 # continuous compounding
sigma = 0.20 # Black vol (per √year)
# Strike grid -----------------------------------------
K = np.arange(70.0, 131.0, 5.0) # 70,75,...,130
# Table ------------------------------------------------
df = pd.DataFrame({
"strike": K,
"call price": vk.price_euro_future(F, K, T, r, sigma, cp="call"),
"delta": vk.delta_euro_future(F, K, T, r, sigma, cp="call"),
"gamma": vk.gamma_euro_future(F, K, T, r, sigma, cp="call"),
"theta": vk.theta_euro_future(F, K, T, r, sigma, cp="call"),
"vega": vk.vega_euro_future(F, K, T, r, sigma, cp="call"),
"rho": vk.rho_euro_future(F, K, T, r, sigma, cp="call"),
"ddelta": vk.dual_delta_euro_future(F, K, T, r, sigma, cp="call"),
"vanna": vk.vanna_euro_future(F, K, T, r, sigma, cp="call"),
"vomma": vk.vomma_euro_future(F, K, T, r, sigma, cp="call"),
"lambda": vk.lambda_euro_future(F, K, T, r, sigma, cp="call"),
}).set_index('strike')
df.round(4)
| call price | delta | gamma | theta | vega | rho | ddelta | vanna | vomma | lambda | |
|---|---|---|---|---|---|---|---|---|---|---|
| strike | ||||||||||
| 70.0 | 29.7234 | 0.9853 | 0.0010 | 0.4007 | 0.9689 | -14.8617 | -0.9830 | -0.1679 | 30.7906 | 3.3150 |
| 75.0 | 24.8450 | 0.9726 | 0.0030 | -0.1126 | 3.0474 | -12.4225 | -0.9655 | -0.4231 | 62.9755 | 3.9146 |
| 80.0 | 20.1070 | 0.9409 | 0.0072 | -1.0331 | 7.1761 | -10.0535 | -0.9248 | -0.7648 | 89.1509 | 4.6796 |
| 85.0 | 15.6524 | 0.8799 | 0.0133 | -2.3412 | 13.2711 | -7.8262 | -0.8510 | -1.0120 | 87.2986 | 5.6215 |
| 90.0 | 11.6553 | 0.7848 | 0.0200 | -3.7718 | 20.0245 | -5.8277 | -0.7425 | -0.9548 | 55.0716 | 6.7333 |
| 95.0 | 8.2701 | 0.6610 | 0.0254 | -4.9196 | 25.4251 | -4.1350 | -0.6087 | -0.5249 | 16.0877 | 7.9927 |
| 100.0 | 5.5811 | 0.5229 | 0.0279 | -5.4602 | 27.8591 | -2.7906 | -0.4671 | 0.1393 | -0.6965 | 9.3697 |
| 105.0 | 3.5820 | 0.3880 | 0.0269 | -5.3079 | 26.8977 | -1.7910 | -0.3354 | 0.7907 | 15.3349 | 10.8329 |
| 110.0 | 2.1892 | 0.2705 | 0.0233 | -4.6128 | 23.2827 | -1.0946 | -0.2260 | 1.2260 | 52.2932 | 12.3540 |
| 115.0 | 1.2772 | 0.1776 | 0.0183 | -3.6411 | 18.3330 | -0.6386 | -0.1434 | 1.3728 | 89.0682 | 13.9091 |
| 120.0 | 0.7132 | 0.1104 | 0.0133 | -2.6445 | 13.2937 | -0.3566 | -0.0861 | 1.2783 | 110.1421 | 15.4797 |
| 125.0 | 0.3825 | 0.0652 | 0.0090 | -1.7864 | 8.9702 | -0.1913 | -0.0491 | 1.0457 | 111.4387 | 17.0515 |
| 130.0 | 0.1977 | 0.0368 | 0.0057 | -1.1326 | 5.6829 | -0.0989 | -0.0268 | 0.7739 | 97.6539 | 18.6141 |