12
OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds is an exciting “work in progress” that our users can participate in . As of Alpha 2.0, we have one “canned” example our users can run, which is called StrongETFs. We are releasing the Mean ETF Selection and Multi-Group Balancing methods, plus Dynamic Market State Switching ahead of completing examples for them so users who want to run their own experiments can easily do so. All users can follow our progress and run the examples as we build them . We are working on Right Edge Trading now. We encourage those users who consider themselves “experimenters” to work with us in parallel and post findings in the VisualTrader OmniFunds forum. Now that we have the base software working, it should not take long for us to create more examples that our users can activate. About Alpha 2.0: 1. Installing the new version. o Install the latest VisualTrader Pre-Release (made available September 24, 2015) o Delete or re-name your /VisualTrader/OmniFunds folder. Now, all OmniFunds indicators are placed in the OmniFunds project under OmniLanguage. They are no longer saved in /VisualTrader/OmniFunds. Settings for each OmniFund are still saved in /VisualTrader/OmniFunds. o Run the OmniFunds Installation at: https://www.omnitrader.com/currentclients/downloads/item.asp?Prodcode=5100 2. The Mean ETF Selection Method has been released. 3. The Multi-Group Balancing Method has been released. 4. Dynamic Market State Switching code has been released. About VisualTrader 11 Pro VisualTrader is the platform on which OmniFunds runs. The primary reason we did this was to develop the OmniFunds prototype as quickly as possible. VisualTrader has all the supporting features, including: 1. Charting and window management features, to validate indicators. 2. The Focus List can have indicator columns useful to examining the sort order. 3. Full paper trading support, with integrated Portfolio and Equity Curve (new in VT 11) 4. Full support for OmniLanguage 5. Full brokerage trading support (not implemented in OmniFunds yet) 6. Trade Throttle code base, making it easy to implement OmniFunds due to AutoSIM (in VT 11)

New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

OmniFunds

Alpha 2.0 - Released September 24, 2015

About OmniFunds

OmniFunds is an exciting “work in progress” that our users can participate in. As of Alpha 2.0, we have one “canned”

example our users can run, which is called StrongETFs. We are releasing the Mean ETF Selection and Multi-Group

Balancing methods, plus Dynamic Market State Switching ahead of completing examples for them so users who want

to run their own experiments can easily do so.

All users can follow our progress and run the examples as we build them. We are working on Right Edge Trading now.

We encourage those users who consider themselves “experimenters” to work with us in parallel and post findings in

the VisualTrader OmniFunds forum. Now that we have the base software working, it should not take long for us to

create more examples that our users can activate.

About Alpha 2.0:

1. Installing the new version.

o Install the latest VisualTrader Pre-Release (made available September 24, 2015)

o Delete or re-name your /VisualTrader/OmniFunds folder. Now, all OmniFunds indicators are placed in the

OmniFunds project under OmniLanguage. They are no longer saved in /VisualTrader/OmniFunds. Settings

for each OmniFund are still saved in /VisualTrader/OmniFunds.

o Run the OmniFunds Installation at:

https://www.omnitrader.com/currentclients/downloads/item.asp?Prodcode=5100

2. The Mean ETF Selection Method has been released.

3. The Multi-Group Balancing Method has been released.

4. Dynamic Market State Switching code has been released.

About VisualTrader 11 Pro

VisualTrader is the platform on which OmniFunds runs. The primary reason we did this was to develop the OmniFunds

prototype as quickly as possible. VisualTrader has all the supporting features, including:

1. Charting and window management features, to validate indicators.

2. The Focus List can have indicator columns – useful to examining the sort order.

3. Full paper trading support, with integrated Portfolio and Equity Curve (new in VT 11)

4. Full support for OmniLanguage

5. Full brokerage trading support (not implemented in OmniFunds yet)

6. Trade Throttle code base, making it easy to implement OmniFunds due to AutoSIM (in VT 11)

Page 2: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Trade Throttle?

The OmniFunds code is based on the Trade Throttle, so in this Alpha Release the Tool Bar literally says “Trade Throttle”.

This will be changed to “OmniFunds” in a coming build. In this version the actual Trade Throttle is on the same tool bar.

