Wealth-Lab Wiki

API ChartStyles Community Components Community Indicators IndexDefinitions Knowledge Base Misc Optimizers Pending Deletion PosSizers Providers Standard Indicators TASC Traders Tips TASCIndicators Tutorial Videos Visualizers
RSS

Navigation


Quick Search
»
Advanced Search »


What is it?

The purpose of this new visualizer called "Snapshots" is to collect backtesting results and code in a file, which then can be examined at any time by re-opening this Strategy's window. Snapshots is part of the MS123 Performance Visualizers library.

Every time you save a Strategy that contains changes, Wealth-Lab will automatically take a snapshot that contains:

  • Strategy code
  • Key performance metrics
  • Equity curve
  • Position sizing, data loading settings and DataSet/symbol

Snapshots are stored as disk files and include version number, starting from zero. Snapshots cannot be saved for Strategies on mapped network drives. When a Strategy is opened, all its snapshots will appear in a tree view. To save your first snapshot, strike Ctrl-S.

Think of "Snapshots" as an automatic backup feature for your Strategies. As you make additions and corrections to the code and execute it again and again, saving code with Ctrl-S, you can be sure that intermediate changes won't be lost as rollback is possible at any time. NOTE: if you haven't made any changes to the code, snapshot will NOT be saved.

Features

  • Save revisions of Strategy code
  • Compare two code revisions side by side
  • Save performance results
  • Save strategy's Equity curve (with Buy&Hold)

Version tree

The Version tree on the left lists all saved snapshots. Click on a version number to load a saved snapshot of the strategy. From right-click menu, you can delete one or all snapshots by the strategy, copy code to clipboard, or open this document.

Strategy Code

This tab shows saved strategy code. For your convenience, it highlights keywords like the built-in Editor.

Code snapshot

Code snapshot


Code is saved only for code- and rule-based strategies; Combination strategies and compiled Strategy libraries are not supported.

Code Compare

Code revisions can easily be compared after selecting different versions from Version dropdowns. Detected changes are highlighted with green/red stripes. If your code is long enough, you can scroll it down - it's synchronized.

Compare code revisions

Compare code revisions


Note: Through right-click context menu, both Strategy Code and Code Compare allow changing font size and copying the code of currently selected snapshot to the clipboard.

Equity

To minimize snapshot size and memory usage, equity for intraday backtests is always compressed to a single value per day (end-of-day) before saving. The Buy&Hold curve's visiblity can be turned on or off from right-click context menu.

Strategy equity snapshot

Strategy equity snapshot


Compressed intraday equity snapshot

Compressed intraday equity snapshot


Performance

To avoid performance overhead, Snapshots include only a minimal, lightweight subset of key performance metrics for "All Trades". Consequently, neither Long/Short nor Buy&Hold results are stored. Nevertheless, this is perfectly enough to quickly evaluate backtest results and compare performance. Additionally, the position sizing/data loading settings applied are stored and displayed on the status bar of Snapshots > Performance results.

Performance snapshot

Performance snapshot


Technical facts

  • Sometimes you might want to email or backup a snapshot. They all can be found under the root of the Strategies subfolder in the user's application data folder. For exact location, refer to the Wealth-Lab User Guide > Data > Where data are stored?

  • Snapshot files follow a pattern: "Guid (version).snapshot". The file format is human-readable JSON notation.

  • Snapshots may not get saved if Strategy has a non-unique Guid i.e. Strategy with identic Guid exists under different names. It's not a normal use case: it can only happen as a result of manual manipulation outside Wealth-Lab.

  • Powered by 3rd party classes:

  1. Syntax Highlighting in RichTextBox Control (c) Duncan Harris
  2. Generic Diff Algorithm (c) Michael Potter
  3. FastJSON v2.013 (c) Mehdi Gholam

Important Disclaimer: The information provided by Wealth-Lab is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.  The owner of Wealth-Lab.com assumes no liability resulting from the use of the material contained herein for investment purposes. By using this web site, you agree to the terms of this disclaimer and our Terms of Use.

Used under license from FMR Corp. Copyright 2008 FMR Corp. All rights reserved.


ScrewTurn Wiki. Some of the icons created by FamFamFam.