Versions of MSA

Release Notes

Provided the new version differs in the second digit (e.g., 3.5 versus 3.4), it should not be necessary to uninstall the prior version before installing the new version of MSA. Version 3.5.0, for example, will install in the folder "Market System Analyzer 3.5" by default, whereas version 3.4.1 will be installed in the folder "Market System Analyzer 3.4." Also, for version 3, provided the installation is on the same computer as the prior version 3 installation, no new activation code should be required. The new version should install already activated. MSA version 2 and MSA version 1 do not need to be uninstalled prior to installing version 3.

Please note: Uninstalling an older version will not affect any MSA files (.msa or .msaport) you may have created or saved. Also, all new versions of MSA are designed to be backward compatible with older versions, so newer versions can read the files created and saved with prior versions.

Version 4.0.0

Posted: April 18, 2019

MSA Version 4.0.0 is a major release. Almost every part of the program has been modified in some way.

User Interface Changes
  1. Changes have been made throughout the user interface. New themes have been added, and theming has been made more consistent, extending to all dialog windows, results windows, the main chart, and controls on dialog windows. New icons have been created for the tool bar.
  2. On the Chart Format dialog window, the color pull-down menus have been replaced with color chart selectors.
  3. The Equity Table windows have been replaced with virtual grids, which enable much faster loading for market systems with large numbers of trades.
  4. The Edit/Add Trades window has been modified to allow in-place editing, similar to a spreadsheet. A new context menu has been added with editing options, including options for copying the selected grid items and the table as a whole in various formats. The grid now uses a virtual display mode to allow faster loading.
  5. The Apply buttons on all dialogs that have them have been implemented, including for chart formatting, Analysis Setup, Portfolio Setup, and position sizing.
  6. The portfolio equity curve selection window is now a grid with rows for each market system, with a check box in each row to select the market-system for plotting, as well as a separate check box for the portfolio curve. This allows the user to select any combination of market systems to be plotted.
  7. The cancel button for market-system position sizing optimization stops the optimization process more quickly, particularly when optimizing with Monte Carlo analysis.
  8. The Parameter Studies plot has been replaced with a new, updated control.
  9. The "Stocks" trading vehicle has been changed to "Stocks/Forex" to make it clearer that this choice is best suited for forex trading.
  10. Mouse wheel scrolling has been added to all report windows.
  11. The screen flicker of the information box on the chart windows has been eliminated.
  12. If it takes more than a few seconds to locate the file of trade data when opening a market-system file, a notification message is displayed.
Program Calculations and Results
  1. The portfolio optimization algorithm has been replaced with a genetic algorithm, which is more robust and provides better results.
  2. The calculation of correlation coefficients for portfolios has been changed so that it's calculated four ways: based on daily, monthly, and annual returns and based on the detrended equity curves.
  3. New metrics have been added: total number of shares/contracts traded (to complement the previously added metrics for min, max, and average shares traded), average and max number of open (simultaneous) positions, profit/drawdown ratio, Van Tharp's SQN, Sortino ratio, MAR ratio, max leverage, and date of max leverage. Leverage is now "account leverage", as opposed to the leverage of the trade as in prior versions. In addition, all relevant metrics are now additionally calculated for the long and short sides of the market.
  4. Total costs/fees and total slippage were added to the Performance Report.
  5. For portfolios, a new Market Systems tab in the performance report lists the results by symbol.
  6. In the Monte Carlo Results report, additional lines and columns have been added to the "Key Results" table and additional metrics have been added to the results section at the specified confidence level.
  7. The optional MC analyses were changed to the following: (1) calculate probability that [selected metric] will be at least [entered value], and (2) calculate probability that [selected metric] will be less than [entered value]. Examples: probability that ave annual return ≥ 30%; probability that profit factor ≥ 2 over last three months (changing date range to last three months); probability that max drawdown less than 20%; probability that Sharpe ratio less than 1.
  8. Additional results have been added to the Trade Size commands for both market systems and portfolios. For market systems, the new results are commissions and fees, position risk, position value, account leverage, and available equity. For portfolios, the new results are commissions and fees, the contribution to the position size from dependency and crossover rules, position risk, position value, portfolio totals for the preceding, and available equity.
