TradingView screening workflow

Earnings stock screener: dates, surprise and data availability

An earnings stock screener should separate companies awaiting a report from companies whose results are already available. Set a decision timestamp, select an event window, verify disclosure status and apply only metrics observed by that cutoff. Upcoming screens can use saved estimates and completed price bars; reported screens can also use comparable actual EPS and surprise. Pineify Market Screener supplies supported technical columns, while AI Finance Agent helps research earnings evidence. Neither step reconstructs a historical information set automatically.

Explore Market Screener

Run two separate screens with explicit rules

The following example covers U.S. common stocks quoted in USD. Its thresholds are illustrative research choices, not a tested strategy. Define T as the decision time in UTC and retain the exchange time zone. Use the same security, fiscal quarter, EPS basis and currency throughout. Review all rules together in a saved worksheet; these are not advertised as one native Pineify filter.

  • The 24-hour estimate-age rule is a chosen freshness limit. It does not prove that the consensus changed recently or that every analyst has updated a forecast.
  • A daily bar ending after T is unavailable. At an intraday cutoff, use the preceding completed regular session, even when the screener already displays a live daily value.
  • Apply an independent spread, depth and order-size check before any trade. Price and RSI thresholds do not measure execution liquidity.
RuleUpcoming candidatesReported candidates
Event windowConfirmed release time > T and ≤ T + 120 hours.Actual release time > T - 24 hours and ≤ T.
Disclosure statusNo release found in a fresh issuer check by T. An empty vendor actual is insufficient.Issuer release exists and its relevant figures were observed by T.
EstimateComparable EPS estimate > 0, captured by T and no more than 24 hours old.Comparable EPS estimate > 0, captured strictly before release and no more than 24 hours before release.
Actual EPS and surpriseDo not use either as a selection input.Actual and estimate available by T; EPS surprise ≥ 10%.
Technical reviewLatest completed regular daily close ≥ USD 5 and RSI (14) ≥ 50.Use the same completed-bar conditions; record whether the bar precedes the release.
Missing or ambiguous inputDefer the row, record the missing field and check again.Defer rather than interpreting missing actual EPS as zero.

Use TradingView dates to seed the list

In TradingView Stock Screener, choose the stock market and add Upcoming earnings date or Recent earnings date. Upcoming Current trading day plus Next 5 days can seed the future window above; Recent Current trading day plus Previous day can seed the reported window. Collect both sets, deduplicate symbols, then check exact timestamps. TradingView defines these date buckets in the symbol exchange time zone, including extended sessions, rather than your local zone. Calendar buckets do not implement a rolling 120-hour or 24-hour test.

  • Use the issuer investor-relations announcement to confirm the date and release timing. TradingView marks an approximate chart earnings date with ≈; keep it in a separate provisional list until confirmed.
  • A before-market or after-market label is a session category, not an exact publication time. If the event could fall on either side of a cutoff, defer it until the release or timing evidence resolves the ambiguity.
  • Record the time-zone name and UTC offset for the event date. For example, October 16, 2026 at 16:30 America/New_York is 20:30 UTC and October 17 at 04:30 Asia/Shanghai. Do not assign it to October 17 in a New York exchange-date filter.
  • Keep the fiscal period ending date separate from the announcement date, conference-call time and filing acceptance time. They can describe different events.

The as-of table: what was actually knowable?

These invented observations describe company A, not a real issuer or a provider latency test. The decision cutoff is October 16, 2026 at 15:00 America/New_York (19:00 UTC). The confirmed release is scheduled for 16:30. Each row records both its source timing and when the researcher obtained it. A date printed on a later download does not prove the value was in an earlier decision record.

  • Keep source URL or captured document, captured value, unit, fiscal period, GAAP or adjusted basis, source update timestamp, observation timestamp and decision timestamp. Preserve original snapshots when values change.
  • For this workflow, usable information must have been public and observed by the decision cutoff. If historical provider-arrival times are unknown, a reconstructed immediate reaction cannot be certified by a current download.
  • Provider lastUpdated fields describe an update record. They do not by themselves supply an exact public-release time, the history of estimate revisions or a guaranteed point-in-time consensus.
