Contact
Loading macro indicators from St. Louis Fed (FRED)...

View source calendar

THE RESEARCH DESK

Market context, without the noise.

Pensive Trader brings stock and ETF research, market context, and planning tools into one workspace. Explore the evidence, compare possibilities, and keep track of your decisions.

01

Explore

Find stocks and ETFs, follow a watchlist, and compare price action with the broader market.

02

Understand

See the inputs, historical context, and limitations behind the analysis.

03

Plan & reflect

Explore what-ifs, assess a trade idea, and review your own results.

A place to explore your thesis.

Compare historical paths, simulate price scenarios, explore options, assess trade ideas, and test portfolio plans. The tools keep their evidence and limitations close at hand, so historical examples are not mistaken for forecasts.

Look beyond a single ticker.

Sector comparisons, benchmark performance, and Market Environment indicators help place an instrument in its wider setting. Inspect the model inputs and data coverage rather than relying on a score alone.

Learn from your own decisions.

The Trade Journal records trades and helps you review realized results and trading discipline. Entries stay in your browser; there is no broker connection or automatic execution. Export backups to keep a separate copy.

Research support, not financial advice.

Use the browser dashboard for research and planning, or the Windows desktop app for a monitoring workspace. Market data may be delayed or unavailable. Scores and historical ranges describe evidence, not guaranteed outcomes or recommendations to buy or sell.

Add Pensive Trader to your home screen and open it in its own app window. No app-store download is needed.

Use your browser menu to install, or follow the steps below.

iPhone & iPad

  1. Open this site in Safari.
  2. Tap Share, then Add to Home Screen.
  3. If shown, enable Open as Web App, then tap Add.

Android

  1. Open this site in Chrome.
  2. Choose Install app above when available, or open the browser's three-dot menu.
  3. Choose Install app or Add to Home screen, then confirm.
i · Connection, saved data & updates

Android Chrome may show “Tap to copy the URL for this app” while an installed web app is open. This is Chrome's URL-sharing notification on some devices, not a Pensive Trader error. The website cannot hide browser or Android system notifications. Long-press the notice to inspect its Android notification settings; avoid disabling unrelated notifications.

Quotes, charts, analysis and Ask Pensive require internet. Offline startup shows a reconnect page, not cached market data. Installation is not an account or cloud backup: Watchlist and Trade Journal data belongs to this browser or installed app, may not transfer between them, and can be lost when site data is cleared. Export important journal records before changing browsers or installations.

Open the HTTPS site directly, not inside another app's embedded browser. If installation is missing, try Safari on iPhone or Chrome on Android and check whether it is already installed. Desktop Chrome and Edge also support installation from their browser menus. App pages load from the server; no separate mobile download is needed for updates.

What's new

Price Action & Company Profiles under Details

Details now holds the Price Action Profile (formerly Ticker Profile) and a new Company Profile (Fund Profile for ETFs), switched like Intraday / Swing. Company Profile shows highlight cards plus Learn More and Fundamentals or ETF Breakdown in one place.

Distinct Swing Details charts

Session & levels keeps price structure and moving averages. Movement & volatility now shows historical realized volatility instead of repeating the price chart. Both reuse the loaded report on desktop and mobile.

Leaner shared views and historical processing

Analysis and ticker Details now share their financial-table rendering and statistical breakdown. Historical sample selection and chart bounds do less repeated work, with obsolete desktop/mobile styles removed. Distinct views, financial details, historical results and quote freshness remain unchanged.

More faithful historical comparisons

Historical replay now follows the displayed matching rules, and acceleration confirmation uses what was available at each completed bar. Score History shows reproducible historical sensitivity with session-block resampling instead of shortcut uncertainty ranges. Use i for sample counts and unavailable reasons. These describe historical evidence, not predictions or significance tests, across desktop, mobile and installed-app views.

A clearer Ticker Profile & Focused overlays

