Skip to content

[pull] master from polakowo:master#62

Merged
pull[bot] merged 8 commits into
PyQuantSharp:masterfrom
polakowo:master
Jul 5, 2026
Merged

[pull] master from polakowo:master#62
pull[bot] merged 8 commits into
PyQuantSharp:masterfrom
polakowo:master

Conversation

@pull

@pull pull Bot commented Jul 5, 2026

Copy link
Copy Markdown

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 : )

polakowo added 8 commits June 28, 2026 17:24
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.
@pull pull Bot locked and limited conversation to collaborators Jul 5, 2026
@pull pull Bot added the ⤵️ pull label Jul 5, 2026
@pull pull Bot merged commit 4025314 into PyQuantSharp:master Jul 5, 2026
18 of 24 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant