stochastic-rs 1.0.0__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.
Files changed (185) hide show
  1. stochastic_rs-1.0.0/.cargo/config.toml +2 -0
  2. stochastic_rs-1.0.0/.devcontainer/devcontainer.json +6 -0
  3. stochastic_rs-1.0.0/.github/workflows/rust.yml +60 -0
  4. stochastic_rs-1.0.0/.gitignore +12 -0
  5. stochastic_rs-1.0.0/Cargo.lock +6504 -0
  6. stochastic_rs-1.0.0/Cargo.toml +102 -0
  7. stochastic_rs-1.0.0/LICENSE +21 -0
  8. stochastic_rs-1.0.0/PKG-INFO +7 -0
  9. stochastic_rs-1.0.0/README.md +99 -0
  10. stochastic_rs-1.0.0/benches/distributions.rs +430 -0
  11. stochastic_rs-1.0.0/benches/fgn_fbm.rs +130 -0
  12. stochastic_rs-1.0.0/pyproject.toml +12 -0
  13. stochastic_rs-1.0.0/rustfmt.toml +3 -0
  14. stochastic_rs-1.0.0/src/ai/fou/fou_lstm_datasets.rs +117 -0
  15. stochastic_rs-1.0.0/src/ai/fou/fou_lstm_model_1_d.rs +221 -0
  16. stochastic_rs-1.0.0/src/ai/fou/fou_lstm_model_2_d.rs +210 -0
  17. stochastic_rs-1.0.0/src/ai/fou.rs +4 -0
  18. stochastic_rs-1.0.0/src/ai/utils.rs +41 -0
  19. stochastic_rs-1.0.0/src/ai/volatility/HestonTrainSet.txt.gz +0 -0
  20. stochastic_rs-1.0.0/src/ai/volatility/heston.rs +410 -0
  21. stochastic_rs-1.0.0/src/ai/volatility.rs +1 -0
  22. stochastic_rs-1.0.0/src/ai.rs +13 -0
  23. stochastic_rs-1.0.0/src/copulas/bivariate/clayton.rs +165 -0
  24. stochastic_rs-1.0.0/src/copulas/bivariate/frank.rs +174 -0
  25. stochastic_rs-1.0.0/src/copulas/bivariate/gumbel.rs +147 -0
  26. stochastic_rs-1.0.0/src/copulas/bivariate/independence.rs +118 -0
  27. stochastic_rs-1.0.0/src/copulas/bivariate.rs +14 -0
  28. stochastic_rs-1.0.0/src/copulas/correlation.rs +37 -0
  29. stochastic_rs-1.0.0/src/copulas/empirical.rs +58 -0
  30. stochastic_rs-1.0.0/src/copulas/multivariate/gaussian.rs +278 -0
  31. stochastic_rs-1.0.0/src/copulas/multivariate/tree.rs +310 -0
  32. stochastic_rs-1.0.0/src/copulas/multivariate/vine.rs +245 -0
  33. stochastic_rs-1.0.0/src/copulas/multivariate.rs +11 -0
  34. stochastic_rs-1.0.0/src/copulas/samples.rs +172 -0
  35. stochastic_rs-1.0.0/src/copulas/univariate/gaussian.rs +62 -0
  36. stochastic_rs-1.0.0/src/copulas/univariate.rs +1 -0
  37. stochastic_rs-1.0.0/src/copulas.rs +6 -0
  38. stochastic_rs-1.0.0/src/distributions/beta.rs +78 -0
  39. stochastic_rs-1.0.0/src/distributions/binomial.rs +61 -0
  40. stochastic_rs-1.0.0/src/distributions/cauchy.rs +74 -0
  41. stochastic_rs-1.0.0/src/distributions/chi_square.rs +34 -0
  42. stochastic_rs-1.0.0/src/distributions/complex.rs +29 -0
  43. stochastic_rs-1.0.0/src/distributions/exp.rs +237 -0
  44. stochastic_rs-1.0.0/src/distributions/gamma.rs +86 -0
  45. stochastic_rs-1.0.0/src/distributions/geometric.rs +78 -0
  46. stochastic_rs-1.0.0/src/distributions/hypergeometric.rs +72 -0
  47. stochastic_rs-1.0.0/src/distributions/inverse_gauss.rs +101 -0
  48. stochastic_rs-1.0.0/src/distributions/lognormal.rs +92 -0
  49. stochastic_rs-1.0.0/src/distributions/normal.rs +352 -0
  50. stochastic_rs-1.0.0/src/distributions/normal_inverse_gauss.rs +95 -0
  51. stochastic_rs-1.0.0/src/distributions/pareto.rs +74 -0
  52. stochastic_rs-1.0.0/src/distributions/poisson.rs +72 -0
  53. stochastic_rs-1.0.0/src/distributions/studentt.rs +77 -0
  54. stochastic_rs-1.0.0/src/distributions/uniform.rs +78 -0
  55. stochastic_rs-1.0.0/src/distributions/weibull.rs +42 -0
  56. stochastic_rs-1.0.0/src/distributions.rs +1658 -0
  57. stochastic_rs-1.0.0/src/lib.rs +31 -0
  58. stochastic_rs-1.0.0/src/macros.rs +343 -0
  59. stochastic_rs-1.0.0/src/python.rs +293 -0
  60. stochastic_rs-1.0.0/src/quant/bonds/cir.rs +60 -0
  61. stochastic_rs-1.0.0/src/quant/bonds/hull_white.rs +67 -0
  62. stochastic_rs-1.0.0/src/quant/bonds/vasicek.rs +54 -0
  63. stochastic_rs-1.0.0/src/quant/bonds.rs +3 -0
  64. stochastic_rs-1.0.0/src/quant/calibration/bsm.rs +275 -0
  65. stochastic_rs-1.0.0/src/quant/calibration/heston.rs +650 -0
  66. stochastic_rs-1.0.0/src/quant/calibration/sabr.rs +335 -0
  67. stochastic_rs-1.0.0/src/quant/calibration/sabr_smile.rs +557 -0
  68. stochastic_rs-1.0.0/src/quant/calibration.rs +16 -0
  69. stochastic_rs-1.0.0/src/quant/loss.rs +98 -0
  70. stochastic_rs-1.0.0/src/quant/order_book.rs +359 -0
  71. stochastic_rs-1.0.0/src/quant/pricing/asian.rs +85 -0
  72. stochastic_rs-1.0.0/src/quant/pricing/breeden_litzenberger.rs +86 -0
  73. stochastic_rs-1.0.0/src/quant/pricing/bsm.rs +509 -0
  74. stochastic_rs-1.0.0/src/quant/pricing/dupire.rs +307 -0
  75. stochastic_rs-1.0.0/src/quant/pricing/finite_difference.rs +472 -0
  76. stochastic_rs-1.0.0/src/quant/pricing/heston.rs +306 -0
  77. stochastic_rs-1.0.0/src/quant/pricing/malliavin_gbm.rs +487 -0
  78. stochastic_rs-1.0.0/src/quant/pricing/merton_jump.rs +138 -0
  79. stochastic_rs-1.0.0/src/quant/pricing/pnl.rs +81 -0
  80. stochastic_rs-1.0.0/src/quant/pricing/sabr.rs +215 -0
  81. stochastic_rs-1.0.0/src/quant/pricing.rs +10 -0
  82. stochastic_rs-1.0.0/src/quant/strategies/delta_hedge.rs +100 -0
  83. stochastic_rs-1.0.0/src/quant/strategies.rs +1 -0
  84. stochastic_rs-1.0.0/src/quant/yahoo.rs +254 -0
  85. stochastic_rs-1.0.0/src/quant.rs +72 -0
  86. stochastic_rs-1.0.0/src/stats/cir.rs +43 -0
  87. stochastic_rs-1.0.0/src/stats/double_exp.rs +30 -0
  88. stochastic_rs-1.0.0/src/stats/fd.rs +74 -0
  89. stochastic_rs-1.0.0/src/stats/fou_estimator.rs +457 -0
  90. stochastic_rs-1.0.0/src/stats/gaussian_kde.rs +207 -0
  91. stochastic_rs-1.0.0/src/stats/mle.rs +67 -0
  92. stochastic_rs-1.0.0/src/stats/non_central_chi_squared.rs +16 -0
  93. stochastic_rs-1.0.0/src/stats.rs +7 -0
  94. stochastic_rs-1.0.0/src/stochastic/autoregressive/agrach.rs +110 -0
  95. stochastic_rs-1.0.0/src/stochastic/autoregressive/ar.rs +81 -0
  96. stochastic_rs-1.0.0/src/stochastic/autoregressive/arch.rs +69 -0
  97. stochastic_rs-1.0.0/src/stochastic/autoregressive/arima.rs +101 -0
  98. stochastic_rs-1.0.0/src/stochastic/autoregressive/egarch.rs +124 -0
  99. stochastic_rs-1.0.0/src/stochastic/autoregressive/garch.rs +97 -0
  100. stochastic_rs-1.0.0/src/stochastic/autoregressive/ma.rs +69 -0
  101. stochastic_rs-1.0.0/src/stochastic/autoregressive/sarima.rs +269 -0
  102. stochastic_rs-1.0.0/src/stochastic/autoregressive/tgarch.rs +115 -0
  103. stochastic_rs-1.0.0/src/stochastic/autoregressive.rs +10 -0
  104. stochastic_rs-1.0.0/src/stochastic/cuda/CUDA_BUILD.md +100 -0
  105. stochastic_rs-1.0.0/src/stochastic/cuda/build.bat +37 -0
  106. stochastic_rs-1.0.0/src/stochastic/cuda/build.sh +27 -0
  107. stochastic_rs-1.0.0/src/stochastic/cuda/fgn.cu +201 -0
  108. stochastic_rs-1.0.0/src/stochastic/cuda/fgn_windows/fgn.dll +0 -0
  109. stochastic_rs-1.0.0/src/stochastic/cuda/fgn_windows/fgn.exp +0 -0
  110. stochastic_rs-1.0.0/src/stochastic/cuda/fgn_windows/fgn.lib +0 -0
  111. stochastic_rs-1.0.0/src/stochastic/diffusion/cev.rs +90 -0
  112. stochastic_rs-1.0.0/src/stochastic/diffusion/cir.rs +78 -0
  113. stochastic_rs-1.0.0/src/stochastic/diffusion/fcir.rs +80 -0
  114. stochastic_rs-1.0.0/src/stochastic/diffusion/feller.rs +72 -0
  115. stochastic_rs-1.0.0/src/stochastic/diffusion/fgbm.rs +53 -0
  116. stochastic_rs-1.0.0/src/stochastic/diffusion/fjacobi.rs +68 -0
  117. stochastic_rs-1.0.0/src/stochastic/diffusion/fou.rs +55 -0
  118. stochastic_rs-1.0.0/src/stochastic/diffusion/fouque.rs +81 -0
  119. stochastic_rs-1.0.0/src/stochastic/diffusion/gbm.rs +146 -0
  120. stochastic_rs-1.0.0/src/stochastic/diffusion/gbm_ih.rs +69 -0
  121. stochastic_rs-1.0.0/src/stochastic/diffusion/gompertz.rs +59 -0
  122. stochastic_rs-1.0.0/src/stochastic/diffusion/jacobi.rs +66 -0
  123. stochastic_rs-1.0.0/src/stochastic/diffusion/kimura.rs +59 -0
  124. stochastic_rs-1.0.0/src/stochastic/diffusion/ou.rs +53 -0
  125. stochastic_rs-1.0.0/src/stochastic/diffusion/quadratic.rs +59 -0
  126. stochastic_rs-1.0.0/src/stochastic/diffusion/verhulst.rs +72 -0
  127. stochastic_rs-1.0.0/src/stochastic/diffusion.rs +17 -0
  128. stochastic_rs-1.0.0/src/stochastic/interest/adg.rs +141 -0
  129. stochastic_rs-1.0.0/src/stochastic/interest/bgm.rs +156 -0
  130. stochastic_rs-1.0.0/src/stochastic/interest/cir.rs +1 -0
  131. stochastic_rs-1.0.0/src/stochastic/interest/cir_2f.rs +38 -0
  132. stochastic_rs-1.0.0/src/stochastic/interest/duffie_kan.rs +126 -0
  133. stochastic_rs-1.0.0/src/stochastic/interest/fvasicek.rs +44 -0
  134. stochastic_rs-1.0.0/src/stochastic/interest/hjm.rs +154 -0
  135. stochastic_rs-1.0.0/src/stochastic/interest/ho_lee.rs +95 -0
  136. stochastic_rs-1.0.0/src/stochastic/interest/hull_white.rs +95 -0
  137. stochastic_rs-1.0.0/src/stochastic/interest/hull_white_2f.rs +110 -0
  138. stochastic_rs-1.0.0/src/stochastic/interest/mod_duffie_kan.rs +167 -0
  139. stochastic_rs-1.0.0/src/stochastic/interest/vasicek.rs +42 -0
  140. stochastic_rs-1.0.0/src/stochastic/interest/wu_zhang.rs +218 -0
  141. stochastic_rs-1.0.0/src/stochastic/interest.rs +14 -0
  142. stochastic_rs-1.0.0/src/stochastic/isonormal.rs +185 -0
  143. stochastic_rs-1.0.0/src/stochastic/ito.rs +170 -0
  144. stochastic_rs-1.0.0/src/stochastic/jump/bates.rs +174 -0
  145. stochastic_rs-1.0.0/src/stochastic/jump/cgmy.rs +145 -0
  146. stochastic_rs-1.0.0/src/stochastic/jump/cts.rs +119 -0
  147. stochastic_rs-1.0.0/src/stochastic/jump/ig.rs +47 -0
  148. stochastic_rs-1.0.0/src/stochastic/jump/jump_fou.rs +126 -0
  149. stochastic_rs-1.0.0/src/stochastic/jump/jump_fou_custom.rs +139 -0
  150. stochastic_rs-1.0.0/src/stochastic/jump/kou.rs +132 -0
  151. stochastic_rs-1.0.0/src/stochastic/jump/levy_diffusion.rs +113 -0
  152. stochastic_rs-1.0.0/src/stochastic/jump/merton.rs +127 -0
  153. stochastic_rs-1.0.0/src/stochastic/jump/nig.rs +64 -0
  154. stochastic_rs-1.0.0/src/stochastic/jump/rdts.rs +122 -0
  155. stochastic_rs-1.0.0/src/stochastic/jump/vg.rs +65 -0
  156. stochastic_rs-1.0.0/src/stochastic/jump.rs +14 -0
  157. stochastic_rs-1.0.0/src/stochastic/malliavin.rs +1 -0
  158. stochastic_rs-1.0.0/src/stochastic/noise/cfgns.rs +56 -0
  159. stochastic_rs-1.0.0/src/stochastic/noise/cgns.rs +57 -0
  160. stochastic_rs-1.0.0/src/stochastic/noise/fgn.rs +319 -0
  161. stochastic_rs-1.0.0/src/stochastic/noise/gn.rs +35 -0
  162. stochastic_rs-1.0.0/src/stochastic/noise/wn.rs +34 -0
  163. stochastic_rs-1.0.0/src/stochastic/noise.rs +7 -0
  164. stochastic_rs-1.0.0/src/stochastic/process/bm.rs +43 -0
  165. stochastic_rs-1.0.0/src/stochastic/process/cbms.rs +51 -0
  166. stochastic_rs-1.0.0/src/stochastic/process/ccustom.rs +133 -0
  167. stochastic_rs-1.0.0/src/stochastic/process/cfbms.rs +59 -0
  168. stochastic_rs-1.0.0/src/stochastic/process/cpoisson.rs +97 -0
  169. stochastic_rs-1.0.0/src/stochastic/process/customjt.rs +98 -0
  170. stochastic_rs-1.0.0/src/stochastic/process/fbm.rs +130 -0
  171. stochastic_rs-1.0.0/src/stochastic/process/poisson.rs +64 -0
  172. stochastic_rs-1.0.0/src/stochastic/process.rs +10 -0
  173. stochastic_rs-1.0.0/src/stochastic/sde.rs +517 -0
  174. stochastic_rs-1.0.0/src/stochastic/sheet/fbs.rs +160 -0
  175. stochastic_rs-1.0.0/src/stochastic/sheet.rs +1 -0
  176. stochastic_rs-1.0.0/src/stochastic/volatility/bergomi.rs +176 -0
  177. stochastic_rs-1.0.0/src/stochastic/volatility/fheston.rs +177 -0
  178. stochastic_rs-1.0.0/src/stochastic/volatility/heston.rs +264 -0
  179. stochastic_rs-1.0.0/src/stochastic/volatility/rbergomi.rs +181 -0
  180. stochastic_rs-1.0.0/src/stochastic/volatility/sabr.rs +83 -0
  181. stochastic_rs-1.0.0/src/stochastic/volatility/svcgmy.rs +170 -0
  182. stochastic_rs-1.0.0/src/stochastic/volatility.rs +15 -0
  183. stochastic_rs-1.0.0/src/stochastic.rs +94 -0
  184. stochastic_rs-1.0.0/src/traits.rs +530 -0
  185. stochastic_rs-1.0.0/src/visualization.rs +247 -0
