voly 0.0.85__tar.gz → 0.0.86__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {voly-0.0.85/src/voly.egg-info → voly-0.0.86}/PKG-INFO +1 -1
- {voly-0.0.85 → voly-0.0.86}/pyproject.toml +2 -2
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/fit.py +7 -7
- {voly-0.0.85 → voly-0.0.86/src/voly.egg-info}/PKG-INFO +1 -1
- {voly-0.0.85 → voly-0.0.86}/LICENSE +0 -0
- {voly-0.0.85 → voly-0.0.86}/README.md +0 -0
- {voly-0.0.85 → voly-0.0.86}/setup.cfg +0 -0
- {voly-0.0.85 → voly-0.0.86}/setup.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/__init__.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/client.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/__init__.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/charts.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/data.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/interpolate.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/core/rnd.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/exceptions.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/formulas.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/models.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/utils/__init__.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly/utils/logger.py +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly.egg-info/SOURCES.txt +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly.egg-info/dependency_links.txt +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly.egg-info/requires.txt +0 -0
- {voly-0.0.85 → voly-0.0.86}/src/voly.egg-info/top_level.txt +0 -0
- {voly-0.0.85 → voly-0.0.86}/tests/test_client.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "voly"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.86"
|
|
8
8
|
description = "Options & volatility research package"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -60,7 +60,7 @@ line_length = 100
|
|
|
60
60
|
multi_line_output = 3
|
|
61
61
|
|
|
62
62
|
[tool.mypy]
|
|
63
|
-
python_version = "0.0.
|
|
63
|
+
python_version = "0.0.86"
|
|
64
64
|
warn_return_any = true
|
|
65
65
|
warn_unused_configs = true
|
|
66
66
|
disallow_untyped_defs = true
|
|
@@ -197,14 +197,14 @@ def get_iv_surface(model_results: pd.DataFrame,
|
|
|
197
197
|
Works with both regular fit_results and interpolated_results dataframes.
|
|
198
198
|
|
|
199
199
|
Parameters:
|
|
200
|
-
- model_results: DataFrame from fit_model() or interpolate_model()
|
|
200
|
+
- model_results: DataFrame from fit_model() or interpolate_model(). Maturity names or DTM as Index
|
|
201
201
|
- log_moneyness_params: Tuple of (min, max, num_points) for the moneyness grid
|
|
202
202
|
- return_domain: Domain for x-axis values ('log_moneyness', 'moneyness', 'strikes', 'delta')
|
|
203
203
|
|
|
204
204
|
Returns:
|
|
205
205
|
- Tuple of (iv_surface, x_surface)
|
|
206
|
-
iv_surface: Dictionary mapping maturity names to IV arrays
|
|
207
|
-
x_surface: Dictionary mapping maturity names to requested x domain arrays
|
|
206
|
+
iv_surface: Dictionary mapping maturity/dtm names to IV arrays
|
|
207
|
+
x_surface: Dictionary mapping maturity/dtm names to requested x domain arrays
|
|
208
208
|
"""
|
|
209
209
|
# Check if required columns are present
|
|
210
210
|
required_columns = ['a', 'b', 'rho', 'm', 'sigma', 'ytm']
|
|
@@ -219,7 +219,7 @@ def get_iv_surface(model_results: pd.DataFrame,
|
|
|
219
219
|
iv_surface = {}
|
|
220
220
|
x_surface = {}
|
|
221
221
|
|
|
222
|
-
# Process each maturity
|
|
222
|
+
# Process each maturity/dtm
|
|
223
223
|
for i in model_results.index:
|
|
224
224
|
# Calculate SVI total implied variance and convert to IV
|
|
225
225
|
params = [
|
|
@@ -234,10 +234,10 @@ def get_iv_surface(model_results: pd.DataFrame,
|
|
|
234
234
|
# Calculate implied volatility
|
|
235
235
|
w_svi = np.array([SVIModel.svi(x, *params) for x in log_moneyness_array])
|
|
236
236
|
iv_array = np.sqrt(w_svi / ytm)
|
|
237
|
-
iv_surface[
|
|
237
|
+
iv_surface[i] = iv_array
|
|
238
238
|
|
|
239
|
-
# Calculate x domain for this maturity
|
|
240
|
-
x_surface[
|
|
239
|
+
# Calculate x domain for this maturity/dtm
|
|
240
|
+
x_surface[i] = get_x_domain(
|
|
241
241
|
log_moneyness_params=log_moneyness_params,
|
|
242
242
|
return_domain=return_domain,
|
|
243
243
|
s=model_results.loc[i, 's'],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|