Partners in Automation Software.

Hi Gary,

You wrote: and just recently left to start building and running an automated trading system

From a professional to a professional, I say forget it. Why re-invent the wheel ? With todays technology, most retail traders would be able to develop - in a simple and instant manner - sophisticated and complex strategies in minutes – which would take a team of programmers weeks/months. Every minute you use in trying to construct a system to develop and run trading strategies is 1 minute wasted - unless this is a sort of hobby, and you want to build something you know is your own, and be proud of you made, and dont mind spending some years or more on that - but aware that only You will ( perhaps ) be using it if finished one day. DOS migrated to Windows, ASM migrated to C and then to Visual Studio - programming of strategies and systems has migrated to visual development without programming. I even dare say to use one minute on programming a strategy is 1 minute wasted.

If however you decide to do it any way - you will face an almost endless walk needing to implement yet another feature, and then yet another feature. Hope this dosnt sound too harsh, but this is the reality.

Travis is right, such system can only be made by one person, a larger company would probably get stuck in meetings.

I definitely understand the bureaucracy that can come with a team of developers, Managers, PMs, QA, etc... which is something I try to avoid like the plague! I also understand what you're saying about using some of the systems that are already out there, many of which I have looked at and unfortunately found that there is too much left to chance and hidden away that I have no control over. Some of which break some of the principles I hope to apply to my trading strategy i.e. "don't be greedy", "always protect yourself with a Stop loss", etc...

I'm not building all of this from scratch there are several tool kits and even "cheesy" sample code available to give me a "leg up" on some things. Also, any good programmer always has a toolbox full of little goodies that can be reused for different applications. Also, I must admit version one will not have the "ultimate" architecture as I do want this to get up and running ASAP, so I'll break a cardinal rule for developers and turn my Proof of Concept (POC) code into a production app for the time being.

This is not an exercise in vanity, I'm old enough to have gotten over that years ago! It's about being able to precisely control how your system works and being able to add that extra feature is a bonus, because at the end of the day I do still enjoy doing a little coding here and there.

I don't want to make this thread about me, but as an architect who has built systems that processed 10's of millions of messages and hour, I was just hoping to impart some of the knowledge I have acquired in the IT field over the last 20+ years.

Everyone have a great trading day!

Gary
 
Yes, thanks for the advice. From my point of view (I hope others will reply with theirs), things can also be done by just one person, with very limited financial means, like in my case. Actually maybe even better (cfr. E.P.Chang's book, chapter 8), due to the fact that... "If you want a thing done well, do it yourself".

Then if we're talking about high-frequency trading, things are as you described them. But not all automated trading is high-frequency trading.

I agree Travis that one person can build this even with limited means, in fact that's what I'm doing myself. But I have a really good understanding of Application Architecture, programming, many different technologies in the the technology stack, various solution patterns and the proper way to apply them. So, I have an advantage over someone who doesn't have all of those qualifications. All I'm saying is you need all of those capabilities somewhere on your team in order to be successful in the long run. I also understand that you and I are not going to be measuring our trade placements in Microseconds like the big HFT systems do, but for the types of trades that at least I will be making... getting the order in the queue ahead of somebody else will probably have an effect on whether my order or theirs gets filled at the desired price.

I have for the last 15 years preached to my development teams the principle that "anything less than "instantaneous" is too slow!" In other words, you'll never be complaining because your system is running too fast!

Gary
 
I see what you're saying but in my opinion you are overestimating the (general) need for speed (my order can be executed one minute later and it won't make a difference), the (general) need for technology and the (general) need for scientific/programming knowledge. Nothing personal. We don't have to argue forever until either one is convinced by the other. I am just telling you my point of view.

Of course, like you, I am talking about complete automation. So I am not saying the usual thing that automation is wrong or not needed. I am saying total automation is good but it can be implemented without advanced skills - but it does require many years of dedication. I have put thorough and hard work into all the necessary areas, but I never had the skills you have, given my background in humanities. I am just very orderly and hard working.

I am not saying that for your strategies you don't need what you mention. I am saying that not all (fully) automated strategies require your level of skills and technology and speed.
 
Last edited:
hi guys, not sure if this thread is still active or not; but this topic is atmost important; and in my opinion it is as important as the trading strategy that you have.

same as Gary; i have a background in system development and been doing order management systems and execution algos for few years.

I am firm believer in the need to write your own system; given that the cost will be reasonable. Of course it will be impossible to keep the cost down if you are not a programmer yourself. I just don't beleive that you can hire a team that do the job for you. There is too much IP to worry about. Hiring a team is only possible if you are managing a fund > 10M where you get a 2% management fee; to pay the developers.

Even if you are a developer; an decided to write the app yourself; there will be huge cost in energy and time.

I am a firm believer in "not reinventing the wheel"; and beleive that the holy grail lies somewhere in the middle; same concept that unix developers use; let your software do what it does best; and keep other stuff to others. In other words:

- Develop the parts of the system where it will add the most value to your trading strategies.
- Use other tools to do other stuff. i.e. statistical packages, trade analysis, data maintenance.

in my journey I did live trade with MT4, and evaluate other platforms; Matlab, NinjaTrader, DurasCopy, MarketCetera, AlgoQuant, Trade Station and some other open source systems.

after stumbling to many brick walls; i.e. not being able to implement a strategy or a new trading idea; i went back to the drawing board.

I was and still satisfied ever since. The beauty is; there is no limit to what I can do.

I can literally test any trading idea; in very short time; and can launch it in live trading within minutes.

The cost was high though; it took me almost a year to perfect the system; and few major architecture revamp iterations.
 
Interesting post. Thanks for the feedback. I agree with what you say. I have less of a programming background so I chose tradestation for back-testing and excel for execution (and forward-testing) with IB. I am satisfied, too.
 
Top