screamer 3.0.2__tar.gz → 3.2.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 (1672) hide show
  1. {screamer-3.0.2 → screamer-3.2.0}/CHANGELOG.md +30 -0
  2. {screamer-3.0.2 → screamer-3.2.0}/CMakeLists.txt +18 -16
  3. {screamer-3.0.2 → screamer-3.2.0}/PKG-INFO +1 -1
  4. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_fin.cpp +3 -2
  5. screamer-3.2.0/cmake/nanobind-surrogate-module.patch +135 -0
  6. {screamer-3.0.2 → screamer-3.2.0}/docs/backtesting_best_practices.md +14 -0
  7. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/position_test.md +5 -0
  8. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/segment_shuffle.md +12 -6
  9. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/strategy_test.md +6 -0
  10. screamer-3.2.0/docs/notebooks/20-is-the-timing-real.ipynb +155 -0
  11. screamer-3.2.0/docs/notebooks/21-is-the-tuned-result-real.ipynb +255 -0
  12. screamer-3.2.0/docs/notebooks/22-does-the-feature-carry-information.ipynb +137 -0
  13. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/README.md +3 -1
  14. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/index.md +21 -0
  15. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/significance-test.md +4 -0
  16. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/int_arg.h +3 -3
  17. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/surrogates.h +68 -9
  18. {screamer-3.0.2 → screamer-3.2.0}/js/src/validation.ts +3 -1
  19. {screamer-3.0.2 → screamer-3.2.0}/js/test/validation.test.ts +1 -1
  20. {screamer-3.0.2 → screamer-3.2.0}/pyproject.toml +3 -3
  21. {screamer-3.0.2 → screamer-3.2.0}/screamer/__init__.py +1 -1
  22. {screamer-3.0.2 → screamer-3.2.0}/screamer/data/help.json +5 -5
  23. {screamer-3.0.2 → screamer-3.2.0}/screamer/validation.py +4 -2
  24. {screamer-3.0.2 → screamer-3.2.0}/tests/test_validation.py +40 -1
  25. screamer-3.0.2/cmake/nanobind-surrogate-module.patch +0 -94
  26. {screamer-3.0.2 → screamer-3.2.0}/.gitattributes +0 -0
  27. {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  28. {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  29. {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  30. {screamer-3.0.2 → screamer-3.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  31. {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/build-wheels.yml +0 -0
  32. {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/docs.yml +0 -0
  33. {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/js-docs.yml +0 -0
  34. {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/js-publish.yml +0 -0
  35. {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/tests.yml +0 -0
  36. {screamer-3.0.2 → screamer-3.2.0}/.gitignore +0 -0
  37. {screamer-3.0.2 → screamer-3.2.0}/.readthedocs.yaml +0 -0
  38. {screamer-3.0.2 → screamer-3.2.0}/AUTHORS.md +0 -0
  39. {screamer-3.0.2 → screamer-3.2.0}/CODE_OF_CONDUCT.md +0 -0
  40. {screamer-3.0.2 → screamer-3.2.0}/CONTRIBUTING.md +0 -0
  41. {screamer-3.0.2 → screamer-3.2.0}/LICENSE +0 -0
  42. {screamer-3.0.2 → screamer-3.2.0}/Makefile +0 -0
  43. {screamer-3.0.2 → screamer-3.2.0}/README.md +0 -0
  44. {screamer-3.0.2 → screamer-3.2.0}/SECURITY.md +0 -0
  45. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/__init__.py +0 -0
  46. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/_compare/COMPARISON.md +0 -0
  47. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/_compare/comparison.png +0 -0
  48. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/build_compiled.py +0 -0
  49. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_comparison_tables.py +0 -0
  50. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_plots.py +0 -0
  51. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_rank_plot.py +0 -0
  52. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_speed_chart.py +0 -0
  53. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/reference_impls.py +0 -0
  54. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/run_benchmarks.py +0 -0
  55. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/run_streaming_benchmarks.py +0 -0
  56. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/streaming_compiled.pyx +0 -0
  57. {screamer-3.0.2 → screamer-3.2.0}/benchmarks/streaming_impls.py +0 -0
  58. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings.cpp +0 -0
  59. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_core.cpp +0 -0
  60. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_dag.cpp +0 -0
  61. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_ew.cpp +0 -0
  62. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_expanding.cpp +0 -0
  63. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_math.cpp +0 -0
  64. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_micro.cpp +0 -0
  65. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_misc.cpp +0 -0
  66. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_preprocessing.cpp +0 -0
  67. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_rolling.cpp +0 -0
  68. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_signal.cpp +0 -0
  69. {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_streams.cpp +0 -0
  70. {screamer-3.0.2 → screamer-3.2.0}/cmake/apply_nanobind_patch.cmake +0 -0
  71. {screamer-3.0.2 → screamer-3.2.0}/devtools/__init__.py +0 -0
  72. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/AD.py +0 -0
  73. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADOSC.py +0 -0
  74. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADX.py +0 -0
  75. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADXR.py +0 -0
  76. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ATR.py +0 -0
  77. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Abs.py +0 -0
  78. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Acos.py +0 -0
  79. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Add.py +0 -0
  80. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/And.py +0 -0
  81. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Asin.py +0 -0
  82. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Atan.py +0 -0
  83. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Atan2.py +0 -0
  84. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/BOP.py +0 -0
  85. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/BandSignal.py +0 -0
  86. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Butter.py +0 -0
  87. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterBandpass.py +0 -0
  88. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterBandstop.py +0 -0
  89. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterHighpass.py +0 -0
  90. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CCI.py +0 -0
  91. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cart2Polar.py +0 -0
  92. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Ceil.py +0 -0
  93. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Clip.py +0 -0
  94. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cos.py +0 -0
  95. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cube.py +0 -0
  96. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumMax.py +0 -0
  97. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumMin.py +0 -0
  98. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumProd.py +0 -0
  99. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumSum.py +0 -0
  100. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/DEMA.py +0 -0
  101. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/DX.py +0 -0
  102. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Decycler.py +0 -0
  103. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Detrend.py +0 -0
  104. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Diff.py +0 -0
  105. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Diff2.py +0 -0
  106. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Div.py +0 -0
  107. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Drawdown.py +0 -0
  108. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Elu.py +0 -0
  109. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Equal.py +0 -0
  110. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Erf.py +0 -0
  111. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Erfc.py +0 -0
  112. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwAlpha.py +0 -0
  113. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwBeta.py +0 -0
  114. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwCorr.py +0 -0
  115. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwCov.py +0 -0
  116. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwGarmanKlassVar.py +0 -0
  117. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwKurt.py +0 -0
  118. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwMean.py +0 -0
  119. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwParkinsonVar.py +0 -0
  120. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwResidualStd.py +0 -0
  121. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwRms.py +0 -0
  122. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwRogersSatchellVar.py +0 -0
  123. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwSkew.py +0 -0
  124. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwSpread.py +0 -0
  125. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwStd.py +0 -0
  126. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwVar.py +0 -0
  127. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwYangZhangVar.py +0 -0
  128. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwZscore.py +0 -0
  129. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Exp.py +0 -0
  130. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingKurt.py +0 -0
  131. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMax.py +0 -0
  132. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMean.py +0 -0
  133. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMin.py +0 -0
  134. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingProd.py +0 -0
  135. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSkew.py +0 -0
  136. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSlope.py +0 -0
  137. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingStd.py +0 -0
  138. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSum.py +0 -0
  139. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingVar.py +0 -0
  140. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Ffill.py +0 -0
  141. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/FillNa.py +0 -0
  142. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/First.py +0 -0
  143. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Floor.py +0 -0
  144. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/FracDiff.py +0 -0
  145. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/GreaterEqual.py +0 -0
  146. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/GreaterThan.py +0 -0
  147. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/HawkesIntensity.py +0 -0
  148. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Hold.py +0 -0
  149. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/HullMA.py +0 -0
  150. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Hypot.py +0 -0
  151. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Identity.py +0 -0
  152. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/IsFinite.py +0 -0
  153. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/IsNan.py +0 -0
  154. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/KAMA.py +0 -0
  155. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/KalmanFilter.py +0 -0
  156. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Lag.py +0 -0
  157. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Last.py +0 -0
  158. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LessEqual.py +0 -0
  159. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LessThan.py +0 -0
  160. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Linear.py +0 -0
  161. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Linear2.py +0 -0
  162. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Log.py +0 -0
  163. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LogReturn.py +0 -0
  164. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MACD.py +0 -0
  165. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MAMA.py +0 -0
  166. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MFI.py +0 -0
  167. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MaxDrawdown.py +0 -0
  168. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MinusDI.py +0 -0
  169. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MinusDM.py +0 -0
  170. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Momentum.py +0 -0
  171. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MovingAverage.py +0 -0
  172. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Mul.py +0 -0
  173. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NATR.py +0 -0
  174. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NegPart.py +0 -0
  175. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Not.py +0 -0
  176. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NotEqual.py +0 -0
  177. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/OBV.py +0 -0
  178. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Or.py +0 -0
  179. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PlusDI.py +0 -0
  180. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PlusDM.py +0 -0
  181. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Polar2Cart.py +0 -0
  182. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PosPart.py +0 -0
  183. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Power.py +0 -0
  184. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROC.py +0 -0
  185. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROCP.py +0 -0
  186. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROCR.py +0 -0
  187. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Relu.py +0 -0
  188. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Return.py +0 -0
  189. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingADF.py +0 -0
  190. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingArgmax.py +0 -0
  191. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingArgmin.py +0 -0
  192. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingBeta.py +0 -0
  193. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingCorr.py +0 -0
  194. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingCov.py +0 -0
  195. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingGarmanKlassVar.py +0 -0
  196. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingHitRate.py +0 -0
  197. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingIqr.py +0 -0
  198. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingKurt.py +0 -0
  199. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMad.py +0 -0
  200. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMax.py +0 -0
  201. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMean.py +0 -0
  202. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMedian.py +0 -0
  203. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMedianAD.py +0 -0
  204. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMin.py +0 -0
  205. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingOU.py +0 -0
  206. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingParkinsonVar.py +0 -0
  207. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingPoly1.py +0 -0
  208. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingPoly2.py +0 -0
  209. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingQuantile.py +0 -0
  210. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRSI.py +0 -0
  211. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRange.py +0 -0
  212. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRms.py +0 -0
  213. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRogersSatchellVar.py +0 -0
  214. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSigmaClip.py +0 -0
  215. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSkew.py +0 -0
  216. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingStd.py +0 -0
  217. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSum.py +0 -0
  218. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingTLSBeta.py +0 -0
  219. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingVWAP.py +0 -0
  220. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingVar.py +0 -0
  221. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingYangZhangVar.py +0 -0
  222. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingZscore.py +0 -0
  223. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RoofingFilter.py +0 -0
  224. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Round.py +0 -0
  225. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/SchmittTrigger.py +0 -0
  226. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Selu.py +0 -0
  227. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sigmoid.py +0 -0
  228. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sign.py +0 -0
  229. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sin.py +0 -0
  230. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Softsign.py +0 -0
  231. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sqrt.py +0 -0
  232. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Square.py +0 -0
  233. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Stoch.py +0 -0
  234. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/StochRSI.py +0 -0
  235. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sub.py +0 -0
  236. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/SuperSmoother.py +0 -0
  237. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TEMA.py +0 -0
  238. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TRIMA.py +0 -0
  239. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TRIX.py +0 -0
  240. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Tanh.py +0 -0
  241. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TrueRange.py +0 -0
  242. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/UltimateOscillator.py +0 -0
  243. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/WMA.py +0 -0
  244. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Where.py +0 -0
  245. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/WilliamsR.py +0 -0
  246. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/__init__.py +0 -0
  247. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/_ohlc_vol.py +0 -0
  248. {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/_windowing.py +0 -0
  249. {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_all_ops.py +0 -0
  250. {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_baseline_pre_fpcontract.json +0 -0
  251. {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_pipeline.py +0 -0
  252. {screamer-3.0.2 → screamer-3.2.0}/devtools/build_function_index.py +0 -0
  253. {screamer-3.0.2 → screamer-3.2.0}/devtools/build_gallery.py +0 -0
  254. {screamer-3.0.2 → screamer-3.2.0}/devtools/build_help_registry.py +0 -0
  255. {screamer-3.0.2 → screamer-3.2.0}/devtools/build_topic_pages.py +0 -0
  256. {screamer-3.0.2 → screamer-3.2.0}/devtools/check_pure_headers.sh +0 -0
  257. {screamer-3.0.2 → screamer-3.2.0}/devtools/compat_baseline_2.8.0.json +0 -0
  258. {screamer-3.0.2 → screamer-3.2.0}/devtools/compat_probe.py +0 -0
  259. {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit.trades.btc-perpetual.20230804T000000.20230805T000000.csv +0 -0
  260. {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit.trades.eth-perpetual.20230804T000000.20230805T000000.csv +0 -0
  261. {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit_trade_download.py +0 -0
  262. {screamer-3.0.2 → screamer-3.2.0}/devtools/design_experiments/interface_v2.ipynb +0 -0
  263. {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/bars.py +0 -0
  264. {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/javascript.py +0 -0
  265. {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/microstructure.py +0 -0
  266. {screamer-3.0.2 → screamer-3.2.0}/devtools/generate_screamer__init__.py +0 -0
  267. {screamer-3.0.2 → screamer-3.2.0}/devtools/inject_nan_footnote.py +0 -0
  268. {screamer-3.0.2 → screamer-3.2.0}/devtools/pipeline_io_cases.py +0 -0
  269. {screamer-3.0.2 → screamer-3.2.0}/devtools/prompts/template_baseline.txt +0 -0
  270. {screamer-3.0.2 → screamer-3.2.0}/devtools/prompts/template_doc.txt +0 -0
  271. {screamer-3.0.2 → screamer-3.2.0}/devtools/report_baselines.py +0 -0
  272. {screamer-3.0.2 → screamer-3.2.0}/devtools/report_binding.py +0 -0
  273. {screamer-3.0.2 → screamer-3.2.0}/devtools/report_class_args.py +0 -0
  274. {screamer-3.0.2 → screamer-3.2.0}/devtools/report_docs.py +0 -0
  275. {screamer-3.0.2 → screamer-3.2.0}/devtools/stream_diagrams.py +0 -0
  276. {screamer-3.0.2 → screamer-3.2.0}/devtools/topics.py +0 -0
  277. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_combine_oracle.py +0 -0
  278. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_dag_oracle.py +0 -0
  279. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_ehlers_oracle.py +0 -0
  280. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_field_axis_oracle.py +0 -0
  281. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_null_oracle.py +0 -0
  282. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_oracle.py +0 -0
  283. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_pipeline_io_oracle.py +0 -0
  284. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_shape_oracle.py +0 -0
  285. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_ts_api.py +0 -0
  286. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_wasm_bindings.py +0 -0
  287. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_wasm_manifest.py +0 -0
  288. {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/wasm_manifest.json +0 -0
  289. {screamer-3.0.2 → screamer-3.2.0}/docs/Makefile +0 -0
  290. {screamer-3.0.2 → screamer-3.2.0}/docs/_ext/function_page.py +0 -0
  291. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/css/custom.css +0 -0
  292. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/combine_latest.svg +0 -0
  293. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/dropna.svg +0 -0
  294. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/filter.svg +0 -0
  295. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/merge.svg +0 -0
  296. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__bars.webp +0 -0
  297. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__javascript.webp +0 -0
  298. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__microstructure.webp +0 -0
  299. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossDemean.webp +0 -0
  300. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossNormalize.webp +0 -0
  301. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossRank.webp +0 -0
  302. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossTopBottom.webp +0 -0
  303. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossWinsorize.webp +0 -0
  304. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossZscore.webp +0 -0
  305. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwAlpha.webp +0 -0
  306. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwBeta.webp +0 -0
  307. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwCorr.webp +0 -0
  308. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwCov.webp +0 -0
  309. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwGarmanKlassVar.webp +0 -0
  310. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwGarmanKlassVol.webp +0 -0
  311. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwKurt.webp +0 -0
  312. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwMean.webp +0 -0
  313. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwParkinsonVar.webp +0 -0
  314. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwParkinsonVol.webp +0 -0
  315. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwResidualStd.webp +0 -0
  316. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRms.webp +0 -0
  317. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRogersSatchellVar.webp +0 -0
  318. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRogersSatchellVol.webp +0 -0
  319. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwSkew.webp +0 -0
  320. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwSpread.webp +0 -0
  321. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwStd.webp +0 -0
  322. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwVar.webp +0 -0
  323. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwYangZhangVar.webp +0 -0
  324. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwYangZhangVol.webp +0 -0
  325. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwZscore.webp +0 -0
  326. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingKurt.webp +0 -0
  327. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMax.webp +0 -0
  328. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMean.webp +0 -0
  329. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMin.webp +0 -0
  330. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingProd.webp +0 -0
  331. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSkew.webp +0 -0
  332. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSlope.webp +0 -0
  333. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingStd.webp +0 -0
  334. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSum.webp +0 -0
  335. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingVar.webp +0 -0
  336. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestCarry.webp +0 -0
  337. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1Orders.webp +0 -0
  338. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1Target.webp +0 -0
  339. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1TradesOrders.webp +0 -0
  340. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCOrders.webp +0 -0
  341. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCTarget.webp +0 -0
  342. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCVTarget.webp +0 -0
  343. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPortfolioOHLCTarget.webp +0 -0
  344. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPortfolioTarget.webp +0 -0
  345. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPriceTarget.webp +0 -0
  346. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestReport.webp +0 -0
  347. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestStats.webp +0 -0
  348. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestTradesOrders.webp +0 -0
  349. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestTradesTarget.webp +0 -0
  350. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BayesianRegression.webp +0 -0
  351. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__Drawdown.webp +0 -0
  352. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__KalmanRegression.webp +0 -0
  353. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__LogReturn.webp +0 -0
  354. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__MaxDrawdown.webp +0 -0
  355. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROC.webp +0 -0
  356. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROCP.webp +0 -0
  357. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROCR.webp +0 -0
  358. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__Return.webp +0 -0
  359. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingADF.webp +0 -0
  360. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingAlpha.webp +0 -0
  361. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingBeta.webp +0 -0
  362. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCVaR.webp +0 -0
  363. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCalmar.webp +0 -0
  364. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCorr.webp +0 -0
  365. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCov.webp +0 -0
  366. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingDownsideDeviation.webp +0 -0
  367. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingHitRate.webp +0 -0
  368. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingInfoRatio.webp +0 -0
  369. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingLinearRegression.webp +0 -0
  370. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingMaxDrawdown.webp +0 -0
  371. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingOmega.webp +0 -0
  372. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingPercentile.webp +0 -0
  373. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingRank.webp +0 -0
  374. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingResidualStd.webp +0 -0
  375. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSharpe.webp +0 -0
  376. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSortino.webp +0 -0
  377. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSpread.webp +0 -0
  378. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingTLSBeta.webp +0 -0
  379. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingTSF.webp +0 -0
  380. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__position_test.webp +0 -0
  381. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__strategy_test.webp +0 -0
  382. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Abs.webp +0 -0
  383. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Acos.webp +0 -0
  384. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Add.webp +0 -0
  385. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Asin.webp +0 -0
  386. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Atan.webp +0 -0
  387. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Atan2.webp +0 -0
  388. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cart2Polar.webp +0 -0
  389. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Ceil.webp +0 -0
  390. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cos.webp +0 -0
  391. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cube.webp +0 -0
  392. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Div.webp +0 -0
  393. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Elu.webp +0 -0
  394. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Equal.webp +0 -0
  395. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Erf.webp +0 -0
  396. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Erfc.webp +0 -0
  397. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Exp.webp +0 -0
  398. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Floor.webp +0 -0
  399. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__GreaterEqual.webp +0 -0
  400. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__GreaterThan.webp +0 -0
  401. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Hypot.webp +0 -0
  402. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__LessEqual.webp +0 -0
  403. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__LessThan.webp +0 -0
  404. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Linear.webp +0 -0
  405. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Linear2.webp +0 -0
  406. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Log.webp +0 -0
  407. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Mul.webp +0 -0
  408. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__NegPart.webp +0 -0
  409. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__NotEqual.webp +0 -0
  410. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Polar2Cart.webp +0 -0
  411. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__PosPart.webp +0 -0
  412. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Power.webp +0 -0
  413. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Relu.webp +0 -0
  414. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Round.webp +0 -0
  415. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Selu.webp +0 -0
  416. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sigmoid.webp +0 -0
  417. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sign.webp +0 -0
  418. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sin.webp +0 -0
  419. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Softsign.webp +0 -0
  420. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sqrt.webp +0 -0
  421. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Square.webp +0 -0
  422. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sub.webp +0 -0
  423. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Tanh.webp +0 -0
  424. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Where.webp +0 -0
  425. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__AmihudIlliquidity.webp +0 -0
  426. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__BulkVolumeClassifier.webp +0 -0
  427. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__ContOFI.webp +0 -0
  428. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__EffectiveSpread.webp +0 -0
  429. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__EwKyleLambda.webp +0 -0
  430. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__HawkesIntensity.webp +0 -0
  431. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__LeeReadySign.webp +0 -0
  432. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__MicroPrice.webp +0 -0
  433. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__OFI.webp +0 -0
  434. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__Propagator.webp +0 -0
  435. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__QueueImbalance.webp +0 -0
  436. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RealizedSpread.webp +0 -0
  437. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollSpread.webp +0 -0
  438. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollingKyleLambda.webp +0 -0
  439. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollingOrderImbalance.webp +0 -0
  440. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__SignedVolume.webp +0 -0
  441. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__TickRuleSign.webp +0 -0
  442. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__VPIN.webp +0 -0
  443. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumMax.webp +0 -0
  444. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumMin.webp +0 -0
  445. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumProd.webp +0 -0
  446. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumSum.webp +0 -0
  447. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Detrend.webp +0 -0
  448. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Diff.webp +0 -0
  449. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Diff2.webp +0 -0
  450. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__First.webp +0 -0
  451. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Lag.webp +0 -0
  452. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Last.webp +0 -0
  453. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Momentum.webp +0 -0
  454. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__Clip.webp +0 -0
  455. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__Ffill.webp +0 -0
  456. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__FillNa.webp +0 -0
  457. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__AD.webp +0 -0
  458. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADOSC.webp +0 -0
  459. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADX.webp +0 -0
  460. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADXR.webp +0 -0
  461. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ATR.webp +0 -0
  462. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__BOP.webp +0 -0
  463. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__BollingerBands.webp +0 -0
  464. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__CCI.webp +0 -0
  465. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DEMA.webp +0 -0
  466. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DX.webp +0 -0
  467. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DonchianChannels.webp +0 -0
  468. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__Hampel.webp +0 -0
  469. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__HullMA.webp +0 -0
  470. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ImpulseClip.webp +0 -0
  471. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__KAMA.webp +0 -0
  472. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__KeltnerChannels.webp +0 -0
  473. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MACD.webp +0 -0
  474. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MFI.webp +0 -0
  475. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MinusDI.webp +0 -0
  476. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MinusDM.webp +0 -0
  477. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__NATR.webp +0 -0
  478. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__OBV.webp +0 -0
  479. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__PlusDI.webp +0 -0
  480. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__PlusDM.webp +0 -0
  481. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingArgmax.webp +0 -0
  482. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingArgmin.webp +0 -0
  483. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingGarmanKlassVar.webp +0 -0
  484. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingGarmanKlassVol.webp +0 -0
  485. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingHurst.webp +0 -0
  486. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingIqr.webp +0 -0
  487. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingKurt.webp +0 -0
  488. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMad.webp +0 -0
  489. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMax.webp +0 -0
  490. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMean.webp +0 -0
  491. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMedian.webp +0 -0
  492. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMedianAD.webp +0 -0
  493. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMin.webp +0 -0
  494. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMinMax.webp +0 -0
  495. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingOU.webp +0 -0
  496. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingParkinsonVar.webp +0 -0
  497. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingParkinsonVol.webp +0 -0
  498. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingPoly1.webp +0 -0
  499. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingPoly2.webp +0 -0
  500. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingQuantile.webp +0 -0
  501. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRSI.webp +0 -0
  502. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRange.webp +0 -0
  503. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRms.webp +0 -0
  504. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRogersSatchellVar.webp +0 -0
  505. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRogersSatchellVol.webp +0 -0
  506. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSigmaClip.webp +0 -0
  507. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSkew.webp +0 -0
  508. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingStd.webp +0 -0
  509. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSum.webp +0 -0
  510. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingVWAP.webp +0 -0
  511. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingVar.webp +0 -0
  512. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingYangZhangVar.webp +0 -0
  513. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingYangZhangVol.webp +0 -0
  514. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingZscore.webp +0 -0
  515. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__Stoch.webp +0 -0
  516. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__StochRSI.webp +0 -0
  517. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TEMA.webp +0 -0
  518. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TRIMA.webp +0 -0
  519. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TRIX.webp +0 -0
  520. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TrueRange.webp +0 -0
  521. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__UltimateOscillator.webp +0 -0
  522. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__WMA.webp +0 -0
  523. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__WilliamsR.webp +0 -0
  524. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__BandSignal.webp +0 -0
  525. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Butter.webp +0 -0
  526. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterBandpass.webp +0 -0
  527. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterBandstop.webp +0 -0
  528. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterHighpass.webp +0 -0
  529. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleAmplitude.webp +0 -0
  530. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleFrequency.webp +0 -0
  531. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CyclePhase.webp +0 -0
  532. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleSine.webp +0 -0
  533. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Decycler.webp +0 -0
  534. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__DominantCycle.webp +0 -0
  535. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__FracDiff.webp +0 -0
  536. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__HilbertPhasor.webp +0 -0
  537. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Hold.webp +0 -0
  538. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__InstantaneousTrendline.webp +0 -0
  539. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__KalmanFilter.webp +0 -0
  540. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__MAMA.webp +0 -0
  541. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__MovingAverage.webp +0 -0
  542. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__RoofingFilter.webp +0 -0
  543. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__SchmittTrigger.webp +0 -0
  544. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__SuperSmoother.webp +0 -0
  545. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__TrendMode.webp +0 -0
  546. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_streams__Delay.webp +0 -0
  547. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/manifest.json +0 -0
  548. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__cross-sectional-momentum.webp +0 -0
  549. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__first-strategy.webp +0 -0
  550. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__funding-carry.webp +0 -0
  551. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__live-loop.webp +0 -0
  552. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__migrating.webp +0 -0
  553. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__ml-features.webp +0 -0
  554. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__multi-asset.webp +0 -0
  555. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__pairs-trade.webp +0 -0
  556. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__pandas-ohlcv-indicators.webp +0 -0
  557. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__parameter-grid.webp +0 -0
  558. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__significance-test.webp +0 -0
  559. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__stops-and-exits.webp +0 -0
  560. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__strategy-to-live.webp +0 -0
  561. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__ticks-to-backtest.webp +0 -0
  562. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__volatility-sizing.webp +0 -0
  563. {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__walk-forward.webp +0 -0
  564. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/backtesting-risk.rst +0 -0
  565. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/data-prep.rst +0 -0
  566. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/indicators.rst +0 -0
  567. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/machine-learning.rst +0 -0
  568. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/math-logic.rst +0 -0
  569. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/microstructure.rst +0 -0
  570. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/portfolio.rst +0 -0
  571. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/smoothing-filters.rst +0 -0
  572. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/statistics.rst +0 -0
  573. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/streaming.rst +0 -0
  574. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group_cards.inc +0 -0
  575. {screamer-3.0.2 → screamer-3.2.0}/docs/by_group_index.rst +0 -0
  576. {screamer-3.0.2 → screamer-3.2.0}/docs/capabilities.md +0 -0
  577. {screamer-3.0.2 → screamer-3.2.0}/docs/changelog.rst +0 -0
  578. {screamer-3.0.2 → screamer-3.2.0}/docs/choosing_an_operator.md +0 -0
  579. {screamer-3.0.2 → screamer-3.2.0}/docs/conf.py +0 -0
  580. {screamer-3.0.2 → screamer-3.2.0}/docs/conventions.md +0 -0
  581. {screamer-3.0.2 → screamer-3.2.0}/docs/function_index.txt +0 -0
  582. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossDemean.md +0 -0
  583. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossNormalize.md +0 -0
  584. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossRank.md +0 -0
  585. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossTopBottom.md +0 -0
  586. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossWinsorize.md +0 -0
  587. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossZscore.md +0 -0
  588. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_dag/Pipeline.md +0 -0
  589. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwAlpha.md +0 -0
  590. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwBeta.md +0 -0
  591. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwCorr.md +0 -0
  592. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwCov.md +0 -0
  593. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwGarmanKlassVar.md +0 -0
  594. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwGarmanKlassVol.md +0 -0
  595. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwKurt.md +0 -0
  596. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwMean.md +0 -0
  597. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwParkinsonVar.md +0 -0
  598. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwParkinsonVol.md +0 -0
  599. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwResidualStd.md +0 -0
  600. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRms.md +0 -0
  601. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRogersSatchellVar.md +0 -0
  602. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRogersSatchellVol.md +0 -0
  603. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwSkew.md +0 -0
  604. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwSpread.md +0 -0
  605. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwStd.md +0 -0
  606. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwVar.md +0 -0
  607. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwYangZhangVar.md +0 -0
  608. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwYangZhangVol.md +0 -0
  609. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwZscore.md +0 -0
  610. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingKurt.md +0 -0
  611. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMax.md +0 -0
  612. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMean.md +0 -0
  613. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMin.md +0 -0
  614. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingProd.md +0 -0
  615. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSkew.md +0 -0
  616. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSlope.md +0 -0
  617. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingStd.md +0 -0
  618. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSum.md +0 -0
  619. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingVar.md +0 -0
  620. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestCarry.md +0 -0
  621. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1Orders.md +0 -0
  622. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1Target.md +0 -0
  623. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1TradesOrders.md +0 -0
  624. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCOrders.md +0 -0
  625. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCTarget.md +0 -0
  626. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCVTarget.md +0 -0
  627. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPortfolioOHLCTarget.md +0 -0
  628. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPortfolioTarget.md +0 -0
  629. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPriceTarget.md +0 -0
  630. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestReport.md +0 -0
  631. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestStats.md +0 -0
  632. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestTradesOrders.md +0 -0
  633. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestTradesTarget.md +0 -0
  634. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BayesianRegression.md +0 -0
  635. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/Drawdown.md +0 -0
  636. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/KalmanRegression.md +0 -0
  637. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/LogReturn.md +0 -0
  638. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/MaxDrawdown.md +0 -0
  639. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/PortfolioReport.md +0 -0
  640. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROC.md +0 -0
  641. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROCP.md +0 -0
  642. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROCR.md +0 -0
  643. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/Return.md +0 -0
  644. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingADF.md +0 -0
  645. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingAlpha.md +0 -0
  646. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingBeta.md +0 -0
  647. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCVaR.md +0 -0
  648. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCalmar.md +0 -0
  649. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCorr.md +0 -0
  650. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCov.md +0 -0
  651. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingDownsideDeviation.md +0 -0
  652. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingHitRate.md +0 -0
  653. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingInfoRatio.md +0 -0
  654. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingLinearRegression.md +0 -0
  655. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingMaxDrawdown.md +0 -0
  656. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingOmega.md +0 -0
  657. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingPercentile.md +0 -0
  658. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingRank.md +0 -0
  659. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingResidualStd.md +0 -0
  660. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSharpe.md +0 -0
  661. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSortino.md +0 -0
  662. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSpread.md +0 -0
  663. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingTLSBeta.md +0 -0
  664. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingTSF.md +0 -0
  665. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/backtest_report.md +0 -0
  666. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/choosing_a_backtest_engine.md +0 -0
  667. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/circular_shift.md +0 -0
  668. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/deflated_sharpe.md +0 -0
  669. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/permute_bars.md +0 -0
  670. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/permute_returns.md +0 -0
  671. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/probabilistic_sharpe.md +0 -0
  672. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/walk_forward.md +0 -0
  673. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Abs.md +0 -0
  674. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Acos.md +0 -0
  675. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Add.md +0 -0
  676. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/And.md +0 -0
  677. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Asin.md +0 -0
  678. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Atan.md +0 -0
  679. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Atan2.md +0 -0
  680. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cart2Polar.md +0 -0
  681. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Ceil.md +0 -0
  682. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cos.md +0 -0
  683. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cube.md +0 -0
  684. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Div.md +0 -0
  685. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Elu.md +0 -0
  686. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Equal.md +0 -0
  687. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Erf.md +0 -0
  688. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Erfc.md +0 -0
  689. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Exp.md +0 -0
  690. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Floor.md +0 -0
  691. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/GreaterEqual.md +0 -0
  692. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/GreaterThan.md +0 -0
  693. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Hypot.md +0 -0
  694. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/IsFinite.md +0 -0
  695. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/IsNan.md +0 -0
  696. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/LessEqual.md +0 -0
  697. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/LessThan.md +0 -0
  698. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Linear.md +0 -0
  699. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Linear2.md +0 -0
  700. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Log.md +0 -0
  701. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Mul.md +0 -0
  702. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/NegPart.md +0 -0
  703. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Not.md +0 -0
  704. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/NotEqual.md +0 -0
  705. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Or.md +0 -0
  706. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Polar2Cart.md +0 -0
  707. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/PosPart.md +0 -0
  708. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Power.md +0 -0
  709. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Relu.md +0 -0
  710. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Round.md +0 -0
  711. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Selu.md +0 -0
  712. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sigmoid.md +0 -0
  713. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sign.md +0 -0
  714. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sin.md +0 -0
  715. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Softsign.md +0 -0
  716. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sqrt.md +0 -0
  717. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Square.md +0 -0
  718. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sub.md +0 -0
  719. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Tanh.md +0 -0
  720. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Where.md +0 -0
  721. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/AmihudIlliquidity.md +0 -0
  722. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/BulkVolumeClassifier.md +0 -0
  723. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/ContOFI.md +0 -0
  724. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/EffectiveSpread.md +0 -0
  725. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/EwKyleLambda.md +0 -0
  726. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/HawkesIntensity.md +0 -0
  727. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/LeeReadySign.md +0 -0
  728. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/MicroPrice.md +0 -0
  729. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/OFI.md +0 -0
  730. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/Propagator.md +0 -0
  731. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/QueueImbalance.md +0 -0
  732. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RealizedSpread.md +0 -0
  733. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollSpread.md +0 -0
  734. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollingKyleLambda.md +0 -0
  735. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollingOrderImbalance.md +0 -0
  736. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/SignedVolume.md +0 -0
  737. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/TickRuleSign.md +0 -0
  738. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/VPIN.md +0 -0
  739. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumMax.md +0 -0
  740. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumMin.md +0 -0
  741. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumProd.md +0 -0
  742. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumSum.md +0 -0
  743. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Detrend.md +0 -0
  744. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Diff.md +0 -0
  745. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Diff2.md +0 -0
  746. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/First.md +0 -0
  747. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Identity.md +0 -0
  748. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Lag.md +0 -0
  749. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Last.md +0 -0
  750. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Momentum.md +0 -0
  751. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/Clip.md +0 -0
  752. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/Ffill.md +0 -0
  753. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/FillNa.md +0 -0
  754. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/AD.md +0 -0
  755. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADOSC.md +0 -0
  756. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADX.md +0 -0
  757. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADXR.md +0 -0
  758. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ATR.md +0 -0
  759. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/BOP.md +0 -0
  760. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/BollingerBands.md +0 -0
  761. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/CCI.md +0 -0
  762. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DEMA.md +0 -0
  763. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DX.md +0 -0
  764. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DonchianChannels.md +0 -0
  765. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/Hampel.md +0 -0
  766. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/HullMA.md +0 -0
  767. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ImpulseClip.md +0 -0
  768. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/KAMA.md +0 -0
  769. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/KeltnerChannels.md +0 -0
  770. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MACD.md +0 -0
  771. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MFI.md +0 -0
  772. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MinusDI.md +0 -0
  773. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MinusDM.md +0 -0
  774. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/NATR.md +0 -0
  775. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/OBV.md +0 -0
  776. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/PlusDI.md +0 -0
  777. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/PlusDM.md +0 -0
  778. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingArgmax.md +0 -0
  779. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingArgmin.md +0 -0
  780. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingGarmanKlassVar.md +0 -0
  781. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingGarmanKlassVol.md +0 -0
  782. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingHurst.md +0 -0
  783. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingIqr.md +0 -0
  784. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingKurt.md +0 -0
  785. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMad.md +0 -0
  786. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMax.md +0 -0
  787. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMean.md +0 -0
  788. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMedian.md +0 -0
  789. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMedianAD.md +0 -0
  790. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMin.md +0 -0
  791. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMinMax.md +0 -0
  792. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingOU.md +0 -0
  793. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingParkinsonVar.md +0 -0
  794. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingParkinsonVol.md +0 -0
  795. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingPoly1.md +0 -0
  796. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingPoly2.md +0 -0
  797. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingQuantile.md +0 -0
  798. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRSI.md +0 -0
  799. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRange.md +0 -0
  800. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRms.md +0 -0
  801. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRogersSatchellVar.md +0 -0
  802. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRogersSatchellVol.md +0 -0
  803. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSigmaClip.md +0 -0
  804. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSkew.md +0 -0
  805. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingStd.md +0 -0
  806. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSum.md +0 -0
  807. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingVWAP.md +0 -0
  808. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingVar.md +0 -0
  809. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingYangZhangVar.md +0 -0
  810. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingYangZhangVol.md +0 -0
  811. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingZscore.md +0 -0
  812. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/Stoch.md +0 -0
  813. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/StochRSI.md +0 -0
  814. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TEMA.md +0 -0
  815. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TRIMA.md +0 -0
  816. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TRIX.md +0 -0
  817. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TrueRange.md +0 -0
  818. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/UltimateOscillator.md +0 -0
  819. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/WMA.md +0 -0
  820. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/WilliamsR.md +0 -0
  821. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/BandSignal.md +0 -0
  822. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Butter.md +0 -0
  823. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterBandpass.md +0 -0
  824. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterBandstop.md +0 -0
  825. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterHighpass.md +0 -0
  826. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleAmplitude.md +0 -0
  827. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleFrequency.md +0 -0
  828. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CyclePhase.md +0 -0
  829. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleSine.md +0 -0
  830. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Decycler.md +0 -0
  831. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/DominantCycle.md +0 -0
  832. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/FracDiff.md +0 -0
  833. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/HilbertPhasor.md +0 -0
  834. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Hold.md +0 -0
  835. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/InstantaneousTrendline.md +0 -0
  836. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/KalmanFilter.md +0 -0
  837. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/MAMA.md +0 -0
  838. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/MovingAverage.md +0 -0
  839. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/RoofingFilter.md +0 -0
  840. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/SchmittTrigger.md +0 -0
  841. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/SuperSmoother.md +0 -0
  842. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/TrendMode.md +0 -0
  843. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/CombineLatest.md +0 -0
  844. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Delay.md +0 -0
  845. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Dropna.md +0 -0
  846. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Filter.md +0 -0
  847. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Merge.md +0 -0
  848. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Resample.md +0 -0
  849. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Select.md +0 -0
  850. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Stream.md +0 -0
  851. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/from_pandas.md +0 -0
  852. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/reshape.md +0 -0
  853. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/split.md +0 -0
  854. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/to_pandas.md +0 -0
  855. {screamer-3.0.2 → screamer-3.2.0}/docs/functions_supervised/forecast_pairs.md +0 -0
  856. {screamer-3.0.2 → screamer-3.2.0}/docs/gallery.rst +0 -0
  857. {screamer-3.0.2 → screamer-3.2.0}/docs/img/3lines.png +0 -0
  858. {screamer-3.0.2 → screamer-3.2.0}/docs/img/per_column.png +0 -0
  859. {screamer-3.0.2 → screamer-3.2.0}/docs/img/speed.png +0 -0
  860. {screamer-3.0.2 → screamer-3.2.0}/docs/img/speed_chart.png +0 -0
  861. {screamer-3.0.2 → screamer-3.2.0}/docs/index.rst +0 -0
  862. {screamer-3.0.2 → screamer-3.2.0}/docs/installation.md +0 -0
  863. {screamer-3.0.2 → screamer-3.2.0}/docs/javascript.md +0 -0
  864. {screamer-3.0.2 → screamer-3.2.0}/docs/make.bat +0 -0
  865. {screamer-3.0.2 → screamer-3.2.0}/docs/microstructure.md +0 -0
  866. {screamer-3.0.2 → screamer-3.2.0}/docs/multistream.md +0 -0
  867. {screamer-3.0.2 → screamer-3.2.0}/docs/nan_and_warmup.md +0 -0
  868. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/01-quickstart-polymorphic-api.ipynb +0 -0
  869. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/02-window-statistics.ipynb +0 -0
  870. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/03-financial-indicators.ipynb +0 -0
  871. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/04-signal-processing.ipynb +0 -0
  872. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/05-nan-handling.ipynb +0 -0
  873. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/06-streaming-live-events.ipynb +0 -0
  874. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/07-multi-stream-operators.ipynb +0 -0
  875. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/08-pipelines.ipynb +0 -0
  876. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/09-bars-from-ticks.ipynb +0 -0
  877. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/10-custom-and-multi-column-bars.ipynb +0 -0
  878. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/11-microstructure-order-flow.ipynb +0 -0
  879. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/12-microstructure-price-impact.ipynb +0 -0
  880. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/13-microstructure-toxicity-and-book.ipynb +0 -0
  881. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/14-backtesting-a-signal.ipynb +0 -0
  882. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/15-event-driven-backtests.ipynb +0 -0
  883. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/16-supervised-forecasting.ipynb +0 -0
  884. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/17-filtering-and-forecasting-with-uncertainty.ipynb +0 -0
  885. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/18-pairs-and-mean-reversion.ipynb +0 -0
  886. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/19-cycle-and-spectral-analysis.ipynb +0 -0
  887. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/binance_btc_funding.csv +0 -0
  888. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/binance_daily_20.csv +0 -0
  889. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/deribit_btc_perp_6h.csv +0 -0
  890. {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/deribit_eth_perp_6h.csv +0 -0
  891. {screamer-3.0.2 → screamer-3.2.0}/docs/performance.md +0 -0
  892. {screamer-3.0.2 → screamer-3.2.0}/docs/pipelines.md +0 -0
  893. {screamer-3.0.2 → screamer-3.2.0}/docs/polymorphic_api.md +0 -0
  894. {screamer-3.0.2 → screamer-3.2.0}/docs/portfolio_backtesting.md +0 -0
  895. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/cross-sectional-momentum.md +0 -0
  896. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/first-strategy.md +0 -0
  897. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/funding-carry.md +0 -0
  898. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/index.md +0 -0
  899. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/live-loop.md +0 -0
  900. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/migrating.md +0 -0
  901. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/ml-features.md +0 -0
  902. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/multi-asset.md +0 -0
  903. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/pairs-trade.md +0 -0
  904. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/pandas-ohlcv-indicators.md +0 -0
  905. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/parameter-grid.md +0 -0
  906. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/stops-and-exits.md +0 -0
  907. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/strategy-to-live.md +0 -0
  908. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/ticks-to-backtest.md +0 -0
  909. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/volatility-sizing.md +0 -0
  910. {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/walk-forward.md +0 -0
  911. {screamer-3.0.2 → screamer-3.2.0}/docs/references_index.rst +0 -0
  912. {screamer-3.0.2 → screamer-3.2.0}/docs/streaming.md +0 -0
  913. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-05-20-help-json-structure-refactor.md +0 -0
  914. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan1-node-core.md +0 -0
  915. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan2-merge-pace.md +0 -0
  916. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan3-combine-latest.md +0 -0
  917. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan4-filter-split-api.md +0 -0
  918. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan5-docs-identity.md +0 -0
  919. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag1-definition.md +0 -0
  920. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2a-evalop-arithmetic.md +0 -0
  921. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b1-bulk-evalop.md +0 -0
  922. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b2-wide-edge-functornode.md +0 -0
  923. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b3-combinelatest-fanout.md +0 -0
  924. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b4-compiler.md +0 -0
  925. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b5a-streaming.md +0 -0
  926. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b5b-cutover.md +0 -0
  927. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-demo-notebooks.md +0 -0
  928. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-index-model-redesign.md +0 -0
  929. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-shaping-dag-phaseA.md +0 -0
  930. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-shaping-dag-phaseB-resample.md +0 -0
  931. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-08-windowed-aggregation-plan.md +0 -0
  932. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-09-unified-streaming-stage1-functor-core.md +0 -0
  933. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage2-dag-lazy-callable.md +0 -0
  934. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage3-single-input-operators.md +0 -0
  935. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage3b-multi-input-operators.md +0 -0
  936. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage4-resample-freq.md +0 -0
  937. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step1-unify-node-contract.md +0 -0
  938. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step2-operator-ports.md +0 -0
  939. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3a-filter-mask-gate.md +0 -0
  940. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3c-dropna-select-node-backing.md +0 -0
  941. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3e-api-collapse-camelcase.md +0 -0
  942. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-resample-redesign-implementation-plan.md +0 -0
  943. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-15-microstructure-flow-operators-plan.md +0 -0
  944. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-15-microstructure-flow-operators-tranche-1b-plan.md +0 -0
  945. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-18-backtest-fill-models.md +0 -0
  946. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-18-docs-navigation-redesign.md +0 -0
  947. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-20-backtest-engine-suite.md +0 -0
  948. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-20-unified-backtest-engine-api.md +0 -0
  949. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-22-bayesian-regression.md +0 -0
  950. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-22-delay-and-forecast-pairs.md +0 -0
  951. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-api-hardening.md +0 -0
  952. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-tier3-doc-examples.md +0 -0
  953. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-tier4-onboarding.md +0 -0
  954. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-24-delay-watermark-reorder.md +0 -0
  955. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-28-resample-infobars-hold.md +0 -0
  956. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-adaptive-overlays.md +0 -0
  957. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-cycle-core.md +0 -0
  958. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-dmi-family.md +0 -0
  959. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-ehlers-filter-foundation.md +0 -0
  960. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-01-nanobind-migration.md +0 -0
  961. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-js-docs.md +0 -0
  962. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase1-base-class-split.md +0 -0
  963. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase2-embind-codegen.md +0 -0
  964. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase3-ts-api.md +0 -0
  965. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase5-dag-pipeline.md +0 -0
  966. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase6-packaging.md +0 -0
  967. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-release-3.0.0-issues.md +0 -0
  968. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-shape-contract-phase1-addendum.md +0 -0
  969. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-shape-contract-phase1.md +0 -0
  970. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/release-3.0.0-issues.md +0 -0
  971. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/2026-10-ehlers-review.md +0 -0
  972. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_amplitude_sine.png +0 -0
  973. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_frequency_sine.png +0 -0
  974. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_phase.png +0 -0
  975. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_sine.png +0 -0
  976. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_chirp.png +0 -0
  977. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_sine.png +0 -0
  978. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_trend.png +0 -0
  979. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/filters_gain.png +0 -0
  980. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/hilbert_phasor.png +0 -0
  981. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/instantaneous_trendline.png +0 -0
  982. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/make_plots.py +0 -0
  983. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/mama.png +0 -0
  984. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/trend_mode.png +0 -0
  985. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-05-20-help-json-structure-refactor-design.md +0 -0
  986. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-02-multistream-foundation-design.md +0 -0
  987. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-dag-definition-design.md +0 -0
  988. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-dag2-cpp-engine-design.md +0 -0
  989. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-demo-notebooks-design.md +0 -0
  990. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-notebook-docs-integration-design.md +0 -0
  991. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-index-model-redesign.md +0 -0
  992. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-shaping-dag-phaseA-design.md +0 -0
  993. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-shaping-dag-phaseB-resample-design.md +0 -0
  994. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-dag-visualization-serialization-design.md +0 -0
  995. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-despiking-filters-design.md +0 -0
  996. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topic-taxonomy-proposal.md +0 -0
  997. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topic-taxonomy-unified-frontmatter-plan.md +0 -0
  998. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topics.yml +0 -0
  999. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-08-multicolumn-bars-lazy-agg-design.md +0 -0
  1000. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-08-windowed-aggregation-design.md +0 -0
  1001. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-09-unified-streaming-model-design.md +0 -0
  1002. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-node-core-step3-api-collapse-design.md +0 -0
  1003. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-resample-redesign-freq-agg-functor-design.md +0 -0
  1004. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-unified-cpp-node-core-architecture-design.md +0 -0
  1005. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-15-microstructure-flow-operators-design.md +0 -0
  1006. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-16-lazy-path-cpp-design.md +0 -0
  1007. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-17-backtest-foundation-signal-design.md +0 -0
  1008. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-18-backtest-fill-models-design.md +0 -0
  1009. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-18-docs-navigation-redesign.md +0 -0
  1010. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-backtest-engine-suite-design.md +0 -0
  1011. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-schmitt-trigger-initial-state-design.md +0 -0
  1012. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-unified-backtest-engine-api.md +0 -0
  1013. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-22-bayesian-regression-design.md +0 -0
  1014. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-22-delay-and-forecast-pairs-design.md +0 -0
  1015. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-23-v1.0-readiness-assessment.md +0 -0
  1016. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-24-delay-watermark-reorder-design.md +0 -0
  1017. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-28-resample-infobars-hold-design.md +0 -0
  1018. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-30-ehlers-cycle-and-dmi-tranche-design.md +0 -0
  1019. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-30-fracdiff-design.md +0 -0
  1020. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-08-02-wasm-js-binding-design.md +0 -0
  1021. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-execution-gaps.md +0 -0
  1022. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-open-decisions.md +0 -0
  1023. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-randomization-tests-design.md +0 -0
  1024. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-docs-improvement-plan.md +0 -0
  1025. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-portfolio-and-pairs-plan.md +0 -0
  1026. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-11-shape-contract-design.md +0 -0
  1027. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/CMakeLists.txt +0 -0
  1028. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/REPORT.md +0 -0
  1029. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/nb_spike.cpp +0 -0
  1030. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/smoke_test.py +0 -0
  1031. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/spike_helper.py +0 -0
  1032. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/.gitignore +0 -0
  1033. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/REPORT.md +0 -0
  1034. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/build.sh +0 -0
  1035. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/driver.mjs +0 -0
  1036. {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/spike.cpp +0 -0
  1037. {screamer-3.0.2 → screamer-3.2.0}/docs/topics.yml +0 -0
  1038. {screamer-3.0.2 → screamer-3.2.0}/docs/usage.md +0 -0
  1039. {screamer-3.0.2 → screamer-3.2.0}/examples/lag_example.py +0 -0
  1040. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ad.h +0 -0
  1041. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adosc.h +0 -0
  1042. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adx.h +0 -0
  1043. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adxr.h +0 -0
  1044. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/amihud_illiquidity.h +0 -0
  1045. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/arithmetic.h +0 -0
  1046. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/atr.h +0 -0
  1047. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_carry.h +0 -0
  1048. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1_orders.h +0 -0
  1049. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1_target.h +0 -0
  1050. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1trades_orders.h +0 -0
  1051. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlc_orders.h +0 -0
  1052. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlc_target.h +0 -0
  1053. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlcv_target.h +0 -0
  1054. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_portfolio_target.h +0 -0
  1055. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_price_target.h +0 -0
  1056. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_report.h +0 -0
  1057. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_stats.h +0 -0
  1058. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_summary.h +0 -0
  1059. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_trades_orders.h +0 -0
  1060. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_trades_target.h +0 -0
  1061. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/band_signal.h +0 -0
  1062. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bayesian_regression.h +0 -0
  1063. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bollinger_bands.h +0 -0
  1064. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bop.h +0 -0
  1065. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bulk_volume_classifier.h +0 -0
  1066. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter.h +0 -0
  1067. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_bandpass.h +0 -0
  1068. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_bandstop.h +0 -0
  1069. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_highpass.h +0 -0
  1070. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cci.h +0 -0
  1071. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/clip.h +0 -0
  1072. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/async_generator.h +0 -0
  1073. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/base.h +0 -0
  1074. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/buffer.h +0 -0
  1075. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/cast_double.h +0 -0
  1076. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/checked_arith.h +0 -0
  1077. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/column_driver.h +0 -0
  1078. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/dispatch.h +0 -0
  1079. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/eval_op.h +0 -0
  1080. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/finite_settings.h +0 -0
  1081. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/float_info.h +0 -0
  1082. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/function_traits.h +0 -0
  1083. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/functor_base.h +0 -0
  1084. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/gc.h +0 -0
  1085. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/int_settings.h +0 -0
  1086. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/lazy_eval_iterator.h +0 -0
  1087. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/market_price.h +0 -0
  1088. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/math.h +0 -0
  1089. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/order_statistic_tree.h +0 -0
  1090. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/per_asset.h +0 -0
  1091. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/py_iter.h +0 -0
  1092. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/row_op.h +0 -0
  1093. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/shape.h +0 -0
  1094. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/skip_nan_column.h +0 -0
  1095. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/transform.h +0 -0
  1096. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/transform_4.h +0 -0
  1097. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cont_ofi.h +0 -0
  1098. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cross_section.h +0 -0
  1099. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_max.h +0 -0
  1100. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_min.h +0 -0
  1101. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_prod.h +0 -0
  1102. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_sum.h +0 -0
  1103. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_amplitude.h +0 -0
  1104. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_frequency.h +0 -0
  1105. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_phase.h +0 -0
  1106. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_sine.h +0 -0
  1107. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/broadcast.h +0 -0
  1108. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/checked_index.h +0 -0
  1109. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/collector.h +0 -0
  1110. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/combine_latest_node.h +0 -0
  1111. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/combine_stream.h +0 -0
  1112. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/compiled_graph.h +0 -0
  1113. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/delay_node.h +0 -0
  1114. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/driver.h +0 -0
  1115. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/dropna_node.h +0 -0
  1116. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/filter_node.h +0 -0
  1117. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/forecast_pairs.h +0 -0
  1118. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/frame.h +0 -0
  1119. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/functor_node.h +0 -0
  1120. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/graph.h +0 -0
  1121. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/graph_json.h +0 -0
  1122. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/lag_rows_node.h +0 -0
  1123. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/max_pending.h +0 -0
  1124. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/ordered_merge_node.h +0 -0
  1125. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/output_buffer.h +0 -0
  1126. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/output_join.h +0 -0
  1127. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/reorder_heap.h +0 -0
  1128. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_check.h +0 -0
  1129. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_generic_node.h +0 -0
  1130. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_node.h +0 -0
  1131. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_params.h +0 -0
  1132. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resettable.h +0 -0
  1133. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/select_node.h +0 -0
  1134. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/decycler.h +0 -0
  1135. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dema.h +0 -0
  1136. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/block_extremum.h +0 -0
  1137. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/delay_buffer.h +0 -0
  1138. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/dmi_core.h +0 -0
  1139. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ehlers_sinewave.h +0 -0
  1140. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/fir_core.h +0 -0
  1141. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/hilbert_cycle.h +0 -0
  1142. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/l1_fill.h +0 -0
  1143. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/moment_formulas.h +0 -0
  1144. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/monotonic_deque.h +0 -0
  1145. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ohlc_fill.h +0 -0
  1146. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ohlc_target_engine.h +0 -0
  1147. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/pnl_account.h +0 -0
  1148. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/portfolio_engine.h +0 -0
  1149. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/risk_exits.h +0 -0
  1150. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/robust_window.h +0 -0
  1151. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/rolling_mean.h +0 -0
  1152. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/rolling_sum.h +0 -0
  1153. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/running_moments_op.h +0 -0
  1154. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/shifted_power_sums.h +0 -0
  1155. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/shifted_window_sums.h +0 -0
  1156. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/sizer.h +0 -0
  1157. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/slippage.h +0 -0
  1158. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/start_policy.h +0 -0
  1159. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/target_front.h +0 -0
  1160. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/test_access.h +0 -0
  1161. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/time_regression.h +0 -0
  1162. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/trades_fill.h +0 -0
  1163. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/wilder_smoother.h +0 -0
  1164. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/window_moments_op.h +0 -0
  1165. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detrend.h +0 -0
  1166. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/diff.h +0 -0
  1167. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/diff2.h +0 -0
  1168. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dominant_cycle.h +0 -0
  1169. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/donchian_channels.h +0 -0
  1170. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/drawdown.h +0 -0
  1171. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dx.h +0 -0
  1172. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/effective_spread.h +0 -0
  1173. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_alpha.h +0 -0
  1174. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_beta.h +0 -0
  1175. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_corr.h +0 -0
  1176. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_cov.h +0 -0
  1177. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_kurt.h +0 -0
  1178. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_mean.h +0 -0
  1179. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_residual_std.h +0 -0
  1180. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_rms.h +0 -0
  1181. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_skew.h +0 -0
  1182. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_spread.h +0 -0
  1183. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_std.h +0 -0
  1184. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_var.h +0 -0
  1185. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_yang_zhang.h +0 -0
  1186. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_zscore.h +0 -0
  1187. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_kurt.h +0 -0
  1188. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_max.h +0 -0
  1189. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_mean.h +0 -0
  1190. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_min.h +0 -0
  1191. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_prod.h +0 -0
  1192. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_skew.h +0 -0
  1193. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_slope.h +0 -0
  1194. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_std.h +0 -0
  1195. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_sum.h +0 -0
  1196. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_var.h +0 -0
  1197. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ffill.h +0 -0
  1198. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/fillna.h +0 -0
  1199. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/first.h +0 -0
  1200. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/frac_diff.h +0 -0
  1201. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/garman_klass.h +0 -0
  1202. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/geometry.h +0 -0
  1203. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hampel.h +0 -0
  1204. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hawkes_intensity.h +0 -0
  1205. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hilbert_phasor.h +0 -0
  1206. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hold.h +0 -0
  1207. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hull_ma.h +0 -0
  1208. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/impulse_clip.h +0 -0
  1209. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/instantaneous_trendline.h +0 -0
  1210. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kalman_filter.h +0 -0
  1211. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kalman_regression.h +0 -0
  1212. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kama.h +0 -0
  1213. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/keltner_channels.h +0 -0
  1214. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/lag.h +0 -0
  1215. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/last.h +0 -0
  1216. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/lee_ready_sign.h +0 -0
  1217. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/linear.h +0 -0
  1218. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/linear2.h +0 -0
  1219. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/log_return.h +0 -0
  1220. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/logic.h +0 -0
  1221. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/macd.h +0 -0
  1222. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/mama.h +0 -0
  1223. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/max_drawdown.h +0 -0
  1224. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/mfi.h +0 -0
  1225. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/micro_price.h +0 -0
  1226. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/microstructure_synonyms.h +0 -0
  1227. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/minus_di.h +0 -0
  1228. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/minus_dm.h +0 -0
  1229. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/momentum.h +0 -0
  1230. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/moving_average.h +0 -0
  1231. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/natr.h +0 -0
  1232. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/obv.h +0 -0
  1233. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ofi.h +0 -0
  1234. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/parkinson.h +0 -0
  1235. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/plus_di.h +0 -0
  1236. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/plus_dm.h +0 -0
  1237. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/portfolio_report.h +0 -0
  1238. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/power.h +0 -0
  1239. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/propagator.h +0 -0
  1240. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/realized_spread.h +0 -0
  1241. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/return.h +0 -0
  1242. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roc.h +0 -0
  1243. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rocp.h +0 -0
  1244. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rocr.h +0 -0
  1245. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rogers_satchell.h +0 -0
  1246. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roll_spread.h +0 -0
  1247. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_adf.h +0 -0
  1248. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_alpha.h +0 -0
  1249. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_argmax.h +0 -0
  1250. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_argmin.h +0 -0
  1251. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_beta.h +0 -0
  1252. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_calmar.h +0 -0
  1253. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_corr.h +0 -0
  1254. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_cov.h +0 -0
  1255. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_cvar.h +0 -0
  1256. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_downside_deviation.h +0 -0
  1257. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_hit_rate.h +0 -0
  1258. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_hurst.h +0 -0
  1259. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_info_ratio.h +0 -0
  1260. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_iqr.h +0 -0
  1261. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_kurt.h +0 -0
  1262. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_linear_regression.h +0 -0
  1263. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_mad.h +0 -0
  1264. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_max.h +0 -0
  1265. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_max_drawdown.h +0 -0
  1266. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_mean.h +0 -0
  1267. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_median.h +0 -0
  1268. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_median_ad.h +0 -0
  1269. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_min.h +0 -0
  1270. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_min_max.h +0 -0
  1271. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_omega.h +0 -0
  1272. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_ou.h +0 -0
  1273. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_percentile.h +0 -0
  1274. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_poly1.h +0 -0
  1275. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_poly2.h +0 -0
  1276. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_quantile.h +0 -0
  1277. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_range.h +0 -0
  1278. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rank.h +0 -0
  1279. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_residual_std.h +0 -0
  1280. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rms.h +0 -0
  1281. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rsi.h +0 -0
  1282. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sharpe.h +0 -0
  1283. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sigma_clip.h +0 -0
  1284. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_skew.h +0 -0
  1285. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sortino.h +0 -0
  1286. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_spread.h +0 -0
  1287. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_std.h +0 -0
  1288. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sum.h +0 -0
  1289. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_tls_beta.h +0 -0
  1290. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_tsf.h +0 -0
  1291. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_var.h +0 -0
  1292. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_zscore.h +0 -0
  1293. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roofing_filter.h +0 -0
  1294. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/schmitt_trigger.h +0 -0
  1295. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/bessel.h +0 -0
  1296. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/butter.h +0 -0
  1297. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/ehlers.h +0 -0
  1298. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/signal.h +0 -0
  1299. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/stoch.h +0 -0
  1300. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/stoch_rsi.h +0 -0
  1301. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/collector_sink.h +0 -0
  1302. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/combine_latest.h +0 -0
  1303. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/driver.h +0 -0
  1304. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/event.h +0 -0
  1305. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/functor_node.h +0 -0
  1306. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/join_plan.h +0 -0
  1307. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/merge_rows.h +0 -0
  1308. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/merge_source.h +0 -0
  1309. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/py_index.h +0 -0
  1310. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/py_source.h +0 -0
  1311. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/split.h +0 -0
  1312. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/vector_source.h +0 -0
  1313. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/super_smoother.h +0 -0
  1314. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/tema.h +0 -0
  1315. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/tick_rule_sign.h +0 -0
  1316. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/transform_functions.h +0 -0
  1317. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trend_mode.h +0 -0
  1318. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trima.h +0 -0
  1319. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trix.h +0 -0
  1320. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/true_range.h +0 -0
  1321. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ultimate_oscillator.h +0 -0
  1322. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/position_test.h +0 -0
  1323. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/scoring.h +0 -0
  1324. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/sharpe.h +0 -0
  1325. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/strategy_test.h +0 -0
  1326. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/vpin.h +0 -0
  1327. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/vwap.h +0 -0
  1328. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/williams_r.h +0 -0
  1329. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/wma.h +0 -0
  1330. {screamer-3.0.2 → screamer-3.2.0}/include/screamer/yang_zhang.h +0 -0
  1331. {screamer-3.0.2 → screamer-3.2.0}/js/.gitignore +0 -0
  1332. {screamer-3.0.2 → screamer-3.2.0}/js/README.md +0 -0
  1333. {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/README.md +0 -0
  1334. {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/batch_gate.mjs +0 -0
  1335. {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/streams.mjs +0 -0
  1336. {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/throughput.mjs +0 -0
  1337. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/environments.md +0 -0
  1338. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/getting-started.md +0 -0
  1339. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/index.md +0 -0
  1340. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/lifecycle.md +0 -0
  1341. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/live-demo.md +0 -0
  1342. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/parity.md +0 -0
  1343. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/pipeline.md +0 -0
  1344. {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/regimes.md +0 -0
  1345. {screamer-3.0.2 → screamer-3.2.0}/js/examples/live-trades.html +0 -0
  1346. {screamer-3.0.2 → screamer-3.2.0}/js/package-lock.json +0 -0
  1347. {screamer-3.0.2 → screamer-3.2.0}/js/package.json +0 -0
  1348. {screamer-3.0.2 → screamer-3.2.0}/js/scripts/cjs-wasm-module.mjs +0 -0
  1349. {screamer-3.0.2 → screamer-3.2.0}/js/scripts/copy-generated.mjs +0 -0
  1350. {screamer-3.0.2 → screamer-3.2.0}/js/scripts/dump-codes.ts +0 -0
  1351. {screamer-3.0.2 → screamer-3.2.0}/js/scripts/pack-smoke.sh +0 -0
  1352. {screamer-3.0.2 → screamer-3.2.0}/js/scripts/patch-glue.mjs +0 -0
  1353. {screamer-3.0.2 → screamer-3.2.0}/js/src/backtest.ts +0 -0
  1354. {screamer-3.0.2 → screamer-3.2.0}/js/src/codes.ts +0 -0
  1355. {screamer-3.0.2 → screamer-3.2.0}/js/src/combinators.ts +0 -0
  1356. {screamer-3.0.2 → screamer-3.2.0}/js/src/combine.ts +0 -0
  1357. {screamer-3.0.2 → screamer-3.2.0}/js/src/errors.ts +0 -0
  1358. {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/ops.d.ts +0 -0
  1359. {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/ops.ts +0 -0
  1360. {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/screamer.d.mts +0 -0
  1361. {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/screamer.mjs.d.ts +0 -0
  1362. {screamer-3.0.2 → screamer-3.2.0}/js/src/index.ts +0 -0
  1363. {screamer-3.0.2 → screamer-3.2.0}/js/src/kinds.ts +0 -0
  1364. {screamer-3.0.2 → screamer-3.2.0}/js/src/loader.ts +0 -0
  1365. {screamer-3.0.2 → screamer-3.2.0}/js/src/merge.ts +0 -0
  1366. {screamer-3.0.2 → screamer-3.2.0}/js/src/ndarray.ts +0 -0
  1367. {screamer-3.0.2 → screamer-3.2.0}/js/src/node.ts +0 -0
  1368. {screamer-3.0.2 → screamer-3.2.0}/js/src/pipeline.ts +0 -0
  1369. {screamer-3.0.2 → screamer-3.2.0}/js/src/pipeline_io.ts +0 -0
  1370. {screamer-3.0.2 → screamer-3.2.0}/js/src/runtime.ts +0 -0
  1371. {screamer-3.0.2 → screamer-3.2.0}/js/src/shape.ts +0 -0
  1372. {screamer-3.0.2 → screamer-3.2.0}/js/src/split.ts +0 -0
  1373. {screamer-3.0.2 → screamer-3.2.0}/js/src/supervised.ts +0 -0
  1374. {screamer-3.0.2 → screamer-3.2.0}/js/src/wasm_module.ts +0 -0
  1375. {screamer-3.0.2 → screamer-3.2.0}/js/test/align_outputs.test.ts +0 -0
  1376. {screamer-3.0.2 → screamer-3.2.0}/js/test/backtest_exits.test.ts +0 -0
  1377. {screamer-3.0.2 → screamer-3.2.0}/js/test/backtest_report.test.ts +0 -0
  1378. {screamer-3.0.2 → screamer-3.2.0}/js/test/bundle.test.ts +0 -0
  1379. {screamer-3.0.2 → screamer-3.2.0}/js/test/combinators.test.ts +0 -0
  1380. {screamer-3.0.2 → screamer-3.2.0}/js/test/combine_latest_parity.test.ts +0 -0
  1381. {screamer-3.0.2 → screamer-3.2.0}/js/test/container_consistency.test.ts +0 -0
  1382. {screamer-3.0.2 → screamer-3.2.0}/js/test/cross_section.test.ts +0 -0
  1383. {screamer-3.0.2 → screamer-3.2.0}/js/test/dag_lifetime.test.ts +0 -0
  1384. {screamer-3.0.2 → screamer-3.2.0}/js/test/dag_parity.test.ts +0 -0
  1385. {screamer-3.0.2 → screamer-3.2.0}/js/test/direct_forms.test.ts +0 -0
  1386. {screamer-3.0.2 → screamer-3.2.0}/js/test/ehlers_parity.test.ts +0 -0
  1387. {screamer-3.0.2 → screamer-3.2.0}/js/test/empty_widths.test.ts +0 -0
  1388. {screamer-3.0.2 → screamer-3.2.0}/js/test/feed_kinds.test.ts +0 -0
  1389. {screamer-3.0.2 → screamer-3.2.0}/js/test/field_axis.test.ts +0 -0
  1390. {screamer-3.0.2 → screamer-3.2.0}/js/test/final_review.test.ts +0 -0
  1391. {screamer-3.0.2 → screamer-3.2.0}/js/test/fix_round1.test.ts +0 -0
  1392. {screamer-3.0.2 → screamer-3.2.0}/js/test/forecast_pairs.test.ts +0 -0
  1393. {screamer-3.0.2 → screamer-3.2.0}/js/test/input_count.test.ts +0 -0
  1394. {screamer-3.0.2 → screamer-3.2.0}/js/test/lifecycle.test.ts +0 -0
  1395. {screamer-3.0.2 → screamer-3.2.0}/js/test/live.test.ts +0 -0
  1396. {screamer-3.0.2 → screamer-3.2.0}/js/test/loader.test.ts +0 -0
  1397. {screamer-3.0.2 → screamer-3.2.0}/js/test/merge.test.ts +0 -0
  1398. {screamer-3.0.2 → screamer-3.2.0}/js/test/microstructure.test.ts +0 -0
  1399. {screamer-3.0.2 → screamer-3.2.0}/js/test/moment_stability.test.ts +0 -0
  1400. {screamer-3.0.2 → screamer-3.2.0}/js/test/node_widths.test.ts +0 -0
  1401. {screamer-3.0.2 → screamer-3.2.0}/js/test/ops.test.ts +0 -0
  1402. {screamer-3.0.2 → screamer-3.2.0}/js/test/pairs.test.ts +0 -0
  1403. {screamer-3.0.2 → screamer-3.2.0}/js/test/parity.test.ts +0 -0
  1404. {screamer-3.0.2 → screamer-3.2.0}/js/test/pipeline.test.ts +0 -0
  1405. {screamer-3.0.2 → screamer-3.2.0}/js/test/pipeline_io.test.ts +0 -0
  1406. {screamer-3.0.2 → screamer-3.2.0}/js/test/portfolio.test.ts +0 -0
  1407. {screamer-3.0.2 → screamer-3.2.0}/js/test/property.test.ts +0 -0
  1408. {screamer-3.0.2 → screamer-3.2.0}/js/test/reducer.test.ts +0 -0
  1409. {screamer-3.0.2 → screamer-3.2.0}/js/test/regimes.test.ts +0 -0
  1410. {screamer-3.0.2 → screamer-3.2.0}/js/test/resample_carry.test.ts +0 -0
  1411. {screamer-3.0.2 → screamer-3.2.0}/js/test/runtime.test.ts +0 -0
  1412. {screamer-3.0.2 → screamer-3.2.0}/js/test/setting_kinds.test.ts +0 -0
  1413. {screamer-3.0.2 → screamer-3.2.0}/js/test/shape.test.ts +0 -0
  1414. {screamer-3.0.2 → screamer-3.2.0}/js/test/shape_contract.test.ts +0 -0
  1415. {screamer-3.0.2 → screamer-3.2.0}/js/test/soak.test.ts +0 -0
  1416. {screamer-3.0.2 → screamer-3.2.0}/js/test/split.test.ts +0 -0
  1417. {screamer-3.0.2 → screamer-3.2.0}/js/test/stream_robustness.test.ts +0 -0
  1418. {screamer-3.0.2 → screamer-3.2.0}/js/test/streaming_contract.test.ts +0 -0
  1419. {screamer-3.0.2 → screamer-3.2.0}/js/test/types/options.types.ts +0 -0
  1420. {screamer-3.0.2 → screamer-3.2.0}/js/test/types/position_test.types.ts +0 -0
  1421. {screamer-3.0.2 → screamer-3.2.0}/js/test/walk_forward.test.ts +0 -0
  1422. {screamer-3.0.2 → screamer-3.2.0}/js/tsconfig.cjs.json +0 -0
  1423. {screamer-3.0.2 → screamer-3.2.0}/js/tsconfig.json +0 -0
  1424. {screamer-3.0.2 → screamer-3.2.0}/js/typedoc.json +0 -0
  1425. {screamer-3.0.2 → screamer-3.2.0}/poetry.lock +0 -0
  1426. {screamer-3.0.2 → screamer-3.2.0}/pytest.ini +0 -0
  1427. {screamer-3.0.2 → screamer-3.2.0}/screamer/_async.py +0 -0
  1428. {screamer-3.0.2 → screamer-3.2.0}/screamer/_functor_params.py +0 -0
  1429. {screamer-3.0.2 → screamer-3.2.0}/screamer/backtest.py +0 -0
  1430. {screamer-3.0.2 → screamer-3.2.0}/screamer/dag.py +0 -0
  1431. {screamer-3.0.2 → screamer-3.2.0}/screamer/dag_io.py +0 -0
  1432. {screamer-3.0.2 → screamer-3.2.0}/screamer/dag_viz.py +0 -0
  1433. {screamer-3.0.2 → screamer-3.2.0}/screamer/microstructure.py +0 -0
  1434. {screamer-3.0.2 → screamer-3.2.0}/screamer/shape.py +0 -0
  1435. {screamer-3.0.2 → screamer-3.2.0}/screamer/streams.py +0 -0
  1436. {screamer-3.0.2 → screamer-3.2.0}/screamer/supervised.py +0 -0
  1437. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/async_generator.cpp +0 -0
  1438. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/base.cpp +0 -0
  1439. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/dispatch.cpp +0 -0
  1440. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/functor_base.cpp +0 -0
  1441. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/math.cpp +0 -0
  1442. {screamer-3.0.2 → screamer-3.2.0}/src/screamer/detail/start_policy.cpp +0 -0
  1443. {screamer-3.0.2 → screamer-3.2.0}/tasks.py +0 -0
  1444. {screamer-3.0.2 → screamer-3.2.0}/tests/__init__.py +0 -0
  1445. {screamer-3.0.2 → screamer-3.2.0}/tests/_dag_oracle.py +0 -0
  1446. {screamer-3.0.2 → screamer-3.2.0}/tests/_memory.py +0 -0
  1447. {screamer-3.0.2 → screamer-3.2.0}/tests/_oracle_fresh.py +0 -0
  1448. {screamer-3.0.2 → screamer-3.2.0}/tests/param_cases.py +0 -0
  1449. {screamer-3.0.2 → screamer-3.2.0}/tests/regime_helpers.py +0 -0
  1450. {screamer-3.0.2 → screamer-3.2.0}/tests/test_adx_and_volume.py +0 -0
  1451. {screamer-3.0.2 → screamer-3.2.0}/tests/test_arithmetic.py +0 -0
  1452. {screamer-3.0.2 → screamer-3.2.0}/tests/test_async_overhead.py +0 -0
  1453. {screamer-3.0.2 → screamer-3.2.0}/tests/test_atr_family.py +0 -0
  1454. {screamer-3.0.2 → screamer-3.2.0}/tests/test_backtest.py +0 -0
  1455. {screamer-3.0.2 → screamer-3.2.0}/tests/test_backtest_nan_labels.py +0 -0
  1456. {screamer-3.0.2 → screamer-3.2.0}/tests/test_baseline_coverage.py +0 -0
  1457. {screamer-3.0.2 → screamer-3.2.0}/tests/test_baseline_defaults.py +0 -0
  1458. {screamer-3.0.2 → screamer-3.2.0}/tests/test_baselines.py +0 -0
  1459. {screamer-3.0.2 → screamer-3.2.0}/tests/test_batch_stream_bitwise.py +0 -0
  1460. {screamer-3.0.2 → screamer-3.2.0}/tests/test_bayesian_regression.py +0 -0
  1461. {screamer-3.0.2 → screamer-3.2.0}/tests/test_bench_pipeline_gate.py +0 -0
  1462. {screamer-3.0.2 → screamer-3.2.0}/tests/test_bool_settings.py +0 -0
  1463. {screamer-3.0.2 → screamer-3.2.0}/tests/test_broadcasting.py +0 -0
  1464. {screamer-3.0.2 → screamer-3.2.0}/tests/test_build_help_registry.py +0 -0
  1465. {screamer-3.0.2 → screamer-3.2.0}/tests/test_channels_and_yz.py +0 -0
  1466. {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_latest_flush.py +0 -0
  1467. {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_latest_multicolumn.py +0 -0
  1468. {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_oracle_fresh.py +0 -0
  1469. {screamer-3.0.2 → screamer-3.2.0}/tests/test_compat.py +0 -0
  1470. {screamer-3.0.2 → screamer-3.2.0}/tests/test_container_consistency.py +0 -0
  1471. {screamer-3.0.2 → screamer-3.2.0}/tests/test_contract_compliance.py +0 -0
  1472. {screamer-3.0.2 → screamer-3.2.0}/tests/test_cross_section.py +0 -0
  1473. {screamer-3.0.2 → screamer-3.2.0}/tests/test_cumulative.py +0 -0
  1474. {screamer-3.0.2 → screamer-3.2.0}/tests/test_cycle.py +0 -0
  1475. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_build.py +0 -0
  1476. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_codes_sync.py +0 -0
  1477. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_compile.py +0 -0
  1478. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_delay.py +0 -0
  1479. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_dropna.py +0 -0
  1480. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_engine.py +0 -0
  1481. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_exec.py +0 -0
  1482. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_identity.py +0 -0
  1483. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_io.py +0 -0
  1484. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_lazy.py +0 -0
  1485. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_public_api.py +0 -0
  1486. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_resample.py +0 -0
  1487. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_select.py +0 -0
  1488. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_stream.py +0 -0
  1489. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_viz.py +0 -0
  1490. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_watermark.py +0 -0
  1491. {screamer-3.0.2 → screamer-3.2.0}/tests/test_devtools_help.py +0 -0
  1492. {screamer-3.0.2 → screamer-3.2.0}/tests/test_diff2.py +0 -0
  1493. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dmi.py +0 -0
  1494. {screamer-3.0.2 → screamer-3.2.0}/tests/test_doc_coverage.py +0 -0
  1495. {screamer-3.0.2 → screamer-3.2.0}/tests/test_docstrings.py +0 -0
  1496. {screamer-3.0.2 → screamer-3.2.0}/tests/test_documented_defaults.py +0 -0
  1497. {screamer-3.0.2 → screamer-3.2.0}/tests/test_dropna_node_backing.py +0 -0
  1498. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_filters.py +0 -0
  1499. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_known_signals.py +0 -0
  1500. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_oracle_fresh.py +0 -0
  1501. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_trendline_paths.py +0 -0
  1502. {screamer-3.0.2 → screamer-3.2.0}/tests/test_empty_widths.py +0 -0
  1503. {screamer-3.0.2 → screamer-3.2.0}/tests/test_evalop.py +0 -0
  1504. {screamer-3.0.2 → screamer-3.2.0}/tests/test_evalop_registry.py +0 -0
  1505. {screamer-3.0.2 → screamer-3.2.0}/tests/test_event_counters_64bit.py +0 -0
  1506. {screamer-3.0.2 → screamer-3.2.0}/tests/test_event_iterators.py +0 -0
  1507. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ew_moments.py +0 -0
  1508. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ew_pair.py +0 -0
  1509. {screamer-3.0.2 → screamer-3.2.0}/tests/test_expanding.py +0 -0
  1510. {screamer-3.0.2 → screamer-3.2.0}/tests/test_extremum_worst_case.py +0 -0
  1511. {screamer-3.0.2 → screamer-3.2.0}/tests/test_fc_round1.py +0 -0
  1512. {screamer-3.0.2 → screamer-3.2.0}/tests/test_feed_length.py +0 -0
  1513. {screamer-3.0.2 → screamer-3.2.0}/tests/test_field_axis_order.py +0 -0
  1514. {screamer-3.0.2 → screamer-3.2.0}/tests/test_filter_gate.py +0 -0
  1515. {screamer-3.0.2 → screamer-3.2.0}/tests/test_filter_node_graph.py +0 -0
  1516. {screamer-3.0.2 → screamer-3.2.0}/tests/test_first_last.py +0 -0
  1517. {screamer-3.0.2 → screamer-3.2.0}/tests/test_frac_diff.py +0 -0
  1518. {screamer-3.0.2 → screamer-3.2.0}/tests/test_functor_params.py +0 -0
  1519. {screamer-3.0.2 → screamer-3.2.0}/tests/test_gc_and_soak.py +0 -0
  1520. {screamer-3.0.2 → screamer-3.2.0}/tests/test_geometry.py +0 -0
  1521. {screamer-3.0.2 → screamer-3.2.0}/tests/test_hampel.py +0 -0
  1522. {screamer-3.0.2 → screamer-3.2.0}/tests/test_hold.py +0 -0
  1523. {screamer-3.0.2 → screamer-3.2.0}/tests/test_hostile_inputs.py +0 -0
  1524. {screamer-3.0.2 → screamer-3.2.0}/tests/test_impulse_clip.py +0 -0
  1525. {screamer-3.0.2 → screamer-3.2.0}/tests/test_index_overflow.py +0 -0
  1526. {screamer-3.0.2 → screamer-3.2.0}/tests/test_inplace_inputs.py +0 -0
  1527. {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_containers.py +0 -0
  1528. {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_dtypes.py +0 -0
  1529. {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_kinds.py +0 -0
  1530. {screamer-3.0.2 → screamer-3.2.0}/tests/test_int_settings.py +0 -0
  1531. {screamer-3.0.2 → screamer-3.2.0}/tests/test_io_size.py +0 -0
  1532. {screamer-3.0.2 → screamer-3.2.0}/tests/test_kalman_diffuse.py +0 -0
  1533. {screamer-3.0.2 → screamer-3.2.0}/tests/test_kama.py +0 -0
  1534. {screamer-3.0.2 → screamer-3.2.0}/tests/test_lazy_iterator_lifetime.py +0 -0
  1535. {screamer-3.0.2 → screamer-3.2.0}/tests/test_lazy_streaming.py +0 -0
  1536. {screamer-3.0.2 → screamer-3.2.0}/tests/test_length1_rank_dispatch.py +0 -0
  1537. {screamer-3.0.2 → screamer-3.2.0}/tests/test_linear2.py +0 -0
  1538. {screamer-3.0.2 → screamer-3.2.0}/tests/test_live_flush_ends_input.py +0 -0
  1539. {screamer-3.0.2 → screamer-3.2.0}/tests/test_logic_ops.py +0 -0
  1540. {screamer-3.0.2 → screamer-3.2.0}/tests/test_macd.py +0 -0
  1541. {screamer-3.0.2 → screamer-3.2.0}/tests/test_math_transforms.py +0 -0
  1542. {screamer-3.0.2 → screamer-3.2.0}/tests/test_matrix.py +0 -0
  1543. {screamer-3.0.2 → screamer-3.2.0}/tests/test_merge_lazy_cpp.py +0 -0
  1544. {screamer-3.0.2 → screamer-3.2.0}/tests/test_merge_wide.py +0 -0
  1545. {screamer-3.0.2 → screamer-3.2.0}/tests/test_microstructure.py +0 -0
  1546. {screamer-3.0.2 → screamer-3.2.0}/tests/test_microstructure_named_inputs.py +0 -0
  1547. {screamer-3.0.2 → screamer-3.2.0}/tests/test_module_loader.py +0 -0
  1548. {screamer-3.0.2 → screamer-3.2.0}/tests/test_moment_stability.py +0 -0
  1549. {screamer-3.0.2 → screamer-3.2.0}/tests/test_momentum_family.py +0 -0
  1550. {screamer-3.0.2 → screamer-3.2.0}/tests/test_moving_averages.py +0 -0
  1551. {screamer-3.0.2 → screamer-3.2.0}/tests/test_multi_producer_order.py +0 -0
  1552. {screamer-3.0.2 → screamer-3.2.0}/tests/test_multi_resample_dict.py +0 -0
  1553. {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_input_compliance.py +0 -0
  1554. {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_start_policy_compliance.py +0 -0
  1555. {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_warmup.py +0 -0
  1556. {screamer-3.0.2 → screamer-3.2.0}/tests/test_no_cpp_error_text.py +0 -0
  1557. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ntuple_input.py +0 -0
  1558. {screamer-3.0.2 → screamer-3.2.0}/tests/test_null_oracle_fresh.py +0 -0
  1559. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ohlc_volatility.py +0 -0
  1560. {screamer-3.0.2 → screamer-3.2.0}/tests/test_one_input_multi_output.py +0 -0
  1561. {screamer-3.0.2 → screamer-3.2.0}/tests/test_op_config_shape.py +0 -0
  1562. {screamer-3.0.2 → screamer-3.2.0}/tests/test_oscillators_hlc.py +0 -0
  1563. {screamer-3.0.2 → screamer-3.2.0}/tests/test_overlays.py +0 -0
  1564. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pairs.py +0 -0
  1565. {screamer-3.0.2 → screamer-3.2.0}/tests/test_parity_registration.py +0 -0
  1566. {screamer-3.0.2 → screamer-3.2.0}/tests/test_performance_risk.py +0 -0
  1567. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_align_outputs.py +0 -0
  1568. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_feed_kinds.py +0 -0
  1569. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_io.py +0 -0
  1570. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_merge_paths.py +0 -0
  1571. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_node_widths.py +0 -0
  1572. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_owns_state.py +0 -0
  1573. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_property.py +0 -0
  1574. {screamer-3.0.2 → screamer-3.2.0}/tests/test_portfolio.py +0 -0
  1575. {screamer-3.0.2 → screamer-3.2.0}/tests/test_portfolio_packed.py +0 -0
  1576. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pos_neg_part.py +0 -0
  1577. {screamer-3.0.2 → screamer-3.2.0}/tests/test_pure_headers.py +0 -0
  1578. {screamer-3.0.2 → screamer-3.2.0}/tests/test_range_volatility.py +0 -0
  1579. {screamer-3.0.2 → screamer-3.2.0}/tests/test_readonly_inputs.py +0 -0
  1580. {screamer-3.0.2 → screamer-3.2.0}/tests/test_regression_family.py +0 -0
  1581. {screamer-3.0.2 → screamer-3.2.0}/tests/test_regression_stability.py +0 -0
  1582. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_advance.py +0 -0
  1583. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_bar_watermark.py +0 -0
  1584. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_bars.py +0 -0
  1585. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_clock.py +0 -0
  1586. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_columns.py +0 -0
  1587. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_cumulative.py +0 -0
  1588. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_dict_agg.py +0 -0
  1589. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_fill.py +0 -0
  1590. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_freq_window.py +0 -0
  1591. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_functor_agg.py +0 -0
  1592. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_ohlcv.py +0 -0
  1593. {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_settings_shared.py +0 -0
  1594. {screamer-3.0.2 → screamer-3.2.0}/tests/test_reshape.py +0 -0
  1595. {screamer-3.0.2 → screamer-3.2.0}/tests/test_risk_stats.py +0 -0
  1596. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_argmin_argmax.py +0 -0
  1597. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_corr.py +0 -0
  1598. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_hurst.py +0 -0
  1599. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_iqr.py +0 -0
  1600. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_mad.py +0 -0
  1601. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_median_ad.py +0 -0
  1602. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_range.py +0 -0
  1603. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_rsi.py +0 -0
  1604. {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_two_input.py +0 -0
  1605. {screamer-3.0.2 → screamer-3.2.0}/tests/test_scalar_call_speed.py +0 -0
  1606. {screamer-3.0.2 → screamer-3.2.0}/tests/test_schmitt_trigger.py +0 -0
  1607. {screamer-3.0.2 → screamer-3.2.0}/tests/test_select_node_backing.py +0 -0
  1608. {screamer-3.0.2 → screamer-3.2.0}/tests/test_setting_kinds.py +0 -0
  1609. {screamer-3.0.2 → screamer-3.2.0}/tests/test_shape_contract.py +0 -0
  1610. {screamer-3.0.2 → screamer-3.2.0}/tests/test_shape_module.py +0 -0
  1611. {screamer-3.0.2 → screamer-3.2.0}/tests/test_signal.py +0 -0
  1612. {screamer-3.0.2 → screamer-3.2.0}/tests/test_split_memory.py +0 -0
  1613. {screamer-3.0.2 → screamer-3.2.0}/tests/test_start_policies.py +0 -0
  1614. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stoch.py +0 -0
  1615. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_columns.py +0 -0
  1616. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_robustness.py +0 -0
  1617. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_type.py +0 -0
  1618. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_vs_batch.py +0 -0
  1619. {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_vs_generator.py +0 -0
  1620. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_combine.py +0 -0
  1621. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_combine_latest.py +0 -0
  1622. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_core.py +0 -0
  1623. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_delay.py +0 -0
  1624. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_equal_index.py +0 -0
  1625. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_identity.py +0 -0
  1626. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_merge.py +0 -0
  1627. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_polymorphism.py +0 -0
  1628. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_public_api.py +0 -0
  1629. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_resample.py +0 -0
  1630. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_select.py +0 -0
  1631. {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_shape.py +0 -0
  1632. {screamer-3.0.2 → screamer-3.2.0}/tests/test_supervised_forecast_pairs.py +0 -0
  1633. {screamer-3.0.2 → screamer-3.2.0}/tests/test_tensor.py +0 -0
  1634. {screamer-3.0.2 → screamer-3.2.0}/tests/test_third_party_alignment.py +0 -0
  1635. {screamer-3.0.2 → screamer-3.2.0}/tests/test_ts_api_fresh.py +0 -0
  1636. {screamer-3.0.2 → screamer-3.2.0}/tests/test_v1_api_hardening.py +0 -0
  1637. {screamer-3.0.2 → screamer-3.2.0}/tests/test_view.py +0 -0
  1638. {screamer-3.0.2 → screamer-3.2.0}/tests/test_walk_forward.py +0 -0
  1639. {screamer-3.0.2 → screamer-3.2.0}/tests/test_wasm_codegen_fresh.py +0 -0
  1640. {screamer-3.0.2 → screamer-3.2.0}/tests/test_williams_r.py +0 -0
  1641. {screamer-3.0.2 → screamer-3.2.0}/tests/test_wma.py +0 -0
  1642. {screamer-3.0.2 → screamer-3.2.0}/tests/test_zero_d_beside_array.py +0 -0
  1643. {screamer-3.0.2 → screamer-3.2.0}/wasm/.gitignore +0 -0
  1644. {screamer-3.0.2 → screamer-3.2.0}/wasm/CMakeLists.txt +0 -0
  1645. {screamer-3.0.2 → screamer-3.2.0}/wasm/backtest_bindings.cpp +0 -0
  1646. {screamer-3.0.2 → screamer-3.2.0}/wasm/build-wasm.sh +0 -0
  1647. {screamer-3.0.2 → screamer-3.2.0}/wasm/dag_bindings.cpp +0 -0
  1648. {screamer-3.0.2 → screamer-3.2.0}/wasm/dag_embind.h +0 -0
  1649. {screamer-3.0.2 → screamer-3.2.0}/wasm/embind_runtime.h +0 -0
  1650. {screamer-3.0.2 → screamer-3.2.0}/wasm/exception_message.cpp +0 -0
  1651. {screamer-3.0.2 → screamer-3.2.0}/wasm/generated/bindings_wasm.cpp +0 -0
  1652. {screamer-3.0.2 → screamer-3.2.0}/wasm/graph_json_bindings.cpp +0 -0
  1653. {screamer-3.0.2 → screamer-3.2.0}/wasm/join_bindings.cpp +0 -0
  1654. {screamer-3.0.2 → screamer-3.2.0}/wasm/merge_bindings.cpp +0 -0
  1655. {screamer-3.0.2 → screamer-3.2.0}/wasm/shape_bindings.cpp +0 -0
  1656. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/dag_oracle.json +0 -0
  1657. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/field_axis_oracle.json +0 -0
  1658. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/null_oracle.json +0 -0
  1659. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle.json +0 -0
  1660. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_backtest.json +0 -0
  1661. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_combine_latest.json +0 -0
  1662. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_ehlers.json +0 -0
  1663. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_forecast_pairs.json +0 -0
  1664. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_micro.json +0 -0
  1665. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_reducer.json +0 -0
  1666. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_split.json +0 -0
  1667. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/pipeline_io_js.json +0 -0
  1668. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/pipeline_io_oracle.json +0 -0
  1669. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/shape_oracle.json +0 -0
  1670. {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/smoke.mjs +0 -0
  1671. {screamer-3.0.2 → screamer-3.2.0}/wasm/split_bindings.cpp +0 -0
  1672. {screamer-3.0.2 → screamer-3.2.0}/wasm/validation_bindings.cpp +0 -0
@@ -5,6 +5,36 @@ All notable changes to this project are documented in this file.
5
5
  Unreleased
6
6
  ----------
7
7
 
8
+ 3.2.0 - 2026-10-14
9
+ ------------------
10
+
11
+ ### Changed
12
+
13
+ * `segment_shuffle`, and `position_test` / `positionTest` with
14
+ `method="segments"`, never place two runs of the same value next to each
15
+ other. Before, two such runs could merge into one longer trade, so a
16
+ shuffled copy could trade less and pay less cost than the real strategy,
17
+ which pushed the p-value up whenever the backtest had costs: on a long/short
18
+ signal with no flat stretches the copies made about half the trades. Every
19
+ copy now changes position as often as the original. Results for
20
+ `method="segments"` change for any seed; there is no way to get the old
21
+ shuffle, which was biased.
22
+
23
+ ### Fixed
24
+
25
+ * The built-in help (`help.json`) for `VPIN`, `Dropna`, `Resample` and `split`
26
+ is up to date with their documentation pages again.
27
+
28
+ 3.1.0 - 2026-10-14
29
+ ------------------
30
+
31
+ ### Changed
32
+
33
+ * screamer is built with nanobind 3.1.0 (was 2.13.0). Results and timings are
34
+ unchanged. The local nanobind patch now also fixes a crash when a Python
35
+ class that subclasses a screamer operator sets a `__module__` that UTF-8
36
+ cannot encode.
37
+
8
38
  3.0.2 - 2026-10-14
9
39
  ------------------
10
40
 
@@ -1,5 +1,5 @@
1
1
  cmake_minimum_required(VERSION 3.18)
2
- project(screamer VERSION 3.0.2 LANGUAGES CXX)
2
+ project(screamer VERSION 3.2.0 LANGUAGES CXX)
3
3
 
4
4
  # Set the default build type to Release for optimizations
5
5
  if(NOT CMAKE_BUILD_TYPE)
@@ -47,24 +47,26 @@ set(LOCAL_CACHE_DIR ${CMAKE_SOURCE_DIR}/_local_deps)
47
47
 
48
48
  # nanobind replaces pybind11 (migration 2026-08). nanobind has STABLE_ABI from
49
49
  # Python 3.12+, which collapses the release wheel matrix to one abi3 wheel per
50
- # platform. v2.13.0 (bumped from v2.9.2 for 3.0.0) fixes crashes on an object
51
- # whose class has a non-str __module__. See
52
- # docs/superpowers/plans/2026-08-01-nanobind-migration.md.
50
+ # platform. v3.1.0 (bumped from v2.13.0) brings faster attribute lookups and
51
+ # function dispatch. See docs/superpowers/plans/2026-08-01-nanobind-migration.md.
53
52
  #
54
53
  # Pinned by commit, with a local patch, cmake/nanobind-surrogate-module.patch,
55
- # for two crashes of v2.13.0 and nanobind master that are not yet fixed upstream
56
- # (report both; remove each hunk when its fix lands):
57
- # 1. nb_type_name() and nb_func_render_signature() tolerate a __module__ that
58
- # is not valid UTF-8 (for example '\udc80').
59
- # 2. make_mt_from_buffer_protocol() (nb_ndarray.cpp) divides view->strides[i]
60
- # without a NULL check. A ctypes array and a NumPy datetime64/timedelta64
61
- # scalar export a buffer with strides == NULL, so any nb::ndarray argument
62
- # given one segfaulted. The patch reads NULL strides as C-contiguous.
63
- # screamer also refuses those values before any ndarray cast (TypeError,
64
- # cast_double.h is_foreign_value).
54
+ # for crashes of v3.1.0 that are fixed in open upstream PRs (remove each hunk
55
+ # when its fix is released):
56
+ # 1. wjakob/nanobind#1455: an error message holding a str that UTF-8 cannot
57
+ # encode (a lone surrogate such as '\udc80', from a class's __module__ or an
58
+ # exception message) segfaulted. Buffer::put_pystr() escapes it instead.
59
+ # The patch also uses it in nb_type_init() (nb_type.cpp), where subclassing
60
+ # a bound type with such a __module__ segfaulted; not yet reported upstream.
61
+ # 2. wjakob/nanobind#1454: make_mt_from_buffer_protocol() (nb_ndarray.cpp) read
62
+ # view->strides[i] without a NULL check. A ctypes array and a NumPy
63
+ # datetime64/timedelta64 scalar export a buffer with strides == NULL, so any
64
+ # nb::ndarray argument given one segfaulted. The patch reads NULL strides as
65
+ # C-contiguous. screamer also refuses those values before any ndarray cast
66
+ # (TypeError, cast_double.h is_foreign_value).
65
67
  # A version bump must re-check that the patch still applies (configure fails
66
68
  # loudly when it does not).
67
- set(SCREAMER_NANOBIND_VERSION "2.13.0")
69
+ set(SCREAMER_NANOBIND_VERSION "3.1.0")
68
70
  set(SCREAMER_NANOBIND_PATCH "${CMAKE_SOURCE_DIR}/cmake/nanobind-surrogate-module.patch")
69
71
 
70
72
  if(EXISTS "${LOCAL_CACHE_DIR}/nanobind")
@@ -92,7 +94,7 @@ else()
92
94
  FetchContent_Declare(
93
95
  nanobind
94
96
  GIT_REPOSITORY https://github.com/wjakob/nanobind.git
95
- GIT_TAG e2dc00f7a34f935c6cf91948776d59c4709e9fe6 # v2.13.0
97
+ GIT_TAG 68480a9e6883bb1bf65e1925423321e2a89d07f9 # v3.1.0
96
98
  UPDATE_DISCONNECTED ON
97
99
  PATCH_COMMAND "${CMAKE_COMMAND}" -DSRC=<SOURCE_DIR>
98
100
  -DPATCH=${SCREAMER_NANOBIND_PATCH}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: screamer
3
- Version: 3.0.2
3
+ Version: 3.2.0
4
4
  Summary: Screamingly fast financial technical indicators with C++ performance and Python simplicity, built for both time series analysis and real-time, event-driven streaming.
5
5
  Keywords: streaming,indicators,real-time,algorithmic,trading,low-latency
6
6
  Author-Email: Thijs van den Berg <thijs@sitmo.com>
@@ -74,7 +74,7 @@ namespace nanobind { namespace detail {
74
74
  template <> struct type_caster<screamer::PerAsset> {
75
75
  NB_TYPE_CASTER(screamer::PerAsset, const_name("float | Sequence[float]"))
76
76
 
77
- bool from_python(handle src, uint8_t flags, cleanup_list* cleanup) noexcept {
77
+ bool from_python(handle src, uint32_t flags, cleanup_list* cleanup) noexcept {
78
78
  if (!PySequence_Check(src.ptr())) {
79
79
  if (screamer::bool_kind(src.ptr())) return false; // a bool is not a number setting
80
80
  const double d = PyFloat_AsDouble(src.ptr());
@@ -1173,7 +1173,8 @@ void init_bindings_fin(nb::module_& m) {
1173
1173
  nb::list out;
1174
1174
  for (const auto& st : sv::kStats)
1175
1175
  out.append(nb::make_tuple(st.name, sv::stat_source_name(st.source), st.column,
1176
- st.larger < 0 ? nb::none() : nb::bool_(st.larger == 1)));
1176
+ st.larger < 0 ? nb::object(nb::none())
1177
+ : nb::object(nb::bool_(st.larger == 1))));
1177
1178
  return out;
1178
1179
  });
1179
1180
  m.def("_backtest_report", &backtest_report_py, "values"_a, "periods_per_year"_a.none());
@@ -0,0 +1,135 @@
1
+ diff --git a/src/buffer.h b/src/buffer.h
2
+ index f574826..e48a6cd 100644
3
+ --- a/src/buffer.h
4
+ +++ b/src/buffer.h
5
+ @@ -47,6 +47,26 @@ public:
6
+ /// Append a dynamic string
7
+ void put_dstr(const char *str) { put(str, strlen(str)); }
8
+
9
+ + /// Append a Python 'str'. One that UTF-8 cannot encode (e.g. holding a
10
+ + /// lone surrogate) is appended with backslash escapes instead.
11
+ + void put_pystr(PyObject *o) {
12
+ + Py_ssize_t size;
13
+ + const char *s = PyUnicode_AsUTF8AndSize(o, &size);
14
+ + if (s) {
15
+ + put(s, (size_t) size);
16
+ + return;
17
+ + }
18
+ + PyErr_Clear();
19
+ + PyObject *b = PyUnicode_AsEncodedString(o, "utf-8", "backslashreplace");
20
+ + if (b) {
21
+ + put_dstr(PyBytes_AsString(b));
22
+ + Py_DECREF(b);
23
+ + } else {
24
+ + PyErr_Clear();
25
+ + put("<unencodable str>");
26
+ + }
27
+ + }
28
+ +
29
+ /// Append a single character to the buffer
30
+ void put(char c) {
31
+ if (m_cur + 1 >= m_end)
32
+ diff --git a/src/error.cpp b/src/error.cpp
33
+ index bd2f3f0..498a902 100644
34
+ --- a/src/error.cpp
35
+ +++ b/src/error.cpp
36
+ @@ -166,14 +166,14 @@ const char *error_what(error_payload *p) noexcept {
37
+ try {
38
+ object name = steal(raise_if_null(
39
+ PyObject_GetAttrString(exc_type.ptr(), "__name__")));
40
+ - exc_buf.put_dstr(borrow<str>(name).c_str());
41
+ + exc_buf.put_pystr(name.ptr());
42
+ exc_buf.put(": ");
43
+ } catch (...) { PyErr_Clear(); }
44
+ }
45
+
46
+ if (exc_value.is_valid()) {
47
+ try {
48
+ - exc_buf.put_dstr(str(exc_value).c_str());
49
+ + exc_buf.put_pystr(str(exc_value).ptr());
50
+ } catch (...) {
51
+ PyErr_Clear();
52
+ exc_buf.put("<exception str() failed>");
53
+ diff --git a/src/nb_func.cpp b/src/nb_func.cpp
54
+ index 5a98252..fa71f8b 100644
55
+ --- a/src/nb_func.cpp
56
+ +++ b/src/nb_func.cpp
57
+ @@ -574,7 +574,7 @@ nb_func_error_overload(PyObject *self, PyObject *const *args_in,
58
+ buf.put("\nInvoked with types: ");
59
+ for (size_t i = 0; i < nargs_in; ++i) {
60
+ str name = steal<str>(nb_inst_name(args_in[i]));
61
+ - buf.put_dstr(name.c_str());
62
+ + buf.put_pystr(name.ptr());
63
+ if (i + 1 < nargs_in)
64
+ buf.put(", ");
65
+ }
66
+ @@ -597,7 +597,7 @@ nb_func_error_overload(PyObject *self, PyObject *const *args_in,
67
+ buf.put_dstr(key_cstr);
68
+ buf.put(": ");
69
+ str name = steal<str>(nb_inst_name(value));
70
+ - buf.put_dstr(name.c_str());
71
+ + buf.put_pystr(name.ptr());
72
+ buf.put(", ");
73
+ }
74
+ buf.rewind(2);
75
+ diff --git a/src/nb_ndarray.cpp b/src/nb_ndarray.cpp
76
+ index 521a725..2fc51fa 100644
77
+ --- a/src/nb_ndarray.cpp
78
+ +++ b/src/nb_ndarray.cpp
79
+ @@ -550,14 +550,23 @@ static mt_unique_ptr_t make_mt_from_buffer_protocol(PyObject *o, bool ro) {
80
+ mt->dltensor.byte_offset = 0UL;
81
+
82
+ const int64_t itemsize = (int64_t) view->itemsize;
83
+ - for (int32_t i = 0; i < ndim; ++i) {
84
+ - int64_t stride = view->strides[i] / itemsize;
85
+ - if (stride * itemsize != view->strides[i]) {
86
+ - PyBuffer_Release(view.get());
87
+ - return mt_unique_ptr;
88
+ - }
89
+ - strides[i] = stride;
90
+ + // An exporter may leave 'strides' NULL even though PyBUF_STRIDES was
91
+ + // requested (e.g. ctypes arrays, NumPy scalars). The buffer is then
92
+ + // C-contiguous.
93
+ + int64_t contig_stride = 1;
94
+ + for (int32_t i = ndim - 1; i >= 0; --i) {
95
+ shape[i] = (int64_t) view->shape[i];
96
+ + if (view->strides) {
97
+ + int64_t stride = view->strides[i] / itemsize;
98
+ + if (stride * itemsize != view->strides[i]) {
99
+ + PyBuffer_Release(view.get());
100
+ + return mt_unique_ptr;
101
+ + }
102
+ + strides[i] = stride;
103
+ + } else {
104
+ + strides[i] = contig_stride;
105
+ + contig_stride *= shape[i];
106
+ + }
107
+ }
108
+
109
+ mt->version = {dlpack::major_version, dlpack::minor_version};
110
+ diff --git a/src/nb_type.cpp b/src/nb_type.cpp
111
+ index 04fe8f8..e6893ca 100644
112
+ --- a/src/nb_type.cpp
113
+ +++ b/src/nb_type.cpp
114
+ @@ -8,6 +8,7 @@
115
+ */
116
+
117
+ #include "nb_internals.h"
118
+ +#include "buffer.h"
119
+ #include "nb_ft.h"
120
+
121
+
122
+ @@ -741,8 +742,12 @@ static NB_NOINLINE int nb_type_init_py(PyTypeObject *self) {
123
+ return -1;
124
+ }
125
+
126
+ + // The name may hold a str that UTF-8 cannot encode (from a hostile
127
+ + // '__module__'); put_pystr() escapes it
128
+ PyObject *name_o = nb_type_name((PyObject *) self);
129
+ - char *name = strdup_check(PyUnicode_AsUTF8AndSize(name_o, nullptr));
130
+ + Buffer name_buf(64);
131
+ + name_buf.put_pystr(name_o);
132
+ + char *name = strdup_check(name_buf.get());
133
+ Py_DECREF(name_o);
134
+
135
+ // Assemble the record locally, it is published as a whole below
@@ -174,6 +174,20 @@ The recipe [Is my backtest significant?](recipes/significance-test.md) runs
174
174
  `position_test` on a real tape and on a market with built-in momentum, and
175
175
  computes `probabilistic_sharpe` for the result.
176
176
 
177
+ Which test answers which question:
178
+
179
+ | Question | Test | Randomizes | Reruns the strategy | Example |
180
+ |---|---|---|---|---|
181
+ | Does the timing beat random timing with the same trades? | `position_test` | when the trades happen | no | [Is my strategy's timing real?](notebooks/20-is-the-timing-real.ipynb) |
182
+ | Does the best of several variants survive the choice? | `position_test` with a `(T, K)` target, `family_p_value` | all variants' timing together | no | [Is my backtest significant?](recipes/significance-test.md) |
183
+ | Does a tuned or fitted strategy beat the same procedure on random markets? | `strategy_test`, `method="bars"` or `"returns"` | the market's bars or returns | yes | [I tuned my parameters. Is the result real?](notebooks/21-is-the-tuned-result-real.ipynb) |
184
+ | Does a feature carry information? | `strategy_test`, `method="shift"` | the features' alignment with the market | yes | [Does my feature carry information?](notebooks/22-does-the-feature-carry-information.ipynb) |
185
+ | Is the Sharpe ratio above zero, or above the best of the variants tried? | `probabilistic_sharpe`, `deflated_sharpe` | nothing (analytic) | no | [Is my backtest significant?](recipes/significance-test.md) |
186
+
187
+ `position_test` keeps the strategy's exposure in every randomized run, so a
188
+ long-biased strategy in a rising market is tested on its timing only, not on
189
+ the trend it rides.
190
+
177
191
  ## Selection
178
192
 
179
193
  If you try many variants (parameters, signals, filters) and report the best,
@@ -148,6 +148,11 @@ The test checks one fixed target series. If the strategy was fitted, tuned, or
148
148
  selected on the same data, that choice also inflates the result, and this test
149
149
  does not see it. [`strategy_test`](strategy_test.md) re-runs the whole strategy
150
150
  on permuted market data and covers it.
151
+ The notebook
152
+ [I tuned my parameters. Is the result real?](../notebooks/21-is-the-tuned-result-real.ipynb)
153
+ shows the difference on a strategy tuned on a random walk, and
154
+ [Is my strategy's timing real?](../notebooks/20-is-the-timing-real.ipynb) is a
155
+ short worked example of this test.
151
156
 
152
157
  ## Examples
153
158
 
@@ -20,14 +20,20 @@ topics:
20
20
  # `segment_shuffle`
21
21
 
22
22
  Returns `n` copies of a series as a `(T, n)` array. The series is split into
23
- runs of equal value, and each copy writes the runs back in a random order. For a
24
- target-position series, each trade and each flat stretch is one run, so every
25
- copy holds exactly the same trades, with the same sides, sizes, and holding
26
- periods, at random times.
23
+ runs of equal value, and each copy writes the runs back in a random order in
24
+ which no two neighbouring runs have the same value. For a target-position
25
+ series, each trade and each flat stretch is one run, so every copy holds exactly
26
+ the same trades, with the same sides, sizes, and holding periods, at random
27
+ times, and changes position as often as the original.
28
+
29
+ Two neighbouring runs of the same value would merge into one longer trade, and
30
+ a copy with fewer trades pays less cost, which would bias a test with costs.
31
+ When the series alternates between two values with nothing in between, such as
32
+ a long/short signal with no flat stretches, the runs can only alternate, so the
33
+ copies keep the alternation and move the run lengths.
27
34
 
28
35
  The leading NaN warmup stays in place. A NaN inside the series is a run of its
29
- own, like any other value. Two runs with the same value can end up next to each
30
- other and then read as one longer run.
36
+ own, like any other value.
31
37
 
32
38
  The function is batch-only and runs in C++. Each column has its own generator,
33
39
  seeded from `seed` and the column number, so the same seed gives the same
@@ -105,6 +105,12 @@ distributions and scatter plots as shown in
105
105
  `periods_per_year` annualizes the ratios. The same `seed` gives the same
106
106
  randomized inputs in Python and JavaScript.
107
107
 
108
+ Worked examples:
109
+ [I tuned my parameters. Is the result real?](../notebooks/21-is-the-tuned-result-real.ipynb)
110
+ (`method="bars"`) and
111
+ [Does my feature carry information?](../notebooks/22-does-the-feature-carry-information.ipynb)
112
+ (`method="shift"`).
113
+
108
114
  ## Examples
109
115
 
110
116
  A trend-following strategy on two markets: one whose returns have momentum, and
@@ -0,0 +1,155 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "0acd5223",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Is my strategy's timing real?\n",
9
+ "\n",
10
+ "[`position_test`](../functions_fin/position_test.md) keeps your strategy's\n",
11
+ "trades and moves them to random times, then reruns each copy through the same\n",
12
+ "backtest engine. The p-value is the share of random timings that do at least as\n",
13
+ "well as yours. A small p-value says the timing carries information.\n",
14
+ "\n",
15
+ "The data: one-minute bars of six hours of BTC perpetual trades."
16
+ ]
17
+ },
18
+ {
19
+ "cell_type": "code",
20
+ "execution_count": null,
21
+ "id": "ba4e0928",
22
+ "metadata": {
23
+ "tags": [
24
+ "hide-input"
25
+ ]
26
+ },
27
+ "outputs": [],
28
+ "source": [
29
+ "import numpy as np\n",
30
+ "import pandas as pd\n",
31
+ "import matplotlib.pyplot as plt\n",
32
+ "from screamer import (Resample, EwMean, LogReturn, Sign, FillNa, BacktestOHLCTarget,\n",
33
+ " position_test)\n",
34
+ "\n",
35
+ "trades = pd.read_csv(\"data/deribit_btc_perp_6h.csv\")\n",
36
+ "bars, _ = Resample(freq=60_000, agg=\"ohlc\")(trades[\"price\"].to_numpy(),\n",
37
+ " trades[\"timestamp\"].to_numpy())\n",
38
+ "o, h, l, c = bars.T"
39
+ ]
40
+ },
41
+ {
42
+ "cell_type": "markdown",
43
+ "id": "a100ffb7",
44
+ "metadata": {},
45
+ "source": [
46
+ "## Test a strategy"
47
+ ]
48
+ },
49
+ {
50
+ "cell_type": "code",
51
+ "execution_count": null,
52
+ "id": "1fbe4c41",
53
+ "metadata": {},
54
+ "outputs": [],
55
+ "source": [
56
+ "signal = Sign()(FillNa(0.0)(EwMean(span=10)(LogReturn()(c)))) # follow the recent trend\n",
57
+ "engine = BacktestOHLCTarget(taker_fee=5e-4)\n",
58
+ "\n",
59
+ "res = position_test(engine, signal, o, h, l, c, n=999)\n",
60
+ "print(f\"Sharpe per bar {res.observed:+.3f}, p = {res.p_value:.3f}\")"
61
+ ]
62
+ },
63
+ {
64
+ "cell_type": "markdown",
65
+ "id": "c3796e1a",
66
+ "metadata": {},
67
+ "source": [
68
+ "## Look at every statistic\n",
69
+ "\n",
70
+ "The p-value covers one statistic, the Sharpe ratio. `res.null_stats` holds every\n",
71
+ "[`backtest_report`](../functions_fin/backtest_report.md) statistic of each\n",
72
+ "random timing, and `res.observed_stats` those of the real run, so you can place\n",
73
+ "the real run on two statistics at once. Each dot is one random timing; the star\n",
74
+ "is your strategy."
75
+ ]
76
+ },
77
+ {
78
+ "cell_type": "code",
79
+ "execution_count": null,
80
+ "id": "a115e3b7",
81
+ "metadata": {},
82
+ "outputs": [],
83
+ "source": [
84
+ "null, real = res.null_stats, res.observed_stats\n",
85
+ "fig, axes = plt.subplots(1, 2, figsize=(10, 3.5))\n",
86
+ "for ax, (x, y) in zip(axes, [(\"sharpe\", \"max_drawdown\"), (\"total_pnl\", \"win_rate\")]):\n",
87
+ " ax.scatter(null[x], null[y], s=6, color=\"lightsteelblue\", label=\"random timing\")\n",
88
+ " ax.scatter(real[x], real[y], s=250, marker=\"*\", color=\"crimson\", label=\"your strategy\")\n",
89
+ " ax.set_xlabel(x); ax.set_ylabel(y)\n",
90
+ "axes[0].legend(fontsize=8)\n",
91
+ "plt.tight_layout()"
92
+ ]
93
+ },
94
+ {
95
+ "cell_type": "markdown",
96
+ "id": "8aec7968",
97
+ "metadata": {},
98
+ "source": [
99
+ "The star sits inside the cloud on both views: six hours of data give no\n",
100
+ "evidence that this trend rule's timing beats chance. The\n",
101
+ "[significance recipe](../recipes/significance-test.md) runs the same test on a\n",
102
+ "market where the rule has an edge.\n",
103
+ "\n",
104
+ "## Shift or segments\n",
105
+ "\n",
106
+ "`method=\"shift\"` (the default) rotates the whole position series by a random\n",
107
+ "offset, so the trades keep their order and clustering. `method=\"segments\"`\n",
108
+ "shuffles the order of the trades, which also breaks their clustering. Use it to\n",
109
+ "check that the result does not hinge on a few trades in one favourable\n",
110
+ "stretch."
111
+ ]
112
+ },
113
+ {
114
+ "cell_type": "code",
115
+ "execution_count": null,
116
+ "id": "98ad65c2",
117
+ "metadata": {},
118
+ "outputs": [],
119
+ "source": [
120
+ "for method in (\"shift\", \"segments\"):\n",
121
+ " p = position_test(engine, signal, o, h, l, c, n=999, method=method).p_value\n",
122
+ " print(f\"{method:8s} p = {p:.3f}\")"
123
+ ]
124
+ },
125
+ {
126
+ "cell_type": "markdown",
127
+ "id": "95682df5",
128
+ "metadata": {},
129
+ "source": [
130
+ "## Adapt it\n",
131
+ "\n",
132
+ "- Pass your own target series and engine: `position_test(engine, target, *market)`\n",
133
+ " takes the same arguments as `engine(target, *market)`.\n",
134
+ "- Choose the statistic with `metric=` (`\"total_pnl\"`, `\"sortino\"`,\n",
135
+ " `\"max_drawdown\"`, ...) and annualize ratios with `periods_per_year=`.\n",
136
+ "- Tried several variants? Pass them as one `(T, K)` target and read\n",
137
+ " `family_p_value`.\n",
138
+ "- Tuned the strategy on this data? `position_test` cannot see the tuning; see\n",
139
+ " [I tuned my parameters. Is the result real?](21-is-the-tuned-result-real.ipynb)."
140
+ ]
141
+ }
142
+ ],
143
+ "metadata": {
144
+ "kernelspec": {
145
+ "display_name": "Python 3",
146
+ "language": "python",
147
+ "name": "python3"
148
+ },
149
+ "language_info": {
150
+ "name": "python"
151
+ }
152
+ },
153
+ "nbformat": 4,
154
+ "nbformat_minor": 5
155
+ }