The Channel Tool invests in the stock fund specified below when it is above the upper channel, and invests in the cash fund specified below when it is below the lower channel. When the prices is in between these channels it will not de-invest in the stock fund until after it goes below the lower channel, and it will not re-invest in the stock fund until it goes above the upper channel.
Step 1: Enter the stock ticker for the fund you would like to be invested in when it has not fallen below the lower band. Step 2: Enter the cash ticker for the fund you would like to be inveted in when the stock ticker below the lower channel or has not yet risen above the upper channel. Step 3: Enter the dates for when you would like the backtest to start and to end. Step 4: Select the moving average filter length and type, this will be used to create the moving average channels. Step 5: Select whether you would like to use 2 Moving Averages or not. If you use 2 moving averages then the logic will wait for the 2nd moving averages to cross the upper and lower channels instead of the raw stock price. If you use 1 moving average (default) the logic will wait for the price of the 'stock' fund to cross the upper and lower channels. Step 6: Select how often you would like to check if the stock ticker is above or below the moving average (Frequency of Updates). Step 7: Determine the values for the Upper (Buy) and Lower (Sell) Channels. This is a % value, increasing this number will make the channel larger, increasing the lower (sell) channel number will make it harder to de-invest in the stock fund, increasing the upper (buy) channel number will make it harder to re-invest in the stock fund once it has gone down.

Results show the equity curve and statistics for the Channel Filter applied to the stock ticker compared against the S&P 500 Index.

Select exchange here, then enter tickers normally. Ex. VCN should be entered for Vangaurd FTSE Canada All Cap fund.
This data is provided partially by St. Louis Fed Web Services [FRED], read their terms of service before using: This product uses the FREDĀ® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.

Click Button to Load Fund into 'Stock' Ticker:

Enter the stock ticker you would like to use:

Click Button to Load Fund into 'Cash Ticker' Entry:

Enter the cash ticker you would like to use:
Note: cash filter is applied to funds total value including dividend/split adjustments.

How often the backtester checks the moving average condition.

Buy will be performed when price of fund exceeds the moving average + the % entered here
Sell (go to cash fund) will be performed when price of fund drops below the moving average - the % entered here
If a second Moving Average (the short moving average) is used the logic will wait for this moving average to cross the upper and lower bands instead of the raw price of the stock fund.

When this option is checked instead of buying when a fund is above the channels and selling when it falls below, the logic will buy when the funds price falls below the lower channel and sell once it goes above the upper channel.
Selecting this input will limit drawdown to the input percent by investing in the cash filter fund if the strategy equity ever goes below the set drawdown limit. Keep in mind this condition is only checked at each period end, so drawdown may be larger than this limit.

Below is the next periods update as of the end simulation date:

Note: Please save all settings before exiting or reloading this page. You may use the download settings button at the bottom of the page, settings are also recorded in the downloadable report.
If you would like to save your settings copy the below URL, and bookmark it. When you would like to resume, visit this bookmark and settings will be filled in automatically.

Monte Carlo Simulation

Runs a Monte Carlo Simulation based on backtest results. Backtest Results give a value for expected return % (CAGR), and volatility %. Using these two numbers the Monte Carlo calculates future expected returns. Since the values used to calculate are based on backtest results the model is only accurate if the backtest is an accurate representation of the future.

These values are used in the simulation to determine expected future performance, thus the Monte Carlo is only as accurate as these numbers are accurate.

Time in Trade vs. Return %

Performance Summary

% Per Symbol

Annual Performance For Market Filter

All Trades - Market Filter


The spreadsheet below is a list of all trades taken by the Market Moving Average Strategy, it can be edited in Excel Download Trades in Spreadsheet

The spreadsheet below can be downloaded and imported into the Combined Portfolio App or Portfolio Rotation or Portfolio Moving Average Tools or edited in Excel Download Daily Equity Report in Spreadsheet

All settings and symbols can be downloaded below for later reference. Download Settings

A HTML Report can be downloaded below with settings and equity curve information, please save file to drive before opening. This file may be shared with others or saved to your computer for future reference. Download HTML Report

Notice: Your use of this site ( or RotationInvest) is considered equivalent to your signature as evidence of your acceptance of's Terms of Use, and Privacy Policy. is not a registered investment advisor and does not provide professional financial or investment advice. is a tool that produces trade signals and backtesting results according to the set of funds and rules provided for analysis. Any strategies shown including but not limited to the prebuilt strategies are only used to highlight what is possible using these tools. Results from any of or tool or website may not be accurate, and cannot be guaranteed to be accurate or correct. Please contact us if you are unsure about where to read or Terms and Conditions and Privacy Policy.