OPEN-SOURCE SCRIPT
Updated O'Neil Earnings Stability

O'Neil Earnings Stability Indicator
This indicator implements William O'Neil's earnings stability analysis, a key factor in identifying high-quality growth stocks. It measures both earnings stability (1-99 scale) and growth rate.
Scale Interpretation:
• 1-25: Highly stable earnings (ideal)
• 26-30: Moderately stable
• >30: More cyclical/less dependable
The stability score is calculated by measuring deviations from the earnings trend line, with lower scores indicating more consistent growth. Combined with the annual growth rate (target ≥25%), this helps identify stocks with both steady and strong earnings growth.
Optimal Criteria:
✓ Stability Score < 25
✓ Annual Growth > 25%
This tool helps filter out stocks with erratic earnings patterns and identify those with proven, sustainable growth records. Green label indicates both criteria are met; red indicates one or both criteria failed."
Would you like me to modify any part of this description or add more details about specific aspects of the calculation?
The key concepts in these calculations:
Stability Score (1-99 scale):
Lower score = more stable
Takes average deviation from mean earnings
Uses logarithmic scaling to emphasize smaller deviations
Multiplies by 20 to get into 1-99 range
Score ≤ 25 meets O'Neil's criteria
Growth Rate:
Year-over-year comparison (current quarter vs same quarter last year)
Calculated as percentage change
Growth ≥ 25% meets O'Neil's criteria
O'Neil's Combined Criteria:
Stability Score should be ≤ 25 (indicating stable earnings)
Growth Rate should be ≥ 25% (indicating strong growth)
Both must be met for ideal conditions
This indicator implements William O'Neil's earnings stability analysis, a key factor in identifying high-quality growth stocks. It measures both earnings stability (1-99 scale) and growth rate.
Scale Interpretation:
• 1-25: Highly stable earnings (ideal)
• 26-30: Moderately stable
• >30: More cyclical/less dependable
The stability score is calculated by measuring deviations from the earnings trend line, with lower scores indicating more consistent growth. Combined with the annual growth rate (target ≥25%), this helps identify stocks with both steady and strong earnings growth.
Optimal Criteria:
✓ Stability Score < 25
✓ Annual Growth > 25%
This tool helps filter out stocks with erratic earnings patterns and identify those with proven, sustainable growth records. Green label indicates both criteria are met; red indicates one or both criteria failed."
Would you like me to modify any part of this description or add more details about specific aspects of the calculation?
The key concepts in these calculations:
Stability Score (1-99 scale):
Lower score = more stable
Takes average deviation from mean earnings
Uses logarithmic scaling to emphasize smaller deviations
Multiplies by 20 to get into 1-99 range
Score ≤ 25 meets O'Neil's criteria
Growth Rate:
Year-over-year comparison (current quarter vs same quarter last year)
Calculated as percentage change
Growth ≥ 25% meets O'Neil's criteria
O'Neil's Combined Criteria:
Stability Score should be ≤ 25 (indicating stable earnings)
Growth Rate should be ≥ 25% (indicating strong growth)
Both must be met for ideal conditions
Release Notes
- updating script to stay static with earnings calculations not based on intervals selectedOpen-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.