Advice on Multi-day strategy systems development

I am looking for guidance on the best way to approach the development of an ATS that can both a) manage positions for multiple days and b) manage them at the portfolio level.

Up to this point, I've been evaluating a number of different package solutions and, in fact, actively using Ninja Trader. Unfortunately, the shortcoming I am finding with every package application I've looked at is their basic inability to manage positions across multiple days. With some, such as ninja trader, you can attempt this but its reliability across days is not where it needs to be to do this effectively.

My basic question is - is there a package application which will offer this capability and support? I am very comfortable, in fact I prefer, to do most of the devleopment of the system via code -- i do not need higher level functions like wizards, etc.

If there is not a platform that will support this, I assume the best way to go about it is to custom code a system from the ground up. If that is the preferable approach, are there components or frameworks that will speed this process? (either by handling communication management or certain basic trade functions)

I am looking for guidance on the best way to approach the development of an ATS that can both a) manage positions for multiple days and b) manage them at the portfolio level.

Up to this point, I've been evaluating a number of different package solutions and, in fact, actively using Ninja Trader. Unfortunately, the shortcoming I am finding with every package application I've looked at is their basic inability to manage positions across multiple days. With some, such as ninja trader, you can attempt this but its reliability across days is not where it needs to be to do this effectively.

My basic question is - is there a package application which will offer this capability and support? I am very comfortable, in fact I prefer, to do most of the devleopment of the system via code -- i do not need higher level functions like wizards, etc.

If there is not a platform that will support this, I assume the best way to go about it is to custom code a system from the ground up. If that is the preferable approach, are there components or frameworks that will speed this process? (either by handling communication management or certain basic trade functions)

Thanks for your advice...

br

More...

Hello Bridenour

I will try to address some of your concerns and question about ATS.

Custom code is not necessarily a preferred approach. It is the traderâs objectives that make this determination. The prepackaged applications I reviewed have never met my goals or style for trading. So I have been developing custom code for my own ATSâs for about 12 years to trade stocks mostly in the Daily time interval (with trading models going back further). Some of my ATS also trade intraday (in time intervals greater than 30 minutes).

Many of my ATS systems trade positions. I built custom code in Tradestation, since that was the best software medium of that time. But, today Iâm exploring converting them to Ninja Trader.

There are many ATS components (most you design yourself) that speed processing in an ATS. Here are a few:
- Multiple exit management rules â How you exit is the most important part of the ATS. I have multiple conditions that can get me out of the current trade. Being in a position with a loss is not the same as trying to protect a $1500 gain from evaporation. Most ATS traders neglect this area.
- Managing different degrees of volatility â This is another key component to build into the ATS. If your ATS is going to trade in different types of markets than different volatility will apply to these positions.
- Profit management â My systems are reversal based so I plug the profits and losses back into the next trade. In a good system profits can grow exponentially.

You mention ATS management at the portfolio level. I would never do that. Iâm interested in how well each strategy that I back tested and then forward test is performing in live trading. If the strategy meets the goals of my plan and works similar to how it was in my forward test. I keep on live trading. The sum of all of the active ATS strategies should meet my portfolio level goals.

I have never found a need for communication level code in trading daily positions. The trades are just too infrequent.

Basically, I am currently running several successful intraday strategies via Ninjatrader. It works fine -- i start them up in the morning, they execute, and its all over by night. Rinse and repeat the next day.

It is the multi-day strategies that I have trouble with. I have designed and backtested an extremely reliable system (backtested over 10+years) that operates with a general holding timeframe of days to weeks. The problem is ninjatrader and other such platforms can't manage a position across days -- they seem to only be effective with intraday strategies.

For example, in Ninjatrader every time you have to restart your strategy, it loses all knowledge of the current positions held. Due to broker connection resets, i must restart every day.

I am looking for a package that will let me design a highly customized management strategy that will enable me to manage multiple positions concurrently with a holding period of days to weeks. I would rather not custom code it all (as there are many convenience functions in these packages i would like to take advantage of), but if i have to i will.

Look into InvestorRT at www.linnsoft.com. You can interface IRT with InteractiveBrokers via Autotrader.

To be very brief, in IRT you can develop your strategy and place it into a quote page, which will track entries and assign exits, which will then pass the orders along based on your code. Intraday, multiday, whatever. Your code, placed into the quote pages with your instruments, will trigger the trades based on schedules (actions) that you link with the code (rules).

You can't leave this configuration completely unattended because you will need to restart IB at least once a day. But that is the only drawback, and I can't imagine running any systems unattended for more than a day that are placing trades in your account.

But when you restart, does the software continue to remember your current positions, levels, stops, profit exit points, etc? This is where I have been running into trouble with everything else.

Almost need something that can actually store this information to allow for reliable restarts.

I notice MBTrading provides an SDK to integrate directly with the FIX interface. I wonder if there is some combination of using this SDK, custom coding a solution, as well as possibly using certain packages for common indicator functions, that would make sense? Does anyone use this type of approach?

This probably won't help, but FWIW my application (custom) uses a simple Excel spreadsheet to record trades. New trades, along with profit targets and time stop dates, are automatically entered EOD in to Excel (with old-fashioned VB6 code, but it works). The system reads them before the open to set up trades.

A plus is that I have an (nearly) already done cost basis sheet for Sched D attachment if needed. Another plus is that I can do detailed analysis and graphs of each trading system very easily.

Basically, I am currently running several successful intraday strategies via Ninjatrader. It works fine -- i start them up in the morning, they execute, and its all over by night. Rinse and repeat the next day.

It is the multi-day strategies that I have trouble with. I have designed and backtested an extremely reliable system (backtested over 10+years) that operates with a general holding timeframe of days to weeks. The problem is ninjatrader and other such platforms can't manage a position across days -- they seem to only be effective with intraday strategies.

For example, in Ninjatrader every time you have to restart your strategy, it loses all knowledge of the current positions held. Due to broker connection resets, i must restart every day.

I am looking for a package that will let me design a highly customized management strategy that will enable me to manage multiple positions concurrently with a holding period of days to weeks. I would rather not custom code it all (as there are many convenience functions in these packages i would like to take advantage of), but if i have to i will.

let me know if this is more clear!

thanks
brandon

More...

I was not aware Ninja Trader could not track multi-day strategies across days. That would appear to be a major drawback to using automated trading with them. I sure there must be some way to detect where one is at in trading a position with Ninja Trader?

I trade TradeStation across days. It asks me each day if I want to restart the macros that were running from the previous day. Because Tradestation is also a brokerage the strategy is remarried to outstanding position. Then if the strategy detects a change that day the position can be closed or another one opened.

I only trade in TradeStation using single threaded multi-day strategies. I would see no reason why multiple multi-day strategies can not be traded in TradeStation as long as funds are available to clear trades.