In this version, to activate the original Throttle click the Throttle Icon.

Activating and Running the Strong ETFs Example

1. Make sure you load the Profile that has the correct symbols for the OmniFund you are going to run.

For this example, click File, Open and load the profile “XRTvsXTN”

2. Click the Drop-Down next to “Trade Throttle” to show all installed OmniFunds Methods.

3. Select StrongETFs. Click OK

4. Click the “Trade Throttle” tool bar.

(continued, next page…)

… Show all installed

OmniFunds

Bring up the

OmniFunds interface

(which right now

includes the Throttle) Throttle Icon (shortcut) to

activate the Throttle

Page 3: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

You should see the OmniFunds Interface. In this case, the Method is “Strong ETFs”

OmniFunds Interface for “StrongETFs”

5. Select the Specific OmniFund you want to run using the Name drop-down, in this case XRTvsXTN.

6. Move the start date back in the PlayBack Tool to January 6, 2014 (for this example).

HINT: You can go back to the same date in subsequent runs by establishing a BookMark. To do so, Right-Click in

the Playback control, select Bookmarks from the menu, and create one at a specific date in the interface. Then,

for your next run, you just activate the BookMark by double-clicking it in the BookMark interface.

Check this box to keep it on top of VisualTrader. Caution: This

dialog can get in front of others. If VisualTrader ever appears

“locked out” hit Return and move this box out of the way.

Select a specific

OmniFund inside

this Method here.

Slider in Play Back

Optional Bookmark feature

(Right Click on the Play

Back tool to activate).

Page 4: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

7. IMPORTANT: MAKE SURE THE OMNIFUNDS INTERFACE IS VISIBLE (click the Throttle button).

If it’s not activated, it will not take any trades. It can be minimized.

8. Click “Simulator” on the Simulator control and select “Start New Session”

9. Click NEXT in the Simulator to advance to the next bar, or PLAY to let it go by itself. As trades are executed, you

will see them appear in the Position Window. You can PAUSE the simulation, click charts, add indicators –

anything you like while the simulation is running or paused.

10. Click Account on the lower right section of VisualTrader to bring up the Account Interface. From here, you can

see all Orders, all Historical Positions, and all Open Positions while the simulation is running. Click Equity Curve

to see the simulation curve.

The Simulation curve can also be viewed while it is being created.

Note: During this time the

market only had an 18%

Return and 12% Draw Down.

Page 5: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Modifying or Creating an OmniFunds Instance

OmniFunds Interface for “StrongETFs”

Each OmniFunds has the same Setup Section (basic filters, rankers, and position controls) but a different Symbol

Selection area that defines the Settings that are Specific to the Method. Dynamic Market States can OPTIONALLY be

used to change all Symbol Selection and Settings depending on what the market is currently doing.

Interval Control

Name: Name of the settings being used for this OmniFund. You can have multiple Save Sets by using Save As

at the bottom of the form.

Switching Interval:

(o) N Bars

( ) Every Monday v Weekly v

( ) when Market State changes

If “N Bars” is selected, the program will switch every N bars, without attempting to line up on a specific day. If

“Every” is selected, it will switch on the interval and say specified. If it cannot trade on the day due to a

holiday, it will trade the following day. If “when Market State changes” is selected, the program will only

perform its switching process when a Market State change occurs. See Market States below.

Common Settings

Symbol Selection approach,

Specific to this Method.

Interval Control

Dynamic Market States

Page 6: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Symbol Selection (Specific to this Method)

Method example -- Strong ETFs: Each OmniFund has a unique approach. StrongETFs (the first OmniFund)

operates by running the ETF Selector to determine which ETF to switch into, then uses the SymbolRanking

indicator to rank the stocks within the ETF. The highest or lowest values of the indicator (Descending or

Ascending) determine which are selected for switching into. There are only 4 unique parameters for Strong

ETFs (our example method):

Max % of Equity: Specify maximum exposure.

ETF Symbol 1 and ETF Symbol 2: The two ETFs that are used for switching.

ETF Selector: An indicator which is applied to the actual ETF symbols, to determine which one to switch into.

