Price-to-Sales Below 1 in Japan: 7.94% CAGR, Best Risk-Adjusted Return Globally

We screened JPX for stocks with P/S below 1 and quality margin filters, then ran 25 years of backtests. The strategy returned 7.94% annually, beating the Nikkei 225 by 4.54 percentage points, with a Sharpe ratio of 0.409 that ranks first among all 14 exchanges tested globally.

Growth of JPY 10,000 invested in P/S value screen JPX Japan vs Nikkei 225 from 2000 to 2025. Japan portfolio consistently outpaces the Nikkei over the invested period.

We screened JPX-listed stocks for low price-to-sales ratios with quality margin and profitability filters, then backtested the portfolio from 2000 to 2025. The strategy returned 7.94% annually, beating the Nikkei 225 by 4.54 percentage points. The Sharpe ratio of 0.409 ranks first among all 14 exchanges tested globally. Japan went from the series' most counterintuitive result to its best risk-adjusted outcome, once you measure it against the right benchmark.

Contents

  1. Method
  2. The Screen
  3. JPX P/S Screen (SQL)
  4. What We Found
  5. 25 years. Best Sharpe globally. +4.54% above the Nikkei.
  6. Year-by-year returns
  7. 2003-2005: getting started
  8. 2008: holding up against a harder Nikkei fall
  9. 2010-2011: the strategy's best stretch vs local benchmark
  10. 2013: Abenomics year
  11. 2016-2017: consistent beats
  12. 2018: the worst year vs Nikkei
  13. 2020: the one year Japan clearly missed
  14. Why the quality filter matters most in Japan
  15. Backtest Methodology
  16. Limitations
  17. Takeaway
  18. Part of a Series
  19. References
  20. Run This Screen Yourself

Data: FMP financial data warehouse, 2000–2025. Updated March 2026.


Method

Data source: Ceta Research (FMP financial data warehouse) Universe: JPX (Japan Exchange Group), market cap > JPY 10B Period: 2000-2025 (25 years), invested 2003-2025 (FY data available from 2003 onward) Rebalancing: Quarterly (January, April, July, October), equal weight, top 30 by lowest P/S Benchmark: Nikkei 225 Cash rule: Hold cash if fewer than 10 stocks qualify

Financial data sourced from FY financial statements with a 45-day lag to prevent look-ahead bias. The portfolio held cash during 14 of 100 quarters, concentrated in 2000-2002 when qualifying FY data wasn't yet available in the pipeline.


The Screen

Signal filters:

Criterion Metric Threshold
Cheap relative to revenue Price-to-Sales < 1.0
Business quality Gross Margin > 20%
Operational efficiency Operating Margin > 5%
Capital returns ROE > 10%

Size filter: Market cap > JPY 10B

Selection: Top 30 by lowest P/S among qualifying stocks.

The ROE filter is doing significant work in Japan specifically. Japanese companies are known for conservative capital structures and historically low return on equity. Many trade at low P/S ratios simply because they've sat on cash for years and never pushed for returns. Without the ROE screen, the portfolio fills with exactly those companies. The 10% ROE floor keeps them out.

JPX P/S Screen (SQL)

SELECT
    f.symbol,
    p.companyName,
    p.exchange,
    p.sector,
    ROUND(f.priceToSalesRatioTTM, 3) AS ps_ratio,
    ROUND(f.grossProfitMarginTTM * 100, 1) AS gross_margin_pct,
    ROUND(f.operatingProfitMarginTTM * 100, 1) AS op_margin_pct,
    ROUND(k.returnOnEquityTTM * 100, 1) AS roe_pct,
    ROUND(k.marketCap / 1e9, 2) AS mktcap_b
FROM financial_ratios_ttm f
JOIN key_metrics_ttm k ON f.symbol = k.symbol
JOIN profile p ON f.symbol = p.symbol
WHERE f.priceToSalesRatioTTM > 0
  AND f.priceToSalesRatioTTM < 1
  AND f.grossProfitMarginTTM > 0.20
  AND f.operatingProfitMarginTTM > 0.05
  AND k.returnOnEquityTTM > 0.10
  AND k.marketCap > 10000000000
  AND p.exchange IN ('JPX')
QUALIFY ROW_NUMBER() OVER (PARTITION BY f.symbol ORDER BY f.priceToSalesRatioTTM ASC) = 1
ORDER BY f.priceToSalesRatioTTM ASC
LIMIT 30

Run this query on Ceta Research


What We Found

