stochvolmodels 1.0.12__tar.gz → 1.0.26__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.26}/PKG-INFO +79 -29
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/README.md +73 -25
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/pyproject.toml +6 -6
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/__init__.py +19 -11
- stochvolmodels-1.0.26/stochvolmodels/data/option_chain.py +656 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/data/test_option_chain.py +3 -2
- stochvolmodels-1.0.26/stochvolmodels/examples/quick_run_lognormal_sv_pricer.py +34 -0
- stochvolmodels-1.0.26/stochvolmodels/examples/run_heston.py +18 -0
- stochvolmodels-1.0.26/stochvolmodels/examples/run_heston_sv_pricer.py +70 -0
- stochvolmodels-1.0.26/stochvolmodels/examples/run_lognormal_sv_pricer.py +120 -0
- stochvolmodels-1.0.26/stochvolmodels/examples/run_pricing_options_on_qvar.py +50 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/analytic/bachelier.py +14 -3
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/analytic/bsm.py +3 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/analytic/tdist.py +272 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/double_exp_pricer.py +93 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/factor_hjm_pricer.py +186 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_affine_expansion.py +340 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_core.py +188 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_evaluate.py +118 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_factor_basis.py +404 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_logsv_ivols.py +215 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_logsv_params.py +580 -0
- stochvolmodels-1.0.26/stochvolmodels/pricers/factor_hjm/rate_logsv_pricer.py +1305 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/gmm_pricer.py +13 -13
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/heston_pricer.py +50 -10
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/logsv/affine_expansion.py +25 -16
- stochvolmodels-1.0.26/stochvolmodels/pricers/logsv/logsv_params.py +177 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/logsv/vol_moments_ode.py +49 -6
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/logsv_pricer.py +70 -163
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/model_pricer.py +4 -4
- stochvolmodels-1.0.26/stochvolmodels/pricers/tdist_pricer.py +203 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/tests/bsm_mgf_pricer.py +1 -1
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/tests/qv_pricer.py +3 -2
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/funcs.py +27 -7
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/mc_payoffs.py +0 -1
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/mgf_pricer.py +0 -1
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/plots.py +27 -7
- stochvolmodels-1.0.26/stochvolmodels/utils/var_swap_pricer.py +26 -0
- stochvolmodels-1.0.12/stochvolmodels/data/fetch_option_chain.py +0 -176
- 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.26}/LICENSE.txt +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/data/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/analytic/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/hawkes_jd_pricer.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/pricers/logsv/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/tests/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/__init__.py +0 -0
- {stochvolmodels-1.0.12 → stochvolmodels-1.0.26}/stochvolmodels/utils/config.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.26
|
|
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)
|
|
@@ -30,7 +32,6 @@ Requires-Dist: numpy (>=1.22.4)
|
|
|
30
32
|
Requires-Dist: pandas (>=0.19)
|
|
31
33
|
Requires-Dist: scipy (>=1.3)
|
|
32
34
|
Requires-Dist: seaborn (>=0.11.2)
|
|
33
|
-
Requires-Dist: statsmodels (>=0.13.0)
|
|
34
35
|
Project-URL: Documentation, https://github.com/ArturSepp/StochVolModels
|
|
35
36
|
Project-URL: Issues, https://github.com/ArturSepp/StochVolModels/issues
|
|
36
37
|
Project-URL: Personal website, https://artursepp.com
|
|
@@ -41,46 +42,50 @@ Description-Content-Type: text/markdown
|
|
|
41
42
|
|
|
42
43
|
Implementation of pricing analytics and Monte Carlo simulations for modeling of options and implied volatilities.
|
|
43
44
|
|
|
44
|
-
The
|
|
45
|
+
The StochVol package provides:
|
|
45
46
|
1) Analytics for Black-Scholes and Normal vols
|
|
46
|
-
2) Interfaces and implementation for stochastic volatility models
|
|
47
|
+
2) Interfaces and implementation for stochastic volatility models,
|
|
48
|
+
including log-normal SV model and Heston SV model
|
|
49
|
+
using analytical method with Fourier transform and Monte Carlo simulations
|
|
47
50
|
3) Visualization of model implied volatilities
|
|
48
51
|
|
|
49
52
|
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
|
|
53
|
+
1) Interface for analytical pricing of vanilla options
|
|
54
|
+
using Fourier transform with closed-form solution for moment generating function
|
|
51
55
|
2) Interface for Monte-Carlo simulations of model dynamics
|
|
52
56
|
|
|
53
|
-
## Supporting Illustrations for Public Papers
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
for
|
|
58
|
+
[Illustrations](#papers) of using package analytics for research
|
|
59
|
+
work is provided in top-level package ```my_papers```
|
|
60
|
+
which contains computations and visualisations for several papers
|
|
58
61
|
|
|
59
|
-
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
Install using
|
|
60
65
|
```python
|
|
61
|
-
stochvolmodels
|
|
66
|
+
pip install stochvolmodels
|
|
62
67
|
```
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
2) "What is a robust stochastic volatility model" by Sepp A and Rakhmonov P,
|
|
66
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
68
|
+
Upgrade using
|
|
67
69
|
```python
|
|
68
|
-
stochvolmodels
|
|
70
|
+
pip install --upgrade stochvolmodels
|
|
69
71
|
```
|
|
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
|
|
72
|
+
Close using
|
|
74
73
|
```python
|
|
75
|
-
|
|
74
|
+
git clone https://github.com/ArturSepp/StochVolModels.git
|
|
76
75
|
```
|
|
77
76
|
|
|
77
|
+
Core dependencies:
|
|
78
|
+
python = ">=3.8",
|
|
79
|
+
numba = ">=0.56.4",
|
|
80
|
+
numpy = ">=1.22.4",
|
|
81
|
+
scipy = ">=1.10",
|
|
82
|
+
pandas = ">=2.2.0",
|
|
83
|
+
matplotlib = ">=3.2.2",
|
|
84
|
+
seaborn = ">=0.12.2"
|
|
78
85
|
|
|
86
|
+
Optional dependencies:
|
|
87
|
+
qis ">=2.1.38" (for running code in my_papers and volatility_book)
|
|
79
88
|
|
|
80
|
-
## Installation
|
|
81
|
-
```python
|
|
82
|
-
pip install stochvolmodels
|
|
83
|
-
```
|
|
84
89
|
|
|
85
90
|
# Table of contents
|
|
86
91
|
1. [Model Interface](#introduction)
|
|
@@ -92,6 +97,8 @@ pip install stochvolmodels
|
|
|
92
97
|
3. [Comparison of model prices vs MC](#subparagraph3)
|
|
93
98
|
4. [Analysis and figures for the paper](#subparagraph4)
|
|
94
99
|
3. [Running Heston SV pricer](#heston)
|
|
100
|
+
4. [Supporting Illustrations for Public Papers](#papers)
|
|
101
|
+
|
|
95
102
|
|
|
96
103
|
Running model calibration to sample Bitcoin options data
|
|
97
104
|
|
|
@@ -107,7 +114,7 @@ The model interface is in stochvolmodels/pricers/model_pricer.py
|
|
|
107
114
|
|
|
108
115
|
The analytics for the log-normal stochastic volatility model is based on the paper
|
|
109
116
|
|
|
110
|
-
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://
|
|
117
|
+
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://www.worldscientific.com/doi/10.1142/S0219024924500031) by Artur Sepp and Parviz Rakhmonov
|
|
111
118
|
|
|
112
119
|
|
|
113
120
|
The dynamics of the log-normal stochastic volatility model:
|
|
@@ -256,3 +263,46 @@ pricer.plot_model_slices_in_params(option_slice=option_slice, params_dict=params
|
|
|
256
263
|
|
|
257
264
|
plt.show()
|
|
258
265
|
```
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
## Supporting Illustrations for Public Papers <a name="papers"></a>
|
|
269
|
+
|
|
270
|
+
As illustrations of different analytics, this packadge includes module ```my_papers```
|
|
271
|
+
with codes for computations and visualisations featured in several papers
|
|
272
|
+
for
|
|
273
|
+
|
|
274
|
+
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Artur Sepp
|
|
275
|
+
and Parviz Rakhmonov: https://www.worldscientific.com/doi/10.1142/S0219024924500031
|
|
276
|
+
```python
|
|
277
|
+
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
2) "What is a robust stochastic volatility model" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
282
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
283
|
+
```python
|
|
284
|
+
stochvolmodels/my_papers/volatility_models
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Artur Sepp
|
|
289
|
+
and Vladimir Lucic,
|
|
290
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
291
|
+
```python
|
|
292
|
+
stochvolmodels/my_papers/inverse_options
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
4) "Unified Approach for Hedging Impermanent Loss of Liquidity Provision" by
|
|
296
|
+
Artur Sepp, Alexander Lipton and Vladimir Lucic,
|
|
297
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4887298
|
|
298
|
+
```python
|
|
299
|
+
stochvolmodels/my_papers/il_hedging
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
5) "Stochastic Volatility for Factor Heath-Jarrow-Morton Framework" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
303
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4646925
|
|
304
|
+
```python
|
|
305
|
+
stochvolmodels/my_papers/sv_for_factor_hjm
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
|
|
@@ -2,46 +2,50 @@
|
|
|
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
|
-
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
Install using
|
|
21
25
|
```python
|
|
22
|
-
stochvolmodels
|
|
26
|
+
pip install stochvolmodels
|
|
23
27
|
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
2) "What is a robust stochastic volatility model" by Sepp A and Rakhmonov P,
|
|
27
|
-
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
28
|
+
Upgrade using
|
|
28
29
|
```python
|
|
29
|
-
stochvolmodels
|
|
30
|
+
pip install --upgrade stochvolmodels
|
|
30
31
|
```
|
|
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
|
|
32
|
+
Close using
|
|
35
33
|
```python
|
|
36
|
-
|
|
34
|
+
git clone https://github.com/ArturSepp/StochVolModels.git
|
|
37
35
|
```
|
|
38
36
|
|
|
37
|
+
Core dependencies:
|
|
38
|
+
python = ">=3.8",
|
|
39
|
+
numba = ">=0.56.4",
|
|
40
|
+
numpy = ">=1.22.4",
|
|
41
|
+
scipy = ">=1.10",
|
|
42
|
+
pandas = ">=2.2.0",
|
|
43
|
+
matplotlib = ">=3.2.2",
|
|
44
|
+
seaborn = ">=0.12.2"
|
|
39
45
|
|
|
46
|
+
Optional dependencies:
|
|
47
|
+
qis ">=2.1.38" (for running code in my_papers and volatility_book)
|
|
40
48
|
|
|
41
|
-
## Installation
|
|
42
|
-
```python
|
|
43
|
-
pip install stochvolmodels
|
|
44
|
-
```
|
|
45
49
|
|
|
46
50
|
# Table of contents
|
|
47
51
|
1. [Model Interface](#introduction)
|
|
@@ -53,6 +57,8 @@ pip install stochvolmodels
|
|
|
53
57
|
3. [Comparison of model prices vs MC](#subparagraph3)
|
|
54
58
|
4. [Analysis and figures for the paper](#subparagraph4)
|
|
55
59
|
3. [Running Heston SV pricer](#heston)
|
|
60
|
+
4. [Supporting Illustrations for Public Papers](#papers)
|
|
61
|
+
|
|
56
62
|
|
|
57
63
|
Running model calibration to sample Bitcoin options data
|
|
58
64
|
|
|
@@ -68,7 +74,7 @@ The model interface is in stochvolmodels/pricers/model_pricer.py
|
|
|
68
74
|
|
|
69
75
|
The analytics for the log-normal stochastic volatility model is based on the paper
|
|
70
76
|
|
|
71
|
-
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://
|
|
77
|
+
[Log-normal Stochastic Volatility Model with Quadratic Drift](https://www.worldscientific.com/doi/10.1142/S0219024924500031) by Artur Sepp and Parviz Rakhmonov
|
|
72
78
|
|
|
73
79
|
|
|
74
80
|
The dynamics of the log-normal stochastic volatility model:
|
|
@@ -216,4 +222,46 @@ pricer = HestonPricer()
|
|
|
216
222
|
pricer.plot_model_slices_in_params(option_slice=option_slice, params_dict=params_dict)
|
|
217
223
|
|
|
218
224
|
plt.show()
|
|
219
|
-
```
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
## Supporting Illustrations for Public Papers <a name="papers"></a>
|
|
229
|
+
|
|
230
|
+
As illustrations of different analytics, this packadge includes module ```my_papers```
|
|
231
|
+
with codes for computations and visualisations featured in several papers
|
|
232
|
+
for
|
|
233
|
+
|
|
234
|
+
1) "Log-normal Stochastic Volatility Model with Quadratic Drift" by Artur Sepp
|
|
235
|
+
and Parviz Rakhmonov: https://www.worldscientific.com/doi/10.1142/S0219024924500031
|
|
236
|
+
```python
|
|
237
|
+
stochvolmodels/my_papers/logsv_model_wtih_quadratic_drift
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
2) "What is a robust stochastic volatility model" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
242
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4647027
|
|
243
|
+
```python
|
|
244
|
+
stochvolmodels/my_papers/volatility_models
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
3) "Valuation and Hedging of Cryptocurrency Inverse Options" by Artur Sepp
|
|
249
|
+
and Vladimir Lucic,
|
|
250
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4606748
|
|
251
|
+
```python
|
|
252
|
+
stochvolmodels/my_papers/inverse_options
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
4) "Unified Approach for Hedging Impermanent Loss of Liquidity Provision" by
|
|
256
|
+
Artur Sepp, Alexander Lipton and Vladimir Lucic,
|
|
257
|
+
SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4887298
|
|
258
|
+
```python
|
|
259
|
+
stochvolmodels/my_papers/il_hedging
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
5) "Stochastic Volatility for Factor Heath-Jarrow-Morton Framework" by Artur Sepp and Parviz Rakhmonov, SSRN:
|
|
263
|
+
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4646925
|
|
264
|
+
```python
|
|
265
|
+
stochvolmodels/my_papers/sv_for_factor_hjm
|
|
266
|
+
```
|
|
267
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "stochvolmodels"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.26"
|
|
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,18 +23,20 @@ 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"
|
|
37
|
-
statsmodels = ">=0.13.0"
|
|
38
40
|
pandas = ">=0.19"
|
|
39
41
|
matplotlib = ">=3.5.2"
|
|
40
42
|
seaborn = ">=0.11.2"
|
|
@@ -42,5 +44,3 @@ seaborn = ">=0.11.2"
|
|
|
42
44
|
[build-system]
|
|
43
45
|
requires = ["poetry-core>=1.0.0"]
|
|
44
46
|
build-backend = "poetry.core.masonry.api"
|
|
45
|
-
|
|
46
|
-
|
|
@@ -23,7 +23,7 @@ from stochvolmodels.utils.funcs import (
|
|
|
23
23
|
update_kwargs,
|
|
24
24
|
ncdf,
|
|
25
25
|
npdf,
|
|
26
|
-
|
|
26
|
+
find_nearest
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
from stochvolmodels.pricers.analytic.bsm import (
|
|
@@ -61,10 +61,14 @@ from stochvolmodels.pricers.analytic.bachelier import (
|
|
|
61
61
|
)
|
|
62
62
|
|
|
63
63
|
from stochvolmodels.pricers.analytic.tdist import (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
pdf_tdist,
|
|
65
|
+
cdf_tdist,
|
|
66
|
+
cum_mean_tdist,
|
|
67
|
+
imply_drift_tdist,
|
|
68
|
+
compute_default_prob_tdist,
|
|
69
|
+
compute_forward_tdist,
|
|
70
|
+
compute_vanilla_price_tdist,
|
|
71
|
+
infer_implied_vol_tdist,
|
|
68
72
|
infer_tdist_implied_vols_from_model_slice_prices
|
|
69
73
|
)
|
|
70
74
|
|
|
@@ -101,23 +105,24 @@ from stochvolmodels.pricers.heston_pricer import (
|
|
|
101
105
|
from stochvolmodels.pricers.logsv_pricer import (
|
|
102
106
|
LOGSV_BTC_PARAMS,
|
|
103
107
|
LogSVPricer,
|
|
104
|
-
LogSvParams,
|
|
105
108
|
LogsvModelCalibrationType,
|
|
106
109
|
ConstraintsType
|
|
107
110
|
)
|
|
111
|
+
from stochvolmodels.pricers.logsv.logsv_params import LogSvParams
|
|
108
112
|
|
|
109
113
|
from stochvolmodels.pricers.gmm_pricer import (
|
|
110
114
|
GmmParams,
|
|
111
115
|
GmmPricer
|
|
112
116
|
)
|
|
113
117
|
|
|
118
|
+
from stochvolmodels.pricers.tdist_pricer import (
|
|
119
|
+
TdistParams,
|
|
120
|
+
TdistPricer
|
|
121
|
+
)
|
|
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
|