By default, we use Relative Momentum.

Settings (Common to all methods)

Market Filter: This is an OmniLanguage indicator with no parameters that returns zero (“0”) if False or “1” if

True. It runs on the Market Symbol that is specified. If it is false then no new entries are allowed. A typical

Market Filter would be

C > EMA(200). {Close greater than the 200p Exponential Moving Average)

[x] Close Existing (next to Market Symbol): If Market Filter turns from True to False and this box is checked,

then all open positions will be closed.

Symbol Filter: This is an OmniLanguage indicator with no parameters that returns zero (“0”) if False or “1” if

True, running on each symbol for which a new position is about to be entered. If False, the new position is not

entered. A typical Symbol Filter would be:

C > EMA(100). {Close greater than the 100p Exponential Moving Average).

Symbol Ranking: Given N possible securities that can be traded at the switching interval, but not all of them

can be taken due to the definition of allocation, they are ranked by this OmniLanguage indicator in Ascending

or Descending order. If Symbol Ranking is blank, the order of the list is used. Strong ETFs uses CCI:

CCI(6) Ascending. {trade those symbols with the lowest values of CCI(6)}.

Max Concurrent Positions: The number of positions you allow at one time.

Allocation: This is an OmniLanguage indicator that returns a value from 0-100, indicating the % of Equity for

trade size, which is converted into shares. Once the allocation reaches 100% of the equity in the Portfolio

(Account) it will stop taking positions. If Allocation is BLANK then the account will be divided equally among

positions based on the Max Concurrent Positions setting.

Trade Plan: You can optionally specify a Trade Plan to be applied to all new positions. In this case, the Trade

Plan can dictate when the trade exits, if [x] Close Existing under Market Filter and [x] Close Trades at Switching

Interval are NOT checked. If these settings ARE checked, they will override the Trade Plan.

Page 7: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

[x] Close Trades at Switching Interval: If this is checked, then any open trade that would not normally be

selected at that switch point will be closed. Wouldn’t you always want this? No – if you are using a TradePlan,

you probably want the Trade Plan to exit your trades.

Dynamic Market State Selection (NEW in Alpha 2.0)

The use of Market States is OPTIONAL. If used,

they can change all settings in the interface to

the left (except Interval) when something

happens in the market.

For example, if the market suddenly drops

through a recent support level, you might want to

reduce allocation or trade a different ETF or

Symbol Group.

Each Market State has a Market Condition, which

is an indicator operating on a Market Symbol.

Market Condition indicators should return a True

or False (1 or 0 integer value).

The ORDER the Market States are evaluated can

be changed with the arrows at the bottom.

The program will evaluate each Market State

from top to bottom. As soon as one evaluates to

TRUE (not zero) then all the Settings on the left

(except the Interval Control) will change to match

the way they were defined for Market State

Each State has the following elements:

Market Condition: The name of an OmniLanguage Indicator that is tested for True or False (1 or 0). If True,

the program switches to all settings defined with that State.

Market Symbol: The Symbol the Market Condition Indicator runs on.

Name Column: The name of the Market State (this is also how the settings are saved).

Active Column: Will say “True” if the Market State is currently active and “False” if it is not. The example

above is what it looks like when it is not running.

If Market States are defined, and you run a simulation, you will see the blue highlight move from state to state

as they are activated. All settings to the left will also change to match the new state.

Add New

Market State

Change

Priority

Delete

Current

Order of evaluation

OmniLanguage

Indicator that

defines this

Market State

Page 8: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

OmniFunds Methods in Alpha 2.0

Strong ETFs

Approach: Strong ETFs operates by running the ETF Selector indicator to determine which ETF to switch into,

then uses the Symbol Ranking indicator to rank the stocks within the ETF. The highest or lowest values of the

indicator (Descending or Ascending) determine which are selected for switching into.

Profile Requirement: For Strong ETFs to work properly, it needs a profile that has at least 2 ETF groups. ETF

groups are a new feature in VisualTrader 11. We provide a sample Strong ETFs profile. Additional ETF groups

can be created using Right Click – Create ETF Group.