New Options
  1. On the Analysis Setup window, Input Data tab, the option "Profit/loss and risk data are expressed as percentages of equity" now works correctly for cases where your trade results are only available as percentage gains and losses. Specifically, the program assumes the percentage trade represents the gain or loss as a percentage of the account equity at the time the trade closed. It's assumed the equity was fully invested on each trade.
  2. Two new dependency rules have been added. The periodic profit rule changes the position size by a specified amount or percentage if the profit for the day/week/month/quarter/year exceeds a specified amount or percentage of equity (e.g., "stop trading for remainder of day if profit for day exceeds $500"). The periodic loss rule changes the position size by a specified amount or percentage if the loss for the day/week/month/quarter/year exceeds a specified amount or percentage of equity (e.g., "Decrease position size by 1 contract for rest of week if loss for week exceeds $1000").
  3. A new option is available on the Analysis Setup window, Account Settings tab, to specify trading costs and/or slippage as a percentage of trade value. In general, costs and slippage can be specified with more flexibility, rather than being dependent on the chosen trading vehicle.
  4. Two new options allow you to (1) limit the number of open positions to a specified value, and (2) skip a trade if taking it would cause the total allocated margin to exceed a specified percentage. These options are available on the Analysis Setup window, Options tab, and the Portfolio Setup window, Settings and Options tab, for market systems and portfolios, respectively.
General Program Functionality
  1. The use of registration numbers and activation codes has been eliminated. The licensed version of the program installs activated. A single password, provided at the time of purchase, is entered during installation of the licensed version. No additional codes are required for subsequent installations.
  2. On the Performance Summary pane, a new right-click option allows you to select the list of metrics displayed in the pane.
  3. On the Trades File Format window, the current formatting can be saved for later use. Any saved format will be available in the "Preset column format" drop-down menu.
  4. The Portfolio Setup window now has an "Include" column that allows you to select the market systems to include in the portfolio. You can click the Apply button to see the result of the new composition before closing the window. This makes it easy to try different combinations of market systems that have been loaded into the table of market systems comprising the portfolio.
  5. When opening multiple text files together using "Open" of the File menu, the program now uses the selected file as the trades file, rather than creating a new trades file. MSA only creates a new trades file when you select the option to combine trade data from multiple files into one .msa file.
  6. For portfolios, to be consistent across windows, a "Market System" is now the name of the market system file without the path (e.g., mymarkesystemfile.msa). The "Description" for a market system within a portfolio is the text label entered as the "Chart Title" via the Chart Format window.
Bug Fixes
  1. There was a problem in calculating the max drawdown, margin, and leverage when multiple trades exited at the same exact date/time. This happened if trades didn't include exit times, only dates, and multiple trades exited on the same date or if the same exact exit date/time occurred by coincidence for multiple trades. The problem was due to assuming the different trade P/Ls were accumulated one after the other, with the metrics updated after each trade. The calculations now wait for trades with identical exit date/times to be processed before evaluating the metrics.
  2. Risk and R-multiple metrics are now calculated over only the trades for which a risk is defined. Previously, trades with zero risk (i.e., undefined) were included in the calculations. In addition, R-multiples for losses are now reported as negative numbers.
  3. The calculations for % margin and % risk were slightly off in cases in which multiple trades were open at the same time.
  4. If a year had zero trades, the Results Tables combined it with the next year. Now, every month and every year are listed in the period return tables, regardless of whether there were trades during the period. Weekly and daily return tables are unchanged and only show results for periods (weeks, days) for which a trade exited.
  5. The portfolio Trade View window displayed the incorrect value for "costs" when the market system was using "trade in units" (e.g., 100 shares per unit).
  6. When copying the Trade View dialog (both for market systems and portfolios) to the clipboard and pasting into a spreadsheet, the columns were misaligned if there were empty fields, such as missing entry or exit prices.
  7. In MC analysis, the equity curve for the original sequence of trades was colored the same as the curve for 50% confidence (gray).
  8. On the Trades File Format window, the option "Profit/loss and risk data are expressed as percent of equity" wasn't implemented (the same option is on the Setup window, Input Data tab) and has been removed.
  9. On the Portfolio View menu, the accelerator key (Alt + E) for the Equity Table was not visible and not implemented.
  10. When a portfolio contained at least one market system with no exit dates, the equity table didn't display exit dates for any market system.
  11. If a text file of trade data was opened via the Open command of the File menu and the file was located in a folder that the user did not have permission to access, the program could crash.

Version 3.5.0

Posted: December 22, 2015