Growth of JPY 10,000 invested in P/S value screen JPX Japan vs Nikkei 225 from 2000 to 2025. Japan portfolio consistently outpaces the Nikkei over the invested period.
Growth of JPY 10,000 invested in P/S value screen JPX Japan vs Nikkei 225 from 2000 to 2025. Japan portfolio consistently outpaces the Nikkei over the invested period.

25 years. Best Sharpe globally. +4.54% above the Nikkei.

Metric P/S Screen (JPX) Nikkei 225
CAGR 7.94% 3.40%
Excess vs Nikkei +4.54%
Max Drawdown -49.21%
Sharpe Ratio 0.409
Avg Stocks per Period 29.0
Cash Periods 14 of 100
Win Rate vs Nikkei 58.25%

Against SPY (8.02%), Japan looks like a near-miss. Against the Nikkei 225 (3.40%), it looks like a clear winner. Both comparisons are true. The screen comfortably outpaced the local market. It didn't match a US-dollar-denominated global index running on tech tailwinds.

The Sharpe of 0.409 is the standout number. Japan's near-zero risk-free rate (around 0.1% for most of this period) means the Sharpe calculation isn't being depressed by a high local RFR. It's a genuine risk-adjusted figure: 0.409 is the highest of all 14 exchanges in the global study. Germany came in at 0.368. Both exceed SPY's 0.361.

The 14 cash periods are front-loaded. The pipeline's FY data for JPX became available from 2003 onward, so 2000-2002 shows as cash. Those three years the Nikkei dropped -27.95%, -20.59%, and -19.85%. Being in cash during Japan's worst stretch wasn't painful. Starting from 2003, the strategy was active for 23 invested years.

Year-by-year returns

P/S value screen JPX Japan vs Nikkei 225 annual returns 2000 to 2025. Strategy outperformed in 2010, 2011, 2016, and consistently in 2021-2022. Underperformed in 2020 and 2018.
P/S value screen JPX Japan vs Nikkei 225 annual returns 2000 to 2025. Strategy outperformed in 2010, 2011, 2016, and consistently in 2021-2022. Underperformed in 2020 and 2018.

Year P/S Screen (JPX) Nikkei 225 Excess
2000 0.0% (cash) -27.95%
2001 0.0% (cash) -20.59%
2002 0.0% (cash) -19.85%
2003 +14.61% +24.24% -9.63%
2004 +8.96% +6.40% +2.56%
2005 +45.75% +42.06% +3.69%
2006 +5.71% +6.06% -0.35%
2007 -13.48% -15.34% +1.86%
2008 -32.79% -38.45% +5.66%
2009 +22.72% +17.82% +4.89%
2010 +14.65% -2.41% +17.06%
2011 -7.03% -17.68% +10.65%
2012 +18.71% +24.86% -6.15%
2013 +55.94% +48.85% +7.09%
2014 +17.12% +9.43% +7.69%
2015 +6.84% +5.99% +0.85%
2016 +18.92% +6.20% +12.73%
2017 +23.84% +19.97% +3.87%
2018 -29.67% -16.78% -12.89%
2019 +17.00% +18.62% -1.62%
2020 -0.28% +17.47% -17.75%
2021 +12.61% +7.50% +5.11%
2022 -4.81% -12.24% +7.43%
2023 +23.06% +29.44% -6.38%
2024 +15.34% +18.08% -2.74%
2025 +14.65% +14.32% +0.33%

2003-2005: getting started

The first three invested years show a mixed opening. 2003 the screen lagged the Nikkei by -9.63% as the broad market recovered faster. But 2004 and 2005 both outperformed, including a +45.75% year in 2005 when Koizumi's privatization agenda accelerated and global demand for Japanese manufacturing was running strong. Quality manufacturers with low valuations that benefited from expansion re-rated sharply.

2008: holding up against a harder Nikkei fall

The Nikkei dropped -38.45% in 2008. The screen fell -32.79%. A +5.66% advantage in the worst year of the global financial crisis. The quality filters did their job: the screen avoided the worst of Japan's financial and property names while keeping the manufacturers with real margins.

2010-2011: the strategy's best stretch vs local benchmark

These two years produced the widest outperformance in the dataset.

2010: the Nikkei fell -2.41% while the portfolio gained +14.65%. A +17.06% gap. The Nikkei was weighed down by the continuing economic stagnation and currency appreciation pressures, but quality companies with strong balance sheets and low P/S ratios didn't follow it down. The screen's ROE filter meant it held companies actually earning on their assets.