Explore one category at a time in both Profile and Details, with your selection preserved on refresh. Details groups the whole workspace, including charts and statistical evidence, into matching category cards. The price chart lives in Overview beside the quote and setup summary. Five-minute movement uses blue bars without the endpoint dot; the historical band, median and completed-price label stay available. Candlestick and OHLC charts offer an optional Focused trend overlay and labeled latest prices. Missing OHLC stays explicit as close-only ticks. Intraday Outcomes adds prior-session 9/21 EMA interaction comparisons for the next 30 minutes and session close, with sample counts and matching details. These describe history, not forecasts or tested trading edges. Available across shared desktop, mobile and installed-app views.

New: Install banner on phones & tablets

An Install Pensive Trader app banner now appears below the header on touch devices, replacing the Install app navigation-menu entry. Android opens the browser's install prompt; iPhone and iPad show the Add to Home Screen steps. Close it to hide it for 30 days.

Faster live loading & fresher session charts

Daily-history loading no longer holds up live quote refreshes. Profile refreshes completed prices and EMAs as the quote clock advances, while Details price markers follow the shared quote updates. Session price labels stay readable across reference lines. Five-minute movement now shows a historical P10-P90 band, median and today's movement. Trend and Focused charts prepare without blocking the API's request loop or queuing behind history/analysis workers, and matching simultaneous chart requests share one build. Focused charts get a paint opportunity before Profile quote updates across desktop, mobile and PWA. Closing a ticker cancels abandoned analysis and queued Profile work, without cancelling shared work another active request still needs. Background analysis refreshes no longer reopen closed ticker dialogs. Quote loading drops redundant worker/queue work and unused holdings downloads. Rate-limited quote batches stop repeated provider attempts and report refresh unavailability without pretending old data is fresh. Web quote processing no longer starts desktop-only analysis or keeps unconsumed desktop updates. Provider setup avoids extra worker threads. Saved Watchlist order and existing share counts remain unchanged.

New: Install Pensive Trader on your phone

Use the Install Pensive Trader app banner on phones and tablets for iPhone, iPad and Android setup. Add the secure site to your home screen to open it in its own app window. Live research still needs internet; offline startup shows reconnect help instead of cached quotes. Installation is not a cloud backup, and locally saved data may not transfer between browsers and installed apps.

New: Educational guide & mobile chart inspection

Open Educational from the navigation menu for illustrated explanations of charts, historical ranges, scores and research tools, without score formulas or weights. On phones and tablets, tap chart dots, bars or lines for their available hover information; tap elsewhere or scroll to dismiss. Price-chart point info now stays visible after a tap, while dragging and pinch zoom remain available.

More ways to explore Price-action visuals

Filter the visual aids by Session & levels, Historical patterns, Market context or Outcomes. “Session price: open, high, low & current” uses four vertical columns: fixed open and updating high, low and current/completed prices on a labeled zoomed price axis, with a previous-close reference when available. A fresh matching quote is preferred during market hours; otherwise the map labels its completed-data snapshot clearly. Historical “Today's five-minute movement vs. typical” compares movement with prior sessions at the same local time. Historical patterns also show daily closing drawdowns with recovery duration. Session & levels separates overnight gaps from open-to-close returns; these simple returns compound and are not additive.

Less repeated Watchlist work

Watchlist and notification refreshes save SMA alert changes together instead of rebuilding alerts for each ticker. Dismissed alerts stay dismissed until re-armed, and dismissals in another tab update the Watchlist without an extra quote request. Saved ticker order and polling intervals are unchanged.

Ready-to-explore ticker evidence

The shared header now shows the ticker logo. Details evidence prepares while you read Profile, and switching views reuses data and charts rather than recalculating them. Both views share historical requests and prepared session levels. The duplicate Fundamentals at a glance panel is removed; business context remains in Profile.

A shared Ticker Profile and Details workspace

Tickers now open on Ticker Profile. Details is inside Ticker Profile: use its Profile / Details selection for an overview or granular evidence, with one shared Intraday / Swing control. Participation sits below differences, with centered blue/black range markers. Closing snapshots explain missing subsequent outcomes and show historical full-session behavior instead.

Ticker Profile: focused evidence for your horizon

Use the Intraday / Swing buttons to explore session structure and nearby levels, intraday trend, volatility, volume and VWAP, or daily moving-average structure. Daily history stays a dropdown. These are summaries of existing evidence; granular Details remain available. No extra quote polling.

Ticker Profile: get to know the instrument