MSA Version 3.5.0 includes a new Monte Carlo algorithm that uses parallel processing to take full advantage of multi-core processors. This not only dramatically speeds up stand-alone Monte Carlo analyses in MSA but improves processing times for position sizing optimization and the Parameter Studies feature when the Monte Carlo option is selected for these functions.

Also new to version 3.5 is the ability to read trade data from RINA xml files, which can be generated by trading software such as TradeStation and MultiCharts. The File Open command can now be used in MSA to directly open one or more text files of trade data, including xml files, and create a new MSA document in the process. Multiple files of trade data, such as multiple xml files, can be merged into one MSA document, or a separate document can be created for each file of trade data, with an optional portfolio file created as well.

In addition, this release includes the following changes and bug fixes:

  1. Separate fields have been added for entry and exit trade times. Previously, it was necessary to represent trade entry and exit dates and times in combined date/time fields. MultiCharts produces output files that include separate fields for date and time. MSA now supports this.
  2. Also in support of MultiCharts, the words "EnterLong" and "EnterShort" are now accepted as descriptions of trade direction in the Long/Short column of a file of trade data.
  3. In the Return Tables section of the Performance Report, the limit on the number of displayed rows has been removed. All rows of results for yearly, monthly, weekly, and daily returns are now shown.
  4. [bug fix] When the main plot was set to display Monte Carlo results and a setting was changed that affected those results, the display went blank for 10 second before reverting to the regular equity plot and displaying a message stating that the Monte Carlo analysis needed to be rerun. This behavior has been changed so that if the current plotting is for Monte Carlo results, any change that affects those results causes the Monte Carlo analysis to be redone automatically and the Monte Carlo plotting to be updated without user intervention.
  5. [bug fix] Clicking the "font" button on the Chart Format window caused the program to crash.
  6. [bug fix] Formatting errors were present on the portfolio optimization results window related to the display of the names and paths for the market-system files comprising the portfolio. The same errors were corrected on the results window for the Monte Carlo analysis for portfolios.
  7. [bug fix] When entering trades manually through the editor (Edit/Add Trades window), if the profit/loss and risk fields were left empty, the corresponding values were set to zero, rather than as undefined. The zero values could subsequently affect the results if the selection on Analysis Setup was to use profit/loss and risk values, rather than prices.
  8. [bug fix] Incorrect column labels on the trade export results have been corrected.
  9. [bug fix] The missing cursor for dragging the vertical divider between the Performance Summary window and the main chart window has been restored.

Version 3.4.1

Posted: December 18, 2013

MSA Version 3.4.1 contains the following bug fixes and changes:

  1. Trade entry and exit prices have been added to the Equity Table for both market systems and portfolios.
  2. [bug fix] The "ideal equity curve" line on the equity chart was incorrectly plotted as logarithmic under linear scaling and vice-versa for the constant value position sizing method. This has been corrected.
  3. [bug fix] The formatting in the Equity Table was incorrect for some values less than 1, including risk values, although the internal representation and calculations were correct. The formatting has been corrected.
  4. [bug fix] Addition and withdrawal "trades" were duplicated when the file was re-opened after saving in version 3.4.0. This error only affected version 3.4.0 and has been corrected.
  5. [bug fix] The delta fraction for fixed ratio position sizing was not read when using the "Set All" command for portfolio position sizing, resulting in the default value of 1.0 being used. This has been corrected.
  6. [bug fix] A fixed fraction of 100% was shown as "10" in the summary panel and in the Equity Table. This has been corrected.

Version 3.4.0

Posted: June 14, 2013

MSA Version 3.4.0 adds a new type of Monte Carlo analysis designed to detect the failure of a trading strategy or portfolio of strategies. This new Monte Carlo analysis extrapolates the equity curve forward by a user-specified number of trades to produce a prediction envelope. By comparing the actual equity curve to the prediction envelope, abnormal trading can be detected. This new feature is discussed in the user's guide and help files in the chapter on Monte Carlo analysis, as well as in a recent newsletter article.

In addition, the following bug fixes and changes were made:

  1. [bug fix] Risk metrics, including expectancy and R-values, were set to zero in version 3.3.0 and 3.3.1 even when trade risks were defined. This has been corrected.
  2. [bug fix] Trade files generated from a TradeStation performance report, as well as any file of trade data containing a blank line, caused MSA 3.3.0 and 3.3.1 to hang. This has been corrected.
  3. [bug fix] Some settings affecting the Monte Carlo analysis results, including re-optimizing the position sizing, did not invalidate the Monte Carlo results, causing a mismatch between the settings and the Monte Carlo results. This has been corrected.

