[pull] master from polakowo:master#62
Merged
Merged
Conversation
Reorganize pyproject.toml to flatten the full/full-no-talib extras into a single 'full' extra that includes TA-Lib directly. Replace deprecated np.int_ with np.int64 in test assertions to fix numpy compatibility. Also remove development.md from .gitignore.
Introduce a new `init_temp_records` option (default `False`) across portfolio simulation entry points and settings, and thread it through dispatch and numba simulation paths. When enabled, temporary order/log/position record buffers are initialized with sentinel values so callbacks see predictable unused records; when disabled, initialization is skipped for speed. Rust bindings now accept the flag for API parity, and tests were expanded to cover callback visibility, row-wise/flexible paths, and Rust/Numba parity for the new argument.
Refactors multiple test function names across engine, plotting, portfolio, and records test modules to use shorter, more consistent naming. This improves readability and test suite maintainability without changing test behavior.
Extend `TestRecordsRustParity` to assert that `top_n_mapped_mask` and `bottom_n_mapped_mask` with `engine="rust"` return all-false masks when `n=0`. This covers an edge case and keeps Rust behavior aligned with expected mask semantics.
Update Rust and Numba implementations to return `NaN` instead of raising `ZeroDivisionError` for degenerate inputs. This affects annualized return, conditional value at risk, and normalized average index when inputs are empty, too short, or contain no signals. Parity tests were updated to assert `NaN` outputs across both engines.
Updates the project for the new runtime stack by dropping Python 3.10, adding Python 3.14 in CI/publishing, and tightening supported Python to >=3.11,<3.15. Bumps core dependencies (setuptools, numpy, pandas, numba, maturin) and aligns the Rust extension with newer pyo3/numpy/rand APIs, including broad migration from deprecated bound/allow_threads patterns. Also adjusts Python-side wrappers, indexing, mapping, records, and generic accessors for pandas 3 dtype/behavior changes, and updates tests/conftest normalization logic to keep assertions stable across newer pandas/string/datetime handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )