voly 0.0.109__tar.gz → 0.0.110__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.
Files changed (25) hide show
  1. {voly-0.0.109/src/voly.egg-info → voly-0.0.110}/PKG-INFO +1 -1
  2. {voly-0.0.109 → voly-0.0.110}/pyproject.toml +2 -2
  3. {voly-0.0.109 → voly-0.0.110}/src/voly/formulas.py +8 -6
  4. {voly-0.0.109 → voly-0.0.110/src/voly.egg-info}/PKG-INFO +1 -1
  5. {voly-0.0.109 → voly-0.0.110}/LICENSE +0 -0
  6. {voly-0.0.109 → voly-0.0.110}/README.md +0 -0
  7. {voly-0.0.109 → voly-0.0.110}/setup.cfg +0 -0
  8. {voly-0.0.109 → voly-0.0.110}/setup.py +0 -0
  9. {voly-0.0.109 → voly-0.0.110}/src/voly/__init__.py +0 -0
  10. {voly-0.0.109 → voly-0.0.110}/src/voly/client.py +0 -0
  11. {voly-0.0.109 → voly-0.0.110}/src/voly/core/__init__.py +0 -0
  12. {voly-0.0.109 → voly-0.0.110}/src/voly/core/charts.py +0 -0
  13. {voly-0.0.109 → voly-0.0.110}/src/voly/core/data.py +0 -0
  14. {voly-0.0.109 → voly-0.0.110}/src/voly/core/fit.py +0 -0
  15. {voly-0.0.109 → voly-0.0.110}/src/voly/core/hd.py +0 -0
  16. {voly-0.0.109 → voly-0.0.110}/src/voly/core/interpolate.py +0 -0
  17. {voly-0.0.109 → voly-0.0.110}/src/voly/core/rnd.py +0 -0
  18. {voly-0.0.109 → voly-0.0.110}/src/voly/exceptions.py +0 -0
  19. {voly-0.0.109 → voly-0.0.110}/src/voly/models.py +0 -0
  20. {voly-0.0.109 → voly-0.0.110}/src/voly/utils/__init__.py +0 -0
  21. {voly-0.0.109 → voly-0.0.110}/src/voly/utils/logger.py +0 -0
  22. {voly-0.0.109 → voly-0.0.110}/src/voly.egg-info/SOURCES.txt +0 -0
  23. {voly-0.0.109 → voly-0.0.110}/src/voly.egg-info/dependency_links.txt +0 -0
  24. {voly-0.0.109 → voly-0.0.110}/src/voly.egg-info/requires.txt +0 -0
  25. {voly-0.0.109 → voly-0.0.110}/src/voly.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voly
3
- Version: 0.0.109
3
+ Version: 0.0.110
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.109"
7
+ version = "0.0.110"
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.109"
63
+ python_version = "0.0.110"
64
64
  warn_return_any = true
65
65
  warn_unused_configs = true
66
66
  disallow_untyped_defs = true
@@ -368,17 +368,19 @@ def pdf_to_calls(pdf_K, s, K, r, t):
368
368
  # Step 1: Recover the second derivative
369
369
  c2_recovered = pdf_K_normalized / np.exp(r * t)
370
370
 
371
- # Step 2: Double integration using NumPy
372
- # First integration (c2 -> c1)
371
+ # Step 2: Use Simpson's rule for smoother first derivatives recovery
373
372
  c1_recovered = np.zeros_like(K)
374
373
  for i in range(1, len(K)):
375
- c1_recovered[i] = c1_recovered[i - 1] + 0.5 * (c2_recovered[i] + c2_recovered[i - 1]) * (K[i] - K[i - 1])
374
+ h = K[i] - K[i - 1]
375
+ c1_recovered[i] = c1_recovered[i - 1] + (h / 6) * (
376
+ c2_recovered[i - 1] + 4 * c2_recovered[(i - 1 + i) // 2] + c2_recovered[i])
376
377
 
377
- # Second integration (c1 -> c)
378
+ # Step 3: Second integration with Simpson's rule to recover original calls
378
379
  c_recovered_base = np.zeros_like(K)
379
380
  for i in range(1, len(K)):
380
- c_recovered_base[i] = c_recovered_base[i - 1] + 0.5 * (c1_recovered[i] + c1_recovered[i - 1]) * (
381
- K[i] - K[i - 1])
381
+ h = K[i] - K[i - 1]
382
+ c1_mid = (c1_recovered[i - 1] + c1_recovered[i]) / 2 # Midpoint approximation
383
+ c_recovered_base[i] = c_recovered_base[i - 1] + (h / 6) * (c1_recovered[i - 1] + 4 * c1_mid + c1_recovered[i])
382
384
 
383
385
  # Determine the integration constants based on boundary conditions
384
386
  # Find the lowest strike (deep ITM) and highest strike (deep OTM)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voly
3
- Version: 0.0.109
3
+ Version: 0.0.110
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