Returns (Period-over-Period)
Period-over-period returns of an upstream series. method = simple gives percentage change; method = log gives log returns. Edge-first and chainable. Wired to more than one Price Factor, it fans out to per-ticker by_symbol results.
How to use
- Connect an upstream price series.
- Choose
method = simple | log. - Output
seriesfeeds momentum / z-score / risk blocks.
Core formulas
simple: r_t = P_t / P_{t-1} − 1
log: r_t = ln(P_t / P_{t-1})
r_0 = None ; r_t = None if P_{t-1} == 0 or NaNAssumptions & applicability
Assumptions: equidistant periods; prices > 0 for log returns; chronological series.
Applicability: any asset class / frequency; ≥ 2 observations.
Out of scope: total-return / dividend adjustment, currency conversion.
Known limitations
- First value is None (no prior period).
- Simple vs. log are not interchangeable — pick deliberately.
- Zero prior price → None at that step.
- Distinct from
growth_rate_series(reversed order + abs denominator, no log).
References
Campbell, Lo & MacKinlay (1997), The Econometrics of Financial Markets, ch. 1.
Golden Test
tests/golden/fixtures/tier1/compute_returns/ — 1e-12 absolute, independent numpy reference, 2026-05-25 passing.
Changelog
- 1.0.0 (2026-05-25) — Promoted Draft → Active; golden added; required fields completed.

