Understanding the VP Investments signal ranking system
Each factor is normalized using robust statistics to handle outliers: 1. Calculate median and MAD (Median Absolute Deviation) across all tickers 2. Compute z-score: (value - median) / (1.4826 * MAD) 3. Clip extreme values to [-5, +5] range 4. Result: normalized scores centered at 0, typically in [-3, +3] range
Within each group, factors are weighted based on their relative importance and historical predictive power. Factor weights sum to 1.0 within each group. Configured in weights.yaml under factor_weights_[group_name].
Six signal groups are combined using predefined weights that reflect their relative importance in the overall investment decision. Group weights sum to 1.0.
The overall signal score is a weighted combination of all six group scores. Higher scores indicate stronger bullish signals across multiple dimensions.
Scores are relative rankings within the analyzed universe. A score of 0.80 means the stock ranks highly across most signal groups. Focus on top-ranked stocks for long positions, lowest-ranked for short or avoid.
Coverage percentage indicates what fraction of factors could be calculated. Low coverage may indicate missing data or lack of applicability (e.g., ETFs don't have fundamental data like earnings).
Higher coverage generally means more reliable signals. Be cautious with low-coverage scores as they may be based on incomplete information.
Operating Profit Margin (operating income / revenue)
Return on Equity (net income / shareholder equity)
Price-to-Earnings ratio (trailing 12 months)
Price/Earnings-to-Growth ratio (PE / earnings growth rate)
Year-over-year earnings growth rate
Gross Profit Margin (gross profit / revenue)
Net Profit Margin (net income / revenue)
Forward Price-to-Earnings ratio (next 12 months estimate)
Return on Invested Capital (NOPAT / invested capital)
Year-over-year revenue growth rate
Year-over-year earnings per share growth rate
Enterprise Value to EBITDA ratio
EBITDA Margin (EBITDA / revenue)
Return on Assets (net income / total assets)
Enterprise Value to Free Cash Flow ratio
Free Cash Flow Margin (FCF / revenue)
Return on Capital Employed (EBIT / capital employed)
Debt-to-Equity ratio (total debt / shareholder equity)
Price-to-Book ratio (market cap / book value)
Quarter-over-quarter earnings growth rate
Current Ratio (current assets / current liabilities)
Price-to-Sales ratio (market cap / revenue)
Enterprise Value to Sales ratio
Price to Free Cash Flow ratio
Earnings Yield (inverse of PE ratio)
Quarter-over-quarter revenue growth rate
Quarter-over-quarter earnings per share growth rate
Quick Ratio (liquid assets / current liabilities)
Debt-to-Assets ratio (total debt / total assets)
Gross Profit to Assets ratio (profitability efficiency metric)
Accruals Ratio: (Net Income - Operating CF) / Total Assets
Interest Coverage ratio (EBIT / interest expense)
Interest Burden ratio (EBIT / Interest Expense)
Capital Expenditure to Operating Cash Flow ratio
Net Debt to EBITDA: (Total Debt - Cash) / EBITDA
Year-over-year free cash flow growth rate
Asset Turnover ratio (revenue / average total assets)
Inventory Turnover ratio (COGS / average inventory)
Receivables Turnover ratio (revenue / average receivables)
3-year profitability trend (slope of quarterly gross margins)
Cash-to-Debt ratio (cash & equivalents / total debt)
Book Value per Share (equity / shares outstanding)
Free Cash Flow per Share (FCF / shares outstanding)
Tangible Book Value per Share (tangible equity / shares)
Year-over-year change in shares outstanding (dilution/buyback)
3-month analyst rating momentum (upgrade/downgrade trend)
Average analyst rating (1=Strong Buy, 5=Strong Sell)
Percentage of shares held by institutional investors
Implied upside from current price to mean target
Composite smart money indicator (institutional + insider + analyst signals)
Number of institutional holders
Number of insider transactions over past 6 months
Number of analysts covering the stock
Number of Strong Buy ratings
Percentage of shares held by top 10 institutions
Net insider buying/selling (shares bought - sold)
Change in analyst consensus rating
Number of Strong Sell ratings
Mean analyst price target
Percentage of shares held by top 5 institutions
Highest analyst price target
Lowest analyst price target
Standard deviation of analyst price targets
Log-transformed insider transaction count
Strength of analyst consensus (low dispersion = high strength)
Number of analyst upgrades over past 3 months
Number of analyst downgrades over past 3 months
Net analyst momentum score (upgrades - downgrades)
Average sentiment score from recent news articles
Consensus news sentiment (% positive articles)
Current market regime classification (bull/bear/neutral)
Most recent earnings surprise (actual - expected)
Consecutive quarters of beating earnings estimates
Days until next earnings announcement
60-day correlation with S&P 500 index
30-day momentum of stock's sector
Current VIX volatility index level
Boolean flag indicating within 5 days before earnings
Boolean flag indicating within 5 days after earnings
Stock's relative strength versus sector
10-year US Treasury yield
Corporate credit spread (BBB - Treasury)
Net analyst earnings revisions over 3 months (upgrades - downgrades)
Standard deviation of earnings surprises over last 4 quarters
21-day cumulative return following earnings announcement
Price target dispersion: (High - Low) / Mean target
60-day annualized volatility
30-day annualized volatility (standard deviation of returns)
60-day correlation coefficient with S&P 500
90-day annualized volatility
Current volatility percentile versus 1-year history
Maximum peak-to-trough decline over past year
60-day Sharpe ratio (risk-adjusted return)
60-day beta versus S&P 500 (systematic risk measure)
Current drawdown from most recent peak
Days elapsed since maximum drawdown
60-day Sortino ratio (downside risk-adjusted return)
60-day downside deviation (volatility of negative returns only)
252-day (1-year) beta versus S&P 500
Maximum peak-to-trough decline over past 6 months
Composite liquidity score (volume, spread, market cap)
Calmar ratio (annual return / max drawdown)
Bid-ask spread as percentage of mid price
Estimated days to liquidate position without market impact
Volatility of volatility (standard deviation of 30-day rolling vol)
90-day return distribution skewness (asymmetry measure)
90-day return distribution kurtosis (tail risk measure)
Frequency of drawdowns exceeding -3% over 90 days
1-year downside capture ratio vs S&P 500
Current Reddit sentiment score
Number of Reddit mentions over last 7 days
Reddit sentiment consensus (% positive mentions)
Average Reddit sentiment score over last 7 days
Current buzz level versus historical baseline
Rate of mentions (mentions per hour)
Overall social sentiment consensus (% positive)
Average upvotes per Reddit mention
Average comments per Reddit mention
Contrarian indicator (high mentions with negative price action)
1-day percentage price change
7-day percentage price change
30-day percentage price change
14-period Relative Strength Index (0-100 scale)
MACD histogram (MACD value minus signal line)
30-day momentum indicator (rate of change)
60-day momentum indicator (rate of change)
Moving Average Convergence Divergence value
Boolean flag indicating positive MACD histogram
50-day Simple Moving Average
200-day Simple Moving Average
Percentage distance of price from 50-day SMA
20-day average trading volume
Current volume divided by 20-day average volume
Correlation between volume and price changes
Percentage distance from 52-week high
90-day momentum indicator (rate of change)
Boolean flag indicating RSI > 70 (overbought condition)
Boolean flag indicating RSI < 30 (oversold condition)
MACD signal line (9-period EMA of MACD)
20-day Simple Moving Average
Percentage distance of price from 200-day SMA
Bollinger Band width (normalized volatility measure)
Price position within Bollinger Bands (0-1 scale)
Average daily dollar volume over 20 trading days
Percentage distance from 52-week low
Intraday high-low range as percentage of close
Percentage of up-days over 63 trading days (3 months)
Boolean flag for price breakout above 20-day high with volume confirmation
12-day Exponential Moving Average
26-day Exponential Moving Average
Boolean golden cross indicator (50-day SMA > 200-day SMA)
Upper Bollinger Band (20-day SMA + 2 std dev)
Middle Bollinger Band (20-day SMA)
Lower Bollinger Band (20-day SMA - 2 std dev)
14-period Average True Range (absolute volatility)
Normalized ATR (ATR divided by current price)
ATR percentile rank versus 1-year historical distribution
Intraday reversal measure: (Close-Low)/(High-Low)
Volume decline indicator: 5-day avg / 60-day avg volume
Average opening gap size over 30 days (normalized by close)
Methodology Version 1.0 • Last Updated: 2025-10-20