Version 3.3.1

Posted: May 28, 2013

This release corrected errors in version 3.3.0 that affected how the trade files were read for some non-US locales. The errors resulted in missing decimal digits for price values for some locales and zero values for fields such as the profit/loss in some cases. The only other change in this version relative to version 3.3.0 was that the functionality of the buttons on the Getting Started screen, which didn't work in the prior release, was corrected. Version 3.3.0 should be uninstalled prior to installing this version.

Version 3.3.0

Posted: May 24, 2013

In MSA version 3.3.0, the Monte Carlo analysis was updated so that the equity plot displays probability bands resulting from the MC analysis. A new "Current Sequence" drop-down menu in the menu bar changes to "Monte Carlo", and four equity curves are displayed, representing the current sequence of trades, the upper and lower confidence bands for the Monte Carlo analysis, and the equity curve at 50% confidence

In addition, the following bug fixes and changes were made:

  1. [bug fix] The portfolio Monte Carlo analysis calculated the optional results incorrectly by only including the last market system in the portfolio. This has been corrected.
  2. [bug fix] The "Skip first..." edit box on the Trades File Format window allowed the user to enter a value but didn't respond to it. The user can now either use the spin controls or directly type in a value for the number of lines to skip.
  3. To avoid long processing delays, only the first 100 lines are now shown in the Trades File Format window.
  4. [bug fix] The last character of the symbol for the last trade in a file of trades formatted for "WriteTrades" was not read on import or via Data Source. This has been corrected.
  5. [bug fix] The Trade Type field was not read correctly when text codes were used. This has been corrected.
  6. [bug fix] The currency conversion factor was incorrectly multiplied by the entry, exit, and stop prices and by ATR before storing these values, resulting in incorrect values in the stored file. This has been corrected.
  7. [bug fix] The correlation coefficient was calculated using the wrong range of trades in some cases when market systems had been saved with a modified date range. This has been corrected.
  8. The time-out interval for searching for a file of trades has been reduced from one minute to 30 seconds.
  9. [bug fix] If a portfolio was defined with a market system file that contained no trades, the program would crash. This has been corrected.
  10. [bug fix] In fixed ratio position sizing, the first level of increase was calculated based on an initial size of 1, regardless of the specified initial size. This has been corrected.

Version 3.2.1

Posted: May 3, 2010

MSA version 3.2.1 corrects the following bugs:

  1. When the trade list is manually edited via Edit/Add Trades (Trades menu), the account and trades locales were reset to the computer's default setting.
  2. In portfolio files, when the trade risk data were defined in terms of prices, rather than amounts, a point value of 1.0 was used in calculating the risk values, rather than the correct point value entered under Setup. This could result in incorrect values in the portfolio performance report for average risk, average % risk, ave R-multiples (wins), ave R-multiples (losses), overall ave R-multiple (expectancy), and standard deviation of R-multiples. This only affected these metrics for the portfolio when the market-system risk data were defined in terms of prices.

Version 3.2.0

Posted: October 16, 2009

MSA version 3.2 provides the following changes/improvements:

  1. Updated user interface with the following features:
    1. Tabs are now used to display the open documents.
    2. Tabs can be grouped into horizontal or vertical panes.
    3. The program stores the open windows when exiting and opens the documents the next time the program is started.
    4. Different styles/color schemes can be selected for the user interface to match popular Windows programs, such as Office 2007, Windows XP, etc.
    5. The tool bars can be customized.
    6. The right-click (floating) menus can be customized.
  2. Ability to plot the equity curve by day, week, month, or year. The equity change over the selected period is used in plotting, with one equity point per period.
  3. The .msp extension for portfolios has been changed to .msaport to avoid conflicts with Windows installation files. For backwards compatibility, MSA 3.2 can open and read either .msp or .msaport files.
  4. The option to add periodic withdrawals to the equity curve simulation has been added. Withdrawals can be specified on a weekly, monthly, quarterly, or annual basis.
  5. Two new position sizing methods have been added: percent volatility position sizing bases the position size on the average true range, and constant value position sizing sets the position size so that the position has a specified value (e.g., $5000 per trade).
  6. A second delta has been added to the fixed ratio position sizing method for decreasing the position size, so that the rate of increase and the rate of decrease can be specified independently.
  7. A file properties window is available from the File menu, which lists file details of the document currently selected.
  8. The following types of moving averages can now be specified for computing the moving average for equity curve crossovers: simple, exponential, weighted, TRIX (triple exponential).
  9. The following new performance metrics have been added: pessimistic return ratio, average R-multiples (wins), average R-multiples (losses), average R-multiple (overall), R-multiple standard deviation, average risk, average margin, max margin, date of max margin, average leverage, risk of ruin.
  10. The trade editor has been redesigned to improve usability. Multiple trades can be deleted together using shift and control.
  11. New data input fields are available including market symbol, trade type (regular, cost/fee, add/withdraw), currency conversion factor, and average true range.
  12. Multiples .msa and .msaport/.msp files can be opened together using the File - Open command.
  13. The equity table can now be sorted by any column by clicking on the column heading. The table has been expanded to include the new data fields.
  14. The Edit/Add Trades dialog and Trades File Format dialog windows are now resizable.
  15. The full-screen cursor box, displayed when clicking the mouse over the chart window, now displays the equity value at the cursor location ("Equity"). The account equity at the selected trade is displayed under "Account" and the date of the trade under "Exit Date".