Input or eventSource time (New York)Observed time (New York)ValueUsable at 15:00?
Fiscal period endSeptember 30October 15, 14:00Quarter ending September 30Period identifier only; not a disclosure timestamp.
Issuer schedule noticeOctober 14, 09:00October 14, 09:05October 16, 16:30 releaseYes, confirmed schedule.
Earlier consensus snapshotOctober 15, 13:55October 15, 14:00Adjusted EPS USD 1.20Archived, but 25 hours old at T; fails our freshness rule.
Updated consensus snapshotOctober 16, 14:25October 16, 14:30Same quarter and basis: USD 1.25Yes, latest observed version before T.
Completed daily barOctober 15, 16:00 closeOctober 15, 16:05Close USD 20; RSI (14) 55Yes; October 16 daily bar is still open.
Issuer disclosure checkOctober 16, 14:59October 16, 14:59No release found; schedule unchangedYes, evidence of the checked status at T.
Actual earnings releaseOctober 16, 16:30October 16, 16:34Comparable actual EPS USD 1.50No; both publication and observation follow T.
Calculated surpriseInputs complete at 16:34October 16, 16:3420% against the USD 1.25 estimateNo; a post-release result.

Apply the rules to a small candidate set

Keep the same T: October 16 at 15:00 New York. The upper future boundary is October 21 at 15:00. All times below are New York time. Unless stated otherwise, these fictional rows have confirmed timing, fresh comparable positive estimates, a fresh disclosure check, and completed close/RSI values of USD 20/55. Reported rows use an estimate captured one hour before release. No row represents a live stock recommendation.

  • The result is A and E for upcoming research, B for reported research, C/D/G for review and F outside the window. Keep these outcomes instead of silently dropping incomplete records.
  • A release exactly at T belongs to the reported window only if the required information has also arrived by T. A release exactly 24 hours before T falls outside this example because the lower reported boundary is strict.
  • Compare unrounded values: a 9.96% surprise displayed as 10.0%, a USD 4.999 close or RSI 49.99 each fails its respective rule.
RowRelease or scheduled timeEvidence at TDecision
AOctober 16, 16:30Upcoming; latest saved estimate USD 1.25; actual unknown.Keep in upcoming list; no surprise input.
BOctober 16, 14:00Released; observed at 14:10; estimate 1.00, actual 1.10.Keep in reported list: exactly 10% surprise.
CApproximately October 19Time unconfirmed, despite a positive estimate.Defer: cannot apply the timestamp rule.
DOctober 20, 07:00Confirmed upcoming; EPS estimate missing.Defer: required estimate unavailable.
EOctober 21, 15:00Upcoming; close USD 5; RSI 50.Keep: exactly 120 hours away and at both technical boundaries.
FOctober 21, 15:01Upcoming; all other conditions pass.Reject: one minute beyond the future window.
GOctober 16, 14:59Released, but actual figures reach this workflow at 15:02.Defer at T; neither an upcoming row nor an actionable reported match.

Calculate surprise without moving it backward in time

Define dollar surprise as actual EPS minus the saved pre-release EPS estimate. For this page, percentage surprise = 100 × (actual - estimate) / abs(estimate), provided the estimate is nonzero. Confirm the same fiscal period, currency, split basis and EPS methodology before comparing. TradingView distinguishes As reported EPS from standardized diluted GAAP EPS; an adjusted consensus should not be compared with a different GAAP figure merely because both are called EPS.

  • For A, the valid post-release calculation is 100 × (1.50 - 1.25) / 1.25 = 20%. The dollar difference is USD 0.25 per share. Substituting the older 1.20 estimate produces 25%, a different comparison.
  • Leakage counterexample: downloading the completed earnings row the next day and selecting A at the 15:00 cutoff because surprise ≥ 10% uses the 16:30 release before it existed. The later price chart cannot repair that invalid selection.
  • The estimate revision from 1.20 to 1.25 is 100 × (1.25 - 1.20) / 1.20 = 4.1667%. Both archived snapshots are necessary to establish that change. A current analyst estimate alone cannot prove the previous value.
  • With estimate -0.30 and actual -0.20, this absolute-denominator convention gives +33.3333%, meaning a smaller loss. Our sample screen still rejects nonpositive estimates. A zero estimate makes percentage surprise undefined; a missing estimate stays unknown.
  • Near-zero estimates can produce large percentages from small dollar differences. Keep the dollar difference beside the percentage, and do not assume another provider uses this page's denominator convention.