Open Ticker Profile in the ticker page selector across Analysis, Screener, Watchlist and Sectors. Visual cards compare current price and volume with historical behavior, SPY session environments and multi-day holding outcomes. Company fundamentals or ETF composition add business context. Intraday and Swing share the same evidence, with sample counts, earnings flags and research notes. Descriptive history, not an attractiveness score or trading signal.

New: Score History and Trade Assessment for ETFs

ETF-only traders can now open Score History and Trade Assessment from the Details selector. ETF scores are rebuilt with the same ETF weights and holdings-weighted sector blend as the live score. SPY has no history against itself, so it is hidden there; funds that track the S&P 500 stay near a coin flip versus SPY.

New: Faster Sectors and ETF Breakdown

The Sectors page now loads in about two seconds, and selecting any sector row opens the same Details page as Analysis, Screener and Watchlist. Every ETF also has an ETF Breakdown page in the selector with asset allocation, sector mix and its top 10 holdings (when the fund publishes them).

New: Earnings-aware volatility

Stock sessions on an earnings day or the day after are flagged with an amber badge, and same-clock volatility ranges now exclude those sessions so a report does not skew the baseline. Earnings dates come from Nasdaq, falling back to a firm Yahoo Finance date; past dates read "Already reported" and same-day dates read "Today".

Updated: Price-action evidence and responsive charts

Price-action details now compare paired returns with a recognized sector ETF alongside SPY, and report prior-only range coverage separately for short/closing outcomes and low/high volatility regimes. Swing ranges distinguish overlapping samples from non-overlapping windows. Chart cards now have clearer titles and spacing, and their axes adapt to narrow panels while retaining readable labels. These descriptive comparisons are not forecasts or trading edges.

Updated: Reorder Watchlist entries

Drag the handle beside a ticker to change its position. The order is saved across visits, and the handle also supports up/down arrow keys.

Fixed: Calendar bell returns for upcoming events

Clearing calendar notices now hides them only until the next page load. The bell turns red again for upcoming events, stays red while any tracked event is today or later in New York time, and turns off after all tracked event dates have passed.

Updated: Portfolio defaults and editing

Watchlist Portfolio Simulation now starts with each saved ticker at 100 shares; Model Insight still starts empty. Edit and clear table entries without changing saved Watchlist shares. Use the X beside a result holding to remove it and recalculate portfolio P&L, or Edit a result's shares and save to recalculate. The Workspace ticker entry also has an X to clear its text.

Fixed: Portfolio Simulation and expanded closing returns

Model Insight and Watchlist now share a working portfolio simulator with user-entered ticker/share rows, short/custom date ranges and full portfolio-versus-SPY results, including data warnings. Controls align on desktop and mobile. Session closing-return comparison starts expanded; you can still collapse it.

Faster: Less repeated data work

Unchanged charts now reuse prepared data, simultaneous benchmark requests share their calculation, and intraday updates reuse recently fetched profile history. Desktop and mobile benefit without longer freshness windows or extra refresh timers.

Faster: Quote summary no longer waits for analysis

Details now reuses the quote already retrieved for its price chart, so the summary can appear before statistical analysis finishes. Analysis, Screener and Watchlist share this on desktop and mobile, without extra requests or a new refresh timer. Data freshness rules are unchanged.

Fixed: Custom technical look-ahead alignment

When Look ahead is Other..., the selector, trading-days input, Apply and Refresh buttons now have matching heights. Narrow panels and mobile stack the controls neatly without uneven wrapping.

Fixed: Statistical evidence starts expanded

Explore statistical evidence now opens expanded on Details across Analysis, Screener and Watchlist, on desktop and mobile. You can still collapse it; analysis refreshes keep your choice.

Faster: Details price chart loads independently

On Analysis, Screener and Watchlist, the price chart now starts loading alongside statistical analysis, so it can appear without waiting for the analysis to finish. Desktop and mobile share the improvement; data freshness checks and refresh intervals are unchanged.

Fixed: Swing chart markers stay visible after the close

If the latest daily price or volatility value is missing, the chart keeps its dot and value badge on the last available historical observation. Its actual date and the missing latest period are clearly labeled; no prices or volatility values are filled across the gap. Markers advance normally when the provider publishes valid data.