2011: the Nikkei dropped -17.68% (the Tohoku earthquake and its aftermath hit the broad market hard). The screen fell only -7.03%. A +10.65% gap. Companies with genuine profitability and low sales multiples held up better than the index-level sell-off suggested.

2013: Abenomics year

BOJ committed to aggressive quantitative easing, the yen depreciated sharply, and Japanese exporters saw their competitive position improve overnight. Companies with strong overseas revenue, which tend to have P/S below 1 due to global pricing pressure, surged. The portfolio returned +55.94% against the Nikkei's +48.85%. A +7.09% margin on top of a banner year for the index.

2016-2017: consistent beats

Two more years of double-digit outperformance: +12.73% over Nikkei in 2016, +3.87% in 2017. The screen's industrial and export bias was aligned with the macro environment both years.

2018: the worst year vs Nikkei

The -12.89% gap in 2018 was the screen's weakest relative year. Tariff escalation fears hit Japanese manufacturers hard. The Nikkei held up somewhat because it includes more domestically-oriented names that weren't as directly exposed. The screen's concentration in manufacturers and exporters, the same bias that drove 2010 and 2013, was a liability when trade policy uncertainty peaked. SPY's losses were cushioned by large-cap US tech; the Nikkei had some of that cushion too, but the screen didn't.

2020: the one year Japan clearly missed

The screen returned -0.28% while the Nikkei returned +17.47%. A -17.75% gap. The Nikkei caught the post-COVID recovery faster than the screen's value-oriented portfolio. The gap is real and worth acknowledging. Quality value names in Japan didn't participate in the 2020 liquidity-driven rally to the same extent as the broad index. This is one of three years where the underperformance was notable (2018, 2020, 2023).

Why the quality filter matters most in Japan

Japan trades at a "Japan discount" for reasons that are structural. Many Japanese companies maintain low payout ratios, hold large cash balances, and have historically been reluctant to optimize capital structure for shareholder returns. Screening for P/S < 1 in Japan without quality filters produces a different portfolio than in other markets: it fills with companies that are cheap on sales because they're perpetually underearning their assets.

The ROE floor of 10% is the key gate. It excludes zombie companies and cash-hoarders who have never converted their asset base into returns. What's left after that filter is a subset of Japanese companies that are genuinely earning on equity while still trading at low sales multiples. That combination tends to be structural undervaluation rather than fundamental weakness. The 0.409 Sharpe ratio is the evidence that this subset existed and was persistently mispriced.


Backtest Methodology

Parameter Choice
Universe JPX, Market Cap > JPY 10B
Signal P/S < 1.0, Gross Margin > 20%, Operating Margin > 5%, ROE > 10%
Portfolio Top 30 by lowest P/S, equal weight
Rebalancing Quarterly (January, April, July, October)
Cash rule Hold cash if < 10 qualify
Benchmark Nikkei 225
Period 2000-2025 (25 years, 100 quarterly periods; invested from 2003)
Data Point-in-time (45-day lag for financial statements)

Limitations

Below SPY on raw CAGR. The strategy returned 7.94% vs 8.02% for SPY. That's a narrow gap but real. Investors using a USD-denominated benchmark need to account for it.

Currency exposure. Returns are in JPY. A US investor takes on JPY/USD risk throughout the period, which adds volatility in both directions. Yen depreciation during Abenomics was a tailwind for Japanese equities in local terms but a headwind for USD-denominated investors.

Drawdown worse than benchmark. The -49.21% max drawdown is real and reflects the screen's concentration in manufacturers and exporters during crisis periods.

Cash 2000-2002. The three-year cash period at the start is a pipeline data artifact. FY qualifying data became available from 2003 onward. The strategy was in cash while the Nikkei was falling hard, which turned out fine, but it's a data limitation not a strategy choice.

Concentration in manufacturers and exporters. The P/S screen in Japan consistently loads up on industrial exporters and manufacturing companies. This creates correlation with global trade cycles. When trade sentiment deteriorates (2018), the portfolio is exposed.

Win rate 58.25%. The screen beats the Nikkei in 15 of 26 invested years. That's a majority, but not a dominant result. About 4 in 10 years it trails the local index.

Survivorship bias. Exchange membership uses current profiles, not historical. Delistings and corporate reorganizations aren't tracked.

Transaction costs not included. With quarterly rebalancing and roughly 29 stocks, cost drag at standard institutional rates is approximately 0.3-0.5% annually.


Takeaway

