stochvolmodels 1.0.12__tar.gz → 1.0.25__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.
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/PKG-INFO +68 -30
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/README.md +62 -27
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/pyproject.toml +6 -3
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/__init__.py +21 -13
- stochvolmodels-1.0.25/stochvolmodels/data/option_chain.py +657 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/data/test_option_chain.py +3 -2
- stochvolmodels-1.0.25/stochvolmodels/examples/quick_run_lognormal_sv_pricer.py +34 -0
- stochvolmodels-1.0.25/stochvolmodels/examples/run_gmm_fit.py +41 -0
- stochvolmodels-1.0.25/stochvolmodels/examples/run_heston.py +18 -0
- stochvolmodels-1.0.25/stochvolmodels/examples/run_heston_sv_pricer.py +72 -0
- stochvolmodels-1.0.25/stochvolmodels/examples/run_lognormal_sv_pricer.py +120 -0
- stochvolmodels-1.0.25/stochvolmodels/examples/run_pricing_options_on_qvar.py +51 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/analytic/bachelier.py +14 -3
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/analytic/bsm.py +3 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/analytic/tdist.py +272 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/double_exp_pricer.py +93 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/factor_hjm_pricer.py +186 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_affine_expansion.py +340 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_core.py +188 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_evaluate.py +118 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_factor_basis.py +404 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_logsv_ivols.py +215 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_logsv_params.py +580 -0
- stochvolmodels-1.0.25/stochvolmodels/pricers/factor_hjm/rate_logsv_pricer.py +1305 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/gmm_pricer.py +66 -12
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/heston_pricer.py +50 -11
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/logsv/affine_expansion.py +25 -16
- stochvolmodels-1.0.25/stochvolmodels/pricers/logsv/logsv_params.py +176 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/logsv/vol_moments_ode.py +49 -6
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/logsv_pricer.py +70 -163
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/model_pricer.py +4 -4
- stochvolmodels-1.0.25/stochvolmodels/pricers/tdist_pricer.py +203 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/tests/qv_pricer.py +3 -2
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/funcs.py +3 -9
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/plots.py +27 -7
- stochvolmodels-1.0.25/stochvolmodels/utils/var_swap_pricer.py +26 -0
- stochvolmodels-1.0.12/stochvolmodels/data/option_chain.py +0 -277
- stochvolmodels-1.0.12/stochvolmodels/pricers/analytic/tdist.py +0 -126
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/LICENSE.txt +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/data/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/data/fetch_option_chain.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/analytic/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/hawkes_jd_pricer.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/pricers/logsv/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/tests/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/tests/bsm_mgf_pricer.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/config.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/mc_payoffs.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.25}/stochvolmodels/utils/mgf_pricer.py +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: stochvolmodels
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.25
|
|
4
4
|
Summary: Implementation of stochastic volatility models for option pricing
|
|
5
|
-
Home-page: https://github.com/ArturSepp/StochVolModels
|
|
6
5
|
License: LICENSE.txt
|
|
7
6
|
Keywords: volatility,options,Black-Scholes,Heston,Monte-Carlo
|
|
8
7
|
Author: Artur Sepp
|
|
9
8
|
Author-email: artursepp@gmail.com
|
|
10
9
|
Maintainer: Artur Sepp
|
|
11
10
|
Maintainer-email: artursepp@gmail.com
|
|
12
|
-
Requires-Python: >=3.8
|
|
11
|
+
Requires-Python: >=3.8
|
|
13
12
|
Classifier: Development Status :: 4 - Beta
|
|
14
13
|
Classifier: Environment :: Console
|
|
15
14
|
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
@@ -22,6 +21,9 @@ Classifier: Programming Language :: Python :: 3
|
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.8
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.9
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
27
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
26
28
|
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
27
29
|
Requires-Dist: matplotlib (>=3.5.2)
|
|
@@ -41,45 +43,36 @@ Description-Content-Type: text/markdown
|
|
|
41
43
|
|
|
42
44
|
Implementation of pricing analytics and Monte Carlo simulations for modeling of options and implied volatilities.
|
|
43
45
|
|
|
44
|
-
The
|
|
46
|
+
The StochVol package provides:
|
|
45
47
|
1) Analytics for Black-Scholes and Normal vols
|
|
46
|
-
2) Interfaces and implementation for stochastic volatility models
|
|
48
|
+
2) Interfaces and implementation for stochastic volatility models,
|
|
49
|
+
including log-normal SV model and Heston SV model
|
|
50
|
+
using analytical method with Fourier transform and Monte Carlo simulations
|
|
47
51
|
3) Visualization of model implied volatilities
|
|
48
52
|
|
|
49
53
|
For the analytic implementation of stochastic volatility models, the package provides interfaces for a generic volatility model with the following features.
|
|
50
|
-
1) Interface for analytical pricing of vanilla options
|
|
54
|
+
1) Interface for analytical pricing of vanilla options
|
|
55
|
+
using Fourier transform with closed-form solution for moment generating function
|
|
51
56
|
2) Interface for Monte-Carlo simulations of model dynamics
|
|
52
57
|
|
|
53
|
-
## Supporting Illustrations for Public Papers
|
|
54
58
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
for
|
|
59
|
+
[Illustrations](#papers) of using package analytics for research
|
|
60
|
+
work is provided in top-level package ```my_papers```
|
|
61
|
+
which contains computations and visualisations for several papers
|
|
58
62
|
|
|
59
|
-
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Sepp A and Rakhmonov P, SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2522425
|
|
60
|
-
```python
|
|
61
|
-
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
62
|
-
```
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
64
|
+
## Installation
|
|
65
|
+
Install using
|
|
67
66
|
```python
|
|
68
|
-
stochvolmodels
|
|
67
|
+
pip install stochvolmodels
|
|
69
68
|
```
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Sepp A and Lucic V,
|
|
73
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
69
|
+
Upgrade using
|
|
74
70
|
```python
|
|
75
|
-
stochvolmodels
|
|
71
|
+
pip install --upgrade stochvolmodels
|
|
76
72
|
```
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
## Installation
|
|
73
|
+
Close using
|
|
81
74
|
```python
|
|
82
|
-
|
|
75
|
+
git clone https://github.com/ArturSepp/StochVolModels.git
|
|
83
76
|
```
|
|
84
77
|
|
|
85
78
|
# Table of contents
|
|
@@ -92,6 +85,8 @@ pip install stochvolmodels
|
|
|
92
85
|
3. [Comparison of model prices vs MC](#subparagraph3)
|
|
93
86
|
4. [Analysis and figures for the paper](#subparagraph4)
|
|
94
87
|
3. [Running Heston SV pricer](#heston)
|
|
88
|
+
4. [Supporting Illustrations for Public Papers](#papers)
|
|
89
|
+
|
|
95
90
|
|
|
96
91
|
Running model calibration to sample Bitcoin options data
|
|
97
92
|
|
|
@@ -107,7 +102,7 @@ The model interface is in stochvolmodels/pricers/model_pricer.py
|
|
|
107
102
|
|
|
108
103
|
The analytics for the log-normal stochastic volatility model is based on the paper
|
|
109
104
|
|
|
110
|
-
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://
|
|
105
|
+
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://www.worldscientific.com/doi/10.1142/S0219024924500031) by Artur Sepp and Parviz Rakhmonov
|
|
111
106
|
|
|
112
107
|
|
|
113
108
|
The dynamics of the log-normal stochastic volatility model:
|
|
@@ -256,3 +251,46 @@ pricer.plot_model_slices_in_params(option_slice=option_slice, params_dict=params
|
|
|
256
251
|
|
|
257
252
|
plt.show()
|
|
258
253
|
```
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
## Supporting Illustrations for Public Papers <a name="papers"></a>
|
|
257
|
+
|
|
258
|
+
As illustrations of different analytics, this packadge includes module ```my_papers```
|
|
259
|
+
with codes for computations and visualisations featured in several papers
|
|
260
|
+
for
|
|
261
|
+
|
|
262
|
+
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Artur Sepp
|
|
263
|
+
and Parviz Rakhmonov: https://www.worldscientific.com/doi/10.1142/S0219024924500031
|
|
264
|
+
```python
|
|
265
|
+
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
2) "What is a robust stochastic volatility model" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
270
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
271
|
+
```python
|
|
272
|
+
stochvolmodels/my_papers/volatility_models
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Artur Sepp
|
|
277
|
+
and Vladimir Lucic,
|
|
278
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
279
|
+
```python
|
|
280
|
+
stochvolmodels/my_papers/inverse_options
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
4) "Unified Approach for Hedging Impermanent Loss of Liquidity Provision" by
|
|
284
|
+
Artur Sepp, Alexander Lipton and Vladimir Lucic,
|
|
285
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4887298
|
|
286
|
+
```python
|
|
287
|
+
stochvolmodels/my_papers/il_hedging
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
5) "Stochastic Volatility for Factor Heath-Jarrow-Morton Framework" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
291
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4646925
|
|
292
|
+
```python
|
|
293
|
+
stochvolmodels/my_papers/sv_for_factor_hjm
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
|
|
@@ -2,45 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Implementation of pricing analytics and Monte Carlo simulations for modeling of options and implied volatilities.
|
|
4
4
|
|
|
5
|
-
The
|
|
5
|
+
The StochVol package provides:
|
|
6
6
|
1) Analytics for Black-Scholes and Normal vols
|
|
7
|
-
2) Interfaces and implementation for stochastic volatility models
|
|
7
|
+
2) Interfaces and implementation for stochastic volatility models,
|
|
8
|
+
including log-normal SV model and Heston SV model
|
|
9
|
+
using analytical method with Fourier transform and Monte Carlo simulations
|
|
8
10
|
3) Visualization of model implied volatilities
|
|
9
11
|
|
|
10
12
|
For the analytic implementation of stochastic volatility models, the package provides interfaces for a generic volatility model with the following features.
|
|
11
|
-
1) Interface for analytical pricing of vanilla options
|
|
13
|
+
1) Interface for analytical pricing of vanilla options
|
|
14
|
+
using Fourier transform with closed-form solution for moment generating function
|
|
12
15
|
2) Interface for Monte-Carlo simulations of model dynamics
|
|
13
16
|
|
|
14
|
-
## Supporting Illustrations for Public Papers
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
for
|
|
18
|
+
[Illustrations](#papers) of using package analytics for research
|
|
19
|
+
work is provided in top-level package ```my_papers```
|
|
20
|
+
which contains computations and visualisations for several papers
|
|
19
21
|
|
|
20
|
-
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Sepp A and Rakhmonov P, SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2522425
|
|
21
|
-
```python
|
|
22
|
-
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
23
|
-
```
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
23
|
+
## Installation
|
|
24
|
+
Install using
|
|
28
25
|
```python
|
|
29
|
-
stochvolmodels
|
|
26
|
+
pip install stochvolmodels
|
|
30
27
|
```
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Sepp A and Lucic V,
|
|
34
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
28
|
+
Upgrade using
|
|
35
29
|
```python
|
|
36
|
-
stochvolmodels
|
|
30
|
+
pip install --upgrade stochvolmodels
|
|
37
31
|
```
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
## Installation
|
|
32
|
+
Close using
|
|
42
33
|
```python
|
|
43
|
-
|
|
34
|
+
git clone https://github.com/ArturSepp/StochVolModels.git
|
|
44
35
|
```
|
|
45
36
|
|
|
46
37
|
# Table of contents
|
|
@@ -53,6 +44,8 @@ pip install stochvolmodels
|
|
|
53
44
|
3. [Comparison of model prices vs MC](#subparagraph3)
|
|
54
45
|
4. [Analysis and figures for the paper](#subparagraph4)
|
|
55
46
|
3. [Running Heston SV pricer](#heston)
|
|
47
|
+
4. [Supporting Illustrations for Public Papers](#papers)
|
|
48
|
+
|
|
56
49
|
|
|
57
50
|
Running model calibration to sample Bitcoin options data
|
|
58
51
|
|
|
@@ -68,7 +61,7 @@ The model interface is in stochvolmodels/pricers/model_pricer.py
|
|
|
68
61
|
|
|
69
62
|
The analytics for the log-normal stochastic volatility model is based on the paper
|
|
70
63
|
|
|
71
|
-
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://
|
|
64
|
+
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://www.worldscientific.com/doi/10.1142/S0219024924500031) by Artur Sepp and Parviz Rakhmonov
|
|
72
65
|
|
|
73
66
|
|
|
74
67
|
The dynamics of the log-normal stochastic volatility model:
|
|
@@ -216,4 +209,46 @@ pricer = HestonPricer()
|
|
|
216
209
|
pricer.plot_model_slices_in_params(option_slice=option_slice, params_dict=params_dict)
|
|
217
210
|
|
|
218
211
|
plt.show()
|
|
219
|
-
```
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
## Supporting Illustrations for Public Papers <a name="papers"></a>
|
|
216
|
+
|
|
217
|
+
As illustrations of different analytics, this packadge includes module ```my_papers```
|
|
218
|
+
with codes for computations and visualisations featured in several papers
|
|
219
|
+
for
|
|
220
|
+
|
|
221
|
+
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Artur Sepp
|
|
222
|
+
and Parviz Rakhmonov: https://www.worldscientific.com/doi/10.1142/S0219024924500031
|
|
223
|
+
```python
|
|
224
|
+
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
2) "What is a robust stochastic volatility model" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
229
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
230
|
+
```python
|
|
231
|
+
stochvolmodels/my_papers/volatility_models
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Artur Sepp
|
|
236
|
+
and Vladimir Lucic,
|
|
237
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
238
|
+
```python
|
|
239
|
+
stochvolmodels/my_papers/inverse_options
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
4) "Unified Approach for Hedging Impermanent Loss of Liquidity Provision" by
|
|
243
|
+
Artur Sepp, Alexander Lipton and Vladimir Lucic,
|
|
244
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4887298
|
|
245
|
+
```python
|
|
246
|
+
stochvolmodels/my_papers/il_hedging
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
5) "Stochastic Volatility for Factor Heath-Jarrow-Morton Framework" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
250
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4646925
|
|
251
|
+
```python
|
|
252
|
+
stochvolmodels/my_papers/sv_for_factor_hjm
|
|
253
|
+
```
|
|
254
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "stochvolmodels"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.25"
|
|
4
4
|
description = "Implementation of stochastic volatility models for option pricing"
|
|
5
5
|
license = "LICENSE.txt"
|
|
6
6
|
authors = ["Artur Sepp <artursepp@gmail.com>"]
|
|
@@ -23,14 +23,17 @@ classifiers=[
|
|
|
23
23
|
"Programming Language :: Python :: 3 :: Only",
|
|
24
24
|
"Topic :: Office/Business :: Financial :: Investment",
|
|
25
25
|
]
|
|
26
|
-
|
|
26
|
+
|
|
27
|
+
packages = [ {include = "stochvolmodels"}]
|
|
28
|
+
|
|
29
|
+
exclude = ["stochvolmodel/my_papers/"]
|
|
27
30
|
|
|
28
31
|
[tool.poetry.urls]
|
|
29
32
|
"Issues" = "https://github.com/ArturSepp/StochVolModels/issues"
|
|
30
33
|
"Personal website" = "https://artursepp.com"
|
|
31
34
|
|
|
32
35
|
[tool.poetry.dependencies]
|
|
33
|
-
python = ">=3.8
|
|
36
|
+
python = ">=3.8"
|
|
34
37
|
numba = ">=0.55"
|
|
35
38
|
numpy = ">=1.22.4"
|
|
36
39
|
scipy = ">=1.3"
|
|
@@ -22,8 +22,7 @@ from stochvolmodels.utils.funcs import (
|
|
|
22
22
|
to_flat_np_array,
|
|
23
23
|
update_kwargs,
|
|
24
24
|
ncdf,
|
|
25
|
-
npdf
|
|
26
|
-
npdf1
|
|
25
|
+
npdf
|
|
27
26
|
)
|
|
28
27
|
|
|
29
28
|
from stochvolmodels.pricers.analytic.bsm import (
|
|
@@ -61,10 +60,14 @@ from stochvolmodels.pricers.analytic.bachelier import (
|
|
|
61
60
|
)
|
|
62
61
|
|
|
63
62
|
from stochvolmodels.pricers.analytic.tdist import (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
pdf_tdist,
|
|
64
|
+
cdf_tdist,
|
|
65
|
+
cum_mean_tdist,
|
|
66
|
+
imply_drift_tdist,
|
|
67
|
+
compute_default_prob_tdist,
|
|
68
|
+
compute_forward_tdist,
|
|
69
|
+
compute_vanilla_price_tdist,
|
|
70
|
+
infer_implied_vol_tdist,
|
|
68
71
|
infer_tdist_implied_vols_from_model_slice_prices
|
|
69
72
|
)
|
|
70
73
|
|
|
@@ -101,23 +104,25 @@ from stochvolmodels.pricers.heston_pricer import (
|
|
|
101
104
|
from stochvolmodels.pricers.logsv_pricer import (
|
|
102
105
|
LOGSV_BTC_PARAMS,
|
|
103
106
|
LogSVPricer,
|
|
104
|
-
LogSvParams,
|
|
105
107
|
LogsvModelCalibrationType,
|
|
106
108
|
ConstraintsType
|
|
107
109
|
)
|
|
110
|
+
from stochvolmodels.pricers.logsv.logsv_params import LogSvParams
|
|
108
111
|
|
|
109
112
|
from stochvolmodels.pricers.gmm_pricer import (
|
|
110
113
|
GmmParams,
|
|
111
|
-
GmmPricer
|
|
114
|
+
GmmPricer,
|
|
115
|
+
plot_gmm_pdfs
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
from stochvolmodels.pricers.tdist_pricer import (
|
|
119
|
+
TdistParams,
|
|
120
|
+
TdistPricer
|
|
112
121
|
)
|
|
113
122
|
|
|
114
123
|
|
|
115
124
|
from stochvolmodels.data.option_chain import OptionChain, OptionSlice
|
|
116
125
|
|
|
117
|
-
from stochvolmodels.data.fetch_option_chain import (generate_vol_chain_np,
|
|
118
|
-
load_option_chain,
|
|
119
|
-
sample_option_chain_at_times,
|
|
120
|
-
load_price_data)
|
|
121
126
|
|
|
122
127
|
from stochvolmodels.data.test_option_chain import (
|
|
123
128
|
get_btc_test_chain_data,
|
|
@@ -135,7 +140,7 @@ from stochvolmodels.utils.plots import (
|
|
|
135
140
|
create_dummy_line,
|
|
136
141
|
fig_list_to_pdf,
|
|
137
142
|
fig_to_pdf,
|
|
138
|
-
|
|
143
|
+
set_legend_colors,
|
|
139
144
|
get_n_sns_colors,
|
|
140
145
|
map_deltas_to_str,
|
|
141
146
|
model_param_ts,
|
|
@@ -148,3 +153,6 @@ from stochvolmodels.utils.plots import (
|
|
|
148
153
|
set_y_limits,
|
|
149
154
|
vol_slice_fit
|
|
150
155
|
)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
from stochvolmodels.pricers.logsv.vol_moments_ode import compute_analytic_qvar
|