Issues with Interactive Brokers bracket orders

My software for the AUD/NZD strategy has been trading along without any issues and an event with Interactive Brokers left me with a large position without a stop loss order as a fallback.

My strategy will enter the market with a limit order, which at the time the order is submitted the software attaches a profit target limit order, a stop loss order and a good-after-time market order to exit the position if the profit target or stop loss order hasn’t been hit in a specified amount of time.

Last night I received a partial fill on the initial entry order and then the price moved up and the profit target was hit.  IB adjusted the bracket orders to reflect this partial fill as expected.  However when the price moved down again and the remaining amount was filled on the initial limit entry order, IB canceled my stop loss and my good-after-time market order, leaving only the profit target order intact and also leaving the position completely exposed if the price continued to decline.

 

I received the following email from IB below:

IBEmail

 

I’ve submitted an order ticket to IB asking them if there was a problem with the parent/child orders, why on earth would they only cancel some of the child orders and not all parent/child orders that were part of the OCA group.

Weekly Update 8/26/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

I’m running a little behind on publishing the results of last week’s trading.  AUD/NZD had another rough week this week with a loss of nearly 95 ticks.  USD/SGD and HKD/JPY both had small losses for the week and will be dropped from trading beginning this week.  EUR/DKK had another great week with a gain of 36.7 ticks.

This week’s number are below. All results include commission.


Week of 8/26/12

  AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 14 12 14 24
Winning Trades 71.4% 83.3% 71.4% 91.7%
Avg. Trade (Ticks) -6.74 -1.03 -0.01 +1.53
Total Profit/Loss (Ticks) -94.3 -12.3 -0.1 +36.7


Total since inception

  AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 401 97 76 95
Winning Trades 78.5% 79.4% 75.0% 88.4%
Avg. Trade (Ticks) +0.57 -0.72 -0.01 +1.01
Total Profit/Loss (Ticks) +233.8 -69.8 -7.6 +95.9

* 3/11/12
** 7/22/12

Update on Progress of the Arb Trader Application


Currency Strategy

This week I will be working on the following bug fixes

  • . USD/SGD and HKY/JPY will be dropped from trading
  • I will begin work with revamping the user interface for this strategy which will include adding some JavaFX components including real-time charts.
  • Look at implementing an equity curve filter so that when the system encounters a large string of losses the system will be switched off until the equity curve reestablishes an upward climb.

End-of-Day ETF arb strategy

No updates are planned for this strategy this week.

Intraday ETF arb strategy

  • Continue monitoring 4 pairs in the paper trade account.

 

Twitter: @LimitUpTrading
Twitter: @RobTerp

Weekly Update 8/19/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

As mentioned in a previous post, issues with the IB Gateway this week caused the system to miss about 3 trading opportunities that would have proved to be profitable early Thursday morning.  Regardless however both the EUR/DKK and AUD/NZD strategies had a great week, tallying up 30.5 and 59.2 ticks respectively, while the  USD/SGD had a rough week with a loss of about 30 ticks.

This week’s number are below. All results include commission.


Week of 8/19/12

AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 19 18 15 17
Winning Trades 94.7% 77.8% 80.0% 94.1%
Avg. Trade (Ticks) +3.12 -1.69 -0.26 +1.79
Total Profit/Loss (Ticks) -59.2 -30.5 -3.90 +30.5


Total since inception

AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 395 85 62 71
Winning Trades 78.7% 78.8% 75.8% 87.3%
Avg. Trade (Ticks) +0.83 -0.68 -0.12 +0.83
Total Profit/Loss (Ticks) +328.1 -57.5 -7.50 +59.2

* 3/11/12
** 7/22/12

 

Update on Progress of the Arb Trader Application


Currency Strategy

This week I will be working on the following bug fixes

  • . This will likely be the last week that the USD/SGD pair is traded.  Historical backtest results weren’t great, but I wanted to see how the pair performed in actual trading.  Live trading results look to be about in line with backtest results
  • I will begin work with revamping the user interface for this strategy which will include adding some JavaFX components including real-time charts

