This reference applies to the web Chart Editor, which is in beta. Source coverage and account access determine which inputs are available. A transform changes the value being plotted; always check its definition, period, and units before interpreting the result.
Transforms
In the formulas below, x is the current observation and p is the comparison observation. Percentage changes use the signed comparison value as their denominator.
| Transform | Calculation | Pairing and missing-data rule |
|---|---|---|
| Invert | 1 / x |
A zero input produces a gap |
| Sequential absolute change | x - p |
p is the preceding observation; the first observation has no result |
| Sequential percentage change | 100 × (x - p) / p |
Uses the preceding observation; a zero denominator produces a gap |
| Year-over-year absolute change | x - p |
p is the latest observation on or before one calendar year earlier; points without that history are omitted |
| Year-over-year percentage change | 100 × (x - p) / p |
Uses the same date pairing; a zero denominator produces a gap |
| Two-year stack, absolute or percentage | Current year-over-year change plus the prior year's year-over-year change | Uses the same calendar-year pairing and requires two years of history |
| Index to 100 | 100 × x / base |
base is the first finite, non-zero value in the input series; if none exists, the series contains gaps |
| 50-, 100-, or 200-day moving average | Arithmetic mean of the latest 50, 100, or 200 observations | Offered for daily series. The window counts observations, such as trading days, rather than calendar days. A full window is required; a missing value within it can produce a gap |
For annual values 100 → 110 → 121, both annual growth rates are 10%, so Two-year stack % is 20%. The compounded growth from 100 to 121 is 21%; that is a different calculation.
Portrait can request extra earlier observations to calculate changes and moving averages even when those earlier dates are outside the visible range. A missing result at the beginning can still mean insufficient available history; it is not automatically zero.
Derived series
Derived series add, subtract, multiply, or divide two selected input series in their chosen order. Subtracting A from B differs from subtracting B from A, and the same applies to division. Each input's magnitude is normalized to base units and its selected transform is applied before the inputs are combined. A transform selected on the derived series then applies to the combined result.
| Input frequencies | Date alignment |
|---|---|
| Same frequency, or either frequency is unspecified | Only timestamps present in both inputs are combined |
| Different regular frequencies | The more frequent input supplies the dates. At each date, Portrait uses the latest observation from the less frequent input on or before that date |
| Different specified frequencies, with an irregular input | Observation counts determine which input supplies the dates; the other input uses the same latest-prior-observation rule |
For example, dividing a daily price series by quarterly EPS uses the most recent available quarterly EPS at each daily timestamp. It does not use a future quarterly observation. Dates before the other input's first observation are omitted. A zero divisor produces a gap; an unavailable input makes the derived series unavailable.
Check the inputs' periods, currency, and economic meaning as well as the arithmetic. Normalizing a magnitude such as millions does not by itself make two metrics comparable.
Date ranges and forward data
Custom accepts 1–999 days in the editor. The separate 1 year, 3 years, and 5 years presets are not constrained to that custom-input maximum.
Fundamentals can append available forward consensus to a historical window. For a rolling fiscal-period range, the requested forward endpoint extends to at least four quarterly, two half-yearly, or two annual periods ahead, according to the series cadence. Named windows, calendar ranges, and the source's default range keep their own rules; that extension is not a universal promise for every chart category or date selection. Distinguish estimates from reported historical values when reading or copying the chart.
A Revisions series can carry its last available value forward to the selected end date. A flat section at the end can therefore represent the last known estimate, rather than a new estimate revision on each date.
Axes, visibility, and access
The editor supports two Y-axis units. It prevents adding a third distinct unit through the normal picker and warns when a loaded chart already has more. Check the primary and secondary labels and bounds: series on different scales can be compared for trends, but their plotted heights do not establish equal absolute values.
For accounts without full Visible Alpha access, the editor shows at most three Visible Alpha series at once. Derived series using Visible Alpha inputs also participate in that count; hiding their input rows does not make the derived series independent of the licensed data. Further configured series can be hidden with a display-limit message. This is an editor visibility rule, not a three-series limit for every provider or every account.
Before using Copy chart, compare the configured rows with the preview and inspect the pasted image. Verify which series, units, dates, annotations, and citations are actually included. Source licences still determine permitted redistribution.
Diagnose an unexpected result
- Confirm the data category, company or index binding, source access, and period.
- Check the selected transform against the formulas above, including its comparison date and required history.
- For a derived value, inspect both inputs after their transforms and verify the date alignment and operand order.
- For a missing series, read the editor's availability or licensing message. Update a rejected FRED connection under Settings → Connections, or check Visible Alpha access with your administrator or Portrait support.
- If a supported series still fails to load, retry later and contact support with the chart URL and the error shown.
See Build a chart for editor actions, annotations, copying, and saved-Project recovery.