ULTRA 11 Feature List

Scheduled Release: 01/31/10

Note: We'll be adding to this list often as we approach the ULTRA 11 release date.


System/Data Organization
Probable Version: 11.00
(Added to feature list on 12/16/09)

The first thing I want to say is that all the changes I discuss below have been developed to be compatible with what you're currently doing with ULTRA. So please do not worry about that issue. Even though attaining this goal has proved to be challenging, after being completely ripped-off by Microsoft with the 64-bit Vista compatibility issue, the last thing I'd ever do is abandon what my clients are currently doing and force them to do something "better".

One of the biggest weaknesses of ULTRA 10 was simply too much information. The fact that ULTRA has "130+ Systems" has become a significant negative for the program in terms of marketing, learning curve, and usage. The short answer to this problem begins below at "The problem has been solved...". Skip to there for the bottomline.

Here's the long answer:

As a serious investor but also a researcher, I have great interest in how systems actually perform in real-time, good or bad. Therefore, as a personal "lifelong" research project I want systems that have performed poorly to remain in ULTRA. I also refuse to participate in misleading investors by trying to make ULTRA appear to be the "holy grail" of investing, which would be very easy if I abandoned the poor performers and only left the best performing systems in the product.

Keep in mind that every system in ULTRA made at least two significant cuts. First, someone thought it was worthy of being published somewhere. Second, I reviewed the formula, took the time to make sure the historical/real-time results could be replicated, and I determined the system was worthy of inclusion in ULTRA. Lastly, I've personally used at least 80% of the systems in ULTRA with significant amounts of my capital over the years. I've personally been pretty good at knowing when to "give up" on a system. But I've also been pretty lucky too as the end of the great 90's bull market aligned well with my personal situation. Basic personal finance tenets clearly indicated that I'd be wise to become a conservative investor.

Bottomline is that in my opinion, being able to see how these systems actually performed in real-time since inclusion in ULTRA is very valuable information. Among many things, It reveals clues as to the correct level of expectation an investor should have with any investment strategy.