Map each step to the fields Pineify actually provides

Pineify Market Screener supports symbol collections and technical columns including Close and RSI 14. Choose the daily interval and verify the completed bar on TradingView before applying this example. The current Market Screener catalog does not supply an earnings-date, disclosure-status, consensus-revision or EPS-surprise filter. Maintain those conditions in your dated research record.

  • The earningsReport tool currently permits a cached response for 24 hours. The active Market Screener refresh interval is 60 seconds, but that is a UI retrieval interval, not a guarantee of fresh exchange or earnings data. Check publication, provider update and actual observation times separately.
  • A missing report can reflect delayed ingestion, incomplete coverage or an unsuccessful request. For time-sensitive classification, verify the issuer release rather than repeatedly treating an empty response as evidence that nothing happened.
  • Research prompt: For these exchange-qualified tickers, identify the fiscal quarter, issuer-confirmed release date and time zone, actual publication timestamp if released, and comparable EPS estimate and actual. Link original releases, report retrieval time, distinguish current estimates from archived snapshots, and mark every missing or ambiguous field. Apply my supplied cutoff without using later releases.
NeedAvailable stepBoundary
Price and RSI reviewMarket Screener: close and rsi14 on a selected timeframe.A current snapshot may represent an incomplete daily bar. Verify barTime and receivedAt.
Actual versus estimated earningsAI Finance Agent earningsReport: date, epsActual, epsEstimated, revenueActual, revenueEstimated and lastUpdated.Current retrieved records do not prove what was available at a historical cutoff.
Consensus contextAI Finance Agent analystEstimates: period, EPS average/range and analyst counts where available.A period date is not an estimate publication timestamp; the tool is not an archived revision series.
Release timing and missing evidenceAsk Finance Agent to locate issuer releases and compare their source links with the record.Verify the issuer page directly; leave unconfirmed timing or unavailable estimates unresolved.
Candidate retentionSave supported symbols in a Market Screener collection and retain the worksheet separately.A saved collection is not an immutable historical earnings snapshot or a backtest.

Save the decision, then confirm each chart

Open the matching exchange-qualified symbol in TradingView, enable Earnings under chart Settings > Events and use standard candles. Match the session, currency and adjustment basis to the worksheet. Confirm the latest completed daily close and RSI, then record whether the displayed earnings marker falls before or after that bar. A marker placed on a calendar date does not show that its result was known at the open.

  • Save T, the window boundaries, all thresholds, the raw source observations, accepted/rejected/deferred rows and the exact reason for each outcome. Re-running saved filters later may return a different set.
  • For reported B, a previous-day daily bar establishes the pre-event technical context. To require post-release momentum, define a later completed bar and a new cutoff before inspecting the outcome; do not silently change the original screen.
  • Read guidance and the release itself before interpreting a beat. A price can fall despite positive EPS surprise, and a scheduled event can move. This workflow produces a research shortlist, not an order or a return forecast.
Where Pineify fits

Pineify Market Screener

Compare supported technical columns for researched earnings candidates and save available symbols in a collection. Keep timestamped earnings evidence in your own record.

Also useful: AI Finance Agent. Review available earnings and analyst estimates, and locate issuer evidence for release timing. Verify sources and keep missing fields explicit.

Explore Market Screener

Frequently asked questions

Educational workflow, not investment advice. Companies, observations and thresholds in the worked examples are fictional. Earnings events can cause gaps and losses; a screen match or positive surprise does not predict returns.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.