ETF Symbol 1 and ETF Symbol 2: The two ETFs that are used for switching.

ETF Selector: An indicator which is applied to the actual ETF symbols, to determine which one to switch into.

By default, we use Relative Momentum.

Mean Strength: ETF Selection by evaluating the components of each ETF

Approach: This OmniFunds ranks the individual components of an ETF in order to rank the actual ETFs for

trading. They can be ranked on up to 3 separate indicators, which are averaged together.

Profile Requirement: A Profile using this method should be an ETF profile using the ETF Group feature of

VisualTrader 11. Multiple ETFs and their components should be defined. In addition, a generic “ETFs” group

should be defined that has all the actual ETF symbols in it (for trading purposes).

Indicator 1, 2, and 3: Up to 3 separate OmniLanguage Indicators can be used. The indicator(s) are evaluated

on each symbol in each ETF Group in the Profile in order to select an ETF to trade. If multiple indicators are

defined, the average of the 3 values is used for this purpose.

Symbol Selection Method: Select N Symbols

from one of 2 ETFs based on which ETF is

favored using an ETF Selector indicator. This

method trades the stocks WITHIN an ETF. The

Mean Strength method trades ETFs.

ETF Selection Method: Select the top N ETFs by

summing (averaging) up to 3 indicators

measured on all the constituents of each ETF.

This process is intended to identify the

strongest ETF by virtue of its constituents.

Page 9: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Multi-Group Balanced

Approach: Up to 5 different Groups can be traded simultaneously using this OmniFund Method.

Trade the components of up to 5 separate groups using different allocations.

Trade a primary group and hedge with a secondary group (like, inverse ETFs)

Any application where trading occurs in stocks or ETFs within a group.

Group: Any Group on the VisualTrader map, by name. The components will be traded.

Improving on Modern Portfolio Theory: MPT was invented in the 70s as a way to “balance” a Portfolio using

different asset classes. The following table from Wealthfront, a “Robo Advisor” fund management company

shows a percentage allocation and ETF for each asset category.

As long as we have a

secular bull market,

this approach works

reasonably well. But

in correcting markets

(like 2000, 2008 and

now 2015) portfolios

built this way can

suffer devastating

losses.

In the Multi-Group Balanced OmniFund, we can use indicators and conditions to adjust mix, allocation, exit

levels, and other factors to manage a “dynamic” portfolio. We are running these experiments now, but users

who want to run their own experiments in this area can now do so in parallel with us using this Method.

Other OmniFunds we are working on…

Timing, Safety, and Trend Approach: This OmniFunds module uses up to 3 indicators (scaled from 0-100) with a slider so the user can specify a cutoff level for each indicator If a user wants to emphasize Safety over Timing, they can easily do this by moving the slider. There is also a Symbol Ranking feature, so only the strongest symbols are selected. We have decided to wait on releasing this OmniFunds until we have tested it more thoroughly because we are considering making changes to the interface. It will likely be in the next Alpha release.

Symbol Selection Method: Select ETFs

or Stocks from within Groups in

VisualTrader based on the other setting,

and allocate to the group (primarily

created to be used with DMSS).

Page 10: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Using OmniLanguage to Modify Indicators

One of the great things about OmniFunds is that it is based 100% on OmniLanguage Indicators. This means you can

create any kind of Filter, Selector, or Ranking function you want, using the full range of capabilities of the built-in

system. Here is how OmniFunds installs and manages the indicators and settings it uses.

When OmniFunds is installed on a computer, the Indicators used by the defined OmniFunds are copied to an

OmniFunds project in OmniLanguage.

When OmniFunds is installed or editred, the Settings for each OmniFunds are saved in \VisualTrader

\OmniFunds\method\unique_instance.

On-the-fly editing of indicators is supported.

The indicators defined for a method can be edited and re-compiled at any time, even while a simulation is running. Just

click PAUSE in the PlayBack interface, edit your OmniFunds Indicator, compile and then resume.

SAVE and SAVE AS

BUTTONS (for new)

OMNIFUNDS

PROJECT

Settings are saved in

VisualTrader/OmniFunds with a

folder for each method.

Indicators installed here.

Page 11: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