Having said all that, one of the biggest challenges with ULTRA 11 was solving the problem of how to organize systems and data in a way to make the program most friendly to all types of users from the guy/gal who just wants to follow a few weekly systems with their IRA accounts, all the way to the Economics professor (of which I'm blessed to count many as clients), using ULTRA for research projects.

Trust me, I've pondered this challenge for many years and frankly it was always just an "exercise in frustration" because due to the day-to-day responsibilities I had with the ULTRA business (and other projects) I had no time to write/test my ideas. I also had zero interest in extending my responsibilities to that of managing programmers.

So with ULTRA 11, solving this problem became a top goal which was more challenging than it appears. Most importantly, the solution must make the program easier to learn and not harder, which is always a challenge when adding software functionality. Well, I'd love to say that I invented some magical method that will be taught in logic classes for decades, but I did not.

The problem has been "solved" simply using categorization.

In ULTRA 11, users can categorize systems and data any way they desire. The heart of the logic is the CODE:DESC logic used with System Parameter Sets in ULTRA 10 where CODE is one character that represents a System Parameter Set called a "System Variation", and DESC is simply a longer description of that variation.

In ULTRA 11 we've extended the CODE to three characters and the CODE:/DESC logic applies to most everything in ULTRA including Historical Analysis Control Parameters (discussed another day).

For categorizing Systems, we call the CODE:DESC set a "System Set". A user could have of any/all of the "System Sets" below (or anything else they desire):

  • "GLD: Gold Systems"
  • "AD: Breadth-based Systems"
  • "LTN: Low-Trading Frequency NDX Systems"
  • "SHS: Steve Hunter Systems"
  • "B10: ULTRAs 10 best systems"
  • "BAD- Systems that have failed.

ULTRA's treatment of "System Sets" will evolve throughout the ULTRA 11 releases. But in ULTRA 11.00 you'll be able to create/maintain System Sets as well as display/hide those sets in all of the circumstances within ULTRA where applicable.

For example:
Assume you have the System Sets above defined but you only have GLD and B10 set up as "Visible" to Ultra's Historical Analysis, when you get to the screen to select which system upon which to run the Historical Analysis, only the systems that are members of those System Sets are displayed as Historical Analysis choices. They will be grouped together under headings of "GLD: Gold Systems" and "B10: Ultras 10 best systems".

ULTRA 11 will ship with systems that we've already grouped in many ways from which you can use, modify, delete, or whatever.

Warning: (Large, bold red and underlined. How's that for drama...)

What follows next looks complex when written out in words. But when you've seen it running, it's really very simple. So please don't leave this article thinking that the logic that follows complicates the use of ULTRA. It actually simplifies ULTRA while extending its power greatly. And as with everything in ULTRA, learning/using advanced features is completely optional. As I alluded to above, many users will be fine with:

"GW5: Five Good Weekly SPX Systems"

From my standpoint, I couldn't be happier that ULTRA can be used in that way to help my clients.

In ULTRA 11 the definition of "System" and "Data" have been dramatically changed/extended.

Data

"Data" is anything that is a series of anything associated with any frequency of dates in a file. Since there are no longer limits to what the ULTRA Historical Database can contain (See Unlimited Database Items below), a FastTrack Signal File is actually a database item (DBI) in ULTRA 11. Literally anything that can be represented as a date/data combination can be an ULTRA DBI.

An exotic example would be the number of touchdowns a quarterback throws in each game over his career. The dates in the DBI would only be those upon which a game occurred, and the data is the number of touchdowns. That DBI may only have ten date/data combinations but it would still be completely functional as a DBI in ULTRA.

Systems

"System" has changed to include any logic that optionally takes data (DBI values) as input, and generates signals which "trade" DBI values through a series of dates of any frequency (daily, weekly, random, etc).

Some examples of ULTRA 11 "Systems":

  • An internal ULTRA system using the Default Parameter Set.
  • An internal ULTRA system using a Variation Parameter Set labeled with a CODE:DESC.
  • A combination of ULTRA systems such as ULTRA 10's (Composite Strategies).
  • A Database DBI such as the case of the FastTrack signal file above.
  • A Database DBI that is remotely updated by a third party because it's generated by their proprietary system.
  • A user developed system using the object-oriented programming language being developed in parallel with ULTRA 11. (Note: This will not release in the ULTRA 11 line. As we convert all the ULTRA 10 systems into ULTRA 11 format, we are doing so in a way that makes the logic they use available to a future programming language. E.g. when we programmed the first Simple Moving Average (SMA) object for the ALLEN system, that same fully-tested SMA object became available for every other ULTRA system that uses a SMA. Once every type of logic is represented in ULTRA as objects, we plan to make them available to a programming language as well).
  • Any combination of the above and more.

Lastly, one VERY key characteristic of an ULTRA 11 system, is that they are no longer restricted to one instance of an internal ULTRA system per analysis. For example, the restriction on only using one VMA system in an ULTRA 10 Composite Strategy Definition and Historical Analysis, no longer exists.

New ULTRA 11 Systems as they apply to CODE:DESC System Sets

The final "bottomline" of this article is that a user could create a CODE:DESC System Set named: "MA: Moving average Related Systems" which consists of:

  • Ten different Parameter Sets of Ultra's VMA System.
  • A Composite Definition named, "c_moreMA.txt" that uses more instances of Ultra's VMA in combination.
  • A VMA based system represented in a DBI named MAXYZ which is updated in your version of ULTRA externally by the company XYZ Incorporated.

If the "MA" System Set is enabled for Historical Analysis, all of the "Systems" above would be available for selection. In a function that operates on multiple systems such as ranking, you'd be able to select any or all of the systems in the "MA" set.


.Unlimited Database Items (DBIs)
Probable Version: 11.00
(Added to feature list on 12/10/09)

U11 allows for an unlimited number of database items called DBIs. DBIs can literally be anything that's a series of date/number combinations over some period in time.

For Example:

  • Tradable assets such as an Index, stock, or fund.
    Examples: S&P Smallcap 600, ABX= Barrick Gold Corp, RYKIX=Rydex Banking Sector fund.
  • Nontradeable stock market data (E.g.. NYSE Common-only Advances)
  • Anything else that can be represented as a series of date/number combinations. (E.g.. the daily height of your child.)

DBIs can be added to the database by:

  • ULTRA, in a release versions. (DBI-RELEASE)
    Obviously we've always been able to add data items in version releases. This was the only way available in ULTRA 10. But it was difficult because we had no ability to control the entire historical database on a USER's computer until a USER downloaded a new ULTRA version. This lack of ability caused an enormous number of support/maintenance problems for us.

  • ULTRA, via remote "DBI Add" (DBI-REMOTE)
    With U11, we can add data items to your version of ULTRA remotely. The process is simple. Every time you download ULTRA data, you'll also download an "Action File", which will be processed by your copy of ULTRA. If this "Action File" calls for a DBI Add, it will automatically set up your copy of ULTRA to include the new DBI and download the new data. The entire process will be invisible to you except that you'll be notified that it occurred.

    This functionality gives us the ability to change out data in your version of ULTRA to correct for splits, dividends, and computational changes (I.e.. no more DR= -1.0).

  • USER via menu item. (DBI-USER)
    In U11, the USER can add as much data to ULTRA as they desire. DBIs that you add will operate exactly the same as the DBIs that we add with two exceptions (both of which we have plans to eventually cover as well as is possible):

    1) We can't maintain their values into the future.
    2) They will not have the extensive levels of integrity checks that occur when our DBIs are updated with new data.

    In ULTRA 11.0, you'll have to update the DBI-USERs that you've added to ULTRA manually by either entering the new values or by just re-downloading the whole updated file from wherever you got it from initially. (This process will eventually be handled automatically by ULTRA but this function will not be ready for ULTRA 11.0).

    ULTRA 11 is also smart enough to work just fine with out-of-date DBIs. You have the option of having ULTRA:
    1) End any analysis at the earliest end (date) of any DBI used as input or trading in the analysis.
    2) End any analysis past the earliest end (date) of any DBI with ULTRA extending the last values out to the ending date. (These extensions are noted in the analysis results file).

    ULTRA 11 also works just fine with incomplete DBIs. For example, say you have a data file that you want to use as input to a system that analyzes on a daily basis. ULTRA will simply extend the last values before any gaps. (E.g. in a weekly data file, ULTRA will extend the Friday data value to the following Mon-Thu). The first few of these data extensions will also be noted in the analysis results file.

    In terms of "Integrity Checks" ULTRA will eventually be able to scan the DBI-USERs just like the extensive integrity checking done on every DBI-ULTRA in 11.00. But that functionality for DBI-USERs will not make the 11.00 feature cutoff. The notations of missing DBI dates will provide some automatic database integrity checking for DBI-USERs. (There will be much more detail on "DBI Integrity Checks" in a future update to this file).

