Monday, October 16, 2006

ULTRA 9.0 Market Timing Software

For the past few months, I have been using a software product called ULTRA Market Timing Software (version 9.0). So far it has proved to be a useful tool in testing an infinite number of strategies in a simple way. Here I briefly review some of its features and ways in which I've used it.

Features of ULTRA

Aside from the basic charts it generates, ULTRA 9.0 is not about fancy graphics and charts:

(Click to enlarge.)



The power of ULTRA 9.0 lies in its ability to run many iterations of optimization runs and customize a system or combination of systems in many ways. What it lacks in aesthetics, it makes up for in power and flexibility. For example, if I have an existing trading system that I have created with another software package, I can export that system's buy and sell dates to a text file and use it in combination with systems that come with ULTRA 9.0.

ULTRA 9.0 comes with the ability to perform speedy daily downloads of important market data such as Open, High, Low, Close for the major indices (NDX, SP, RUT, DOW), the COT (Commitment of Traders) report data, NYSE advances and declines, treasury bill and bond rates, sentiment data (Public vs. Specialist Short Sales), CBOE Put/Call Ratio, the VIX (volatility index), and prices for metals and oil.

Optimizing

Once I have several signal files for individual systems, I can use an optimizer to help me choose appropriate weights for each of the individual systems. I can also optimize the percentage to go long or short depending on the signals of the individual systems:

20% buy signals; -25% short.
40% buy signals; 25% long.
60% buy signals; 50% long.
80% buy signals; 100% long.
100% buy signals; 200% long (on margin).

I'm still learning how to correctly use the signal file optimizer (an add-on) but so far it has saved me a lot of time in refining my existing seasonality model for trading the NDX and S&P500. Right now I'm waiting for ULTRA 9.0 to finish an optimization run of 77760 iterations (or permutations) of different weights for a composite strategy I developed.

In ULTRA 9.0, I am able to optimize and customize the individual systems that come with the program. Some of them are not very sophisticated by themselves but the synergy of the individual systems together may have some real potential. As always, I think it's necessary to have a hypothesis as to why a particular combination of systems might work before letting the optimizer go to work (and erroneously lead you to the conclusion that you would have been able to make 100% a year through a freak outlier trade).

I can test an individual system, a composite strategy (combination of systems), or a broad portfolio of composites on an imported data file or on one of the built-in and regularly updated indices such as the NDX, DOW, RUT, or S&P500. Similarly, there are three levels of optimizers: you can optimize the parameters of an individual system, the weights of a number of systems for a composite strategy, or the allocation percentages for a portfolio of strategies. For example, you might have a bond trading strategy that uses 5 individual systems, a NDX trend following strategy that uses 5 different systems, and a S&P500 strategy that uses yet another 5 individual systems. I can use the portfolio optimizer to determine the optimal amount to allocate to each of the 3 strategies, the composite optimizer to determine the weights for the individual systems within each composite, and the system optimizer to determine the parameters for each system.

Analyzing

After doing many analyses and optimizations with ULTRA Market Timing, I've found that I must examine the results carefully. For instance, one particular optimization may have a 900% CARWI (Compound Annual Return While Invested) but only make a 0.1% CAR (Compound Annual Return) during the test period. This case arises when the system only took one short trade; therefore, the system was only invested for a few days out of a 50 year test period. As I write this, I'm running an optimization whose results I plan to export to Excel and then create new sorting variables. I might divide the CAR by the CARWI, sort on that new variable, and then do a secondary sort on the Ulcer Index.

Overall, I'm enjoying the power ULTRA affords me in making market timing models even though it is somewhat time-consuming. The only downside is that it is not always that intuitive to learn without the accompanying manual. However, if you read and learn the contents of the relatively short manual, you will find a very powerful tool in your hands.

Paul

Please note that I do not have any commercial or financial arrangement with ULTRA Financial Systems, Inc. If you're interested in learning more about the software you can visit their website

0 Comments:

Post a Comment

<< Home