End-of-Day ETF arb strategy

No updates are planned for this strategy this week.

 

Intraday ETF arb strategy

  • I will be adding an additional 2 pairs to this strategy running in the paper trade account.

 

Twitter: @LimitUpTrading
Twitter: @RobTerp

More Issues with Interactive Brokers Gateway

Another issue occurred this week with the Interactive Brokers Gateway application which is not leaving me with warm fuzzy feelings.  I awoke on Thursday morning to find the Gateway in the following state.

 

IBGatewayScreenShot

 

Apparently the Gateway disconnected from the Interactive Brokers server sometime around 1am PDT on Thursday for an unknown reason.  However, upon attempting to reconnect the Timeout Exception (above) was thrown and the Gateway didn’t attempt to reconnect again.  I also had 2 instances of Trader Workstation (TWS) running on my machine as well overnight, and they had no issues and were receiving market data as normal when I logged in, in the morning.

After closing the error dialog, the Gateway prompted for my username and password and then the security code.  After this step however the Gateway still remained in a disconnected state until I shut it down and launched it again. 

At this point I’m wondering if there is any real advantage to running my automated trading application through the Gateway vs. through an instance of TWS.  I thought that the Gateway would probably be a little lighter weight and consume less resources, but I’m inclined to switch back over to using TWS instead and IBControler to keep it running continuously through the entire week.

I’ll be opening a help ticket with IB support, but I don’t anticipate any meaningful resolution on this.

Weekly Update 8/12/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

This past week was mixed with the AUD/NZD strategy taking the biggest hit with a loss of -60 ticks.  HKD/JPY and USD/SGD edge out a few ticks of profit and the EUR/DKK pair had a solid week with a gain of more than 14 ticks.

This week’s number are below. All results include commission.


Week of 8/12/12

AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 17 12 5 11
Winning Trades 82.4% 83.3% 100.0% 91.0%
Avg. Trade (Ticks) -3.53 +0.25 +0.61 +0.91
Total Profit/Loss (Ticks) -60.0 +3.0 +3.1 +14.6


Total since inception

AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 376 67 47 54
Winning Trades 77.9% 79.1% 74.5% 85.2%
Avg. Trade (Ticks) +0.71 -0.40 -0.08 +0.53
Total Profit/Loss (Ticks) +268.9 -27.0 -3.6 +28.7

* 3/11/12
** 7/22/12

 

Update on Progress of the Arb Trader Application


Currency Strategy

This week I will be working on the following bug fixes/features

  • Issue with ArbTrader’s real-time bar engine firing events a few seconds too early has been fixed and deployed to production this week.  This bug was causing “duplicate order ID” errors, which in turn was preventing entry orders from being submitted to TWS.
  • Ability to dynamically create new connection to a quote data source.  Currently the app is hard coded to talk to either my live or paper trade account and needs to be recompiled when switching between the two.

End-of-Day ETF arb strategy

No updates are planned for this strategy this week.

 

Intraday ETF arb strategy

  • This week will continue testing and collecting data for 3 pairs.
  • Develop a method to filter data spikes in order to generate reliable trading signals.  I’ve noticed some occasional spikes in the bid and/or ask, which, when the strategy places an order, it isn’t getting filled at those prices.  The ArbTrader needs a way to filter this data in order to generate signals which have a higher probability of profit.

Twitter: @LimitUpTrading
Twitter: @RobTerp

Weekly Update 8/5/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

This past week closed out with small loses for all pairs except for EUR/DKK which closed up a couple of ticks.

This week’s number are below. All results include commission.


Week of 8/5/12

  AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 16 13 17 14
Winning Trades 68.9% 69.2% 76.4% 85.7%
Avg. Trade (Ticks) -0.28 -0.10 -0.08 +0.15
Total Profit/Loss (Ticks) -4.5 -1.3 -1.41 +2.1