Bug fixes in version 3.2.0
  1. Weekly results in the Return Tables tab of the performance report has been corrected so that each listed week starts on Sunday. The date for the listed week is the date for the Sunday on which the week starts.
  2. An error has been corrected that occurred when writing reports to a text file in which the report contained no date information.
  3. An error related to the date/calendar control has been corrected in which the program selected the incorrect trade based on the selected date when multiple trades had the same date with different times.
  4. The portfolio optimization now returns zero, rather than a negative number, for the position sizing parameter when the associated market system does not contribute to the portfolio equity.
  5. An error related to rounding errors resulting in negative position sizes has been corrected. This occurred when a series of overlapping trades resulted in zero available equity.
  6. When the portfolio performance report was displayed and the portfolio was closed, the report dialog window was not closed. This has been corrected.
  7. Updating of the Equity Table window has been improved to reduce unnecessary redraws.
  8. The full-screen cursor sometimes appeared when the chart was initially opened. This has been corrected.
  9. Opening a portfolio file sometimes crashed MSA in cases where the trades file in the .msa file had been changed. This has been corrected.
  10. Previously, if all trades were deleted under Edit/Add Trades, the program crashed when clicking OK. This has been corrected.
  11. If all trades were deleted via "Clear All", the right-hand summary pane did not update. It now resets the performance numbers to zeros.
  12. When an empty portfolio was created with two empty market-system files, calling the Trade Size command for the portfolio caused the program to crash. This has been corrected.
  13. A problem with an internal number formatting function has been corrected that caused improper rounding in some cases.
  14. When selecting "save as" from the File menu, the program now prompts for a new trades file in addition to a new .msa file.
  15. When a market-system was randomized then saved, the program opened with the "restore" function dimmed. This has been corrected.
  16. When MSA cannot find the trades file specified in the .msa file, the search function now times out after 60 seconds, rather than continuing to look for the file, which previously caused the program to wait for extended periods of time.
  17. On the Trade Size and Portfolio Trade Size windows, clicking the calculate button is now the same as hitting the Enter key, so hitting the Enter key no longer closes the window.
  18. Printing of reports has been corrected so that long lines are no longer truncated. The print size is reduced so that the report fits the paper.
  19. A problem with an internal number formatting function has been corrected that caused an error when the number being formatted was too large.
Known issues in version 3.2.0
  1. The cursor disappears when selecting the resizing bar between panes on the main window.
  2. Window tab settings (e.g., horizontal or vertical pane settings) are not stored when the program exits.

Version 3.1.1

Posted: September 24, 2009

Version 3.1.1 implements three minor bug fixes over version 3.1 and modifies the trial/registration module to reset the trial for those who've tried a prior version of MSA 3.

  1. If MSA has not yet been activated, the trial will automatically reset to 30 days when a newer version of MSA 3 is installed, provided the old version is uninstalled first
  2. [bug fix] On the performance report (Settings tab) for market-system documents, the trades file path did not display the backslash (\) character.
  3. [bug fix] On the performance report (Return Tables tab) for both market-system and portfolio documents, the table headings ran together when there was no data to display (i.e., when no date data was present).
  4. [bug fix] In some cases, the right-hand panel did not display the font size properly.

Version 3.1

Posted: August 4, 2008

