Fundamentals
—
UnscoredEDGAR + yfinance fundamentals, percentile-ranked within the universe.
Fundamentals
EDGAR + yfinance fundamentals, percentile-ranked within the universe.
Technicals
Recency-weighted directional read across 27 fiscal_wizard signals.
Click any of the rows above to see the metrics or signals that fed into it — including the formula behind each one and what the current value means for JPM.
Above-average Valuation — more positives than negatives in this section.
What it measures Capital-structure-agnostic valuation multiple. Useful for comparing levered companies because it adds debt and removes cash from the numerator and uses pre-interest, pre-tax, pre-depreciation earnings in the denominator.
Formula
EV = market_cap + total_debt + preferred_equity + minority_interest - cash; EV/EBITDA = EV / ebitda_ttm
What it measures Valuation expressed against the cash actually available to all capital providers. Often more honest than EV/EBITDA when capex is meaningful relative to D&A.
Formula
EV/FCF = (market_cap + total_debt - cash) / free_cash_flow_ttm
What it measures Adjusts the numerator for debt and cash so heavily-levered or cash-rich companies are comparable. Particularly useful for cross-industry valuation work.
Formula
EV/Sales = (market_cap + total_debt - cash) / revenue_ttm
For JPM Premium revenue multiple even after netting cash - usually high gross-margin businesses.
What it measures How many dollars of book equity each share represents. Useful for asset-heavy businesses (banks, industrials) where book value approximates liquidation floor; less informative for asset-light franchises whose value is in intangibles.
Formula
P/B = market_cap / common_equity
For JPM Market values the franchise far above its book equity - common for branded consumer or software businesses.
What it measures Multiple of trailing-twelve-month earnings the market has assigned to the company. Lower means cheaper relative to current earnings power, but a single low P/E can also mean the market expects earnings to fall.
Formula
P/E = market_cap / net_income_ttm
For JPM Investors are paying a premium relative to current earnings, betting on growth, margin expansion, or perceived quality.
What it measures Useful when earnings are negative or noisy (early-stage companies, restructurings). Works best within an industry because gross margin profiles vary wildly.
Formula
P/S = market_cap / revenue_ttm
For JPM Market is paying up for revenue - implicitly betting on margin expansion or revenue growth.
What it measures Divides P/E by the annualized EPS growth rate (in percent points). Below 1.0 is conventionally read as 'cheap relative to growth.' Sensitive to which growth window you use; can flip sign if earnings are negative.
Formula
PEG = (P/E) / eps_growth_3y_pct
Weak Profitability — most metrics in this section are scoring below the universe median.
What it measures Productivity of the asset base. Combined with net margin, this is the DuPont decomposition of ROA: ROA = net_margin * asset_turnover.
Formula
Asset Turnover = revenue_ttm / average_total_assets
For JPM Revenue compounds quickly off the asset base - retail and asset-light services run high here.
What it measures Sanity-check on earnings quality. Persistently below 1 means working capital or capex is consuming earnings; persistently above 1 is unusual and may flag accounting conservatism or non-cash drags.
Formula
Cash Conversion = free_cash_flow_ttm / net_income_ttm
For JPM Earnings exceed cash - common late-cycle warning when receivables and inventories are building.
What it measures End-to-end conversion ratio: of every dollar of revenue, how much falls through to genuine free cash flow available to capital providers? More honest than net margin because it accounts for capex needed to maintain the business.
Formula
FCF Margin = (free_cash_flow_ttm / revenue_ttm) * 100
For JPM Revenue isn't translating into cash - either capex is heavy or working capital is consuming it.
What it measures FCF the business throws off relative to what you pay for the equity. Treats the equity as a perpetual claim on cash. Cyclicals can swing below zero in a downturn.
Formula
FCF Yield = (free_cash_flow_ttm / market_cap) * 100
For JPM Most of the expected return has to come from growth or multiple expansion, not current cash.
What it measures First-line profitability measure - how much revenue is left after the direct cost of producing it. Stable gross margin suggests pricing power and low input-cost exposure.
Formula
Gross Margin = ((revenue_ttm - cogs_ttm) / revenue_ttm) * 100
What it measures Operating margin minus interest, tax, and below-the-line items. Useful but noisy because tax rate and debt service distort year-to-year comparability.
Formula
Net Margin = (net_income_ttm / revenue_ttm) * 100
For JPM Strong all-in profitability after every expense category.
What it measures Pre-capex version of cash conversion. Numbers persistently below 1 suggest accruals are doing the work; numbers persistently above 1 are a (mild) positive sign.
Formula
OCF/NI = operating_cash_flow_ttm / net_income_ttm
For JPM Net income running ahead of operating cash - check accruals (receivables, deferred revenue, inventories).
What it measures Captures the leverage between revenue and operating profit. Core test of whether a business converts sales into income at the operating level.
Formula
Operating Margin = (operating_income_ttm / revenue_ttm) * 100
What it measures Measures how productive the actual operating capital base is, independent of capital structure. The benchmark is the company's cost of capital - sustained ROIC above WACC creates value, below WACC destroys it.
Formula
NOPAT = operating_income_ttm * (1 - effective_tax_rate); ROIC = (NOPAT / average_invested_capital) * 100
What it measures Capital-efficiency measure that ignores how the assets are financed. Useful for comparing within a sector but biased low for asset-heavy businesses (banks, utilities) and high for asset-light ones.
Formula
ROA = (net_income_ttm / average_total_assets) * 100
For JPM Heavy asset base is needed to generate each dollar of profit - common in capital-intensive industries.
What it measures Headline profitability metric. High ROE compounds book value if the business can reinvest at the same return. Beware of buybacks artificially inflating ROE by shrinking the denominator.
Formula
ROE = (net_income_ttm / average_common_equity) * 100
For JPM Capital is being put to work effectively - sustainable when supported by real economic moats.
Weak Balance Sheet — most metrics in this section are scoring below the universe median.
What it measures Strips out receivables and inventory, leaving only cash and equivalents over current liabilities. Stress-tests whether the business can meet obligations even if collections seize up.
Formula
Cash Ratio = cash_and_equivalents / current_liabilities
What it measures Whether the company can cover near-term obligations from near-term assets. Below 1.0 doesn't mean insolvent (cash flow can cover the gap) but is worth a closer look.
Formula
Current Ratio = current_assets / current_liabilities
What it measures How much the company funds itself with debt vs. equity. Higher leverage amplifies both returns and risks; the appropriate level varies wildly by industry.
Formula
Debt-to-Equity = total_debt / common_equity
For JPM Conservative balance sheet - lower bankruptcy risk, but may be under-levered for shareholder returns.
What it measures Strips out short-term operating debt and revolver use to focus on permanent capital structure. Useful when comparing companies that fund working capital differently.
Formula
LT D/E = long_term_debt / common_equity
Strong Income — most metrics are scoring well above the universe median.
What it measures Direct income from holding the share. Stable dividend yield often signals capital discipline; abnormally high yield can be a warning that the dividend isn't covered by FCF and may be cut.
Formula
Dividend Yield = (dividends_per_share_ttm / price) * 100
For JPM Real income today - sustainability depends on payout ratio and free cash flow coverage.
What it measures Lets you compare equity earning power directly to bond yields. A 6% earnings yield is the equity-side analog to a 6% coupon, with the difference being earnings can grow (or contract).
Formula
Earnings Yield = (net_income_ttm / market_cap) * 100
For JPM Earnings stream is large relative to price - attractive when treasury yields are low.
Weak Composite — most metrics in this section are scoring below the universe median.
What it measures Five-factor distress signal originally calibrated for US public manufacturers. Above 3.0 is the conventional 'safe' zone, 1.8-3.0 is the grey zone, below 1.8 historically associates with elevated bankruptcy risk.
Formula
Z = 1.2X1 + 1.4X2 + 3.3X3 + 0.6X4 + 1.0X5; X1=working_capital/total_assets, X2=retained_earnings/total_assets, X3=ebit/total_assets, X4=market_cap/total_liabilities, X5=revenue/total_assets
What it measures Joseph Piotroski's score for distinguishing winners from losers among low-P/B stocks. Each of 9 questions answers 0 or 1; the more 'yes' answers, the higher quality the recent year-over-year improvements.
Formula
Sum of 9 binary indicators across profitability (ROA>0, CFO>0, ROA improving, CFO>NI), leverage (LT debt/assets falling, current ratio rising, no share issuance), and operating efficiency (gross margin rising, asset turnover rising)
For JPM Fundamentals deteriorating across the board - turnaround story or value trap.
What it measures Richard Sloan's accruals-quality measure. Persistent positive accruals (NI exceeds OCF) tend to mean-revert, often via earnings disappointments. Magnitude over ~10% in either direction warrants closer accounting review.
Formula
Sloan = (net_income_ttm - operating_cash_flow_ttm) / average_total_assets
For JPM Cash outpacing net income - usually fine, sometimes a sign of conservatism or a one-time working-capital release.
Insufficient data to score this section.
What it detects Buys oversold pullbacks within an established uptrend (price above the 200-day SMA). Holds while RSI(2) is below an exit threshold; exits when RSI(2) crosses above 60.
Trigger rule +1 when price is above regime_ma and RSI(2) drops below oversold; held while inside the trade; back to 0 when RSI(2) crosses above exit.
Parameters
period=2, oversold=10, exit=60, regime_ma=200
For JPM Active pullback-buy in an established uptrend — price bouncing off a 2-period oversold reading.
What it detects Compares price pivots against the MACD histogram (MACD line minus signal line) at those same bars. Bullish divergence: price lower-low, histogram higher-low. Bearish divergence: price higher-high, histogram lower-high.
Trigger rule +1 at right-hand pivot of bullish divergence; -1 at right-hand pivot of bearish divergence; 0 otherwise.
Parameters
fast=12, slow=26, signal=9, pivot_window=5
For JPM MACD histogram printing higher lows beneath lower lows in price — reversal-up tell.
What it detects When price prints a lower low while RSI prints a higher low at those same bars, momentum is improving even though price is still falling - a classic bullish divergence. The bearish mirror fires when price makes a higher high but RSI prints a lower high.
Trigger rule +1 at the right-hand pivot of a (lower-low price, higher-low RSI) pair; -1 at the right-hand pivot of a (higher-high price, lower-high RSI) pair; 0 otherwise.
Parameters
period=14, pivot_window=5, lookback=60
For JPM Momentum strengthening even as price prints lower lows — a reversal-up tell.
What it detects Bullish when %K crosses above %D while both lines are below the oversold threshold; bearish when %K crosses below %D while both are above overbought.
Trigger rule +1 on bullish cross in oversold; -1 on bearish cross in overbought; 0 otherwise.
Parameters
k=14, d=3, smooth=3, ob=80, os=20
For JPM %K crossed down through %D from overbought — short-term sell trigger.
Insufficient data to score this section.
What it detects ADX (Average Directional Index) measures trend strength regardless of direction. Below ~20 historically associates with sideways/choppy markets unfavorable to trend strategies.
Trigger rule +1 while ADX is below the threshold (weak trend); 0 otherwise.
Parameters
period=14, weak_threshold=20
For JPM ADX below threshold — trend is weak, prefer mean-reversion to trend strategies right now.
What it detects Turtle-style breakout signal: enters long on a close above the highest high of the lookback window, short on a close below the lowest low. Holds the position for a fixed number of bars.
Trigger rule +1 on long entry, held for hold_bars; -1 on short entry, held for hold_bars.
Parameters
period=20, hold_bars=20
For JPM Active long breakout state — close above the N-day highest high.
What it detects Composite trend system: bullish when price is above the cloud, tenkan crosses above kijun, and the cloud ahead is green. Bearish on the symmetric short-side configuration.
Trigger rule +1 on bullish trigger conditions, -1 on bearish, 0 otherwise.
Parameters
tenkan=9, kijun=26, senkou_b=52
For JPM Full Ichimoku bear setup — price below cloud, tenkan under kijun, cloud projecting red.
What it detects Holds +1 while the fast moving average is above the slow one (bullish bias), -1 when below (bearish bias). Whipsaws in chop; works best when combined with a regime filter.
Trigger rule +1 while fast > slow, -1 while fast < slow.
Parameters
fast=5, slow=10, ma_type=ema
For JPM Fast MA below slow MA — bearish bias state held.
What it detects The Parabolic SAR plots a stop-and-reverse dot above or below price; when price crosses the SAR, the trend side flips. The signal fires on the flip bar.
Trigger rule +1 on flip from above-price (bearish) to below-price (bullish); -1 on flip the other way.
Parameters
accel=0.02, max_accel=0.2
For JPM SAR flipped from below to above price — switch to short bias.
What it detects Simplest possible regime filter: long-only when price is above its long-term MA, flat or short-only when below. Often used to gate other signals.
Trigger rule +1 while close > MA, -1 while close < MA.
Parameters
ma_period=200
For JPM Price above the long-term MA — bullish regime, gate longs on.
Insufficient data to score this section.
What it detects Open and close are nearly equal (tiny body, under ~5% of range) with comparable upper and lower wicks. Marks indecision; meaningful when it appears at trend extremes or after extended runs.
Trigger rule +1 on doji (the bar marks the indecision candle regardless of direction).
Parameters
body_max=0.05, wick_balance=0.3
For JPM Indecision candle after a downtrend — buyers and sellers in balance, watch for follow-through.
What it detects While price is above its 200-day MA (uptrend regime), buy when today's close is the lowest in 7 sessions; exit when today's close is the highest in 7 sessions.
Trigger rule +1 on entry day (new 7-day low above regime); held until exit on new 7-day high; back to 0 on exit.
Parameters
lookback=7, regime_ma=200
For JPM Active Connors Double-7 pullback in an uptrend — buy the 7-day low, sell the 7-day high.
What it detects Bullish engulfing: down candle followed by an up candle whose body fully covers the prior body. Bearish engulfing: up candle followed by a larger down candle covering the prior body. Strongest after a trend.
Trigger rule +1 on bullish engulfing after a downtrend; -1 on bearish engulfing after an uptrend.
Parameters
prior_trend_window=5
For JPM Up candle fully engulfed the prior down body after a downtrend — reversal-up tell.
What it detects Identifies the most recent significant swing high and low, projects standard Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, 78.6%), and tags bars where price interacts with one of those levels.
Trigger rule Reports the level price is closest to, in price units, when price is within the proximity band.
Parameters
swing_lookback=60, levels=[0.236,0.382,0.5,0.618,0.786]
For JPM Price interacted with a key Fibonacci level on its way up — likely springboard or resistance to clear.
What it detects Bearish head-and-shoulders: left shoulder, higher head, right shoulder of comparable height to left, broken by a close below the neckline. Inverse pattern (three troughs) is bullish.
Trigger rule +1 at neckline break of inverse-H&S; -1 at neckline break of standard H&S.
Parameters
shoulder_tol=0.03, head_prom=0.02
For JPM Standard H&S confirmed — three-peak topping pattern that broke its neckline down.
What it detects When price comes within a small band of a key moving average (typically 50- or 200-period) and reverses without closing through it, the MA is acting as support (uptrend) or resistance (downtrend).
Trigger rule +1 when price prints a low near the MA in an uptrend and closes back above; -1 when price prints a high near the MA in a downtrend and closes back below.
Parameters
ma_periods=[50,200], proximity=0.01
For JPM Price tagged a key MA and rolled — moving average held as resistance.
What it detects Finds two or more pivot highs (tops) or lows (bottoms) within a price tolerance and minimum bar separation. Confirmed multi-bottom is bullish; multi-top is bearish.
Trigger rule +1 at confirmation of a multi-bottom (price retests prior low and holds); -1 at confirmation of a multi-top.
Parameters
peak_count=2, tolerance=0.02, min_sep=10
For JPM Price retested a prior low and held — multi-bottom support confirmed.
What it detects A pin bar has a small real body (under ~30% of the bar's range) and a long wick (over ~60%) on one side, sticking out beyond the prior trend. Bullish pin: long lower wick after a downtrend. Bearish pin: long upper wick after an uptrend.
Trigger rule +1 for bullish pin (long lower wick, body near top, after downtrend); -1 for bearish pin.
Parameters
body_max=0.3, wick_min=0.6, prior_trend=5
For JPM No pin-bar rejection in the recent window.
What it detects Morning star (bullish): big down candle, small-body middle, big up candle that closes well into the first body. Evening star is the bearish mirror at a top.
Trigger rule +1 on confirmed morning star; -1 on confirmed evening star.
Parameters
middle_body_max=0.3, penetration=0.5
For JPM Morning star printed at a low — small-body middle bar bridged a down day and a strong up day.
What it detects Two consecutive non-overlapping windows where the second window's high is above the first's high AND the second's low is below the first's low (an outside range). Reads as a reversal signal off the prior trend.
Trigger rule +1 if prior trend was down and current outside-range closes higher than it opens; -1 in the symmetric down-reversal case.
Parameters
window=10
For JPM Outside-range bar after a downtrend closed up — reversal-up reversal pattern.
What it detects Fits a trendline through pivot points and flags decisive closes through the line. Distinguishes a clean break from a wick-test by requiring the close to violate the line.
Trigger rule +1 on close above a downward trendline; -1 on close below an upward trendline.
Parameters
lookback=60, min_touches=2
For JPM Decisive close above a downward trendline — resistance line gave way.
What it detects A wedge is a price compression where two trendlines converge. Rising wedge (both lines sloping up but upper less steep) typically resolves down; falling wedge resolves up.
Trigger rule +1 on confirmed break above falling wedge; -1 on confirmed break below rising wedge.
Parameters
lookback=40, min_touches=2
For JPM Rising wedge resolved down — compression broke in favor of sellers.
Insufficient data to score this section.
What it detects Trends backed by declining volume tend to lose conviction. The signal compares the slope of price against the slope of volume over a rolling window.
Trigger rule +1 when price is rising but volume slope is negative (weak rally); -1 when price is falling but volume slope is negative (weak decline / potential reversal).
Parameters
trend_window=20
For JPM Decline running on falling volume — sellers losing conviction, reversal candidate.
What it detects OBV cumulates signed volume - rising OBV reflects accumulation, falling OBV distribution. Same pivot-pair rule as RSI/MACD divergence: when price makes a new low but OBV doesn't, big-money has stopped selling.
Trigger rule +1 at right-hand pivot of (price lower-low, OBV higher-low); -1 at right-hand pivot of (price higher-high, OBV lower-high).
Parameters
pivot_window=5, lookback=60
For JPM Accumulation strengthening even as price breaks lower — smart money may be early to a turn.
What it detects Identifies bars whose volume is well above their recent average AND whose body is small relative to the bar's true range - the classic 'climax' shape that often marks short-term turning points.
Trigger rule +1 (long-side capitulation) when the climax bar prints near its low; -1 (distribution) when it prints near its high.
Parameters
vol_ma=20, spike_mult=2.5, body_range_max=0.4
For JPM No climax bar in the recent window; volume profile is unremarkable.
Insufficient data to score this section.
What it detects Enters +1 when close <= lower band, holds until close >= middle band. Symmetric short-side state. Captures reversion-to-mean trades inside Bollinger bands.
Trigger rule +1 enter on close <= lower band, exit on close >= middle. -1 enter on close >= upper, exit on close <= middle.
Parameters
period=20, std=2
For JPM Active short mean-reversion held — price tagged the upper band, exits at the midline.
What it detects Fires on the bar where the close returns inside the bands after the prior close was outside. Long reentry from below the lower band, short reentry from above the upper band.
Trigger rule +1 when prior close < lower band and current close inside; -1 when prior close > upper band and current close inside.
Parameters
period=20, std=2
For JPM Price closed back inside the bands from above — short-term reversion-short signal.