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.
- {voly-0.0.101/src/voly.egg-info → voly-0.0.103}/PKG-INFO +1 -1
- {voly-0.0.101 → voly-0.0.103}/pyproject.toml +2 -2
- {voly-0.0.101 → voly-0.0.103}/src/voly/client.py +5 -1
- {voly-0.0.101 → voly-0.0.103}/src/voly/models.py +6 -6
- {voly-0.0.101 → voly-0.0.103/src/voly.egg-info}/PKG-INFO +1 -1
- {voly-0.0.101 → voly-0.0.103}/LICENSE +0 -0
- {voly-0.0.101 → voly-0.0.103}/README.md +0 -0
- {voly-0.0.101 → voly-0.0.103}/setup.cfg +0 -0
- {voly-0.0.101 → voly-0.0.103}/setup.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/__init__.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/__init__.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/charts.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/data.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/fit.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/interpolate.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/core/rnd.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/exceptions.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/formulas.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/utils/__init__.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly/utils/logger.py +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly.egg-info/SOURCES.txt +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly.egg-info/dependency_links.txt +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly.egg-info/requires.txt +0 -0
- {voly-0.0.101 → voly-0.0.103}/src/voly.egg-info/top_level.txt +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.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.
|
|
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(
|
|
40
|
-
return a + b * (rho * (
|
|
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(
|
|
44
|
-
return b * (rho + ((
|
|
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(
|
|
48
|
-
return b *
|
|
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:
|
|
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
|