Skip to content

Add selected opening-hour walk-forward research - #33

Merged
mrcha033 merged 1 commit into
mainfrom
feat/open1h-walk-forward
Jul 30, 2026
Merged

mrcha033 merged 1 commit into
mainfrom
feat/open1h-walk-forward

Conversation

@mrcha033

Copy link
Copy Markdown
Owner

Summary

  • add deterministic selected-candidate point-in-time and KR walk-forward opening-hour diagnostics
  • fix ADX initialization after a flat initial true-range seed and identify blocked feature names
  • release quant-stock-technical 0.4.6 in distribution 2.4.5

Validation

  • 76 unittest cases
  • quant screening/execution regression
  • marketplace and deterministic release packaging
  • 60-session KR read-only run: 229 reads, 0 retries, 0 mutations, live_enabled=false
  • US cached point-in-time rerun: 0 reads, 0 retries, 0 mutations, live_enabled=false

@mrcha033
mrcha033 merged commit 0e924f2 into main Jul 30, 2026
3 checks passed
@mrcha033
mrcha033 deleted the feat/open1h-walk-forward branch July 30, 2026 01:11

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 612cd59551

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +281 to +284
if manifest["as_of"] != args.session_date:
raise SelectedOutcomesBlockedError(
"manifest.as_of must equal session_date"
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Reject same-session analysis dates

When a valid manifest has analysis_date == session_date, this check passes because normalization permits equality, so the screen can contain that session's closing data while the script compares it with the same session's opening-hour bars. That introduces direct look-ahead into the advertised point-in-time outcomes; require manifest["analysis_date"] < args.session_date, as the existing opening-hour collector does.

Useful? React with 👍 / 👎.

Comment on lines +174 to +177
rows = {
row.day: row
for row in qta1.read_csv(instrument["benchmark_csv"])
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Verify the benchmark hash before computing the regime

If the benchmark CSV is updated or revised in place after the frozen manifest was created, this reads the changed file without comparing it to benchmark_csv_sha256; the resulting regime and pass/fail summaries therefore silently combine a frozen screen with untracked data. Validate the file against the manifest hash before reading it so the outcome remains reproducible and bound to its declared inputs.

Useful? React with 👍 / 👎.

Comment on lines +289 to +290
value = evaluation.normalized_screen(path)
method = value["method_version"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reject blocked source screens

For a valid qta-screen/v2 artifact whose screen_status is BLOCKED, screen_universe.py deliberately emits empty selected lists, but this path accepts the artifact and eventually reports the outcomes artifact as READY with zero candidates. Check screen_status == "READY" before consuming selections so failed screening is not converted into a successful research result.

Useful? React with 👍 / 👎.

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.

1 participant