Total since inception

  AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 359 54 42 43
Winning Trades 77.7% 77.8% 71.4% 83.7%
Avg. Trade (Ticks) +0.92 -0.60 -0.16 +0.32
Total Profit/Loss (Ticks) +328.9 -32.2 -6.7 +14.1

* 3/11/12
** 7/22/12

Update on Progress of the Arb Trader Application


Currency Strategy

This week I will be working on the following bug fixes

  • My real-time bar API that is generating hourly bars is firing events at 59 minutes past the hour, rather than right on the hour.  This is causing issues at 2PM PDT when IdealPro closes for 15 minutes
  • Stop prices:  In some instances the stop price for a pair was set to the entry price and the position was immediately stopped out.
  • IB is throwing “Duplicate Order ID” errors.  I believe this is tied to the fact that the system is sending new orders just before IdealPro closes.

End-of-Day ETF arb strategy

No updates are planned for this strategy this week.

Intraday ETF arb strategy

  • I’ve added 2 more pairs to this strategy and have modified the strategy to collect bid/ask data for each of the pairs.  This is still running in the paper trade account.
  • This week will continue testing for the 3 pairs.

 

Twitter: @LimitUpTrading
Twitter: @RobTerp

Weekly Update 7/29/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

This was a pretty good week for the AUD/NZD and USD/SGD pairs, both posting a nice gain of around 40 ticks each.  The HKD/JPY and EUR/DKK pairs didn’t fare so well however, both posting moderate losses on the week.  I should mention that the only other pair other than AUD/NZD that performed well in backtests was EUR/DKK.  No data was available through TradeStation to test HKD/JPY and USD/SGD did not backtest well, however I still wanted to see how it would perform in live trading.

This weeks number are below.  All results include commission.


Week of 7/29/12

AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 18 23 12 13
Winning Trades 88.8% 87.0% 58.3% 76.9%
Avg. Trade (Ticks) +2.33 +1.73 -0.51 -1.15
Total Profit/Loss (Ticks) +40.3 +39.7 -6.2 -14.9

Total since inception

AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 343 41 25 29
Winning Trades 78.1% 80.5% 68.0% 82.8%
Avg. Trade (Ticks) +0.97 -0.75 -0.21 +0.41
Total Profit/Loss (Ticks) +333.4 -30.9 -5.3 +12.0

* 3/11/12
** 7/22/12

Update on Progress of the Arb Trader Application

Currency Strategy

This week I will be moving to live trading the following features/bugfixes.

  • Bugfix for date/time comparisons that was preventing the system from starting.  The system is off beginning Friday at 14:15 until Sunday 15:00.  The bug caused the system to not place any new entry orders.

End-of-Day ETF arb strategy

No updates are planned for this strategy this week.

Intraday ETF arb strategy

Initial testing has started for this strategy in the paper trade account and is currently trading one pair.

 

Twitter: @LimitUpTrading
Twitter: @RobTerp

Weekly Update 7/22/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

Live by the sword, die by the sword.  The AUD/NZD strategy took a bit hit this week losing 114 ticks.  I was on the wrong end of a bad fill this week.  IdealPro (currency exchange venue IB uses) is supposed to be closed from 14:00 to 14:15 each day.  I was filled on a order at 14:01 when the price spiked down.  I contracted IB and asked how I was filled AFTER the market was supposedly closed.  They explained that the IdealPro ‘closed’ time is like a rolling shutdown where each bank that acts as a market maker will begin their shutdown period starting at 14:00, but some banks may still be online for a few minutes.  So basically, liquidity disappears starting at 14:00 until all banks are offline.

This is the first week that I also begin trading EUR/DKK, HKD/JPY, and USD/SGD with minimal position sizes in the live account to see how they perform.  All results include commission.


Week of 7/15/12

