Warning! This page may generate links that exceed the limitations of Microsoft web browsers; Firefox or Chrome is recommended. GTR1 Hacktester

GTR1 Hacktester

 Hacktest Name: (Optional)
 Trades  Instructions
 Input Data Structure
  • Enter as many lines of data in the "Trades" box as needed. (The box is resizable from the bottom-right corner.)
  • Format each line of data as follows (brackteted items are optional):

        DATE [WEIGHT_1] SYMBOL_1 [WEIGHT_2] [SYMBOL_2]...

  • Delimiters may be spaces, tabs or commas.
  • Comments may be added to the end of data lines, or in their own lines, by begining them with the '#' character.
  • See the pre-populated sample input on the left, visible with a fresh load of this page.
  • Data lines must be in ascending order by date.
  • Most US date formats with four-digit years are recognized.
  • Dates must be US market dates; the backtester will report errors otherwise.
  • The backtester rebalance the portfolio to specified weights (or equal-weight) only on the dates specified.

 Symbols must be of three types:
  • Ticker symbols reconized by Yahoo! Finance.
  • Special symbols recognized by the GTR1 backtester (for example, 'Cash').
  • User-defined symbols referencing "screens" or "blends" run by the GTR1 backtester (see the "Symbol-Screen References").
 Additionally, keep the following in mind:
  • Use special symbol 'Cash' to specify cash positions. The symbol is case-sensitive to distinguish it from 'CASH', a stock.
  • 'Cash' earns the 3-month constant maturity US Treasury Bill yield.
  • Use special symbol 'End' to specify the end of the backtest. The symbol is case-sensitive. Subsequent trade lines are ignore.
  • All data on specified Yahoo! symbols comes from Yahoo!, not the GTR1 root universe. (One reason this is called a hacktester!)
  • Delisted symbols are not available. (Again, hacktester...)
  • Weights are optional, but if a weight is provided for one symbol in a line, then weights must be provided for all symbols in the line.
  • If weights are omitted in a line, the backtester assumes equal weighting until the next line's date.
  • Weights may be negative, thus allowing short positions.
  • Total weight on each line must be positive.
  • Weights are not to be confused with shares.
  • Click the "Create Backtest Link" button below to generate a GTR1 Backtester link.
  • Follow the GTR1 Backtester link and run the backtester.
  • Symbols and market dates are not validated until the backtest is run. If the backtester reports errors, return to this page to fix them.
 Screen References by Symbol  Instructions
  • Enter as many lines of data in the box as needed.
  • Format each line of data as follows:


  • SYMBOL must be composed of letters, numerals and underscores, and must begin with a letter or underscore.
  • GTR1_URL must be a URL for any GTR1 backtest or blend.
  • Comments may be added to the end of data lines, or in their own lines, by begining them with the '#' character.
  • Note that this "advanced" feature can involve complexities with lags, trading at open versus close, etc.
Additional Settings
Execute trades relative to input dates at:  Same-day open prices.  Same-day close prices.  Next-day open prices.  Next-day close prices.
Friction: % loss applied at all sales (closing long and opening short). Does not override non-zero frction set in screens referenced by symbol.
Margin Premium: % above Cash Rate.  (Margin Rate = Cash Rate + Margin Premium is applied to negatively weighted positions, i.e. short positions.)