Support Code Logic for Automated Quant Trading

Discussion in 'Automated Trading' started by RedEyeFly, Jul 3, 2011.

  1. Hi Guys,

    I wanted to propose a question to the experienced coders here on the forum: What logic other than your core strategy logic (when to buy and sell, and the supporting trade logic) should a programmer include in their strategy in order to consider it robust for the real time data market environment?

    example: logic to handle positions, order flow, and portfolio when there is a loss of data connection, or an extreme lag in data.

    Example: logic to alter trade parameters if spread widens beyond 'X' variable, presuming you're not involved with making or playing the spread.

    Example: order rejected because of broker related issue.

    I'm trying to think of as many supplemental pieces of logic as possible to contribute to a program to consider it rationally robust for a normal market environment. It may also be helpful to consider what would measure for a non-standard environment, from a computer language prospective. It would also be good to hear from those experienced with FIX and see if there is additional input from this area.

  2. I don't have much to add, other than sometimes these checks aren't necessary because brokers/firms have back-end configurable limits on what you can and can't do. So in the interest of performance, I've dropped a few checks and shifted it to the prop firm to enforce stop losses, shut down, artificially low buying power, etc. Still didn't stop me from at least doing some horrible and stupid things, but it definitely helped. Whether retail brokers can assist you or not is another question that I haven't explored.

    On the flip side, if you're connecting directly and are an exchange member or something, don't skimp on any details at all. Go all out and put every safety check under the sun within reason.
  3. Thanks for the feedback. You rightly touched on my purpose, I'm thinking of switching from IB to a DMA setup, and I don't want to end up in a 'naked' situation where I don't know what I don't know about how the broker has been providing for my orders in the past.