The numbers, explained
How our Bitcoin research works
NightOwlAnalytics puts Bitcoin's current position alongside its price history. Historical observations, cycle-model estimates and AI trade scenarios answer different questions. This page explains what each can tell you.
Methodology updated September 7, 2026. Published by Exyth AI Solutions Ltd.
Sources and freshness
Our market data comes from publicly accessible sources, including historical datasets and exchange market-data services. Sources may evolve as coverage expands. The statistics service aggregates price records into daily and monthly candles, while exchange-data services also supply the strategy reports.
The homepage shows the latest close in that historical source, not a live exchange quote. “Market data through” is the timestamp of the newest source record. A scheduled calculation or page refresh does not guarantee that newer market data was available.
Source history may differ from another exchange or index. The first source month may begin after the first calendar day. A calendar month is treated as completed only after the source has crossed into the next month; this does not certify that every minute in that month is present.
The Data Quality page includes a record-density estimate. It counts rows relative to elapsed time and does not establish that timestamps are unique or uninterrupted. We do not treat it as verified 100% completeness.
Returns and daily movement
What changed? compares the last two consecutive completed UTC days before the daily source timestamp. Close-to-close change = (latest completed close ÷ previous completed close − 1) × 100. Each comparison day must contain all 1,440 unique valid minute observations with no duplicate minutes. An unfinished, missing or incomplete day makes the comparison unavailable; older days are not silently substituted.
The daily drawdown change uses one recorded cycle peak for both daily closes and is expressed in percentage points. If a usable recorded peak is unavailable or either day’s high exceeds it, the card instead shows the completed day's open-to-close return. Closing-price milestones identify crossings of $10,000 intervals between completed closes, not intraday touches or forecasts. The latest historical quote elsewhere on the page can include the unfinished day and therefore differ from the daily summary.
Monthly return = (last source close ÷ first source open − 1) × 100. The heatmap marks an unfinished source month with an asterisk. Missing months display a dash. An unchanged close is a flat month, not a positive month.
Heatmap colour intensity uses the same magnitude bands for gains and losses: up to 5%, over 5–10%, over 10–20%, over 20–40%, and over 40%. Exact signed values remain visible. Partial months use those same bands but remain marked with an asterisk.
The price chart uses monthly observations. A hollow final dot and dashed segment mark an unfinished source month. “All history” defaults to a logarithmic scale, where equal vertical distances represent equal percentage changes. The price scale instead represents equal dollar changes.
Monthly-close drawdown = (source close ÷ highest monthly close reached so far − 1) × 100. The running high uses all available history before the display range is applied. This chart excludes intramonth peaks and can understate declines visible in daily or intraday prices. It therefore differs from the exact cycle-peak comparison above the chart.
Return since cycle low compares the latest source close with the recorded cycle-low price. From recorded cycle peak compares that same close with the recorded peak. The maximum low-to-peak gain is a different measurement.
Positive days means the share of sampled daily candles that closed above their opening price. It is not the win rate of a trading strategy. Average absolute daily move is the mean of the absolute daily open-to-close percentage changes, rather than standard deviation.
The Performance & Monthly Moves page measures absolute monthly returns and their population standard deviation. These figures describe the distribution of monthly moves; they do not measure intramonth realized volatility. Returns exclude trading costs unless explicitly stated.
Historical cycles and model estimates
Cycle cards use the dates and prices supplied by the cycle calculations. The current-cycle counter measures elapsed UTC calendar days from the recorded low to the source date, with the low's date at zero. Completed phase durations may be based on the producer's exact timestamps.
The cycle-comparison chart uses monthly closing prices. Each line is divided by the closing price of the month containing its cycle low, rather than by the exact intraday low. That makes the chart's baseline different from the low-to-peak return shown in a cycle card.
Projected peaks and troughs are historical-model estimates based on earlier cycles. They are not confirmed future events, calibrated probabilities or guaranteed deadlines. A bull or bear label describes the model's historical phase classification.
Seasonality and sample sizes
The homepage's calendar-month comparison uses completed instances of the same month across the available dataset. For example, “Positive Septembers” counts positive September candles; it does not count positive days within September. We show the number of sampled months alongside the average.
The historical-month dot plot shows each completed observation separately, with a zero-return line and a median reference. The median is the middle sorted return, or the mean of the two middle returns for an even sample. The current unfinished month is shown separately and excluded from the dots and median.
The weekday card and daily-movement card use the latest cycle's available daily samples. Other research pages can group daily returns by calendar month or market phase; their labels identify that unit. Different sample windows should not be compared as if they were identical.
A historical percentage is a description of the observations, not a forecast probability. Small samples, changing market conditions, incomplete source records and unusually large early Bitcoin returns can materially affect averages.
Dual EMA parameter searches
The Dual EMA reports search combinations of fast and slow moving averages, take-profit levels and stop-loss levels within a recent eight-day window. The displayed return is selected and evaluated on that same window: an in-sample result.
Legacy reports retain positive candidates only and may omit timeframes where no positive candidate was found. They do not show an independent holdout test, subsequent forward performance or verified live executions. A strong selected result from two trades is particularly limited evidence.
The simulation deducts 0.05% per round-trip trade, not per side. Actual exchange costs may differ. Slippage and funding are not modeled. Report dates identify the historical window and may have been assigned during backfilling; they are not reliable generation timestamps. Trade timestamps are displayed in UTC.
AI scenarios and targets
AI reports describe hypothetical setups. “Target distance” is the percentage move from the proposed entry to the farthest target in the setup direction, before costs. It is not an achieved return, expected profit or probability of success.
Daily trend, report sentiment and tactical setup direction can differ because they describe different timeframes. AI confidence labels are model-generated assessments, not calibrated success rates. Check the report timestamp, entry, stop and timeframe before interpreting a setup.
This research is educational. Historical results and model estimates cannot guarantee future outcomes. Read the Terms for the site's full disclosures.