Skip to content

feat(strategy-v2): expand FactorResearchEngine with multi-family alpha factors - #283

Open
huuan26 wants to merge 1 commit into
OpenByteInc:mainfrom
huuan26:feat/factor-research-engine-expansion
Open

huuan26 wants to merge 1 commit into
OpenByteInc:mainfrom
huuan26:feat/factor-research-engine-expansion

Conversation

@huuan26

@huuan26 huuan26 commented Oct 11, 2026

Copy link
Copy Markdown

Summary

Expands FactorResearchEngine with vectorized cross-sectional panel implementations across major Alpha factor families:

  • Statistical moments (Rolling Skewness, Rolling Kurtosis)
  • Liquidity & Volume dynamics (Amihud Illiquidity, Volume Ratio, Turnover Proxy, CMF, MFI, Efficiency Ratio, OBV Slope)
  • Volatility & Tail risk (Normalized ATR, Ulcer Index, Downside Volatility, Bollinger Bandwidth, Max Drawdown)
  • Momentum & Oscillators (Wilder RSI, CMO, MACD Histogram, SMA/EMA Distance)
  • Expanded fundamental valuation & quality mappings (book_to_price, earnings_yield, debt_to_equity, revenue_growth, free_cash_flow)

Related issue

Changes

  • Vectorized 2D panel calculations across the asset cross-section in FactorResearchEngine._factor_panel().
  • Expanded _FUNDAMENTAL_FIELDS and required_fields() resolution for fundamental multi-factor screening.
  • Enriched _CORRELATION_FACTORS to represent liquidity, distribution moments, and momentum style dimensions.
  • Guarded _factor_correlation() against zero-variance rank correlation edge cases.
  • Added comprehensive unit tests in tests/test_factor_research.py covering factor diagnostics, group curve formation, and point-in-time lookahead protection.

Test plan

  • Relevant pytest tests pass (pytest tests/test_factor_research.py tests/test_factor_registry.py - 23 passed)
  • git diff --check passed with 0 errors
  • Invariant tests verify zero lookahead leakage across historical snapshots

API documentation (if routes/schemas changed)

  • No public HTTP routes or OpenAPI schemas modified. All additions are additive within FactorResearchEngine.

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