Skip to content

Prepare optional market, classification and loading migration inputs - #116

Merged
stefan-jansen merged 33 commits into
mainfrom
feat/analytical-input-preparation
Oct 21, 2026
Merged

stefan-jansen merged 33 commits into
mainfrom
feat/analytical-input-preparation

Conversation

@stefan-jansen

@stefan-jansen stefan-jansen commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Prepare optional market, classification and loading inputs and finish the Engineer-owned Reloaded migration journeys.

  • Convert legacy market/loading containers to precise keyed native tables without inventing identity, publication, completion, units or source revisions.
  • Prepare completed lagged monetary liquidity from mean(price * volume * multiplier).shift(completed_lag). Preserve real zeros and missing coverage, reject mixed currencies and incompatible bases, and prevent double lagging.
  • Select supplied loadings/classifications at explicit effective and information-set clocks. Retain every requested factor, missing sector and original request key. Reject ambiguous revisions, overwritten factor identities and malformed compound keys.
  • Provide executable precise-wide-return, momentum/volatility/liquidity/sector, custom multi-output and sampled-feature migration recipes. Native production requires no Reloaded runtime.
  • Include those recipes, documentation and supporting scripts in the source distribution. The actual previous archive failed its packaged migration workflow; the regression now extracts a real built archive and executes recipes with the installed candidate.

Closes #111.
Closes #112.

Correctness and ownership

Data owns source revision/adjustment selection. Engineer uses supplied facts to prepare features, eligibility, outcomes and optional analytical inputs. Diagnostic owns the sole Alphalens facade/cleaner and capacity/attribution analytics; Backtest owns runtime/accounting. No duplicate engines or automatic provider access are introduced.

Actual installed Data output with a split, stable-ID rename and late correction feeds the combined native screen. Missing scheduled history fails before returns; appended future revisions do not change earlier decisions. Explicit calendar=None remains row mode, distinct from a continuous schedule.

Actual installed Zipline 3.2.0 exercises eight original/custom/alias/downsample Pipeline journeys, including named multi-output, masks, lifetimes, missing inputs and all four supported sampling cadences. Additional finite, selection, expression and predicate profiles record definition-specific differences. The native maximum selector deliberately fixes the legacy negative-float storage-order defect. No arbitrary Pipeline graph interpreter or callback runtime is claimed.

Actual installed Pyfolio Reloaded 0.10.0 receives the prepared market inputs for four capacity-input profiles. Actual installed Diagnostic qualification artifacts consume cumulative/exit-bar native outcomes, including equivalent independently supplied external tables. These results certify those receiving boundaries, not a new Diagnostic capacity/supplied-loading implementation or whole-portfolio parity.

Executed verification and current state

The last full runtime qualification at 72ae9e7 passed 5,669 native tests and 5,669 no-JIT tests. The release-critical coverage checker passed at 95.98% lines and 90.56% branches, including the new optional-input module. Strict MkDocs, every executable documentation workflow, README links, Ruff lint/format, ty, Twine and plain hooks passed.

At 082656e, the built wheel passed isolated installed qualification: 101 finite/default/return profiles, 19 selection, 55 expression/operator, 31 predicate, eight actual Pipeline journeys, four original Pyfolio input profiles, actual Data preparation and two Diagnostic outcome methods. All package bytes and executed import roots are checked. Python 3.15 base-only qualification passed 110 tests with two genuine calendar-extra skips, without Arrow, SciPy, Data or any Reloaded package.

Final 254905b723c5d96a385f150bc0bcd4ce3d25d1e0 adds only source-archive contents and the real packaging regression. Its 209 wheel package files exactly match the already qualified 082656e payload; 445 shipped source/test/example/doc/script files match the exact final Git revision. The new archive regression first failed on the producing omission and then passed after repair. Final local source qualification passed 5,670 native tests and 5,670 no-JIT tests, preserving the configured 57 performance deselections. The coverage checker passed at 95.98% lines and 90.56% branches; strict docs, Ruff, ty, Twine and all hooks passed. All 49 current-head hosted contexts are complete: 48 successes and one configured exception-validator skip. All 12 installed, 12 native-stress and 12 shared qualification cells, security/type/docs/coverage checks and final Build Package passed. The substantive final-head review has no remaining findings; normal squash merge uses the exact reviewed-head guard, without admin or override.

The versioned acceptance record retains all 27 assigned requirements and 147 operation/alias/framework-role entries. Each entry states its native route, executed evidence and ownership scope; aliases and framework ports are not advertised as 147 independently equivalent numerical methods.

No release, tag, deployment, or blanket replacement claim is included. These additions remain unpublished development work after Engineer 0.1.6.

AI assistance

Codex assisted with implementation, tests, documentation, installed qualification and this description. Producing source, independent expectations, original workflows, review findings and revision-specific results are inspected in the owning maintainer session.

Select native arithmetic at schema planning time, subtract widened integer ticks before floating division, and retain float dtype/formula and logarithmic domains. Require Polars 2.0 for the native schema dispatch API. Add eager/lazy/grouped regression cases and an executable migration recipe.

Refs #107
The required dependency audit on PR113 reproduced GHSA-6q48-6c7w-9gw2 in certifi 2026.7.22. Upgrade only certifi to patched 2026.10.19; both runtime and complete contributor lock exports now pass pip-audit. Existing dependency PR106 retains the affected version and does not supply this repair.
The fresh contributor audit reproduces eight Pillow12.3 advisories published after the earlier clean local audit. Lock the patched13.0 release without ignoring vulnerabilities or changing runtime requirements. Core requirements are unchanged; focused numerical and executable documentation checks pass.
Preserve native TA-Lib defaults while providing separately registered finite weighting, Cutler RSI, population volatility and technical field definitions. Keep missing-value denominators, warmup and grouped lazy execution explicit. Refs #108.
Keep missing pairs on their original clock, expose actual regression fields through the optional stats extra, and separate civil weekdays from publication instants. Reproduce and repair integer-tick and overflow errors in finite variance and range methods without changing existing native defaults. Refs #108.
Two positive weights imply unbiased variance (x1-x0)^2/2 regardless of their ratio. Reproduce cancellation and false NaN results before accumulating the equivalent cross-weight denominator directly. Correct the earlier constant-price test assumption to zero variance. Refs #108.
Translate finite window counts, exponential constructors, named fields, paired statistics and known event roles without a legacy runtime or graph interpreter. Preserve output masks and price-to-return dependency warmup; reject unrelated options and unordered input roles. Refs #108, #109.
Copilot AI balanced review requested due to automatic review settings October 21, 2026 03:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…in source archives

The built source archive omitted files required by its migration tests. Reproduce the missing-file failure through an extracted real archive and run both migration recipes with the installed candidate, then check discovery of the shipped documentation workflows.

Closes #111

Closes #112
@stefan-jansen
stefan-jansen merged commit 2ea336f into main Oct 21, 2026
49 checks passed
@stefan-jansen
stefan-jansen deleted the feat/analytical-input-preparation branch October 21, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Qualify installed migration journeys and document the supported surface Prepare optional market, classification and loading inputs

2 participants