Rolling Log Returns [BackQuant]Rolling Log Returns
The Rolling Log Returns indicator is a versatile tool designed to help traders, quants, and data-driven analysts evaluate the dynamics of price changes using logarithmic return analysis. Widely adopted in quantitative finance, log returns offer several mathematical and statistical advantages over simple returns, making them ideal for backtesting, portfolio optimization, volatility modeling, and risk management.
What Are Log Returns?
In quantitative finance, logarithmic returns are defined as:
ln(Pₜ / Pₜ₋₁)
or for rolling periods:
ln(Pₜ / Pₜ₋ₙ)
where P represents price and n is the rolling lookback window.
Log returns are preferred because:
They are time additive : returns over multiple periods can be summed.
They allow for easier statistical modeling , especially when assuming normally distributed returns.
They behave symmetrically for gains and losses, unlike arithmetic returns.
They normalize percentage changes, making cross-asset or cross-timeframe comparisons more consistent.
Indicator Overview
The Rolling Log Returns indicator computes log returns either on a standard (1-period) basis or using a rolling lookback period , allowing users to adapt it to short-term trading or long-term trend analysis.
It also supports a comparison series , enabling traders to compare the return structure of the main charted asset to another instrument (e.g., SPY, BTC, etc.).
Core Features
✅ Return Modes :
Normal Log Returns : Measures ln(price / price ), ideal for day-to-day return analysis.
Rolling Log Returns : Measures ln(price / price ), highlighting price drift over longer horizons.
✅ Comparison Support :
Compare log returns of the primary instrument to another symbol (like an index or ETF).
Useful for relative performance and market regime analysis .
✅ Moving Averages of Returns :
Smooth noisy return series with customizable MA types: SMA, EMA, WMA, RMA, and Linear Regression.
Applicable to both primary and comparison series.
✅ Conditional Coloring :
Returns > 0 are colored green ; returns < 0 are red .
Comparison series gets its own unique color scheme.
✅ Extreme Return Detection :
Highlight unusually large price moves using upper/lower thresholds.
Visually flags abnormal volatility events such as earnings surprises or macroeconomic shocks.
Quantitative Use Cases
🔍 Return Distribution Analysis :
Gain insight into the statistical properties of asset returns (e.g., skewness, kurtosis, tail behavior).
📉 Risk Management :
Use historical return outliers to define drawdown expectations, stress tests, or VaR simulations.
🔁 Strategy Backtesting :
Apply rolling log returns to momentum or mean-reversion models where compounding and consistent scaling matter.
📊 Market Regime Detection :
Identify periods of consistent overperformance/underperformance relative to a benchmark asset.
📈 Signal Engineering :
Incorporate return deltas, moving average crossover of returns, or threshold-based triggers into machine learning pipelines or rule-based systems.
Recommended Settings
Use Normal mode for high-frequency trading signals.
Use Rolling mode for swing or trend-following strategies.
Compare vs. a broad market index (e.g., SPY or QQQ ) to extract relative strength insights.
Set upper and lower thresholds around ±5% for spotting major volatility days.
Conclusion
The Rolling Log Returns indicator transforms raw price action into a statistically sound return series—equipping traders with a professional-grade lens into market behavior. Whether you're conducting exploratory data analysis, building factor models, or visually scanning for outliers, this indicator integrates seamlessly into a modern quant's toolbox.
Logreturns
Log Regression Channel [UAlgo]The "Log Regression Channel " channel is useful for analyzing price trends and volatility in a financial instrument over a specified period. By using logarithmic scaling, this indicator can more effectively handle the wide range of price movements seen in many financial markets, making it particularly valuable for assets with exponential growth characteristics.
The indicator plots the central regression line along with upper and lower deviation bands, providing a visual representation of potential support and resistance levels.
🔶 Key Features
Logarithmic Regression Line: The central line represents the logarithmic regression, which fits the price data over the specified length using a logarithmic scale. This helps in identifying the overall trend direction.
Deviation Bands: The upper and lower bands are plotted at a specified multiple of the standard deviation from the regression line, highlighting areas of potential overbought and oversold conditions.
Customizable Parameters: Users can adjust the length of the regression, the deviation multiplier, the color of the labels, and the size of the text labels to suit their preferences.
R-Squared Display: The R-squared value, which measures the goodness of fit of the regression model, is displayed on the chart. This helps traders assess the reliability of the regression line.
🔶 Calculations
The indicator performs several key calculations to plot the logarithmic regression channel:
Logarithmic Transformation: The prices and time indices are transformed using the natural logarithm to handle exponential growth in price data.
Regression Coefficients: The slope and intercept of the regression line are calculated using the least squares method on the transformed data.
Predicted Values: The regression equation is used to calculate predicted values for each data point.
Standard Deviation: The standard deviation of the residuals (differences between actual and predicted values) is computed to determine the width of the deviation bands.
Deviation Bands: Upper and lower bands are plotted at a specified multiple of the standard deviation above and below the regression line.
R-Squared Value: The R-squared value is calculated to measure how well the regression line fits the data. This value is displayed on the chart to inform the user of the model's reliability.
🔶 Disclaimer
The "Log Regression Channel " indicator is provided for educational and informational purposes only.
It is not intended as investment advice or a recommendation to buy or sell any financial instrument. Trading financial instruments involves substantial risk and may not be suitable for all investors.
Past performance is not indicative of future results. Users should conduct their own research.
two_leg_spread_diffThis script helps you discern the relative change of each leg in a two-legged spread over a given period. The main plot is a difference in log return over the number of bars identified by the "lag" parameter. E.g. if "lag" is 10 and leg one has increased 3% over the past ten bars, while leg two has only increased 1%, the plot value is 2%. The main plot is also colored blue when leg one increases while leg two decreases on a given bar, and red if the opposite is true. This feature identifies periods where the correlation between the two legs diminishes. The one and two standard deviation of the main plot is also plotted in faint background lines. Additionally, a table indicates the percentage in which the main plot is within one standard deviation (acc 1) and two standard deviations (acc 2). Note that the standard deviation updates on each bar, so the current standard deviation is not the one used to calculate the accuracy. Rather, if there are N bars, N different standard deviation readings have been used to compute the accuracy statistics.
The inputs are:
- timeframe: the timeframe of the chart
- leg1_sym: the symbol of the first leg
- leg2_sym: the symbol of the second leg
- lag: the number of bars back to reference for computing the log return of each leg
- anchor_to_session_start: for intraday charts only, this overwrites the "lag" input so that the "lag" always sets the point of comparison to the session start. This setting is used to compute the relative change over a single session.