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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voly
3
- Version: 0.0.85
3
+ Version: 0.0.86
4
4
  Summary: Options & volatility research package
5
5
  Author-email: Manu de Cara <manu.de.cara@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "voly"
7
- version = "0.0.85"
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.85"
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[maturity] = iv_array
237
+ iv_surface[i] = iv_array
238
238
 
239
- # Calculate x domain for this maturity
240
- x_surface[maturity] = get_x_domain(
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'],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voly
3
- Version: 0.0.85
3
+ Version: 0.0.86
4
4
  Summary: Options & volatility research package
5
5
  Author-email: Manu de Cara <manu.de.cara@gmail.com>
6
6
  License: MIT
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