FORUMS BROKERS SOFTWARE
Home
 
    Forums > Technically Speaking > Programming > Custom Trading Platform


Reply
 
Thread Tools
Old Aug 16th, 2012, 02:26 PM   #1
naifwonder
 
 
Join Date: Sep 2006
Posts: 185
I've been working on testing out some ideas that involve analyzing a great deal of data across multiple assets. The amount of data to be analyzed in combination with the nature of the systems I wanted to build made my project unfeasible for typical retail trading platforms. As a result, I built my own platform and framework for building/testing trading systems. At the moment, it can process 10 years of intraday data for several hundred stocks within a few seconds. As great as this is working, I am trying evaluate scenarios in which such a platform might fail. Do any of you guys have experience with undertaking such a project? Some of my questions are:

- What are some areas of a custom platform that you find to be particularly error prone?
- What are some things to be extra weary of while building the layer to interact with brokers?
- What are some good frameworks, if any, that one can use to analyze trading system performance based on a log of trades? I'm language agnostic when it comes to this since I am more interested in evaluating the programmatic logic then using the code itself.
- What stability and maintenance issues have you run into while undertaking such a project?
    Quote
Old Aug 16th, 2012, 11:16 PM   #2
amazingIndustry
 
 
Join Date: Aug 2009
Posts: 570
In the order asked:

- OMS, no question. Managing and handling orders is where most platforms fail and it is imho at the same time the trickiest and most complex aspect of any trading platform to get right.
- Make sure you get your "heart beat" to broker API/FIX connectors right. Nothing wrong with the connection getting lost at times (well not good either) as long as you know it happened RIGHT AWAY. I recommend to invest in hooking up through FIX with your broker rather than trading through an API for added stability.
- Strategy Evaluation? Definitely something self-coded, no question. Not that most other evaluation algos are often incorrect but you may want to add other measures, metrics yourself.
- Maintaining clean data for testing purposes is for me of the absolute importance. Once you have coded up a capable testing platform and algorithms what you are left with is the actual data and most often the data are unclean, miss data points, are not backward-adjusted, are unrealistic data because those are just data frome quote feed rather than tradable price feeds. Its of the utmost importance you peruse data as close as the data you execute trades on.

Hope that helped.


Quote:
Quote from naifwonder:

I've been working on testing out some ideas that involve analyzing a great deal of data across multiple assets. The amount of data to be analyzed in combination with the nature of the systems I wanted to build made my project unfeasible for typical retail trading platforms. As a result, I built my own platform and framework for building/testing trading systems. At the moment, it can process 10 years of intraday data for several hundred stocks within a few seconds. As great as this is working, I am trying evaluate scenarios in which such a platform might fail. Do any of you guys have experience with undertaking such a project? Some of my questions are:

- What are some areas of a custom platform that you find to be particularly error prone?
- What are some things to be extra weary of while building the layer to interact with brokers?
- What are some good frameworks, if any, that one can use to analyze trading system performance based on a log of trades? I'm language agnostic when it comes to this since I am more interested in evaluating the programmatic logic then using the code itself.
- What stability and maintenance issues have you run into while undertaking such a project?
    Quote
Old Aug 17th, 2012, 12:01 AM   #3
naifwonder
 
 
Join Date: Sep 2006
Posts: 185
Quote:
Quote from amazingIndustry:

In the order asked:

- OMS, no question. Managing and handling orders is where most platforms fail and it is imho at the same time the trickiest and most complex aspect of any trading platform to get right.
- Make sure you get your "heart beat" to broker API/FIX connectors right. Nothing wrong with the connection getting lost at times (well not good either) as long as you know it happened RIGHT AWAY. I recommend to invest in hooking up through FIX with your broker rather than trading through an API for added stability.
- Strategy Evaluation? Definitely something self-coded, no question. Not that most other evaluation algos are often incorrect but you may want to add other measures, metrics yourself.
- Maintaining clean data for testing purposes is for me of the absolute importance. Once you have coded up a capable testing platform and algorithms what you are left with is the actual data and most often the data are unclean, miss data points, are not backward-adjusted, are unrealistic data because those are just data frome quote feed rather than tradable price feeds. Its of the utmost importance you peruse data as close as the data you execute trades on.

Hope that helped.
Thanks for the feedback. You're spot in regarding the OMS comment - that is the area I am proceeding with the most caution. I am most likely going to use a retail trading platform and interact with that via some form of API rather than directly interacting with the broker. This would give me a more strenuously tested layer between my application and the broker.

In terms of evaluation algorithms, I just wanted to take a glance at the code to see what techniques programmers use for storing position history data (persistently and in memory) and how they iterate through the data. I coded my own solution for this, but there's always room to learn.
    Quote
Old Aug 17th, 2012, 12:08 AM   #4
amazingIndustry
 
 
Join Date: Aug 2009
Posts: 570
When testing, the strategy statistics are stored in-memory and evaluations are computed after the test finishes because there is no need for real-time evaluations. After everything is computed the results are stored in my dictionary db.

For live trading statistics and any execution related data (for TCA) are stored in-mem AND on a separate thread persisted.

Quote:
Quote from naifwonder:

Thanks for the feedback. You're spot in regarding the OMS comment - that is the area I am proceeding with the most caution. I am most likely going to use a retail trading platform and interact with that via some form of API rather than directly interacting with the broker. This would give me a more strenuously tested layer between my application and the broker.

In terms of evaluation algorithms, I just wanted to take a glance at the code to see what techniques programmers use for storing position history data (persistently and in memory) and how they iterate through the data. I coded my own solution for this, but there's always room to learn.
    Quote
Old Aug 17th, 2012, 04:39 AM   #5
ghostrider77
 
 
Join Date: Aug 2012
Location: Switzerland
Posts: 17
I wonder, why did you write your own platform for this?

Thanks
    Quote
Old Aug 17th, 2012, 04:41 AM   #6
amazingIndustry
 
 
Join Date: Aug 2009
Posts: 570
yeah, why??? You are right we must have been stupid, wasting all that time and effort, while we could have had it all for 100 dollars.

Quote:
Quote from ghostrider77:

I wonder, why did you write your own platform for this?

Thanks
    Quote
 
Reply
Thread Tools

Forum Jump



   Conduct Rules   Privacy Policy   Sitemap Copyright © 2014, Elite Trader. All rights reserved.   

WHILE YOU'RE HERE, TAKE A MINUTE TO VISIT SOME OF OUR SPONSORS:
Advantage Futures
Futures Trading & Clearing
AMP Global Clearing
Futures and FX Trading
Collective2
Automated Trading Services
CTS
Futures Trading Software
dom993trading.com
NinjaTrader Consulting
eSignal
Trading Software Provider
FXCM
Forex Trading Services
Global Futures
Futures, Options & FX Trading
Interactive Brokers
Pro Gateway to World Markets
JC Trading Group
Direct Access Trading
MB Trading
Direct Access Trading
NinjaTrader
Trading Software Provider
optionshouse
Option Trading & Education
Rithmic
Futures Trade Execution Platform
SpeedTrader
Direct Access Trading
SpreadProfessor
Spread Trading Instruction
thenut-trader.com
FX, Gold, & Stock Signals
TradersStudio
System Building & Backtesting
Tradier
Equity and Options Trading
Trading Technologies
Trading Software Provider