voly 0.0.169__py3-none-any.whl → 0.0.171__py3-none-any.whl

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/models.py CHANGED
@@ -46,6 +46,16 @@ class SVIModel:
46
46
  def svi(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
47
47
  return a + b * (rho * (LM - m) + np.sqrt((LM - m) ** 2 + sigma ** 2))
48
48
 
49
+ @staticmethod
50
+ def svi_d(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
51
+ """Calculate first derivative of SVI function with respect to log-moneyness."""
52
+ return b * (rho + ((LM - m) / np.sqrt((LM - m) ** 2 + sigma ** 2)))
53
+
54
+ @staticmethod
55
+ def svi_dd(LM: float, a: float, b: float, sigma: float, rho: float, m: float) -> float:
56
+ """Calculate second derivative of SVI function with respect to log-moneyness."""
57
+ return b * sigma ** 2 / ((LM - m) ** 2 + sigma ** 2) ** 1.5
58
+
49
59
  @staticmethod
50
60
  def svi_min_strike(sigma: float, rho: float, m: float) -> float:
51
61
  """Calculate the minimum valid log-strike for this SVI parameterization."""
@@ -152,7 +162,7 @@ class SVIModel:
152
162
  return [a_svi, b_svi, m, rho_svi, sigma], loss
153
163
 
154
164
  @classmethod
155
- def correct_calendar_arbitrage(cls, params, t, tiv, vega, k, prev_params, prev_t, domain_params):
165
+ def correct_calendar_arbitrage(cls, params, t, tiv, vega, k, prev_params, prev_t, k_grid):
156
166
  """
157
167
  Correct calendar arbitrage by ensuring the current SVI surface stays above the previous one.
158
168
 
@@ -175,7 +185,7 @@ class SVIModel:
175
185
 
176
186
  a_init, b_init, sigma_init, rho_init, m_init = params
177
187
  a_prev, b_prev, sigma_prev, rho_prev, m_prev = prev_params
178
- k_constraint = np.unique(np.concatenate([k, np.linspace(min(k), max(k), domain_params[2])]))
188
+ k_constraint = np.unique(np.concatenate([k, np.linspace(min(k), max(k), k_grid)]))
179
189
 
180
190
  def objective(x):
181
191
  a, b, sigma, rho, m = x
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voly
3
- Version: 0.0.169
3
+ Version: 0.0.171
4
4
  Summary: Options & volatility research package
5
5
  Author-email: Manu de Cara <manu.de.cara@gmail.com>
6
6
  License: MIT
@@ -2,7 +2,7 @@ voly/__init__.py,sha256=8xyDk7rFCn_MOD5hxuv5cxxKZvBVRiSIM7TgaMPpwpw,211
2
2
  voly/client.py,sha256=6e9cX5JWeqoTIktKlT4yEN9FG5Cj8Icl7gHxhVayi24,14464
3
3
  voly/exceptions.py,sha256=PBsbn1vNMvKcCJwwJ4lBO6glD85jo1h2qiEmD7ArAjs,92
4
4
  voly/formulas.py,sha256=eDPw32xa3dwCIrE-zeZzznfGaplGFoVcA167uQngZ70,11209
5
- voly/models.py,sha256=H2XWsQ9mbE261DmYJMPFhfVO-PqjEFehkwkib0B23D4,8199
5
+ voly/models.py,sha256=Ntx1PDGpj-K52B-QUeKasIrT9AvY1YtjnZ8DkGWB2hY,8724
6
6
  voly/core/__init__.py,sha256=bu6fS2I1Pj9fPPnl-zY3L7NqrZSY5Zy6NY2uMUvdhKs,183
7
7
  voly/core/charts.py,sha256=2S-BfCo30aj1_xlNLqF-za5rQWxF_mWKIdtdOe5bgbw,12735
8
8
  voly/core/data.py,sha256=9v9iuE2XdIIlzoRAB7q1ol7YghBzBsPGAiwZ11oDuis,13650
@@ -13,8 +13,8 @@ voly/core/rnd.py,sha256=GoC3m1Q46Wnk5tV_mstr-3_aktHeue6BBLh4DQTciW0,13307
13
13
  voly/utils/__init__.py,sha256=E05mWatyC-PDOsCxQV1p5Xi1IgpOomxrNURyCx_gB-w,200
14
14
  voly/utils/density.py,sha256=q0fX4im9TGwMCZ32Hzdv8CNh56KnJo8bmG5w0gVWZH8,5879
15
15
  voly/utils/logger.py,sha256=4-_2bVJmq17Q0d7Rd2mPg1AeR8gxv6EPvcmBDMFWcSM,1744
16
- voly-0.0.169.dist-info/licenses/LICENSE,sha256=wcHIVbE12jfcBOai_wqBKY6xvNQU5E909xL1zZNq_2Q,1065
17
- voly-0.0.169.dist-info/METADATA,sha256=DtZO6Xm_eCZiyEOdGJtkBWGgtsYYCAPgd8O6Cux8eEg,4115
18
- voly-0.0.169.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
19
- voly-0.0.169.dist-info/top_level.txt,sha256=ZfLw2sSxF-LrKAkgGjOmeTcw6_gD-30zvtdEY5W4B7c,5
20
- voly-0.0.169.dist-info/RECORD,,
16
+ voly-0.0.171.dist-info/licenses/LICENSE,sha256=wcHIVbE12jfcBOai_wqBKY6xvNQU5E909xL1zZNq_2Q,1065
17
+ voly-0.0.171.dist-info/METADATA,sha256=9YjZBDzrIlrWGffWFsS94ULQcbXLpwJM-5xkOFGaaz4,4115
18
+ voly-0.0.171.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
19
+ voly-0.0.171.dist-info/top_level.txt,sha256=ZfLw2sSxF-LrKAkgGjOmeTcw6_gD-30zvtdEY5W4B7c,5
20
+ voly-0.0.171.dist-info/RECORD,,
File without changes