Version: 1.0 Configuration date: 2026-10-22 Source: Finviz screen configurations established in this conversation Status: Research screening rules; not backtested or live trading recommendations.
## 1. Screening architecture
- Quality Screen: sector-specific fundamental and descriptive hard filters.
- Trend Screen: Quality pass AND price above 200-day simple moving average.
- Timing Signals: RSI, MACD, moving averages, ATR, relative volume and regime analysis; monitored rather than required by Finviz presets.
- Opportunity Ranking: sector-relative valuation, financial quality, growth, technical timing and risk.
## 2. Global screening rules
| Field | Setting |
|---|---|
| Country | USA |
| Market capitalization | > $2,000,000,000 |
| Average daily volume | > 500,000 shares (Python convention: trailing 30 trading days) |
| Sector | Strategy-specific |
Implementation notes: Finviz country classifications and price/volume definitions may not equal those of your data vendor. Preserve the original definitions and document any substitution. All inequalities below are represented as strict comparisons in the JSON config; the UI may differ at exact thresholds.
## 3. Complete strategy rules
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Technology |
Fundamental filters
| Field | Rule |
|---|---|
| EPS Growth Next Year (%) | > 15 |
| Sales Growth Quarter over Quarter (%) | > 10 |
| Sales Growth TTM (%) | > 10 |
| Return on Equity (%) | > 10 |
| Return on Invested Capital (%) | > 10 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Financial |
Fundamental filters
| Field | Rule |
|---|---|
| pe_ttm | < 20 |
| price_to_book | < 3 |
| EPS Growth Next Year (%) | > 5 |
| Return on Invested Capital (%) | > 10 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Healthcare |
Fundamental filters
| Field | Rule |
|---|---|
| EPS Growth Next Year (%) | > 5 |
| Sales Growth TTM (%) | > 5 |
| Return on Equity (%) | > 10 |
| Operating Margin (%) | > 10 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Consumer Cyclical |
Fundamental filters
| Field | Rule |
|---|---|
| EPS Growth Next Year (%) | > 10 |
| Sales Growth TTM (%) | > 5 |
| Return on Invested Capital (%) | > 10 |
| Operating Margin (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Consumer Defensive |
Fundamental filters
| Field | Rule |
|---|---|
| EPS Growth Next Year (%) | > 5 |
| Sales Growth TTM (%) | > 5 |
| Return on Invested Capital (%) | > 10 |
| Operating Margin (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Industrials |
Fundamental filters
| Field | Rule |
|---|---|
| EPS Growth Next Year (%) | > 10 |
| Sales Growth TTM (%) | > 5 |
| Return on Invested Capital (%) | > 10 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Energy |
Fundamental filters
| Field | Rule |
|---|---|
| pe_ttm | < 25 |
| Debt/Equity | < 1 |
| Operating Margin (%) | > 0 |
| price_to_free_cash_flow | > 5 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Utilities |
Fundamental filters
| Field | Rule |
|---|---|
| Forward P/E | < 25 |
| EPS Growth Next Year (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Basic Materials |
Fundamental filters
| Field | Rule |
|---|---|
| Forward P/E | < 25 |
| Return on Invested Capital (%) | > 5 |
| Debt/Equity | < 1 |
| Operating Margin (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Communication Services |
Fundamental filters
| Field | Rule |
|---|---|
| Sales Growth TTM (%) | > 5 |
| EPS Growth Next Year (%) | > 10 |
| Return on Invested Capital (%) | > 5 |
| Operating Margin (%) | > 10 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Real Estate |
Fundamental filters
| Field | Rule |
|---|---|
| Sales Growth TTM (%) | > 0 |
| Operating Margin (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Communication Services |
| Industry | Any (recommend excluding Telecom Services in local model) |
Fundamental filters
| Field | Rule |
|---|---|
| Sales Growth TTM (%) | > 5 |
| EPS Growth Next Year (%) | > 10 |
| Return on Invested Capital (%) | > 5 |
| Operating Margin (%) | > 0 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
Descriptive filters
| Field | Rule |
|---|---|
| Country | USA |
| Market Cap (USD) | > 2,000,000,000 |
| Average Volume (shares/day) | > 500,000 |
| Sector | Communication Services |
| Industry | Telecom Services |
Fundamental filters
| Field | Rule |
|---|---|
| Forward P/E | < 25 |
| Operating Margin (%) | > 0 |
| price_to_free_cash_flow | > 5 |
Buy Setup: `Close > SMA200`; remaining technical indicators are not hard filters.
## 4. Additional watchlist rule
`10_COM_Telecom_Recovery_Watch`: use the same descriptive and fundamental criteria as `10_COM_Telecom_Value`, with no SMA200 requirement. This is a recovery watchlist, not a confirmed buy signal.
## 5. Technical indicators to calculate
| Indicator | Specification / role |
|---|---|
| SMA20, SMA50, SMA200 | 20-, 50-, 200-session simple moving averages |
| RSI14 | 14-session momentum measure |
| MACD | EMA(12) − EMA(26), signal EMA(9) |
| ATR14 | 14-session average true range; stop-distance and position-risk research |
| Relative volume | Volume compared with historical daily baseline |
| Relative strength | Stock return relative to sector / market benchmarks |
| Volatility regime | Realized volatility, change points / volatility transition estimates |
| Sector-specific features | See section 7 |
## 6. Timing and risk decision states
| State | Rule / intent |
|---|---|
| WATCH | Pass Quality filters |
| TREND_CANDIDATE | WATCH and Close > SMA200 |
| PULLBACK_CANDIDATE | Check SMA20/SMA50 proximity, RSI normalization, and price stabilization |
| BUY_CONFIRMATION | Demand price action confirmation, valuation margin, and acceptable reward/risk |
| REDUCE_OR_EXIT_REVIEW | Structural deterioration, valuation excess, or breached risk thresholds |
Risk parameters to test, not fixed recommendations: initial per-position risk 0.5%–1% of NAV; protective stop distances of 1.5–3×ATR; preliminary prospective reward/risk hurdle 2:1; incorporate earnings/event gaps and portfolio concentration.
## 7. Sector-specific second-stage research
- Financial: net_interest_margin, cet1_ratio, nonperforming_loans, deposit_cost, tangible_book_value
- Energy: normalized_fcf_yield, wti, henry_hub, capex, reserve_life
- Utilities: rate_base_growth, allowed_roe, net_debt_to_ebitda, dividend_coverage, ppa
- Basic Materials: normalized_ebitda, commodity_price, unit_cost, capex, inventory_cycle
- Communication Services: fcf_yield, arpu, churn, net_debt_to_ebitda, ad_revenue_growth
- Real Estate: p_affo, affo_per_share_growth, affo_payout_ratio, occupancy, same_store_noi, net_debt_to_ebitda, debt_maturities
Additional factors by sector not hard-filtered by the screen:
| Sector | Further metrics |
|---|---|
| Technology | FCF yield, organic revenue growth, ROIC, PEG, AI capital expenditure |
| Healthcare | R&D productivity, pipeline risk, patent expirations, FCF |
| Consumer Cyclical | Same-store sales, inventory, margins, consumer cycle |
| Consumer Defensive | Pricing power, margins, payout coverage |
| Industrials | Backlog, ROIC, capital expenditure, operating leverage |
## 8. Suggested software configuration and data contracts
```python quality_pass = evaluate_strategy(sector_rules, point_in_time_data) trend_pass = close_at_signal_time > sma200_at_signal_time buy_setup_pass = quality_pass and trend_pass
candidate_score = rank_within_sector( valuation, financial_quality, growth, technical_timing, risk ) ```
- Use point-in-time financial filings and analyst estimates, with their original publication / availability timestamps.
- Preserve historical universes (including subsequently delisted firms) to avoid survivorship bias.
- Do not replace missing values with zero; log the missing filter and optionally route the security to manual review.
- Calibrate thresholds and weights with walk-forward out-of-sample testing, transaction costs, and corporate-action-adjusted prices.
- Rank within relevant sectors or subsectors before performing portfolio-level cross-sector allocation.
- Separate independent power producers, banks, telecom operators and REIT subsectors whenever a common metric is not economically comparable.
## 9. Machine-readable source
Corresponding JSON: `sector_screening_rules_2026.json`. The JSON is authoritative for exact programmatic keys and operator directions.