@@ -0,0 +1,2 @@
1
+ [build]
2
+ rustflags = ["-C", "target-cpu=native"]
@@ -0,0 +1,6 @@
1
+ {
2
+ "image": "rapidsai/devcontainers:23.12-cpp-llvm16-rust-cuda12.3-ubuntu22.04",
3
+ "hostRequirements": { "gpu": true },
4
+ "workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
5
+ "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind"
6
+ }
@@ -0,0 +1,60 @@
1
+ name: Rust
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches: ["main"]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v3
18
+
19
+ - uses: actions-rs/toolchain@v1
20
+ with:
21
+ toolchain: nightly
22
+ override: true
23
+ components: llvm-tools-preview
24
+
25
+ - name: Add llvm-tools to PATH
26
+ run: echo "${HOME}/.rustup/toolchains/$(rustup show active-toolchain | cut -d' ' -f1)/bin" >> $GITHUB_PATH
27
+
28
+ - name: Install grcov
29
+ run: cargo install grcov
30
+
31
+ - name: Clean Build Artifacts
32
+ run: cargo clean
33
+
34
+ - name: Run tests with coverage
35
+ env:
36
+ CARGO_INCREMENTAL: "0"
37
+ RUSTFLAGS: "-C instrument-coverage -C codegen-units=1 -C debuginfo=0"
38
+ LLVM_PROFILE_FILE: "coverage-%p-%m.profraw"
39
+ run: |
40
+ cargo test --all --verbose
41
+
42
+ - name: Generate coverage report
43
+ run: |
44
+ grcov . \
45
+ --binary-path ./target/debug/ \
46
+ -s . \
47
+ -t lcov \
48
+ --branch \
49
+ --ignore-not-existing \
50
+ --llvm \
51
+ -o lcov.info
52
+
53
+ - name: Upload coverage to Codecov
54
+ uses: codecov/codecov-action@v4
55
+ with:
56
+ files: lcov.info
57
+ fail_ci_if_error: true
58
+ verbose: true
59
+ env:
60
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,12 @@
1
+ /target
2
+ /Cargo.lock
3
+ flamegraph.svg
4
+ *.env
5
+ venv
6
+ CI.yml
7
+ /test
8
+ .idea/
9
+ .zed
10
+
11
+ *.py
12
+ .venv/