voly 0.0.101__tar.gz → 0.0.103__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.101
3
+ Version: 0.0.103
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.101"
7
+ version = "0.0.103"
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.101"
63
+ python_version = "0.0.103"
64
64
  warn_return_any = true
65
65
  warn_unused_configs = true
66
66
  disallow_untyped_defs = true
@@ -15,7 +15,7 @@ from voly.utils.logger import logger, catch_exception, setup_file_logging
15
15
  from voly.exceptions import VolyError
16
16
  from voly.models import SVIModel
17
17
  from voly.formulas import (
18
- d1, d2, bs, delta, gamma, vega, theta, rho, vanna, volga, charm, greeks, iv
18
+ svi, d1, d2, bs, delta, gamma, vega, theta, rho, vanna, volga, charm, greeks, iv
19
19
  )
20
20
  from voly.core.data import fetch_option_chain, process_option_chain
21
21
  from voly.core.fit import fit_model, get_iv_surface
@@ -86,6 +86,10 @@ class VolyClient:
86
86
  # SVI, Black-Scholes and Greeks Calculations
87
87
  # -------------------------------------------------------------------------
88
88
 
89
+ @staticmethod
90
+ def svi(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
91
+ return svi(LM, a, b, sigma, rho, m)
92
+
89
93
  @staticmethod
90
94
  def d1(s: float, K: float, r: float, o: float, t: float,
91
95
  option_type: str = 'call') -> float:
@@ -36,16 +36,16 @@ class SVIModel:
36
36
  }
37
37
 
38
38
  @staticmethod
39
- def svi(log_moneyness_array: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
40
- return a + b * (rho * (log_moneyness_array - m) + np.sqrt((log_moneyness_array - m) ** 2 + sigma ** 2))
39
+ def svi(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
40
+ return a + b * (rho * (LM - m) + np.sqrt((LM - m) ** 2 + sigma ** 2))
41
41
 
42
42
  @staticmethod
43
- def svi_d(log_moneyness_array: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
44
- return b * (rho + ((log_moneyness_array - m) / np.sqrt((log_moneyness_array - m) ** 2 + sigma ** 2)))
43
+ def svi_d(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
44
+ return b * (rho + ((LM - m) / np.sqrt((LM - m) ** 2 + sigma ** 2)))
45
45
 
46
46
  @staticmethod
47
- def svi_dd(log_moneyness_array: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
48
- return b * log_moneyness_array ** 2 / ((log_moneyness_array - m) ** 2 + sigma ** 2) ** 1.5
47
+ def svi_dd(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
48
+ return b * LM ** 2 / ((LM - m) ** 2 + sigma ** 2) ** 1.5
49
49
 
50
50
  @staticmethod
51
51
  def svi_min_strike(sigma: float, rho: float, m: float) -> float:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voly
3
- Version: 0.0.101
3
+ Version: 0.0.103
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