AUD/NZD USD/SGD HKD/JPY EUR/DKK
# of Trades 17 18 13 16
Winning Trades 76.5% 72.2% 76.9% 87.5%
Avg. Trade (Ticks) -6.71 -3.92 +0.07 +1.68
Total Profit/Loss (Ticks) -114 -70.6 +0.90 +26.9

 

Total since inception

AUD/NZD* USD/SGD** HKD/JPY** EUR/DKK**
# of Trades 325 18 13 16
Winning Trades 77.5% 72.2% 76.9% 87.5%
Avg. Trade (Ticks) +0.90 -3.92 +0.07 +1.68
Total Profit/Loss (Ticks) +293.1 -70.6 +0.90 +26.9

* 3/11/12
** 7/22/12

 

Update on Progress of the Arb Trader Application

Currency Strategy

This week I will be moving to live trading the following features/bugfixes.

  • Ensure that all orders are cancelled by the IdealPro close time of 14:00, and resubmitted by the 14:15 open time.
  • Make sure trades placed on Sunday evening have the correct parameters based ONLY on Sunday’s hourly prices, and not on Friday’s
  • Add timestamp to output that is displayed in the app’s text area.

End-of-Day ETF arb strategy

This strategy has closed 1 round turn trade at this point.  The strategy takes its positions near the close of the market.  It begins looking for entry/exit signals 1 minute before the market closes.  I will be taking this value down to 15 seconds before the market closes instead

Twitter: @LimitUpTrading
Twitter: @RobTerp

Issues with Interactive Brokers Gateway

Well this doesn’t give me warm fuzzies, but I thought that I would share.  IB does its nightly reset at 9pm PDT at which time the Trader Workstation (TWS) and IB Gateway will briefly lose their connections to the server.  After a few seconds the apps reconnect and everything goes fine.

Tonight however when I returned to my computer at about 9:30pm PDT, both TWS and IB Gateway were prompting me to re-enter my username and password.  Which means that Arb Trader was not connected to IB monitoring its trades because somehow I had been logged out.

I entered my username and password in both TWS and IB Gateway.  TWS reconnected, but I didn’t check the Gateway because I had assumed it has as well.  After about 20 minutes I cleared my desktop to find IB Gateway frozen (screenshot below).

I don’t think that this is a condition that can be programmed for except to send me a notification that the connection has gone bad.  I had to shutdown the IB Gateway and restart it in order to get the Arb Trader application to connect to it again.

image

Weekly Update 7/15/12: Live Trading AUD/NZD with the Arb Trader Application & Update on New Features

The AUD/NZD strategy closed another positive week, but only because of a fill that the system received near the close of trading where the market spiked up more than 60 ticks and dropped right back down in a matter of seconds.  I was fully expecting a call by Interactive Brokers telling me the trade was going to be busted, but no such call came and the strategy ended up profiting about 50 ticks on the trade.  All results below include commission.


Week of 7/15/12

AUD/NZD
60-minute
# of Trades 14
Winning Trades 64.3%
Avg. Trade (Ticks) +1.04
Total Profit/Loss (Ticks) +14.6


Total since 3/11/12

AUD/NZD
60-minute
# of Trades 308
Winning Trades 77.6%
Avg. Trade (Ticks) +1.31
Total Profit/Loss (Ticks) +407.1

 

Update on Progress of the Arb Trader Application

 

 

Currency Strategy

As of this week the Arb Trader is no longer relying on Trade Station to generate trades for the AUD/NZD strategy.  Modifications have been completed to have the strategy generate its own entry/exit orders.  In addition to this I’ve also added the following three currency pairs and will begin trading them this week in test mode, which means with minimal position sizes in the live account.:

  • HKD/JPY
  • EUR/DKK
  • USD/SGD

 

End-of-Day ETF arb strategy

I’ve completed the end-of-day ETF arb strategy and will begin trading it in my live account as well with minimal position sizes.  This strategy will not be as active as the currency strategy with an estimated 1 trade a week.  Results will be documented here.

 

Twitter: @LimitUpTrading
Twitter: @RobTerp