The OmniFunds Fast Track

OmniFunds Development Approach

A Rapid Prototype Environment Web site programming is difficult and time-consuming.

If we were to attempt to implement OmniFunds on a web

site first, users would not see initial funds for months.

OmniFunds is a rapid prototype development project

based on the VisualTrader platform. By using

VisualTrader as the test platform, we can implement and

test new ideas quickly.

OmniFunds is Unique Technology We have never had a product like OmniFunds before.

OmniFunds is designed to select an allocate to different

investments based on what the market and those

instruments are doing. It’s a powerful paradigm.

The OmniFunds Fast Track The steps of our plan are shown to the right. We will take

what we have learned in the prototype (VisualTrader) to

create a stand-alone OmniFunds program. Then we will

take the same code and port it to an OmniFunds web site

that is dedicated to OmniFunds. Then, we plan to make it

possible for users to see and use their OmniFunds with

their OmniVest portfolios, in OmniVest.

Please submit YOUR ideas! We see this as a major collaborative effort. If you are one

of the users experimenting with OmniFunds, please

submit ideas for new switching algorithms in the

VisualTrader/OmniFunds forum, or send them to Ed

Downs [email protected]. If possible, we will create a new

OmniFunds method that meets your specification.

We know that the OmniFunds approach will produce

powerful fund management results with lower risk than

other methods provide. By implementing first on the

VisualTrader platform, we can quickly try different

indicator combinations, Trade Plans, Allocation methods

and other controls to arrive at great new OmniFunds

Methods.

VisualTrader

OmniFUNDS

Prototype

Application

OmniFUNDS

Platform (PC-

based)

OmniFUNDS

Web Site

OmniVEST

Integration

Page 12: New OmniFunds - Nirvana Systems Inc.downloads.nirvanasystems.com/omnifunds/OmniFunds2.pdf · 2015. 9. 24. · OmniFunds Alpha 2.0 - Released September 24, 2015 About OmniFunds OmniFunds

Experiencing the Power of OmniFunds

The main thing we want new users to see is just how powerful this prototype is. Ultimately, it will become a web site,

but this implementation enables us to have maximum visibility into effective switching methodologies.

Having it run in VisualTrader means you can do all kinds of things like…

Define Indicators in the OmniFunds project and Plot them. This enables you to verify that switching is

happening at the right time, and to tune the indicators. Right-Click, Add Indicator, OmniLanguage,

OmniFunds, … Indicator

Plot all the open positions to see how they are doing, and why some are causing draw downs. Do this from the

Positions Window.

Sort on an indicator in the Focus List, so you can examine the relative “goodness” of symbols to establish a

Ranking function. In StrongETFs, use BOTH Mode, so it can sort the symbols in each ETF. Make sure you set

the Symbol Ranking value to blank if you want to use the Focus List for Ranking Order.

Bring up the Account interface and examine Open Positions, Closed Positions, Orders for the next bar, and

anything else in that interface, PLUS get an Equity Curve (it doesn’t update dynamically right now – we’re

working on that).

Bring up the Market to see how it is behaving relative to your switching paradigm, and identify the right Market

Filter to stop trading (and optionally exit all positions) if the Market starts to falter.

Change any Indicator, at will, before/after/during a Simulation to see the effects.

Work with list Sorts to establish symbol ranking. If no Ranking indicator is specified, it will use the sort of the

upper list in VisualTrader for the order of symbol selection. You can even change this while it’s running!

Experiment with Allocation Formulas. The default is to divide up Equity into N equal parts. But you can write

an Allocation Formula that returns a percentage, and that percentage will be used.

Experiment with Trade Plans. If you specify a Trade Plan, you probably want to turn OFF the check box that

says [x] Close Trades at Switching Interval.

ALL features are available. You can close trades, move stops, add indicators, patterns, anything that VT

supports to simulate.

The time frame of the program is what is used for switching, and Real Time bars are supported. What would

happen if we switched in Real Time?

Nirvana Club Members: We just implemented ARM4 Indicators that use Neural Network blocks in Strategies to

return NN Score Values. This feature will soon be released. We think the implications of this are truly awesome!