Version 3.1 represents the official release version of Market System Analyzer (MSA) 3.

  1. Portfolio optimization has been implemented. Each market system may use a different position sizing method if desired, and stocks and futures can be freely mixed in the same portfolio.
  2. The optimization command for market systems now opens a window that stays on the screen while the optimization is ongoing to provide additional feedback and intermediate results. It's now possible to work in other windows in MSA while the optimization is ongoing.
  3. Correlation analysis has been implemented for portfolios. A correlation table has been added to the performance report. The correlation analysis is automatically performed whenever the portfolio document is recalculated.
  4. An option has been added to automatically reload the chart at specified intervals, such as every 5 seconds or every 2 minutes. This is intended to facilitate the use of MSA for day trading where the trades file is automatically updated after each trade.
  5. Dependency analysis and significance testing are now calculated automatically whenever the document is recalculated. Tabs for the corresponding results have been added to the performance report. The user settings for dependency analysis and significance testing have been moved to the Setup command window.
  6. The user's guide and help files have been updated through this version.
  7. The performance of the tabbed performance reports (market system, portfolio) has been improved to reduce screen flicker and correct scrolling errors.
  8. The floating (right-click) menu has been expanded to include most functions from the Analysis and Portfolio menus.
  9. The toolbar has been expanded to include icons for the most commonly used Analysis and Portfolio menu functions.
  10. On the Portfolio Position Sizing dialog window, the Set All window has been redesigned to improve functionality.
  11. Color schemes have been added to the Format Chart window, Lines and Colors tab.
  12. Copy-to-clipboard functionality has been added. The Ctrl+C keyboard combination can be used in the main window, the right-hand pane, and in most results windows. Copying the main chart copies a bitmap of the chart to the clipboard. Copying elsewhere copies the text from the window to the clipboard.
  13. All the results windows (performance results, Monte Carlo results, optimization results, equity table for market-system and portfolio documents) can be saved to the following formats: tab-delimited text (.txt), comma-delimited text (.csv), unformatted Word (.doc), and html (.htm).
  14. On the Trades File Format window (used with Data Source or importing trades), the preset format for TradeStation Trades List has been updated for TS 8.3.
  15. [bug fix] Font changes made to the chart also applied to the cursor box displayed when clicking the mouse on the chart, sometimes resulting in text that was too large for the cursor box. This has been corrected so that the font for the cursor box does not change.
  16. [bug fix] Performing a Clear All command then saving the market-system document resulted in an error when trying to open the empty trades file then selecting another trades file. MSA will not properly open an empty trades file.

Version 3.0.4

Posted: September 12, 2007

  1. The order of the periodic performance results in the Return Tables part of the performance reports has been reversed so that the most recent results are on top.
  2. Two new options have been added to the Trade Size command for the portfolio. When entering the data for each market system, a box can be checked to exclude the market system if there is no new entry signal. If there is an open trade, a second box can be checked, and the position size for the open trade can be entered.
  3. Feedback for plot-by-date errors has been improved. If the program can't plot by date due to a missing or incorrect date, the trade where the problem occurs is noted in a error box displayed to the user.
  4. The options for drawing tick marks and new equity highs has been improved to allow marks at equity highs by themselves without requiring tick marks on all trades.
  5. Portfolio files now search for market-system files (.msa) in the folder where the portfolio (.msp) file is located if the market-system files can't be found in their specified locations. This makes it easier to copy portfolio files or send them to someone else. Provided the portfolio, market-system, and trades (.csv) files are all in the same directory, MSA will be able to find them. MSA will also search in standard locations, such as the Documents folder, for .msa and trades files that are not found in their specified locations.
  6. The wording on the Setup screen for the risk-free interest rate used in calculating the Sharpe ratio has been changed to indicate that a monthly interest rate should be entered. Because the Sharpe ratio is calculated from monthly rates of return, the risk-free interest rate should be the interest rate per month, not an annual rate.
  7. [bug fix] Whenever the trades file was written, it was saved with only two decimal digits of precision. The trades file is now saved with a total of seven digits of precision.
  8. [bug fix] Exporting the trades file has been corrected to include a total of seven digits of precision, up from two previously.
  9. [bug fix] When all trades are short, the performance summary misaligned the columns so that they overlapped. This has been corrected.
  10. [bug fix] Extra space has been removed from the text file generated when exporting the trades file to make the format compatible with Excel.
  11. [bug fix] Adding trades created with the statistical trade generator ("Create Trades from Statistics") to trades plotted by date gave an error. This has been corrected.

Versions 3.0.0 through 3.0.3.1

