voly 0.0.44__tar.gz → 0.0.46__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.44
3
+ Version: 0.0.46
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.44"
7
+ version = "0.0.46"
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.44"
63
+ python_version = "0.0.46"
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
- bs, delta, gamma, vega, theta, rho, vanna, volga, charm, greeks, iv
18
+ 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
@@ -87,6 +87,16 @@ class VolyClient:
87
87
  # Black-Scholes and Greeks Calculations
88
88
  # -------------------------------------------------------------------------
89
89
 
90
+ @staticmethod
91
+ def d1(s: float, k: float, r: float, vol: float, t: float,
92
+ option_type: str = 'call') -> float:
93
+ return d1(s, k, r, vol, t, option_type)
94
+
95
+ @staticmethod
96
+ def d2(s: float, k: float, r: float, vol: float, t: float,
97
+ option_type: str = 'call') -> float:
98
+ return d2(s, k, r, vol, t, option_type)
99
+
90
100
  @staticmethod
91
101
  def bs(s: float, k: float, r: float, vol: float, t: float,
92
102
  option_type: str = 'call') -> float:
@@ -40,8 +40,7 @@ def d1(s: float, k: float, r: float, vol: float, t: float, option_type: str = 'c
40
40
  # option_type is ignored in this function but included for compatibility
41
41
  if vol <= 0 or t <= 0:
42
42
  return np.nan
43
- return (np.log(s / k) + (r + vol * vol / 2) * t) / (vol * np.sqrt(t))
44
-
43
+ return (np.log(s / k) + (r + vol ** 2 / 2) * t) / (vol * np.sqrt(t))
45
44
 
46
45
  @catch_exception
47
46
  @vectorize_inputs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voly
3
- Version: 0.0.44
3
+ Version: 0.0.46
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