Fixed: Swing comparison contrast, session dots & gap controls

Gap input and action buttons now share aligned heights on desktop and stack on mobile. Matched historical paths are darker, thicker dashed purple lines above lighter solid general paths, making longer horizons easier to read.

Session dots are back on the holding-return, interim-dip and interim-rise cards for both general and similar daily setups. Blue means a completed session; black means an in-progress session. Dots show one session against multi-day history, not a realized multi-day trade return.

Fixed: Similar technical cone scale and matched-path styling

The technical cone's price axis now fits the displayed outcomes instead of the full what-if slider range, keeping the similar-setup interval legible. The full slider range remains available. Matched past paths are dashed purple; general past paths are solid gray.

Updated: Historical positive finishes is percentage-first again

The main value is a percentage, including when fewer than eight historical outcomes are available. Counts, weighting and the explanation of eligible historical periods are behind the i icon. A small-sample label stays visible; missing history is not shown as 0%.

All Swing comparison periods, including 5, 10 and 20 trading days, now use daily holding history and similar daily setups over your selected historical context, not the short intraday snapshot history. Rest-of-session comparisons remain intraday. Overnight gaps are included in daily holding returns.

Fixed: Historical finish tallies & gap-aware technical cones

Historical positive finishes includes the actual count behind the information icon, even below eight outcomes. General and behavior-matched finishes are separate; small samples are flagged rather than hidden. Aggregate ranges still require eight outcomes.

For daily technical horizons, move the black dot and release to re-match similar technical setups and opening gaps. Dragging previews the price shift; the new cone can change shape after matching finishes. Use Re-match gap for an exact percentage, or Clear gap assumption to return to the original comparison. Later overnight gaps remain excluded; these are not forecasts or overnight holding returns.

New: Longer technical what-ifs & visible historical examples

In Swing, Similar technical setups now offers Other... for 21-252 trading days. Use the entry-day and exit-day sliders to replay a later entry and exit from the same historical setups, alongside the starting-reference price slider.

Longer behavior comparisons now draw individual historical closing paths even below eight examples, with ending returns and interim dips/rises available under Individual outcomes & dates. Aggregate ranges still require eight completed outcomes. Technical replay excludes overnight gaps; behavior holding history includes them. These are examples, not forecasts.

Updated: Longer Swing comparisons use daily history

In Details or Model Insight, choose Swing, select Other... for the behavior comparison period, and apply 21-252 trading days. These longer holds now use completed daily history over your selected historical context, rather than the short intraday snapshot history.

General close-to-close returns, including overnight gaps, stay visible separately from similar daily setups. These are daily comparisons, not same-time-of-day behavior matches. The 5-, 10-, and 20-day presets now use this daily engine too. Insufficient samples show their counts and requirements; choose a longer historical sample when available. Aggregate ranges require eight completed windows, and similar daily setups require eight non-overlapping matches. Historical reviews use only earlier completed daily bars. Past outcomes are not forecasts.

New: Details for Intraday and Swing

Choose Intraday or Swing, with the Price chart always below the quote card. Swing adds compact P/E, EPS and profit-margin cards, a shortcut to full Fundamentals, and its own holding-period selector. Intraday comparisons start expanded, with smaller desktop bars and exact evidence behind the i icon. Swing price levels show values only, with red SMA highlights within 0.25% of price instead of position dots.

Profile loading now reuses exchange schedules and fresh history across views, with faster session-gap checks. Price-data freshness rules and historical calculations are unchanged; provider response times still vary.

Next-session what-ifs now take an opening gap (%): 2 means 2% above the previous close, -1 means 1% below, and 0 means unchanged. See what happened after similar historical gaps, not a prediction of tomorrow's open. Unavailable live extended-hours quotes pause automatic retries; refresh explicitly or choose a manual gap.

New: Behavior-matched multi-day paths & holding risk

In Details, Similar session behavior: past paths now offers rest-of-session and 5-, 10-, or 20-trading-day views. See how matched sessions actually developed, including overnight gaps, alongside historical holding returns and interim downside/upside. General holding history is in the same card, not a separate section. Completed sample counts are shown; fewer than eight outcomes suppress aggregate ranges, not factual finish tallies. Past paths are examples, not forecasts.

