{
    "symbol": "TPL",
    "found": true,
    "momentum": {
        "state": "stable",
        "label": "Stable",
        "class": "momentum-stable"
    },
    "summary": {
        "count": 18,
        "first_date": "2025-02-11",
        "last_date": "2026-07-26",
        "tgi": {
            "first": 57,
            "latest": 64,
            "delta": 7,
            "best": 50,
            "best_date": "2026-05-08",
            "worst": 131,
            "worst_date": "2025-09-26"
        },
        "hii": {
            "first": 75,
            "latest": 75,
            "delta": 0,
            "best": 39,
            "best_date": "2025-06-21",
            "worst": 130,
            "worst_date": "2026-06-16"
        }
    },
    "entries": [
        {
            "date": "2025-02-11",
            "tgi": 57,
            "hii": 75
        },
        {
            "date": "2025-06-10",
            "tgi": 52,
            "hii": 80,
            "pgi": 6,
            "dgi": 191
        },
        {
            "date": "2025-06-21",
            "tgi": 58,
            "hii": 39
        },
        {
            "date": "2025-06-23",
            "tgi": 64,
            "hii": 41
        },
        {
            "date": "2025-07-31",
            "tgi": 73,
            "hii": 48,
            "pgi": 32,
            "dgi": 105
        },
        {
            "date": "2025-08-29",
            "tgi": 77,
            "hii": 46,
            "pgi": 39,
            "dgi": 99
        },
        {
            "date": "2025-09-26",
            "tgi": 131,
            "hii": 84
        },
        {
            "date": "2025-10-23",
            "tgi": 125,
            "hii": 83,
            "pgi": 143,
            "dgi": 73
        },
        {
            "date": "2025-11-08",
            "tgi": 125,
            "hii": 88,
            "pgi": 147,
            "dgi": 71
        },
        {
            "date": "2025-12-10",
            "tgi": 122,
            "hii": 82,
            "pgi": 147,
            "dgi": 72
        },
        {
            "date": "2025-12-31",
            "tgi": 113,
            "hii": 81,
            "pgi": 141,
            "dgi": 70
        },
        {
            "date": "2026-02-22",
            "tgi": 65,
            "hii": 104
        },
        {
            "date": "2026-03-02",
            "tgi": 67,
            "hii": 104,
            "pgi": 104,
            "dgi": 57
        },
        {
            "date": "2026-05-08",
            "tgi": 50,
            "hii": 79,
            "pgi": 7,
            "dgi": 193
        },
        {
            "date": "2026-05-21",
            "tgi": 80,
            "hii": 112,
            "pgi": 118,
            "dgi": 60
        },
        {
            "date": "2026-06-16",
            "tgi": 106,
            "hii": 130
        },
        {
            "date": "2026-07-21",
            "tgi": 69,
            "hii": 48,
            "pgi": 27,
            "dgi": 105
        },
        {
            "date": "2026-07-26",
            "tgi": 64,
            "hii": 75,
            "pgi": 100,
            "dgi": 74
        }
    ],
    "methodology": {
        "score_range": "1 to ~950",
        "lower_is_better": true,
        "watchlist_size": "900+",
        "update_frequency": "10-20 stocks per day on a rolling cycle (~84 day full rotation)",
        "axis_note": "Ranking scores normalize out the market's own upward drift. A flat rank line means market-rate growth, not zero growth. Rising toward lower scores means genuine outperformance relative to the peer universe.",
        "scores_explained": {
            "tgi": "Total Growth Investing \u2014 dividend growth + price growth + low payout ratio across 1/3/5/10yr",
            "hii": "Healthy Income Investing \u2014 same factors reranked for ~4% yield target",
            "pgi": "Price Growth Investing \u2014 price growth only across 1/3/5/10yr (Lea's primary strategy)",
            "dgi": "Dividend Growth Investing \u2014 dividend growth and payout discipline"
        },
        "momentum_states": {
            "climbing": "Score has improved significantly since first entry \u2014 outpacing peers",
            "falling": "Score has deteriorated since first entry \u2014 falling behind peers",
            "stable": "Score is holding steady \u2014 tracking at peer universe average",
            "recovering": "Was falling, now turning upward \u2014 early reversal signal",
            "peaking": "Was climbing, now turning \u2014 watch for trend change"
        }
    },
    "disclaimer": "Not financial advice. Do your own research."
}