Posted: March 19, 2007 to July 6, 2007

In addition to the changes discussed above, version 3 (through 3.0.3.1) includes the following:

  1. Performance results have been expanded to include:
    1. Results for long and short trades tabulated separately
    2. Period returns for each month and year and for the most recent 100 weeks and days
    3. Average yearly, monthly, weekly, and daily returns
    4. True Sharpe ratio based on monthly returns and using a user-adjustable value for the risk-free rate of return
    5. Average and standard deviation of the annual, monthly, weekly, and daily results, including net profit, return, drawdown, number of trades, percentage wins, and profit factor
  2. Right-clicking or double-clicking in the results summary (right-hand) pane brings up the full performance report.
  3. Performance reports can be printed from the performance results window or saved to a file in the following formats: .txt, .doc, .csv, .htm, .html.
  4. The graphics in the main chart have been improved:
    1. New highs in equity can be optionally marked on the chart.
    2. An empty chart can be formatted to use as a template.
    3. Clicking on the main chart displays a full-screen cursor with an information box to display chart details.
    4. Drawing of the zoom selection box has been improved to reduce screen flicker.
    5. When viewing a portfolio equity curve, the equity curve for any one of the market-systems comprising the portfolio can be optionally plotted.
  5. The floating menu, accessible by right-clicking in the main window, now includes the most commonly used menu items from the Analysis, Portfolio, and View menus.
  6. Initially, the starting account size is set to an estimate of the minimum equity required to trade the strategy. The estimate is calculated by adding the one-contract/share drawdown to the one-contract/share margin requirement and multiplying by the largest position size in the input data.
  7. The results summary in the right-hand pane now scrolls vertically.
  8. Negative prices are now valid, which allows back-adjusted prices series data to be used even in cases where the back-adjusting results in negative values.
  9. Version 3 is fully Vista compatible.
  10. A new registration/licensing system prevents errors occasionally encountered under Windows 2000 and Windows XP Pro.
  11. The following bugs have been corrected:
    1. MSA crashed when the number of non-empty days of performance results was exactly equal to the display limit.
    2. Trades files were not read correctly when using non-US locales.
    3. Trade risks were not saved in the trades file after defining them using the Create Trade Risks command.
    4. Results file exported to .txt format did not open correctly in NotePad.
    5. In the position sizing window for portfolios, the market system column was blank if a label had not been defined for the market system. It now uses the file name if a label has not been chosen.
    6. Edit/Add dialog did not save data correctly when using non-US locales.
    7. Trying to import a file that was already open on the user's desktop generated an error.
    8. Hard-coded "$" symbols have been replaced with the symbol based on the selected locale setting.
    9. The risk-free interest rate has been added for the portfolio Sharpe ratio.
    10. The date selector on the menu bar can now be changed manually by typing into the date field.
    11. The number format in the Edit/Add Trades window has been increased to 7 digits in total.
    12. Negative position sizes are no longer allowed.

What's New in Version 3


The following information is intended primarily for those who are migrating from MSA Version 2. Version 3 was designed to encapsulate the functionality of version 2 while adding portfolio analysis. This was done by (1) adding a second file type for portfolios, and (2) allowing multiple windows/files to be open at the same time. In addition to files of type .msa, version 3 uses a new file type to represent portfolios. Starting in version 3.2, portfolios use the file type .msaport. In versions 3 prior to 3.2, portfolios had the file extension .msp. Current versions of MSA can open either .msp or .msaport files.

The vast majority of features and operations pertaining to market systems remains the same in version 3 as in version 2. Working with .msa files and market systems in general is very similar in both versions of the program. In addition, version 2 files can be opened directly in version 3.

The main difference in version 3 is that once several market-system (.msa) files have been created, a portfolio can be defined. This is done by opening a new portfolio (.msaport) file, then selecting two or more market-system (.msa) files from the Setup window. Once the market-system files have been selected, the trade histories are combined by MSA to show the resulting portfolio equity curve.

While most features in version 3 pertaining to market systems are the same as in version 2, there are a few differences. In version 3, market systems can have entry and exit dates for each trade. Exit dates are required for each trade if you want to view results that relate to date/time, such as the return each month or year. Entry dates are used primarily to track margin usage when multiple trades occur together. When migrating a version 2 file to version 3, dates can be added in an approximate manner in the Edit/Add Trades window (Trades menu) using the Set Date Range.. button. This enables you to set the dates for each trade based on the starting date, ending date, and average trade length for all trades in the history. To add the exact entry and exit dates for each trade, either re-import the trade data from a file that includes dates or use the Data Source command (Trades menu) to set the trades file to a text file that contains the trade data with dates.

