Skip to content

Sync SOXL dynamic volatility threshold backtests#80

Merged
Pigbibi merged 1 commit into
mainfrom
codex/soxl-dynamic-vol-live
Jun 9, 2026
Merged

Sync SOXL dynamic volatility threshold backtests#80
Pigbibi merged 1 commit into
mainfrom
codex/soxl-dynamic-vol-live

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • generate production SOXX realized-volatility dynamic threshold fields in SOXL/SOXX backtests
  • record core dynamic volatility threshold diagnostics in signal history
  • keep the fixed55 research baseline explicit after the live default changes
  • bump UsEquityStrategies to 7d35772d1125b534d0bcca557cb6dbaf28914719

Tests

  • python -m py_compile src/us_equity_snapshot_pipelines/soxl_soxx_trend_income_backtest.py scripts/research_soxl_dynamic_volatility_delever_thresholds.py

Note: pytest backtest coverage could not run locally because this VPS Python environment does not have pandas/numpy installed.

@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: 378082df14

ℹ️ 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 +456 to +459
"blend_gate_volatility_delever_enabled": bool(config.get("blend_gate_volatility_delever_enabled", False)),
"blend_gate_volatility_delever_symbol": str(config.get("blend_gate_volatility_delever_symbol", "SOXX")),
"blend_gate_volatility_delever_window": int(config.get("blend_gate_volatility_delever_window", 10)),
"blend_gate_volatility_delever_threshold": float(config.get("blend_gate_volatility_delever_threshold", 0.55)),

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 Forward core volatility threshold mode overrides

When a caller sets strategy_overrides for the new core volatility threshold fields, such as current_core_fixed55 in scripts/research_soxl_dynamic_volatility_delever_thresholds.py, those values are silently dropped because _strategy_kwargs only applies override keys already present in this kwargs dict. As a result blend_gate_volatility_delever_threshold_mode="fixed" and the dynamic lookback/percentile/floor/cap overrides never reach build_rebalance_plan, so fixed-vs-dynamic research variants can be mislabeled and compared against the manifest default instead of the requested mode.

Useful? React with 👍 / 👎.

@Pigbibi Pigbibi force-pushed the codex/soxl-dynamic-vol-live branch from 378082d to 9688a04 Compare June 9, 2026 07:04
@Pigbibi Pigbibi merged commit f0f3439 into main Jun 9, 2026
1 check passed
@Pigbibi Pigbibi deleted the codex/soxl-dynamic-vol-live branch June 9, 2026 07:06

@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: 9688a04328

ℹ️ 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 +334 to +341
volatility_window = int(
soxl_soxx_trend_income_manifest.default_config["blend_gate_volatility_delever_window"]
)
volatility_lookback = int(
soxl_soxx_trend_income_manifest.default_config["blend_gate_volatility_delever_dynamic_lookback"]
)
volatility_percentile = float(
soxl_soxx_trend_income_manifest.default_config["blend_gate_volatility_delever_dynamic_percentile"]

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 Apply volatility overrides before building indicators

When a backtest uses strategy_overrides to research a non-default dynamic volatility gate (for example a different blend_gate_volatility_delever_window, percentile, floor, or cap), these indicator columns are still computed from the manifest defaults before build_rebalance_plan sees the overrides. Since the per-day strategy snapshot only contains the precomputed dynamic threshold/sample-count columns, those override runs can be evaluated and labeled with the requested parameters while comparing against the default 10-day/p95/50%-75% threshold instead. Fresh evidence beyond the earlier comment is that the override keys now get forwarded, but the newly added indicator generation still reads directly from default_config.

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