New: Historical comparisons & scenarios on Details

Technical Scenarios and the overlapping Swing projection are now one chart-first view on a stock or ETF's Details. One card switches between Similar session behavior: past paths (the default) and Similar technical setups: rest-of-session ranges. Current session structure, support and resistance remain visible separately. Use a fresh, timestamped pre/post-market quote or enter an opening-gap percentage to visually compare similar historical opening gaps, close/high/low ranges, and gap-fill frequencies. Sparse samples and stale quotes are flagged. Post-market plans cover the next regular session, not after-hours trading. Swing trend and overnight holding-risk context remain available. Past examples are not predictions.

Watchlist SMA alerts

Checking your watchlist...

Open Watchlist to review and dismiss alerts

Calendar events this trading week

Loading New York calendar...

Welcome! I can help you explore Pensive Trader, research a ticker, or understand market evidence. What would you like to explore?

Screener Monitor

Recheck your saved screener filters about every five minutes during market hours.

These are measured screening checks, not fully vetted trades or buy/sell recommendations. Patience includes having no qualifying candidates.

Create monitor in Screener

How qualification works and what remains unknown

Continuous monitors evaluate selected filters about every five minutes, starting after the first five-minute bar and a 15-second provider allowance. A stock is added as Matching filters only after passing every selected criterion and the data-quality checks in an evaluation. The first measured failure is shown as First failed check; two consecutive measured failures remove the stock and its history from the monitor. Unknown or stale data is shown as Data unavailable and interrupts the failure streak without counting as a failure.

Scans run only during the regular NYSE session, respecting holidays, daylight saving and early closes. Monitors expire at that day's close and never restart automatically. A paused monitor cannot be resumed in this release; create a new review from the screener. Missed intervals are not replayed, and long scans do not overlap. Timings depend on server availability and provider speed.

Each scan supports up to 500 stocks matching the market search, before calculated checks, processed in batches of two to limit background memory pressure. Broader searches require tighter filters; they are not silently truncated. Selected daily filters are checked first; a failed or unavailable daily check prevents intraday analysis. The one-minute reading checks selected intraday EMA, VWAP and RVOL plus freshness before any remaining timeframe analysis. Directional scoring stops if the selected score cannot be reached even with the remaining readings; with no score filter, three usable readings satisfy coverage. Some data must be fetched to establish whether calculated filters match; a rejected stock receives no further analysis that scan.

The saved screener settings are fixed when you create a review; changing the screener later does not update it. New stocks that fail any selected criterion or lack required evidence are never added or stored as potential candidates. All retained candidates shows actual matches plus previously matching stocks awaiting the second measured failure or fresh data. Removed stocks can rejoin only after passing every check in a later scan. Qualification is filter consistency, not relative ranking or profitability; inspect observation times because stored qualification is not a live guarantee.

Reduced intraday coverage and developing bars remain provisional. Daily bar dates are disclosed, but daily freshness/completed-bar structure needs manual review. Spread/depth, verified catalysts, borrow, entry/stop/target and costs remain unverified. Intraday direction is not a swing score. Existing analysis and Assess Trade Setup provide additional context, not a trading verdict.

Reviews and history exist only in this backend process's memory for today's session. They are discarded at the close or backend restart/redeployment; no candidate database or persistent-volume configuration is needed. Monitoring with the browser closed requires a running backend. Use one backend worker/instance for consistent access; session state is not shared across instances. This browser's private cookie identifies its reviews, not an account; clearing cookies loses access. Automatic candidates never change your personal watchlist; use Pin explicitly. At most 3 pending/active monitors and 10 session reviews per browser; 20 active monitors and 100 total session reviews per backend process.

The backend retains at most 5,000 candidate statuses and 5,000 history entries across all reviews, with up to 100 evaluations per stock. Oldest history is discarded first and trimming is disclosed without removing latest statuses. A scan that would exceed candidate capacity pauses its review with an explicit error; delete older reviews to free capacity. Connection failures retain displayed evidence as potentially outdated and refresh automatically; stalled requests time out after 10 seconds.