voly 0.0.183__py3-none-any.whl → 0.0.185__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/core/fit.py +2 -2
- voly/models.py +3 -2
- {voly-0.0.183.dist-info → voly-0.0.185.dist-info}/METADATA +1 -1
- {voly-0.0.183.dist-info → voly-0.0.185.dist-info}/RECORD +7 -7
- {voly-0.0.183.dist-info → voly-0.0.185.dist-info}/WHEEL +0 -0
- {voly-0.0.183.dist-info → voly-0.0.185.dist-info}/licenses/LICENSE +0 -0
- {voly-0.0.183.dist-info → voly-0.0.185.dist-info}/top_level.txt +0 -0
voly/core/fit.py
CHANGED
@@ -215,8 +215,8 @@ def fit_model(option_chain: pd.DataFrame) -> pd.DataFrame:
|
|
215
215
|
w1 = SVIModel.svi(k_val, a1 * t1, b1 * t1, m1, rho1, sigma1)
|
216
216
|
w2 = SVIModel.svi(k_val, a2 * t2, b2 * t2, m2, rho2, sigma2)
|
217
217
|
if w2 < w1 - 1e-6:
|
218
|
-
logger.warning(
|
219
|
-
|
218
|
+
logger.warning(f"Calendar arbitrage violation at t1={t1:.4f}, t2={t2:.4f}, k={k_val:.4f}: ")
|
219
|
+
logger.warning(f"w1={w1:.6f}, w2={w2:.6f}")
|
220
220
|
calendar_arbitrage_free = False
|
221
221
|
break
|
222
222
|
if not calendar_arbitrage_free:
|
voly/models.py
CHANGED
@@ -5,6 +5,7 @@ Volatility models for the Voly package.
|
|
5
5
|
import numpy as np
|
6
6
|
from numpy.linalg import solve
|
7
7
|
from typing import Tuple, Dict, List, Optional, Union
|
8
|
+
from voly.utils.logger import logger
|
8
9
|
|
9
10
|
|
10
11
|
class SVIModel:
|
@@ -165,10 +166,10 @@ class SVIModel:
|
|
165
166
|
w_current = cls.svi(k_constraint, new_params[0] * t, new_params[1] * t, *new_params[2:])
|
166
167
|
w_prev = cls.svi(k_constraint, a_prev * prev_t, b_prev * prev_t, m_prev, rho_prev, sigma_prev)
|
167
168
|
violation = np.min(w_current - w_prev)
|
168
|
-
|
169
|
+
logger.info(f"Calendar arbitrage correction {'successful' if violation >= -1e-6 else 'failed'} for t={t:.4f}, "
|
169
170
|
f"min margin={violation:.6f}")
|
170
171
|
return new_params
|
171
|
-
|
172
|
+
logger.warning(f"Calendar arbitrage correction failed for t={t:.4f}")
|
172
173
|
return params
|
173
174
|
|
174
175
|
|
@@ -2,19 +2,19 @@ voly/__init__.py,sha256=8xyDk7rFCn_MOD5hxuv5cxxKZvBVRiSIM7TgaMPpwpw,211
|
|
2
2
|
voly/client.py,sha256=dPyRRmZ_Gvo1zCZMo9eFOx2oaYocmkOt71fzdmOXFyM,14387
|
3
3
|
voly/exceptions.py,sha256=PBsbn1vNMvKcCJwwJ4lBO6glD85jo1h2qiEmD7ArAjs,92
|
4
4
|
voly/formulas.py,sha256=JnEs6G0wlfRNH6X_YEJMe2RtLH-ryhzufjsim73Bj3c,11176
|
5
|
-
voly/models.py,sha256=
|
5
|
+
voly/models.py,sha256=luIiJTyEYlFCdupHw9xbs6EBesmVnObSy-SnXwNMaTc,7046
|
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
|
9
|
-
voly/core/fit.py,sha256=
|
9
|
+
voly/core/fit.py,sha256=CIayT6HKd-8pc8P76bc2vNivNmF_Uu4fHRNRqNup2R8,17210
|
10
10
|
voly/core/hd.py,sha256=UFAyLncNUHivpPAcko6IK1bC55mudVtdlRFfXp63HXE,14771
|
11
11
|
voly/core/interpolate.py,sha256=JkK172-FXyhesW3hY4pEeuJWG3Bugq7QZXbeKoRpLuo,5305
|
12
12
|
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.
|
17
|
-
voly-0.0.
|
18
|
-
voly-0.0.
|
19
|
-
voly-0.0.
|
20
|
-
voly-0.0.
|
16
|
+
voly-0.0.185.dist-info/licenses/LICENSE,sha256=wcHIVbE12jfcBOai_wqBKY6xvNQU5E909xL1zZNq_2Q,1065
|
17
|
+
voly-0.0.185.dist-info/METADATA,sha256=p5SATIX-mj_Hjj7DXD__Mntc2n86S8PKHR3zrqAIIuM,4115
|
18
|
+
voly-0.0.185.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
19
|
+
voly-0.0.185.dist-info/top_level.txt,sha256=ZfLw2sSxF-LrKAkgGjOmeTcw6_gD-30zvtdEY5W4B7c,5
|
20
|
+
voly-0.0.185.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|