Japan was the biggest surprise in this global study. Against SPY it looks like a near-miss. Against the Nikkei 225 it beats by 4.54 percentage points annually with the best Sharpe ratio of all 14 exchanges.

The reason comes down to the ROE filter. Japan has hundreds of companies trading below 1x revenue, but the quality gate removes the ones that deserve the discount. What remains is a subset of Japanese companies that are genuinely earning on their assets while being mispriced relative to their sales. The Sharpe of 0.409 is the clearest evidence this subset was consistently there.

The tradeoff is export sensitivity. When global trade supports Japanese manufacturers, the screen does well. When trade policy uncertainty or yen strength creates headwinds, those same companies sell off harder. 2018 and 2020 are the evidence of that.

Returns are in JPY. For international investors, the JPY/USD component is a material factor in any live implementation.


Part of a Series

This analysis is part of our P/S value screen global exchange comparison. We tested the same four-factor screen across 14 exchanges worldwide: - P/S Value Screen on US Stocks - P/S Value Screen on Indian Stocks - P/S Value Screen on German Stocks - P/S Value Screen on Canadian Stocks - P/S Value Screen on Swedish Stocks - P/S Value Screen on South African Stocks - P/S Value Screen: 14-Exchange Global Comparison


References

  • Fisher, K. (1984). Super Stocks. Dow Jones-Irwin.
  • Barbee, W., Mukherji, S. & Raines, G. (1996). "Do Sales-Price and Debt-Equity Explain Stock Returns Better than Book-Market and Firm Size?" Financial Analysts Journal, 52(2), 56-60.
  • Gray, W. & Vogel, J. (2012). "Analyzing Valuation Measures: A Performance Horse Race over the Past 40 Years." Journal of Portfolio Management, 39(1), 112-121.
  • Novy-Marx, R. (2013). "The Other Side of Value: The Gross Profitability Premium." Journal of Financial Economics, 108(1), 1-28.

Run This Screen Yourself

Via web UI: Run the P/S screen on Ceta Research. The query is pre-loaded. Hit "Run" and see what qualifies today.

Via Python:

import requests, time

API_KEY = "your_api_key"  # get one at cetaresearch.com
BASE = "https://tradingstudio.finance/api/v1"

resp = requests.post(f"{BASE}/data-explorer/execute", headers={
    "X-API-Key": API_KEY, "Content-Type": "application/json"
}, json={
    "query": """
        SELECT
            f.symbol,
            p.companyName,
            ROUND(f.priceToSalesRatioTTM, 3) AS ps_ratio,
            ROUND(f.grossProfitMarginTTM * 100, 1) AS gross_margin_pct,
            ROUND(f.operatingProfitMarginTTM * 100, 1) AS op_margin_pct,
            ROUND(k.returnOnEquityTTM * 100, 1) AS roe_pct,
            ROUND(k.marketCap / 1e9, 2) AS mktcap_b
        FROM financial_ratios_ttm f
        JOIN key_metrics_ttm k ON f.symbol = k.symbol
        JOIN profile p ON f.symbol = p.symbol
        WHERE f.priceToSalesRatioTTM > 0
          AND f.priceToSalesRatioTTM < 1
          AND f.grossProfitMarginTTM > 0.20
          AND f.operatingProfitMarginTTM > 0.05
          AND k.returnOnEquityTTM > 0.10
          AND k.marketCap > 10000000000
          AND p.exchange IN ('JPX')
        QUALIFY ROW_NUMBER() OVER (
            PARTITION BY f.symbol ORDER BY f.priceToSalesRatioTTM ASC
        ) = 1
        ORDER BY f.priceToSalesRatioTTM ASC
        LIMIT 30
    """,
    "options": {"format": "json", "limit": 30}
})
task_id = resp.json()["taskId"]

while True:
    result = requests.get(f"{BASE}/tasks/data-query/{task_id}",
                          headers={"X-API-Key": API_KEY}).json()
    if result["status"] in ("completed", "failed"):
        break
    time.sleep(2)

for r in result["result"]["rows"]:
    print(f"{r['symbol']:10s} P/S={r['ps_ratio']:.3f}  GM={r['gross_margin_pct']:.1f}%  ROE={r['roe_pct']:.1f}%")

Get your API key at cetaresearch.com. The full backtest code (Python + DuckDB) is on GitHub.


Data: Ceta Research, FMP financial data warehouse. Universe: JPX. Benchmark: Nikkei 225. Returns in JPY. Quarterly rebalance, equal weight, 2003-2025 invested.