When exit dates are available for all trades, the equity curve in the main chart window can be plotted either by trade or by date. To change to plotting versus date, version 3 has a Plot by Day/Week/Month/Year/Trade pull-down menu selector in the menu bar at the top of the window. You can also choose to limit the trade range by date in version 3 using the date selectors in the menu bar. After selecting the starting and ending dates, click the Recalculate button to recalculate the equity curve for the new range of trades.

Version 3 also allows multiple windows and files to be opened at once. For example, you might have several market-system files open as well as a portfolio file. Each file will be shown in its own tab. The menus available in the main window frame depend on the type of tab/file selected. When a portfolio file is open and selected, the menus in the main window reflect the options available for portfolios, including a Portfolio menu. When a market-system file is open and selected, the menus reflect the available options for market systems, including the Trades and Analysis menus. Trades are only entered, imported, and edited in market systems, not portfolios. To enter or import trades, a market-system window must be selected. By default, the files opened when the program was last closed are opened when the program is opened from the Windows Programs menu or desktop.

When opening a version 2 file in version 3, the equity curve crossover and dependency rules may need adjusting. In version 2, several of the equity curve crossover and dependency rules adjusted the position sizing parameter value by a specified percentage based on the rule logic. For example, the fixed fraction might have been increased 20% on an equity curve crossover. In version 3, the rules change the position size directly, rather than changing the position sizing parameter value. Instead of increasing the fixed fraction by 20%, the same rule in version 3 will increase the position size by 20%. In some case, this will have the same effect as the old rule. However, in some cases, the effect will be in the opposite direction. For example, increasing the fixed equity amount is the same as decreasing the position size. When working with a version 2 MSA file in version 3 for the first time, each crossover and dependency rule should be reviewed and adjusted if necessary to make sure it works as desired.

Also keep in mind that while MSA version 3 can read version 2 files, the reverse is not true. MSA version 2 cannot read version 3 files, so if you want to be able to continue to use a version 2 file in MSA 2, it's important to "save-as" your version 2 file to a different name in version 3. Once a version 2 file is saved in version 3, it becomes a version 3 file and will not be readable by version 2.

For non-US users, starting with version 3.0.3, you can change the number/currency format (locale) from the Setup command to match the currency that your trading account is denominated in. For example, if the locale is set to Germany, the currency symbol will be the Euro symbol, and the thousands separator will be the "." rather than the "," used in the US. It's not necessary to change the Windows locale, as in previous versions. You can select an account locale for each market-system file and for each portfolio file. You can also select the number/currency format for the trades file. For example, if using the WriteTrades function for TradeStation, the number format will be "US". If your account is in Euros, you could select Euros in Setup for your account and "$" for the trades file format. The format for the trades file is set on the Trades File Format window when using the Data Source command or when importing a trades file. Please note: MSA does not include a currency converter. If you have market systems with different account locales and you combine these into a portfolio, MSA will not convert the currency values from the market-system locale to the portfolio locale. However, starting in version 3.2, there is an input data field for currency conversion. The value in this field is multiplied by the entry, exit, and stop prices, as well as by the average true range (ATR) value.

An important difference in version 3 is how trade data are stored. In version 2, the trade data were stored in the .msa file. In version 3, the trade data (entry price, exit price, entry date, exit date, position size, etc.) are stored in a separate text file that is specified using the new Data Source command of the Trades menu. This new feature is designed to make it easier to update and work with trade data files. The Data Source command allows you to specify the file where trade data are stored and identify the columns of data that MSA should read. If you edit trades within MSA, the trades file is updated accordingly. Likewise, if you change the trades file outside of MSA, the market-system file will change the next time it's opened or if you select Reload From File from the Trades menu. By storing the trades in a separate trades file, several MSA files can reference the same file of trades. If the file is changed, all MSA files that use that trades file will automatically reflect that change. Also, any portfolio file based on the MSA file will be updated as well.

If you import trades into MSA from a text file using the Import command, the next time you save the MSA file, the program will prompt you for a file name for storing the trade data. This will be the "trades file" for your MSA file. Any changes made to the trades while in MSA will be stored in the trades file. If you want to use the text file from which you imported the trades as your trades file, you can save a few steps by using the Data Source command to define your trades rather than importing them.