Users can categorize and hide DBIs.

One of the past weaknesses of ULTRA that we've addressed in ULTRA 11 is simply "Information Overload" for systems. But this could also soon become a problem with data as we expand the ULTRA Historical Database.

Exact details on the method by which we've solved this problem for both systems and data will be published in this file very soon. But for now in terms of DBIs, here's an example:

Assume that your systems:

  • Only use as input: SPX, ADV, DEC, NDX, VXO
  • Only trade: RYNVX
  • Only generate signals on a weekly basis (I.e.. buy/sells generated using Friday's closing data)

With ULTRA 11, you can categorize your data any way you want, such as:

Market Indexes => SPX, NDX
Breadth Data ===> ADV, DEC
Volatility Data ==> VXO
Trading Assets => RYNVX

Optionally, the entire rest of the ULTRA database can appear completely invisible to you while it's still there if you need it.
Further, since you're only trading on a weekly basis, all of the midweek data can optionally be invisible to you as well. ULTRA 11 can also ignore midweek data when doing drawdown computation, and other performance statistics.

Ignoring the midweek movements of assets "should be" a great advantage for the weekly trader but in today's world of instant news, it's difficult to ignore the midweek action. At least in ULTRA 11, you'll be able to do so if you wish.


 

ULTRA Financial Systems LLC
P.O. Box 3938, Breckenridge CO 80424
Phone: 970-453-4956
Fax: 970-453-2467

© 2009 ULTRA Financial Systems LLC.