Repository navigation
Add native NumPy delivery and end-to-end backtest evidence - #1
Merged
Merged
Conversation
HayronHgh
marked this pull request as ready for review
October 22, 2026 17:36
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Python callers previously had to cross a process/JSON boundary to use FastK. This publishes the current 0.2 native NumPy interface, its core ownership/IO fixes, and a fixed backtest that changes only the storage adapter.
The backtest uses identical RSI(14) 30/70, SMA20/60 and 60-bar momentum strategies, next-open fills and carried monthly state. All five stores deliver the same readonly int64 OHLCV layout. The annual BTC/ETH experiment has 180 isolated application runs; every equity curve, trade digest, fee and final position matches. Relative to Arrow, monthly total medians improve by 2.61%, 8.80% and 0.79%; the last is effectively tied within observed variation.
A separate Q1 cohort rebuilds public commit
814c566unchanged and compares its actual CLI/JSON path against native delivery: 30 complete backtests with identical outcomes. These are public-delivery/application ratios, not Rust-only algorithm speedups. The repository has no formal 1.0 tag; the initial commit is version 0.1.0-rc.1.This branch consolidates the previously local native work, bounded positional reads, lock/recovery and snapshot contracts, lifecycle/cache controls, and their immutable evidence. It retains historical negative results and the initial Arrow import-boundary mistake, which was corrected before all five formal rounds were rerun. The adaptive read channel remains a design proposal.
Validation on Windows GNU:
Native Linux/MSVC execution is not claimed by these local measurements. OS caches are uncontrolled and warmed by preflight. Data preparation, process imports and resident-control loading boundaries are documented. Raw measured files are kept byte-for-byte under
docs/evidence/.Start with
docs/BACKTEST_RESULTS.md,docs/VERSION_COMPARISON.mdandexternal-tests/backtest/README.md.