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.
- {screamer-3.0.2 → screamer-3.2.0}/CHANGELOG.md +30 -0
- {screamer-3.0.2 → screamer-3.2.0}/CMakeLists.txt +18 -16
- {screamer-3.0.2 → screamer-3.2.0}/PKG-INFO +1 -1
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_fin.cpp +3 -2
- screamer-3.2.0/cmake/nanobind-surrogate-module.patch +135 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/backtesting_best_practices.md +14 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/position_test.md +5 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/segment_shuffle.md +12 -6
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/strategy_test.md +6 -0
- screamer-3.2.0/docs/notebooks/20-is-the-timing-real.ipynb +155 -0
- screamer-3.2.0/docs/notebooks/21-is-the-tuned-result-real.ipynb +255 -0
- screamer-3.2.0/docs/notebooks/22-does-the-feature-carry-information.ipynb +137 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/README.md +3 -1
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/index.md +21 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/significance-test.md +4 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/int_arg.h +3 -3
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/surrogates.h +68 -9
- {screamer-3.0.2 → screamer-3.2.0}/js/src/validation.ts +3 -1
- {screamer-3.0.2 → screamer-3.2.0}/js/test/validation.test.ts +1 -1
- {screamer-3.0.2 → screamer-3.2.0}/pyproject.toml +3 -3
- {screamer-3.0.2 → screamer-3.2.0}/screamer/__init__.py +1 -1
- {screamer-3.0.2 → screamer-3.2.0}/screamer/data/help.json +5 -5
- {screamer-3.0.2 → screamer-3.2.0}/screamer/validation.py +4 -2
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_validation.py +40 -1
- screamer-3.0.2/cmake/nanobind-surrogate-module.patch +0 -94
- {screamer-3.0.2 → screamer-3.2.0}/.gitattributes +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/build-wheels.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/docs.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/js-docs.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/js-publish.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.github/workflows/tests.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.gitignore +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/.readthedocs.yaml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/AUTHORS.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/CODE_OF_CONDUCT.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/CONTRIBUTING.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/LICENSE +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/Makefile +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/README.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/SECURITY.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/__init__.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/_compare/COMPARISON.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/_compare/comparison.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/build_compiled.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_comparison_tables.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_plots.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_rank_plot.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/make_speed_chart.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/reference_impls.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/run_benchmarks.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/run_streaming_benchmarks.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/streaming_compiled.pyx +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/benchmarks/streaming_impls.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_core.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_dag.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_ew.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_expanding.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_math.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_micro.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_misc.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_preprocessing.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_rolling.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_signal.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/bindings/bindings_streams.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/cmake/apply_nanobind_patch.cmake +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/__init__.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/AD.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADOSC.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADX.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ADXR.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ATR.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Abs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Acos.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Add.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/And.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Asin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Atan.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Atan2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/BOP.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/BandSignal.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Butter.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterBandpass.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterBandstop.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ButterHighpass.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CCI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cart2Polar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Ceil.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Clip.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cos.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Cube.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumMax.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumMin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumProd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/CumSum.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/DEMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/DX.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Decycler.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Detrend.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Diff.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Diff2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Div.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Drawdown.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Elu.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Equal.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Erf.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Erfc.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwAlpha.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwBeta.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwCorr.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwCov.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwGarmanKlassVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwKurt.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwMean.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwParkinsonVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwResidualStd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwRms.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwRogersSatchellVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwSkew.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwSpread.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwStd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwYangZhangVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/EwZscore.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Exp.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingKurt.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMax.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMean.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingMin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingProd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSkew.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSlope.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingStd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingSum.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ExpandingVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Ffill.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/FillNa.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/First.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Floor.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/FracDiff.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/GreaterEqual.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/GreaterThan.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/HawkesIntensity.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Hold.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/HullMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Hypot.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Identity.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/IsFinite.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/IsNan.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/KAMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/KalmanFilter.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Lag.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Last.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LessEqual.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LessThan.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Linear.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Linear2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Log.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/LogReturn.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MACD.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MAMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MFI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MaxDrawdown.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MinusDI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MinusDM.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Momentum.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/MovingAverage.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Mul.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NATR.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NegPart.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Not.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/NotEqual.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/OBV.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Or.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PlusDI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PlusDM.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Polar2Cart.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/PosPart.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Power.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROC.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROCP.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/ROCR.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Relu.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Return.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingADF.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingArgmax.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingArgmin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingBeta.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingCorr.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingCov.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingGarmanKlassVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingHitRate.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingIqr.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingKurt.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMad.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMax.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMean.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMedian.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMedianAD.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingMin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingOU.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingParkinsonVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingPoly1.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingPoly2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingQuantile.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRSI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRange.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRms.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingRogersSatchellVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSigmaClip.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSkew.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingStd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingSum.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingTLSBeta.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingVWAP.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingYangZhangVar.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RollingZscore.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/RoofingFilter.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Round.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/SchmittTrigger.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Selu.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sigmoid.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sign.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sin.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Softsign.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sqrt.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Square.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Stoch.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/StochRSI.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Sub.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/SuperSmoother.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TEMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TRIMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TRIX.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Tanh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/TrueRange.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/UltimateOscillator.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/WMA.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/Where.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/WilliamsR.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/__init__.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/_ohlc_vol.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/baselines/_windowing.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_all_ops.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_baseline_pre_fpcontract.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/bench_pipeline.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/build_function_index.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/build_gallery.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/build_help_registry.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/build_topic_pages.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/check_pure_headers.sh +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/compat_baseline_2.8.0.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/compat_probe.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit.trades.btc-perpetual.20230804T000000.20230805T000000.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit.trades.eth-perpetual.20230804T000000.20230805T000000.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/data/deribit_trade_download.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/design_experiments/interface_v2.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/bars.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/javascript.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/gallery_snippets/microstructure.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/generate_screamer__init__.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/inject_nan_footnote.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/pipeline_io_cases.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/prompts/template_baseline.txt +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/prompts/template_doc.txt +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/report_baselines.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/report_binding.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/report_class_args.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/report_docs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/stream_diagrams.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/topics.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_combine_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_dag_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_ehlers_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_field_axis_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_null_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_pipeline_io_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_shape_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_ts_api.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_wasm_bindings.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/gen_wasm_manifest.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/devtools/wasm/wasm_manifest.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/Makefile +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_ext/function_page.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/css/custom.css +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/combine_latest.svg +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/dropna.svg +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/filter.svg +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/diagrams/merge.svg +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__bars.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__javascript.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/capability__microstructure.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossDemean.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossNormalize.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossRank.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossTopBottom.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossWinsorize.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_cross__CrossZscore.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwAlpha.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwBeta.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwCorr.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwCov.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwGarmanKlassVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwGarmanKlassVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwKurt.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwMean.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwParkinsonVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwParkinsonVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwResidualStd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRms.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRogersSatchellVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwRogersSatchellVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwSkew.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwSpread.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwStd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwYangZhangVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwYangZhangVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_ew__EwZscore.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingKurt.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMax.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMean.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingMin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingProd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSkew.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSlope.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingStd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingSum.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_expanding__ExpandingVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestCarry.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1Orders.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1Target.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestL1TradesOrders.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCOrders.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestOHLCVTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPortfolioOHLCTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPortfolioTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestPriceTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestReport.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestStats.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestTradesOrders.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BacktestTradesTarget.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__BayesianRegression.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__Drawdown.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__KalmanRegression.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__LogReturn.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__MaxDrawdown.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROC.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROCP.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__ROCR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__Return.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingADF.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingAlpha.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingBeta.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCVaR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCalmar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCorr.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingCov.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingDownsideDeviation.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingHitRate.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingInfoRatio.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingLinearRegression.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingMaxDrawdown.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingOmega.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingPercentile.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingRank.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingResidualStd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSharpe.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSortino.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingSpread.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingTLSBeta.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__RollingTSF.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__position_test.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_fin__strategy_test.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Abs.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Acos.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Add.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Asin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Atan.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Atan2.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cart2Polar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Ceil.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cos.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Cube.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Div.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Elu.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Equal.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Erf.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Erfc.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Exp.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Floor.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__GreaterEqual.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__GreaterThan.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Hypot.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__LessEqual.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__LessThan.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Linear.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Linear2.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Log.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Mul.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__NegPart.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__NotEqual.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Polar2Cart.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__PosPart.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Power.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Relu.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Round.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Selu.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sigmoid.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sign.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Softsign.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sqrt.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Square.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Sub.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Tanh.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_math__Where.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__AmihudIlliquidity.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__BulkVolumeClassifier.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__ContOFI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__EffectiveSpread.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__EwKyleLambda.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__HawkesIntensity.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__LeeReadySign.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__MicroPrice.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__OFI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__Propagator.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__QueueImbalance.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RealizedSpread.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollSpread.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollingKyleLambda.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__RollingOrderImbalance.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__SignedVolume.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__TickRuleSign.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_micro__VPIN.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumMax.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumMin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumProd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__CumSum.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Detrend.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Diff.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Diff2.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__First.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Lag.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Last.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_misc__Momentum.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__Clip.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__Ffill.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_preprocessing__FillNa.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__AD.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADOSC.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADX.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ADXR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ATR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__BOP.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__BollingerBands.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__CCI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DEMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DX.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__DonchianChannels.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__Hampel.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__HullMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__ImpulseClip.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__KAMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__KeltnerChannels.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MACD.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MFI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MinusDI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__MinusDM.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__NATR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__OBV.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__PlusDI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__PlusDM.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingArgmax.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingArgmin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingGarmanKlassVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingGarmanKlassVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingHurst.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingIqr.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingKurt.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMad.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMax.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMean.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMedian.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMedianAD.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMin.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingMinMax.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingOU.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingParkinsonVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingParkinsonVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingPoly1.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingPoly2.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingQuantile.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRSI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRange.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRms.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRogersSatchellVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingRogersSatchellVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSigmaClip.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSkew.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingStd.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingSum.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingVWAP.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingYangZhangVar.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingYangZhangVol.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__RollingZscore.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__Stoch.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__StochRSI.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TEMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TRIMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TRIX.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__TrueRange.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__UltimateOscillator.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__WMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_rolling__WilliamsR.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__BandSignal.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Butter.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterBandpass.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterBandstop.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__ButterHighpass.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleAmplitude.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleFrequency.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CyclePhase.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__CycleSine.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Decycler.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__DominantCycle.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__FracDiff.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__HilbertPhasor.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__Hold.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__InstantaneousTrendline.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__KalmanFilter.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__MAMA.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__MovingAverage.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__RoofingFilter.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__SchmittTrigger.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__SuperSmoother.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_signal__TrendMode.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/functions_streams__Delay.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/manifest.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__cross-sectional-momentum.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__first-strategy.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__funding-carry.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__live-loop.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__migrating.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__ml-features.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__multi-asset.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__pairs-trade.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__pandas-ohlcv-indicators.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__parameter-grid.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__significance-test.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__stops-and-exits.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__strategy-to-live.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__ticks-to-backtest.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__volatility-sizing.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/_static/gallery/recipes__walk-forward.webp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/backtesting-risk.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/data-prep.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/indicators.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/machine-learning.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/math-logic.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/microstructure.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/portfolio.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/smoothing-filters.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/statistics.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group/streaming.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group_cards.inc +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/by_group_index.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/capabilities.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/changelog.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/choosing_an_operator.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/conf.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/conventions.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/function_index.txt +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossDemean.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossNormalize.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossRank.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossTopBottom.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossWinsorize.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_cross/CrossZscore.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_dag/Pipeline.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwAlpha.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwBeta.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwCorr.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwCov.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwGarmanKlassVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwGarmanKlassVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwKurt.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwMean.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwParkinsonVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwParkinsonVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwResidualStd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRms.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRogersSatchellVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwRogersSatchellVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwSkew.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwSpread.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwStd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwYangZhangVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwYangZhangVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_ew/EwZscore.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingKurt.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMax.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMean.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingMin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingProd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSkew.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSlope.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingStd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingSum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_expanding/ExpandingVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestCarry.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1Orders.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1Target.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestL1TradesOrders.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCOrders.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestOHLCVTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPortfolioOHLCTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPortfolioTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestPriceTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestReport.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestStats.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestTradesOrders.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BacktestTradesTarget.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/BayesianRegression.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/Drawdown.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/KalmanRegression.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/LogReturn.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/MaxDrawdown.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/PortfolioReport.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROC.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROCP.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/ROCR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/Return.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingADF.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingAlpha.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingBeta.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCVaR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCalmar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCorr.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingCov.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingDownsideDeviation.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingHitRate.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingInfoRatio.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingLinearRegression.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingMaxDrawdown.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingOmega.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingPercentile.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingRank.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingResidualStd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSharpe.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSortino.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingSpread.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingTLSBeta.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/RollingTSF.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/backtest_report.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/choosing_a_backtest_engine.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/circular_shift.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/deflated_sharpe.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/permute_bars.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/permute_returns.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/probabilistic_sharpe.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_fin/walk_forward.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Abs.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Acos.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Add.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/And.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Asin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Atan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Atan2.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cart2Polar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Ceil.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cos.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Cube.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Div.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Elu.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Equal.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Erf.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Erfc.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Exp.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Floor.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/GreaterEqual.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/GreaterThan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Hypot.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/IsFinite.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/IsNan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/LessEqual.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/LessThan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Linear.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Linear2.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Log.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Mul.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/NegPart.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Not.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/NotEqual.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Or.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Polar2Cart.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/PosPart.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Power.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Relu.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Round.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Selu.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sigmoid.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Softsign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sqrt.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Square.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Sub.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Tanh.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_math/Where.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/AmihudIlliquidity.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/BulkVolumeClassifier.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/ContOFI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/EffectiveSpread.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/EwKyleLambda.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/HawkesIntensity.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/LeeReadySign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/MicroPrice.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/OFI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/Propagator.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/QueueImbalance.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RealizedSpread.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollSpread.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollingKyleLambda.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/RollingOrderImbalance.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/SignedVolume.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/TickRuleSign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_micro/VPIN.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumMax.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumMin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumProd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/CumSum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Detrend.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Diff.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Diff2.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/First.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Identity.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Lag.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Last.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_misc/Momentum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/Clip.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/Ffill.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_preprocessing/FillNa.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/AD.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADOSC.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADX.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ADXR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ATR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/BOP.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/BollingerBands.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/CCI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DEMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DX.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/DonchianChannels.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/Hampel.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/HullMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/ImpulseClip.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/KAMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/KeltnerChannels.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MACD.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MFI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MinusDI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/MinusDM.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/NATR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/OBV.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/PlusDI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/PlusDM.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingArgmax.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingArgmin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingGarmanKlassVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingGarmanKlassVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingHurst.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingIqr.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingKurt.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMad.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMax.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMean.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMedian.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMedianAD.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMin.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingMinMax.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingOU.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingParkinsonVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingParkinsonVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingPoly1.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingPoly2.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingQuantile.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRSI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRange.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRms.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRogersSatchellVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingRogersSatchellVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSigmaClip.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSkew.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingStd.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingSum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingVWAP.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingYangZhangVar.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingYangZhangVol.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/RollingZscore.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/Stoch.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/StochRSI.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TEMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TRIMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TRIX.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/TrueRange.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/UltimateOscillator.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/WMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_rolling/WilliamsR.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/BandSignal.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Butter.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterBandpass.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterBandstop.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/ButterHighpass.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleAmplitude.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleFrequency.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CyclePhase.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/CycleSine.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Decycler.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/DominantCycle.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/FracDiff.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/HilbertPhasor.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/Hold.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/InstantaneousTrendline.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/KalmanFilter.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/MAMA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/MovingAverage.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/RoofingFilter.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/SchmittTrigger.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/SuperSmoother.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_signal/TrendMode.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/CombineLatest.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Delay.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Dropna.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Filter.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Merge.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Resample.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Select.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/Stream.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/from_pandas.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/reshape.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/split.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_streams/to_pandas.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/functions_supervised/forecast_pairs.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/gallery.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/img/3lines.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/img/per_column.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/img/speed.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/img/speed_chart.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/index.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/installation.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/javascript.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/make.bat +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/microstructure.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/multistream.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/nan_and_warmup.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/01-quickstart-polymorphic-api.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/02-window-statistics.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/03-financial-indicators.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/04-signal-processing.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/05-nan-handling.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/06-streaming-live-events.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/07-multi-stream-operators.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/08-pipelines.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/09-bars-from-ticks.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/10-custom-and-multi-column-bars.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/11-microstructure-order-flow.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/12-microstructure-price-impact.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/13-microstructure-toxicity-and-book.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/14-backtesting-a-signal.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/15-event-driven-backtests.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/16-supervised-forecasting.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/17-filtering-and-forecasting-with-uncertainty.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/18-pairs-and-mean-reversion.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/19-cycle-and-spectral-analysis.ipynb +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/binance_btc_funding.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/binance_daily_20.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/deribit_btc_perp_6h.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/notebooks/data/deribit_eth_perp_6h.csv +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/performance.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/pipelines.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/polymorphic_api.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/portfolio_backtesting.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/cross-sectional-momentum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/first-strategy.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/funding-carry.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/index.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/live-loop.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/migrating.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/ml-features.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/multi-asset.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/pairs-trade.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/pandas-ohlcv-indicators.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/parameter-grid.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/stops-and-exits.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/strategy-to-live.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/ticks-to-backtest.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/volatility-sizing.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/recipes/walk-forward.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/references_index.rst +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/streaming.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-05-20-help-json-structure-refactor.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan1-node-core.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan2-merge-pace.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan3-combine-latest.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan4-filter-split-api.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-02-multistream-plan5-docs-identity.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag1-definition.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2a-evalop-arithmetic.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b1-bulk-evalop.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b2-wide-edge-functornode.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b3-combinelatest-fanout.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b4-compiler.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b5a-streaming.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-dag2b5b-cutover.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-03-demo-notebooks.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-index-model-redesign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-shaping-dag-phaseA.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-04-stream-shaping-dag-phaseB-resample.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-08-windowed-aggregation-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-09-unified-streaming-stage1-functor-core.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage2-dag-lazy-callable.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage3-single-input-operators.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage3b-multi-input-operators.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-10-unified-streaming-stage4-resample-freq.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step1-unify-node-contract.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step2-operator-ports.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3a-filter-mask-gate.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3c-dropna-select-node-backing.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-node-core-step3e-api-collapse-camelcase.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-11-resample-redesign-implementation-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-15-microstructure-flow-operators-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-15-microstructure-flow-operators-tranche-1b-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-18-backtest-fill-models.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-18-docs-navigation-redesign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-20-backtest-engine-suite.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-20-unified-backtest-engine-api.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-22-bayesian-regression.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-22-delay-and-forecast-pairs.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-api-hardening.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-tier3-doc-examples.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-23-v1.0-tier4-onboarding.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-24-delay-watermark-reorder.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-28-resample-infobars-hold.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-adaptive-overlays.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-cycle-core.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-dmi-family.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-07-30-ehlers-filter-foundation.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-01-nanobind-migration.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-js-docs.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase1-base-class-split.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase2-embind-codegen.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase3-ts-api.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase5-dag-pipeline.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-08-02-wasm-phase6-packaging.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-release-3.0.0-issues.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-shape-contract-phase1-addendum.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/plans/2026-10-11-shape-contract-phase1.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/release-3.0.0-issues.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/2026-10-ehlers-review.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_amplitude_sine.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_frequency_sine.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_phase.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/cycle_sine.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_chirp.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_sine.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/dominant_cycle_trend.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/filters_gain.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/hilbert_phasor.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/instantaneous_trendline.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/make_plots.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/mama.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/reviews/ehlers/trend_mode.png +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-05-20-help-json-structure-refactor-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-02-multistream-foundation-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-dag-definition-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-dag2-cpp-engine-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-03-demo-notebooks-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-notebook-docs-integration-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-index-model-redesign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-shaping-dag-phaseA-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-04-stream-shaping-dag-phaseB-resample-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-dag-visualization-serialization-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-despiking-filters-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topic-taxonomy-proposal.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topic-taxonomy-unified-frontmatter-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-06-topics.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-08-multicolumn-bars-lazy-agg-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-08-windowed-aggregation-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-09-unified-streaming-model-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-node-core-step3-api-collapse-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-resample-redesign-freq-agg-functor-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-11-unified-cpp-node-core-architecture-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-15-microstructure-flow-operators-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-16-lazy-path-cpp-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-17-backtest-foundation-signal-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-18-backtest-fill-models-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-18-docs-navigation-redesign.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-backtest-engine-suite-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-schmitt-trigger-initial-state-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-20-unified-backtest-engine-api.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-22-bayesian-regression-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-22-delay-and-forecast-pairs-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-23-v1.0-readiness-assessment.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-24-delay-watermark-reorder-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-28-resample-infobars-hold-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-30-ehlers-cycle-and-dmi-tranche-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-07-30-fracdiff-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-08-02-wasm-js-binding-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-execution-gaps.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-open-decisions.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-backtest-randomization-tests-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-docs-improvement-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-10-portfolio-and-pairs-plan.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/specs/2026-10-11-shape-contract-design.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/CMakeLists.txt +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/REPORT.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/nb_spike.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/smoke_test.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-01-nanobind/spike_helper.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/.gitignore +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/REPORT.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/build.sh +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/driver.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/superpowers/spikes/2026-08-02-wasm/spike.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/topics.yml +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/docs/usage.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/examples/lag_example.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ad.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adosc.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adx.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/adxr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/amihud_illiquidity.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/arithmetic.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/atr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_carry.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1_orders.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_l1trades_orders.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlc_orders.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlc_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_ohlcv_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_portfolio_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_price_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_report.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_stats.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_summary.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_trades_orders.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/backtest_trades_target.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/band_signal.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bayesian_regression.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bollinger_bands.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bop.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/bulk_volume_classifier.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_bandpass.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_bandstop.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/butter_highpass.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cci.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/clip.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/async_generator.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/base.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/buffer.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/cast_double.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/checked_arith.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/column_driver.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/dispatch.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/eval_op.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/finite_settings.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/float_info.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/function_traits.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/functor_base.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/gc.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/int_settings.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/lazy_eval_iterator.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/market_price.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/math.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/order_statistic_tree.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/per_asset.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/py_iter.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/row_op.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/shape.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/skip_nan_column.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/transform.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/common/transform_4.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cont_ofi.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cross_section.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_max.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_min.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_prod.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cum_sum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_amplitude.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_frequency.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_phase.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/cycle_sine.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/broadcast.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/checked_index.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/collector.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/combine_latest_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/combine_stream.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/compiled_graph.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/delay_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/driver.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/dropna_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/filter_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/forecast_pairs.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/frame.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/functor_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/graph.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/graph_json.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/lag_rows_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/max_pending.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/ordered_merge_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/output_buffer.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/output_join.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/reorder_heap.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_check.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_generic_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resample_params.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/resettable.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dag/select_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/decycler.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dema.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/block_extremum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/delay_buffer.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/dmi_core.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ehlers_sinewave.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/fir_core.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/hilbert_cycle.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/l1_fill.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/moment_formulas.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/monotonic_deque.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ohlc_fill.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/ohlc_target_engine.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/pnl_account.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/portfolio_engine.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/risk_exits.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/robust_window.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/rolling_mean.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/rolling_sum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/running_moments_op.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/shifted_power_sums.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/shifted_window_sums.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/sizer.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/slippage.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/start_policy.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/target_front.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/test_access.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/time_regression.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/trades_fill.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/wilder_smoother.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detail/window_moments_op.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/detrend.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/diff.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/diff2.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dominant_cycle.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/donchian_channels.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/drawdown.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/dx.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/effective_spread.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_alpha.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_beta.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_corr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_cov.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_kurt.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_mean.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_residual_std.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_rms.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_skew.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_spread.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_std.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_var.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_yang_zhang.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ew_zscore.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_kurt.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_max.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_mean.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_min.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_prod.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_skew.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_slope.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_std.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_sum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/expanding_var.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ffill.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/fillna.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/first.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/frac_diff.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/garman_klass.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/geometry.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hampel.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hawkes_intensity.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hilbert_phasor.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hold.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/hull_ma.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/impulse_clip.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/instantaneous_trendline.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kalman_filter.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kalman_regression.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/kama.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/keltner_channels.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/lag.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/last.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/lee_ready_sign.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/linear.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/linear2.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/log_return.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/logic.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/macd.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/mama.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/max_drawdown.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/mfi.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/micro_price.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/microstructure_synonyms.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/minus_di.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/minus_dm.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/momentum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/moving_average.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/natr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/obv.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ofi.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/parkinson.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/plus_di.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/plus_dm.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/portfolio_report.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/power.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/propagator.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/realized_spread.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/return.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roc.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rocp.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rocr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rogers_satchell.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roll_spread.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_adf.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_alpha.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_argmax.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_argmin.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_beta.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_calmar.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_corr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_cov.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_cvar.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_downside_deviation.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_hit_rate.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_hurst.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_info_ratio.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_iqr.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_kurt.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_linear_regression.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_mad.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_max.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_max_drawdown.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_mean.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_median.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_median_ad.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_min.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_min_max.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_omega.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_ou.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_percentile.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_poly1.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_poly2.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_quantile.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_range.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rank.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_residual_std.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rms.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_rsi.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sharpe.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sigma_clip.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_skew.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sortino.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_spread.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_std.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_sum.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_tls_beta.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_tsf.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_var.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/rolling_zscore.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/roofing_filter.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/schmitt_trigger.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/bessel.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/butter.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/ehlers.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/signal/signal.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/stoch.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/stoch_rsi.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/collector_sink.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/combine_latest.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/driver.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/event.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/functor_node.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/join_plan.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/merge_rows.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/merge_source.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/py_index.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/py_source.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/split.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/streams/vector_source.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/super_smoother.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/tema.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/tick_rule_sign.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/transform_functions.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trend_mode.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trima.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/trix.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/true_range.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/ultimate_oscillator.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/position_test.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/scoring.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/sharpe.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/validation/strategy_test.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/vpin.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/vwap.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/williams_r.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/wma.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/include/screamer/yang_zhang.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/.gitignore +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/README.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/README.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/batch_gate.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/streams.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/benchmarks/throughput.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/environments.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/getting-started.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/index.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/lifecycle.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/live-demo.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/parity.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/pipeline.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/docs-guide/regimes.md +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/examples/live-trades.html +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/package-lock.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/package.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/scripts/cjs-wasm-module.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/scripts/copy-generated.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/scripts/dump-codes.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/scripts/pack-smoke.sh +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/scripts/patch-glue.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/backtest.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/codes.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/combinators.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/combine.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/errors.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/ops.d.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/ops.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/screamer.d.mts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/generated/screamer.mjs.d.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/index.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/kinds.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/loader.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/merge.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/ndarray.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/node.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/pipeline.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/pipeline_io.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/runtime.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/shape.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/split.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/supervised.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/src/wasm_module.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/align_outputs.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/backtest_exits.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/backtest_report.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/bundle.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/combinators.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/combine_latest_parity.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/container_consistency.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/cross_section.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/dag_lifetime.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/dag_parity.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/direct_forms.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/ehlers_parity.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/empty_widths.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/feed_kinds.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/field_axis.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/final_review.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/fix_round1.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/forecast_pairs.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/input_count.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/lifecycle.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/live.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/loader.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/merge.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/microstructure.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/moment_stability.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/node_widths.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/ops.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/pairs.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/parity.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/pipeline.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/pipeline_io.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/portfolio.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/property.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/reducer.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/regimes.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/resample_carry.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/runtime.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/setting_kinds.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/shape.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/shape_contract.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/soak.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/split.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/stream_robustness.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/streaming_contract.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/types/options.types.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/types/position_test.types.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/test/walk_forward.test.ts +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/tsconfig.cjs.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/tsconfig.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/js/typedoc.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/poetry.lock +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/pytest.ini +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/_async.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/_functor_params.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/backtest.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/dag.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/dag_io.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/dag_viz.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/microstructure.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/shape.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/streams.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/screamer/supervised.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/async_generator.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/base.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/dispatch.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/functor_base.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/common/math.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/src/screamer/detail/start_policy.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tasks.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/__init__.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/_dag_oracle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/_memory.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/_oracle_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/param_cases.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/regime_helpers.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_adx_and_volume.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_arithmetic.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_async_overhead.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_atr_family.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_backtest.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_backtest_nan_labels.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_baseline_coverage.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_baseline_defaults.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_baselines.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_batch_stream_bitwise.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_bayesian_regression.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_bench_pipeline_gate.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_bool_settings.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_broadcasting.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_build_help_registry.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_channels_and_yz.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_latest_flush.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_latest_multicolumn.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_combine_oracle_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_compat.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_container_consistency.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_contract_compliance.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_cross_section.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_cumulative.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_cycle.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_build.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_codes_sync.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_compile.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_delay.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_dropna.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_engine.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_exec.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_identity.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_io.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_lazy.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_public_api.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_resample.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_select.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_stream.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_viz.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dag_watermark.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_devtools_help.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_diff2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dmi.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_doc_coverage.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_docstrings.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_documented_defaults.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_dropna_node_backing.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_filters.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_known_signals.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_oracle_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ehlers_trendline_paths.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_empty_widths.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_evalop.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_evalop_registry.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_event_counters_64bit.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_event_iterators.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ew_moments.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ew_pair.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_expanding.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_extremum_worst_case.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_fc_round1.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_feed_length.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_field_axis_order.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_filter_gate.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_filter_node_graph.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_first_last.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_frac_diff.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_functor_params.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_gc_and_soak.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_geometry.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_hampel.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_hold.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_hostile_inputs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_impulse_clip.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_index_overflow.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_inplace_inputs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_containers.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_dtypes.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_input_kinds.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_int_settings.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_io_size.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_kalman_diffuse.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_kama.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_lazy_iterator_lifetime.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_lazy_streaming.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_length1_rank_dispatch.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_linear2.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_live_flush_ends_input.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_logic_ops.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_macd.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_math_transforms.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_matrix.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_merge_lazy_cpp.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_merge_wide.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_microstructure.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_microstructure_named_inputs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_module_loader.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_moment_stability.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_momentum_family.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_moving_averages.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_multi_producer_order.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_multi_resample_dict.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_input_compliance.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_start_policy_compliance.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_nan_warmup.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_no_cpp_error_text.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ntuple_input.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_null_oracle_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ohlc_volatility.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_one_input_multi_output.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_op_config_shape.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_oscillators_hlc.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_overlays.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pairs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_parity_registration.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_performance_risk.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_align_outputs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_feed_kinds.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_io.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_merge_paths.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_node_widths.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_owns_state.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pipeline_property.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_portfolio.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_portfolio_packed.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pos_neg_part.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_pure_headers.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_range_volatility.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_readonly_inputs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_regression_family.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_regression_stability.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_advance.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_bar_watermark.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_bars.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_clock.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_columns.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_cumulative.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_dict_agg.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_fill.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_freq_window.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_functor_agg.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_ohlcv.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_resample_settings_shared.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_reshape.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_risk_stats.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_argmin_argmax.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_corr.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_hurst.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_iqr.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_mad.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_median_ad.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_range.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_rsi.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_rolling_two_input.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_scalar_call_speed.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_schmitt_trigger.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_select_node_backing.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_setting_kinds.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_shape_contract.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_shape_module.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_signal.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_split_memory.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_start_policies.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stoch.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_columns.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_robustness.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_type.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_vs_batch.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_stream_vs_generator.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_combine.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_combine_latest.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_core.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_delay.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_equal_index.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_identity.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_merge.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_polymorphism.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_public_api.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_resample.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_select.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_streams_shape.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_supervised_forecast_pairs.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_tensor.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_third_party_alignment.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_ts_api_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_v1_api_hardening.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_view.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_walk_forward.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_wasm_codegen_fresh.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_williams_r.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_wma.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/tests/test_zero_d_beside_array.py +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/.gitignore +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/CMakeLists.txt +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/backtest_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/build-wasm.sh +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/dag_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/dag_embind.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/embind_runtime.h +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/exception_message.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/generated/bindings_wasm.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/graph_json_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/join_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/merge_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/shape_bindings.cpp +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/dag_oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/field_axis_oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/null_oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_backtest.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_combine_latest.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_ehlers.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_forecast_pairs.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_micro.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_reducer.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/oracle_split.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/pipeline_io_js.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/pipeline_io_oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/shape_oracle.json +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/smoke/smoke.mjs +0 -0
- {screamer-3.0.2 → screamer-3.2.0}/wasm/split_bindings.cpp +0 -0
- {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
|
+
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.
|
|
51
|
-
#
|
|
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
|
|
56
|
-
#
|
|
57
|
-
# 1.
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
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 "
|
|
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
|
|
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
|
|
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,
|
|
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::
|
|
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
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
periods, at random
|
|
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.
|
|
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
|
+
}
|