{
  "groups": [
    {
      "key": "multi_factor",
      "label": "Multi-Factor",
      "description": "Composite strategies blending value, momentum, and quality.",
      "strategies": [
        {
          "key": "os_composite",
          "name": "OS Composite Score",
          "slug": "composite",
          "group": "multi_factor",
          "tagline": "Strict O'Shaughnessy blend: 50% Value + 25% Momentum + 25% Quality",
          "thesis": "Strict O'Shaughnessy composite ranking: 50% value, 25% momentum, and 25% quality. The highest-ranked names combine cheapness, trend support, and business quality in a single disciplined signal.",
          "primary_sort": "-os_score",
          "limit": 50,
          "screener_preset": "os_top",
          "page_url": "https://sharemaestro.com/factors/composite/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/composite/",
          "chart_config": {
            "x": "x",
            "y": "y",
            "xl": "Value Percentile",
            "yl": "Quality Percentile",
            "colour": "mom",
            "cl": "Momentum %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Quality\nLow Value",
              "Cheap +\nHigh Quality",
              "Cheap +\nLow Quality",
              "Expensive +\nLow Quality"
            ]
          },
          "card_metrics": [
            {
              "label": "OS",
              "field": "os_score",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Conf",
              "field": "signal_confidence",
              "primary": false
            },
            {
              "label": "F",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "trending_value",
          "name": "Trending Value",
          "slug": "trending-value",
          "group": "multi_factor",
          "tagline": "O'Shaughnessy's #1 strategy \u2014 cheapest VC2 decile ranked by 6M momentum",
          "thesis": "The single best-performing strategy in What Works on Wall Street. Take the cheapest decile by Value Composite 2, then rank by 6-month price momentum. Combines deep value with trend confirmation to avoid dead-money traps.",
          "primary_sort": "trending_value_rank",
          "limit": 50,
          "screener_preset": "trending_value_vc2",
          "page_url": "https://sharemaestro.com/factors/trending-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/trending-value/",
          "chart_config": {
            "x": "vc2",
            "y": "m6m",
            "xl": "VC2 Rank (lower = cheaper)",
            "yl": "Momentum 6M",
            "colour": "x",
            "cl": "Value %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Strong Mom\nExpensive",
              "Strong Mom\nCheap",
              "Weak Mom\nCheap",
              "Weak Mom\nExpensive"
            ]
          },
          "card_metrics": [
            {
              "label": "OS",
              "field": "os_score",
              "primary": true
            },
            {
              "label": "VC2",
              "field": "vc2_score",
              "primary": false
            },
            {
              "label": "Mom6",
              "field": "momentum_6m",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Conf",
              "field": "signal_confidence",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "quality_value",
          "name": "Quality \u00d7 Value",
          "slug": "quality-value",
          "group": "multi_factor",
          "tagline": "Geometric mean of quality and value percentiles \u2014 avoids value traps",
          "thesis": "The geometric mean penalises extreme weakness in either pillar. A stock that is very cheap but low quality scores poorly, unlike an additive blend. This is the anti-value-trap strategy.",
          "primary_sort": "-quality_value_composite",
          "limit": 50,
          "screener_preset": "quality_value",
          "page_url": "https://sharemaestro.com/factors/quality-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/quality-value/",
          "chart_config": {
            "x": "x",
            "y": "y",
            "xl": "Value Percentile",
            "yl": "Quality Percentile",
            "colour": "qv",
            "cl": "QV Composite",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Quality\nLow Value",
              "Cheap +\nHigh Quality",
              "Cheap +\nLow Quality",
              "Expensive +\nLow Quality"
            ]
          },
          "card_metrics": [
            {
              "label": "QV",
              "field": "quality_value_composite",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "value",
      "label": "Value",
      "description": "Buying cheap stocks by various measures of intrinsic worth.",
      "strategies": [
        {
          "key": "cornerstone_value",
          "name": "Cornerstone Value",
          "slug": "cornerstone-value",
          "group": "value",
          "tagline": "Market Leaders (ex-utilities) ranked by dividend yield",
          "thesis": "O'Shaughnessy's conservative strategy. Start with Market Leaders (large, profitable, liquid) and select the highest dividend yield. Conservative but consistent \u2014 the pension fund strategy.",
          "primary_sort": "cornerstone_value_rank",
          "limit": 50,
          "screener_preset": "cornerstone_value",
          "page_url": "https://sharemaestro.com/factors/cornerstone-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/cornerstone-value/",
          "chart_config": {
            "x": "divy",
            "y": "ey",
            "xl": "Dividend Yield",
            "yl": "Earnings Yield",
            "colour": "fscore",
            "cl": "F-Score",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High E/Y\nLow Div",
              "High E/Y\nHigh Div \u2014 Sweet Spot",
              "Low E/Y\nHigh Div \u2014 Yield Trap?",
              "Low E/Y\nLow Div"
            ]
          },
          "card_metrics": [
            {
              "label": "Div%",
              "field": "dividend_yield",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            }
          ]
        },
        {
          "key": "deep_value",
          "name": "Deep Value",
          "slug": "deep-value",
          "group": "value",
          "tagline": "Rock-bottom P/E + high earnings yield + strong F-Score",
          "thesis": "The contrarian play. Extremely cheap stocks that pass a Piotroski quality gate. These are names the market has given up on \u2014 the F-Score filter ensures fundamentals haven't actually collapsed.",
          "primary_sort": "-earnings_yield",
          "limit": 50,
          "screener_preset": "deep_value",
          "page_url": "https://sharemaestro.com/factors/deep-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/deep-value/",
          "chart_config": {
            "x": "ey",
            "y": "fscore",
            "xl": "Earnings Yield",
            "yl": "Piotroski F-Score",
            "colour": "m12_1",
            "cl": "Momentum 12-1",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High F-Score\nLow E/Y",
              "High F-Score\nHigh E/Y \u2014 Sweet Spot",
              "Low F-Score\nHigh E/Y \u2014 Value Trap?",
              "Low F-Score\nLow E/Y"
            ]
          },
          "card_metrics": [
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": true
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "D/E",
              "field": "debt_to_equity",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            }
          ]
        },
        {
          "key": "vc2_cheapest",
          "name": "VC2 Cheapest Decile",
          "slug": "vc2-cheapest",
          "group": "value",
          "tagline": "Top decile by VC2 with factor-native tie-breaks",
          "thesis": "Value Composite 2 ranks stocks by P/E, P/S, P/B, P/CF, EBITDA/EV, and shareholder yield. The cheapest decile is the feeding pool for Trending Value \u2014 before momentum overlay. Pure multi-metric cheapness.",
          "primary_sort": "vc2_score",
          "limit": 50,
          "screener_preset": "vc2_cheapest",
          "page_url": "https://sharemaestro.com/factors/vc2-cheapest/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/vc2-cheapest/",
          "chart_config": {
            "x": "vc2",
            "y": "ey",
            "xl": "VC2 Rank (lower = cheaper)",
            "yl": "Earnings Yield",
            "colour": "shy",
            "cl": "Shareholder Yield",
            "size": "fscore",
            "sl": "F-Score",
            "quads": [
              "Cheap + Low E/Y",
              "Cheapest + High E/Y \u2014 Best Picks",
              "Less Cheap + High E/Y",
              "Less Cheap + Low E/Y"
            ]
          },
          "card_metrics": [
            {
              "label": "VC2",
              "field": "vc2_score",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "SHY",
              "field": "shareholder_yield",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "ebitda_ev",
          "name": "EBITDA/EV Value",
          "slug": "ebitda-ev",
          "group": "value",
          "tagline": "O'Shaughnessy's single best value factor",
          "thesis": "Enterprise value normalises for capital structure, making EBITDA/EV comparable across leveraged and unleveraged businesses. O'Shaughnessy found this factor alone beat the market in 96% of rolling 5-year periods.",
          "primary_sort": "-ebitda_to_ev",
          "limit": 50,
          "screener_preset": "ebitda_ev",
          "page_url": "https://sharemaestro.com/factors/ebitda-ev/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/ebitda-ev/",
          "chart_config": {
            "x": "ebitdaev",
            "y": "fscore",
            "xl": "EBITDA/EV",
            "yl": "Piotroski F-Score",
            "colour": "y",
            "cl": "Quality Percentile",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Quality\nLower Yield",
              "High Quality\nHigh Yield \u2014 Best",
              "Low Quality\nHigh Yield \u2014 Risk",
              "Low Quality\nLower Yield"
            ]
          },
          "card_metrics": [
            {
              "label": "EB/EV",
              "field": "ebitda_to_ev",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "veiled_value",
          "name": "Veiled Value",
          "slug": "veiled-value",
          "group": "value",
          "tagline": "OSAM insight: expensive by P/B but cheap by everything else",
          "thesis": "Asset-light businesses (tech, healthcare, services) look expensive on book value due to intangible assets and buyback distortion. But they're cheap on earnings, sales, and cash flow. OSAM showed this subset outperforms in 90%+ of periods.",
          "primary_sort": "-os_score",
          "limit": 50,
          "screener_preset": "veiled_value",
          "page_url": "https://sharemaestro.com/factors/veiled-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/veiled-value/",
          "chart_config": {
            "x": "pb",
            "y": "ey",
            "xl": "Price/Book (higher = more veiled)",
            "yl": "Earnings Yield",
            "colour": "shy",
            "cl": "Shareholder Yield",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Low E/Y\nLess Veiled",
              "High E/Y\nMore Veiled \u2014 Best",
              "High E/Y\nLess Veiled",
              "Low E/Y\nMore Veiled"
            ]
          },
          "card_metrics": [
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": true
            },
            {
              "label": "P/B",
              "field": "price_to_book",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "sector_relative",
          "name": "Cheapest in Sector",
          "slug": "sector-relative",
          "group": "value",
          "tagline": "Best value within each sector \u2014 neutralises cross-sector P/E distortion",
          "thesis": "Comparing tech P/E to utility P/E is meaningless. Sector-relative value finds the cheapest names within their own peer group. This surfaces idiosyncratic mispricing rather than sector-level cheapness.",
          "primary_sort": "-sector_value_pct",
          "limit": 50,
          "screener_preset": "sector_value_leaders",
          "page_url": "https://sharemaestro.com/factors/sector-relative/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/sector-relative/",
          "chart_config": {
            "x": "secval",
            "y": "y",
            "xl": "Sector Relative Value (0..1)",
            "yl": "Quality Percentile",
            "colour": "mom",
            "cl": "Momentum Percentile",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Quality\nLess Sector-Cheap",
              "High Quality\nSector-Cheap \u2014 Best",
              "Low Quality\nSector-Cheap",
              "Low Quality\nLess Sector-Cheap"
            ]
          },
          "card_metrics": [
            {
              "label": "SecVal",
              "field": "sector_value_pct",
              "primary": true
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "quality",
      "label": "Quality",
      "description": "Profitable, well-managed businesses with strong fundamentals.",
      "strategies": [
        {
          "key": "piotroski_bargains",
          "name": "Piotroski Bargains",
          "slug": "piotroski-bargains",
          "group": "quality",
          "tagline": "F-Score \u2265 7 with top-half value \u2014 the academic quality screen",
          "thesis": "Joseph Piotroski's 9-point fundamental strength test applied to cheap stocks. Each point tests profitability, leverage, or operating efficiency. A score of 7+ means the business is fundamentally improving.",
          "primary_sort": "-piotroski_f_score",
          "limit": 50,
          "screener_preset": "piotroski_bargains",
          "page_url": "https://sharemaestro.com/factors/piotroski-bargains/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/piotroski-bargains/",
          "chart_config": {
            "x": "x",
            "y": "fscore",
            "xl": "Value Percentile",
            "yl": "F-Score",
            "colour": "y",
            "cl": "Quality %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High F-Score\nLow Value",
              "High F-Score\nCheap",
              "Low F-Score\nCheap",
              "Low F-Score\nLow Value"
            ]
          },
          "card_metrics": [
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "D/E",
              "field": "debt_to_equity",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "quality_compounders",
          "name": "Quality Compounders",
          "slug": "quality-compounders",
          "group": "quality",
          "tagline": "High ROE, high margins, low debt, growing revenue",
          "thesis": "Long-duration compounders that reinvest at high rates of return. The quality factors here \u2014 ROE > 15%, margins > 10%, D/E < 1.0 \u2014 identify businesses with durable competitive advantages.",
          "primary_sort": "-roe",
          "limit": 50,
          "screener_preset": "quality_compounders",
          "page_url": "https://sharemaestro.com/factors/quality-compounders/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/quality-compounders/",
          "chart_config": {
            "x": "roe",
            "y": "margin",
            "xl": "Return on Equity",
            "yl": "Net Margin",
            "colour": "revg",
            "cl": "Revenue Growth",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Margin\nLow ROE",
              "High Margin\nHigh ROE",
              "Low Margin\nHigh ROE",
              "Low Margin\nLow ROE"
            ]
          },
          "card_metrics": [
            {
              "label": "ROE",
              "field": "roe",
              "primary": true
            },
            {
              "label": "Marg",
              "field": "net_margin",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "RevG",
              "field": "revenue_growth",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            }
          ]
        },
        {
          "key": "capital_allocators",
          "name": "Capital Allocators",
          "slug": "capital-allocators",
          "group": "quality",
          "tagline": "Best capital allocation quality \u2014 managers who deploy cash well",
          "thesis": "Not all shareholder yield is created equal. This strategy surfaces companies that fund buybacks internally (not with debt), buy back at attractive valuations, and maintain strong fundamentals.",
          "primary_sort": "-capital_allocation_quality",
          "limit": 50,
          "screener_preset": "alpha_within_value",
          "page_url": "https://sharemaestro.com/factors/capital-allocators/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/capital-allocators/",
          "chart_config": {
            "x": "shy",
            "y": "roe",
            "xl": "Shareholder Yield",
            "yl": "Return on Equity",
            "colour": "fcfy",
            "cl": "FCF Yield",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High ROE\nLow SH Yield",
              "High ROE\nHigh SH Yield",
              "Low ROE\nHigh SH Yield",
              "Low ROE\nLow SH Yield"
            ]
          },
          "card_metrics": [
            {
              "label": "SHY",
              "field": "shareholder_yield",
              "primary": true
            },
            {
              "label": "FCF%",
              "field": "fcf_yield",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "BBK",
              "field": "buyback_yield",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "consistent_earners",
          "name": "Consistent Earners",
          "slug": "consistent-earners",
          "group": "quality",
          "tagline": "5+ years of consecutive EPS growth + value overlay",
          "thesis": "O'Shaughnessy's growth signal. Companies that have grown earnings every year for 5+ years demonstrate execution consistency. Combined with a value floor, this avoids overpaying for growth.",
          "primary_sort": "-eps_growth_5y_cagr",
          "limit": 50,
          "screener_preset": "earnings_consistency",
          "page_url": "https://sharemaestro.com/factors/consistent-earners/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/consistent-earners/",
          "chart_config": {
            "x": "x",
            "y": "eg5",
            "xl": "Value Percentile",
            "yl": "EPS Growth 5Y CAGR",
            "colour": "eg1",
            "cl": "EPS Growth 1Y",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Strong 5Y Growth\nExpensive",
              "Strong 5Y Growth\nCheap",
              "Weak 5Y Growth\nCheap",
              "Weak 5Y Growth\nExpensive"
            ]
          },
          "card_metrics": [
            {
              "label": "EPS 5Y",
              "field": "eps_growth_5y_cagr",
              "primary": true
            },
            {
              "label": "EPS 1Y",
              "field": "eps_growth_1y",
              "primary": false
            },
            {
              "label": "Stab5Y",
              "field": "earnings_stability_5y",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Mom12",
              "field": "momentum_12_1",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "growth",
      "label": "Growth",
      "description": "Revenue and earnings growth at reasonable prices.",
      "strategies": [
        {
          "key": "cornerstone_growth",
          "name": "Cornerstone Growth",
          "slug": "cornerstone-growth",
          "group": "growth",
          "tagline": "P/S < 1.5, 5yr earnings consistency, strongest momentum",
          "thesis": "O'Shaughnessy's growth strategy. Start with consistent earners, filter for reasonable sales multiples (P/S < 1.5), then rank by 12-1 momentum. Growth at a reasonable price with trend confirmation.",
          "primary_sort": "cornerstone_growth_rank",
          "limit": 50,
          "screener_preset": "cornerstone_growth",
          "page_url": "https://sharemaestro.com/factors/cornerstone-growth/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/cornerstone-growth/",
          "chart_config": {
            "x": "ps",
            "y": "m12_1",
            "xl": "Price/Sales",
            "yl": "Momentum 12-1",
            "colour": "revg",
            "cl": "Revenue Growth",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Strong Mom\nExpensive",
              "Strong Mom\nCheap P/S",
              "Weak Mom\nCheap P/S",
              "Weak Mom\nExpensive"
            ]
          },
          "card_metrics": [
            {
              "label": "RevG",
              "field": "revenue_growth",
              "primary": true
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            }
          ]
        },
        {
          "key": "garp",
          "name": "GARP",
          "slug": "garp",
          "group": "growth",
          "tagline": "Growth at a Reasonable Price \u2014 revenue growth + moderate P/E",
          "thesis": "The balanced approach: find companies growing revenue at 10%+ per year but still trading at reasonable P/E (\u226425). The quality gate ensures we're buying real growth, not accounting tricks.",
          "primary_sort": "-revenue_growth",
          "limit": 50,
          "screener_preset": "garp",
          "page_url": "https://sharemaestro.com/factors/garp/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/garp/",
          "chart_config": {
            "x": "revg",
            "y": "pe",
            "xl": "Revenue Growth",
            "yl": "P/E Ratio",
            "colour": "y",
            "cl": "Quality %",
            "size": "mom",
            "sl": "Momentum %",
            "quads": [
              "High P/E\nLow Growth \u2014 Overpriced",
              "High P/E\nHigh Growth \u2014 Priced In?",
              "Low P/E\nHigh Growth \u2014 GARP Sweet Spot",
              "Low P/E\nLow Growth \u2014 Stale"
            ]
          },
          "card_metrics": [
            {
              "label": "RevG",
              "field": "revenue_growth",
              "primary": true
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "momentum",
      "label": "Momentum",
      "description": "Riding price trends with risk controls.",
      "strategies": [
        {
          "key": "risk_adj_momentum",
          "name": "Risk-Adjusted Momentum",
          "slug": "risk-adj-momentum",
          "group": "momentum",
          "tagline": "Momentum 12-1 \u00f7 Volatility \u2014 a Sharpe-like momentum score",
          "thesis": "Raw momentum rewards volatile stocks. Dividing by volatility penalises erratic returns and rewards smooth, consistent trends. This is the Sharpe ratio applied to price momentum.",
          "primary_sort": "-risk_adjusted_momentum",
          "limit": 50,
          "screener_preset": "momentum_leaders",
          "page_url": "https://sharemaestro.com/factors/risk-adj-momentum/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/risk-adj-momentum/",
          "chart_config": {
            "x": "vol",
            "y": "m12_1",
            "xl": "Volatility 252d",
            "yl": "Momentum 12-1",
            "colour": "y",
            "cl": "Quality %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Strong Mom\nHigh Vol \u2014 Risky",
              "Strong Mom\nLow Vol \u2014 Sweet Spot",
              "Weak Mom\nLow Vol \u2014 Sleepy",
              "Weak Mom\nHigh Vol \u2014 Avoid"
            ]
          },
          "card_metrics": [
            {
              "label": "RAM",
              "field": "risk_adjusted_momentum",
              "primary": true
            },
            {
              "label": "Mom12",
              "field": "momentum_12_1",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "momentum_leaders",
          "name": "Momentum Leaders",
          "slug": "momentum-leaders",
          "group": "momentum",
          "tagline": "Strongest 12-1 momentum with controlled risk",
          "thesis": "Pure price trend. Select names with 12-1 momentum \u2265 15% and volatility \u2264 50%. The volatility cap prevents chasing speculative spikes.",
          "primary_sort": "-risk_adjusted_momentum",
          "limit": 50,
          "screener_preset": "momentum_leaders",
          "page_url": "https://sharemaestro.com/factors/momentum-leaders/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/momentum-leaders/",
          "chart_config": {
            "x": "m12_1",
            "y": "vol",
            "xl": "Momentum 12-1",
            "yl": "Volatility 252d",
            "colour": "ram",
            "cl": "Risk-Adj Mom",
            "size": "x",
            "sl": "Value %",
            "quads": [
              "High Vol\nWeak Mom",
              "High Vol\nStrong Mom",
              "Low Vol\nStrong Mom",
              "Low Vol\nWeak Mom"
            ]
          },
          "card_metrics": [
            {
              "label": "Mom12",
              "field": "momentum_12_1",
              "primary": true
            },
            {
              "label": "Mom6",
              "field": "momentum_6m",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "income",
      "label": "Income",
      "description": "Dividend yield and total shareholder return.",
      "strategies": [
        {
          "key": "shareholder_yield",
          "name": "Shareholder Yield",
          "slug": "shareholder-yield",
          "group": "income",
          "tagline": "Dividends + buybacks + debt paydown \u2014 O'Shaughnessy's total cash return",
          "thesis": "Dividends alone miss half the picture. Shareholder yield adds net buybacks and debt reduction. O'Shaughnessy found total shareholder yield a better predictor of future returns than dividends alone. Pure ranking by yield \u2014 no quality gate \u2014 as in the original book.",
          "primary_sort": "-shareholder_yield",
          "limit": 50,
          "screener_preset": "shareholder_yield",
          "page_url": "https://sharemaestro.com/factors/shareholder-yield/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/shareholder-yield/",
          "chart_config": {
            "x": "shy",
            "y": "fcfy",
            "xl": "Shareholder Yield",
            "yl": "FCF Yield",
            "colour": "fscore",
            "cl": "F-Score",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High FCF\nLow SH Yield",
              "High FCF\nHigh SH Yield",
              "Low FCF\nHigh SH Yield",
              "Low FCF\nLow SH Yield"
            ]
          },
          "card_metrics": [
            {
              "label": "SHY",
              "field": "shareholder_yield",
              "primary": true
            },
            {
              "label": "Div%",
              "field": "dividend_yield",
              "primary": false
            },
            {
              "label": "BBK",
              "field": "buyback_yield",
              "primary": false
            },
            {
              "label": "FCF%",
              "field": "fcf_yield",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "high_yield",
          "name": "High Yield",
          "slug": "high-yield",
          "group": "income",
          "tagline": "Top dividend and FCF yields for income investors",
          "thesis": "Pure income screen. Dividend yield \u2265 3% backed by FCF yield \u2265 4%. The FCF floor ensures dividends are covered by cash generation, not funded by debt.",
          "primary_sort": "-dividend_yield",
          "limit": 50,
          "screener_preset": "high_yield",
          "page_url": "https://sharemaestro.com/factors/high-yield/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/high-yield/",
          "chart_config": {
            "x": "divy",
            "y": "fcfy",
            "xl": "Dividend Yield",
            "yl": "FCF Yield",
            "colour": "fscore",
            "cl": "F-Score",
            "size": "de",
            "sl": "Debt/Equity",
            "quads": [
              "High FCF\nLow Div \u2014 Cash Hoarder",
              "High FCF\nHigh Div \u2014 Well Covered",
              "Low FCF\nHigh Div \u2014 Yield Trap?",
              "Low FCF\nLow Div"
            ]
          },
          "card_metrics": [
            {
              "label": "Div%",
              "field": "dividend_yield",
              "primary": true
            },
            {
              "label": "FCF%",
              "field": "fcf_yield",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "D/E",
              "field": "debt_to_equity",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "universe",
      "label": "Universe",
      "description": "Strategies defined by market-cap universe membership.",
      "strategies": [
        {
          "key": "market_leaders",
          "name": "Market Leaders",
          "slug": "market-leaders",
          "group": "universe",
          "tagline": "O'Shaughnessy large-cap quality universe",
          "thesis": "Market Leaders: above-average market cap, shares outstanding, cash flow per share, and revenue. Non-utility. This is the quality large-cap universe that feeds Cornerstone Value and other conservative strategies.",
          "primary_sort": "-os_score",
          "limit": 50,
          "screener_preset": "market_leaders_value",
          "page_url": "https://sharemaestro.com/factors/market-leaders/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/market-leaders/",
          "chart_config": {
            "x": "x",
            "y": "y",
            "xl": "Value Percentile",
            "yl": "Quality Percentile",
            "colour": "mom",
            "cl": "Momentum %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High Quality\nExpensive",
              "Cheap +\nHigh Quality",
              "Cheap +\nLow Quality",
              "Expensive +\nLow Quality"
            ]
          },
          "card_metrics": [
            {
              "label": "OS",
              "field": "os_score",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "ROE",
              "field": "roe",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "tiny_titans",
          "name": "Tiny Titans",
          "slug": "tiny-titans",
          "group": "universe",
          "tagline": "O'Shaughnessy micro-caps: $25M\u2013$250M, low P/S, momentum",
          "thesis": "The highest-alpha, highest-risk strategy. Micro-cap stocks are less covered, less liquid, and more volatile \u2014 but the size premium combined with value and momentum has historically produced outsized returns.",
          "primary_sort": "tiny_titans_rank",
          "limit": 50,
          "screener_preset": "tiny_titans",
          "page_url": "https://sharemaestro.com/factors/tiny-titans/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/tiny-titans/",
          "chart_config": {
            "x": "ps",
            "y": "m12_1",
            "xl": "Price/Sales",
            "yl": "Momentum 12-1",
            "colour": "vol",
            "cl": "Volatility",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "Strong Mom\nExpensive",
              "Strong Mom\nCheap P/S",
              "Weak Mom\nCheap P/S",
              "Weak Mom\nExpensive"
            ]
          },
          "card_metrics": [
            {
              "label": "OS",
              "field": "os_score",
              "primary": true
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Mom%",
              "field": "momentum_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "Conf",
              "field": "signal_confidence",
              "primary": false
            },
            {
              "label": "F",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        },
        {
          "key": "small_cap_value",
          "name": "Small Cap Value",
          "slug": "small-cap-value",
          "group": "universe",
          "tagline": "Small/micro caps with strong value \u2014 size + value premium",
          "thesis": "The academic double premium: small size + deep value. Higher alpha potential but requires the F-Score quality gate to avoid the elevated bankruptcy risk in small-cap value.",
          "primary_sort": "-value_percentile",
          "limit": 50,
          "screener_preset": "small_cap_value",
          "page_url": "https://sharemaestro.com/factors/small-cap-value/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/small-cap-value/",
          "chart_config": {
            "x": "x",
            "y": "fscore",
            "xl": "Value Percentile",
            "yl": "F-Score",
            "colour": "mom",
            "cl": "Momentum %",
            "size": "os",
            "sl": "OS Score",
            "quads": [
              "High F-Score\nExpensive",
              "High F-Score\nCheap",
              "Low F-Score\nCheap",
              "Low F-Score\nExpensive"
            ]
          },
          "card_metrics": [
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": true
            },
            {
              "label": "P/E",
              "field": "pe_ratio",
              "primary": false
            },
            {
              "label": "P/B",
              "field": "price_to_book",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "E/Y",
              "field": "earnings_yield",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    },
    {
      "key": "defensive",
      "label": "Defensive",
      "description": "Low-volatility and capital preservation.",
      "strategies": [
        {
          "key": "low_volatility",
          "name": "Low Volatility",
          "slug": "low-volatility",
          "group": "defensive",
          "tagline": "Lowest volatility with positive momentum \u2014 the defensive allocation",
          "thesis": "The low-volatility anomaly: less volatile stocks have historically delivered better risk-adjusted returns than the market. Adding a positive momentum floor avoids catching falling knives.",
          "primary_sort": "volatility_252d",
          "limit": 50,
          "screener_preset": "low_vol",
          "page_url": "https://sharemaestro.com/factors/low-volatility/",
          "api_url": "https://sharemaestro.com/factors/api/strategies/low-volatility/",
          "chart_config": {
            "x": "vol",
            "y": "m12_1",
            "xl": "Volatility 252d",
            "yl": "Momentum 12-1",
            "colour": "divy",
            "cl": "Div Yield",
            "size": "y",
            "sl": "Quality %",
            "quads": [
              "Strong Mom\nHigh Vol",
              "Strong Mom\nLow Vol \u2014 Sweet Spot",
              "Weak Mom\nLow Vol",
              "Weak Mom\nHigh Vol"
            ]
          },
          "card_metrics": [
            {
              "label": "Vol",
              "field": "volatility_252d",
              "primary": true
            },
            {
              "label": "Mom12",
              "field": "momentum_12_1",
              "primary": false
            },
            {
              "label": "Div%",
              "field": "dividend_yield",
              "primary": false
            },
            {
              "label": "Qual%",
              "field": "quality_percentile",
              "primary": false
            },
            {
              "label": "F-Score",
              "field": "piotroski_f_score",
              "primary": false
            },
            {
              "label": "OS",
              "field": "os_score",
              "primary": false
            },
            {
              "label": "Val%",
              "field": "value_percentile",
              "primary": false
            },
            {
              "label": "\u0394",
              "field": "os_score_delta",
              "primary": false
            }
          ]
        }
      ]
    }
  ],
  "chart_config": {
    "os_composite": {
      "x": "x",
      "y": "y",
      "xl": "Value Percentile",
      "yl": "Quality Percentile",
      "colour": "mom",
      "cl": "Momentum %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Quality\nLow Value",
        "Cheap +\nHigh Quality",
        "Cheap +\nLow Quality",
        "Expensive +\nLow Quality"
      ]
    },
    "trending_value": {
      "x": "vc2",
      "y": "m6m",
      "xl": "VC2 Rank (lower = cheaper)",
      "yl": "Momentum 6M",
      "colour": "x",
      "cl": "Value %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Strong Mom\nExpensive",
        "Strong Mom\nCheap",
        "Weak Mom\nCheap",
        "Weak Mom\nExpensive"
      ]
    },
    "quality_value": {
      "x": "x",
      "y": "y",
      "xl": "Value Percentile",
      "yl": "Quality Percentile",
      "colour": "qv",
      "cl": "QV Composite",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Quality\nLow Value",
        "Cheap +\nHigh Quality",
        "Cheap +\nLow Quality",
        "Expensive +\nLow Quality"
      ]
    },
    "cornerstone_value": {
      "x": "divy",
      "y": "ey",
      "xl": "Dividend Yield",
      "yl": "Earnings Yield",
      "colour": "fscore",
      "cl": "F-Score",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High E/Y\nLow Div",
        "High E/Y\nHigh Div \u2014 Sweet Spot",
        "Low E/Y\nHigh Div \u2014 Yield Trap?",
        "Low E/Y\nLow Div"
      ]
    },
    "deep_value": {
      "x": "ey",
      "y": "fscore",
      "xl": "Earnings Yield",
      "yl": "Piotroski F-Score",
      "colour": "m12_1",
      "cl": "Momentum 12-1",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High F-Score\nLow E/Y",
        "High F-Score\nHigh E/Y \u2014 Sweet Spot",
        "Low F-Score\nHigh E/Y \u2014 Value Trap?",
        "Low F-Score\nLow E/Y"
      ]
    },
    "vc2_cheapest": {
      "x": "vc2",
      "y": "ey",
      "xl": "VC2 Rank (lower = cheaper)",
      "yl": "Earnings Yield",
      "colour": "shy",
      "cl": "Shareholder Yield",
      "size": "fscore",
      "sl": "F-Score",
      "quads": [
        "Cheap + Low E/Y",
        "Cheapest + High E/Y \u2014 Best Picks",
        "Less Cheap + High E/Y",
        "Less Cheap + Low E/Y"
      ]
    },
    "ebitda_ev": {
      "x": "ebitdaev",
      "y": "fscore",
      "xl": "EBITDA/EV",
      "yl": "Piotroski F-Score",
      "colour": "y",
      "cl": "Quality Percentile",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Quality\nLower Yield",
        "High Quality\nHigh Yield \u2014 Best",
        "Low Quality\nHigh Yield \u2014 Risk",
        "Low Quality\nLower Yield"
      ]
    },
    "veiled_value": {
      "x": "pb",
      "y": "ey",
      "xl": "Price/Book (higher = more veiled)",
      "yl": "Earnings Yield",
      "colour": "shy",
      "cl": "Shareholder Yield",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Low E/Y\nLess Veiled",
        "High E/Y\nMore Veiled \u2014 Best",
        "High E/Y\nLess Veiled",
        "Low E/Y\nMore Veiled"
      ]
    },
    "sector_relative": {
      "x": "secval",
      "y": "y",
      "xl": "Sector Relative Value (0..1)",
      "yl": "Quality Percentile",
      "colour": "mom",
      "cl": "Momentum Percentile",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Quality\nLess Sector-Cheap",
        "High Quality\nSector-Cheap \u2014 Best",
        "Low Quality\nSector-Cheap",
        "Low Quality\nLess Sector-Cheap"
      ]
    },
    "piotroski_bargains": {
      "x": "x",
      "y": "fscore",
      "xl": "Value Percentile",
      "yl": "F-Score",
      "colour": "y",
      "cl": "Quality %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High F-Score\nLow Value",
        "High F-Score\nCheap",
        "Low F-Score\nCheap",
        "Low F-Score\nLow Value"
      ]
    },
    "quality_compounders": {
      "x": "roe",
      "y": "margin",
      "xl": "Return on Equity",
      "yl": "Net Margin",
      "colour": "revg",
      "cl": "Revenue Growth",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Margin\nLow ROE",
        "High Margin\nHigh ROE",
        "Low Margin\nHigh ROE",
        "Low Margin\nLow ROE"
      ]
    },
    "capital_allocators": {
      "x": "shy",
      "y": "roe",
      "xl": "Shareholder Yield",
      "yl": "Return on Equity",
      "colour": "fcfy",
      "cl": "FCF Yield",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High ROE\nLow SH Yield",
        "High ROE\nHigh SH Yield",
        "Low ROE\nHigh SH Yield",
        "Low ROE\nLow SH Yield"
      ]
    },
    "consistent_earners": {
      "x": "x",
      "y": "eg5",
      "xl": "Value Percentile",
      "yl": "EPS Growth 5Y CAGR",
      "colour": "eg1",
      "cl": "EPS Growth 1Y",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Strong 5Y Growth\nExpensive",
        "Strong 5Y Growth\nCheap",
        "Weak 5Y Growth\nCheap",
        "Weak 5Y Growth\nExpensive"
      ]
    },
    "cornerstone_growth": {
      "x": "ps",
      "y": "m12_1",
      "xl": "Price/Sales",
      "yl": "Momentum 12-1",
      "colour": "revg",
      "cl": "Revenue Growth",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Strong Mom\nExpensive",
        "Strong Mom\nCheap P/S",
        "Weak Mom\nCheap P/S",
        "Weak Mom\nExpensive"
      ]
    },
    "garp": {
      "x": "revg",
      "y": "pe",
      "xl": "Revenue Growth",
      "yl": "P/E Ratio",
      "colour": "y",
      "cl": "Quality %",
      "size": "mom",
      "sl": "Momentum %",
      "quads": [
        "High P/E\nLow Growth \u2014 Overpriced",
        "High P/E\nHigh Growth \u2014 Priced In?",
        "Low P/E\nHigh Growth \u2014 GARP Sweet Spot",
        "Low P/E\nLow Growth \u2014 Stale"
      ]
    },
    "risk_adj_momentum": {
      "x": "vol",
      "y": "m12_1",
      "xl": "Volatility 252d",
      "yl": "Momentum 12-1",
      "colour": "y",
      "cl": "Quality %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Strong Mom\nHigh Vol \u2014 Risky",
        "Strong Mom\nLow Vol \u2014 Sweet Spot",
        "Weak Mom\nLow Vol \u2014 Sleepy",
        "Weak Mom\nHigh Vol \u2014 Avoid"
      ]
    },
    "momentum_leaders": {
      "x": "m12_1",
      "y": "vol",
      "xl": "Momentum 12-1",
      "yl": "Volatility 252d",
      "colour": "ram",
      "cl": "Risk-Adj Mom",
      "size": "x",
      "sl": "Value %",
      "quads": [
        "High Vol\nWeak Mom",
        "High Vol\nStrong Mom",
        "Low Vol\nStrong Mom",
        "Low Vol\nWeak Mom"
      ]
    },
    "shareholder_yield": {
      "x": "shy",
      "y": "fcfy",
      "xl": "Shareholder Yield",
      "yl": "FCF Yield",
      "colour": "fscore",
      "cl": "F-Score",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High FCF\nLow SH Yield",
        "High FCF\nHigh SH Yield",
        "Low FCF\nHigh SH Yield",
        "Low FCF\nLow SH Yield"
      ]
    },
    "high_yield": {
      "x": "divy",
      "y": "fcfy",
      "xl": "Dividend Yield",
      "yl": "FCF Yield",
      "colour": "fscore",
      "cl": "F-Score",
      "size": "de",
      "sl": "Debt/Equity",
      "quads": [
        "High FCF\nLow Div \u2014 Cash Hoarder",
        "High FCF\nHigh Div \u2014 Well Covered",
        "Low FCF\nHigh Div \u2014 Yield Trap?",
        "Low FCF\nLow Div"
      ]
    },
    "market_leaders": {
      "x": "x",
      "y": "y",
      "xl": "Value Percentile",
      "yl": "Quality Percentile",
      "colour": "mom",
      "cl": "Momentum %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High Quality\nExpensive",
        "Cheap +\nHigh Quality",
        "Cheap +\nLow Quality",
        "Expensive +\nLow Quality"
      ]
    },
    "tiny_titans": {
      "x": "ps",
      "y": "m12_1",
      "xl": "Price/Sales",
      "yl": "Momentum 12-1",
      "colour": "vol",
      "cl": "Volatility",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "Strong Mom\nExpensive",
        "Strong Mom\nCheap P/S",
        "Weak Mom\nCheap P/S",
        "Weak Mom\nExpensive"
      ]
    },
    "small_cap_value": {
      "x": "x",
      "y": "fscore",
      "xl": "Value Percentile",
      "yl": "F-Score",
      "colour": "mom",
      "cl": "Momentum %",
      "size": "os",
      "sl": "OS Score",
      "quads": [
        "High F-Score\nExpensive",
        "High F-Score\nCheap",
        "Low F-Score\nCheap",
        "Low F-Score\nExpensive"
      ]
    },
    "low_volatility": {
      "x": "vol",
      "y": "m12_1",
      "xl": "Volatility 252d",
      "yl": "Momentum 12-1",
      "colour": "divy",
      "cl": "Div Yield",
      "size": "y",
      "sl": "Quality %",
      "quads": [
        "Strong Mom\nHigh Vol",
        "Strong Mom\nLow Vol \u2014 Sweet Spot",
        "Weak Mom\nLow Vol",
        "Weak Mom\nHigh Vol"
      ]
    }
  },
  "chart_fields": {
    "x": {
      "label": "Value %",
      "fmt": ".1%"
    },
    "y": {
      "label": "Quality %",
      "fmt": ".1%"
    },
    "mom": {
      "label": "Momentum %",
      "fmt": ".1%"
    },
    "os": {
      "label": "OS Score",
      "fmt": ".3f"
    },
    "pe": {
      "label": "P/E",
      "fmt": ".1f"
    },
    "ey": {
      "label": "E/Y",
      "fmt": ".2%"
    },
    "roe": {
      "label": "ROE",
      "fmt": ".1%"
    },
    "de": {
      "label": "D/E",
      "fmt": ".2f"
    },
    "margin": {
      "label": "Net Margin",
      "fmt": ".1%"
    },
    "m12": {
      "label": "Mom 12M",
      "fmt": ".1%"
    },
    "m12_1": {
      "label": "Mom 12-1",
      "fmt": ".1%"
    },
    "m6m": {
      "label": "Mom 6M",
      "fmt": ".1%"
    },
    "divy": {
      "label": "Div Yield",
      "fmt": ".2%"
    },
    "vol": {
      "label": "Volatility",
      "fmt": ".1%"
    },
    "pb": {
      "label": "P/B",
      "fmt": ".1f"
    },
    "ps": {
      "label": "P/S",
      "fmt": ".1f"
    },
    "vc2": {
      "label": "VC2 Rank",
      "fmt": ".0f"
    },
    "fscore": {
      "label": "F-Score",
      "fmt": ".0f"
    },
    "shy": {
      "label": "SH Yield",
      "fmt": ".1%"
    },
    "fcfy": {
      "label": "FCF Yield",
      "fmt": ".1%"
    },
    "ebitdaev": {
      "label": "EBITDA/EV",
      "fmt": ".1%"
    },
    "ram": {
      "label": "Risk-Adj Mom",
      "fmt": ".3f"
    },
    "revg": {
      "label": "Rev Growth",
      "fmt": ".1%"
    },
    "qv": {
      "label": "QV Score",
      "fmt": ".3f"
    },
    "capalloc": {
      "label": "Cap Alloc",
      "fmt": ".3f"
    },
    "secval": {
      "label": "Sector Value %",
      "fmt": ".1%"
    },
    "epsyrs": {
      "label": "EPS Streak",
      "fmt": ".0f"
    },
    "eg1": {
      "label": "EPS Growth 1Y",
      "fmt": ".1%"
    },
    "eg5": {
      "label": "EPS CAGR 5Y",
      "fmt": ".1%"
    },
    "bbk": {
      "label": "Buyback Yield",
      "fmt": ".1%"
    },
    "mcap": {
      "label": "Cap Class",
      "fmt": "s"
    }
  }
}