• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

is anyone building an automated trading system?

Joined
5/24/07
Messages
6
Points
13
Hello, everyone.

Is there anyone who is building an automated trading system? I understand that most people are hesitant to discuss their findings. Perhaps we could share without giving away too much.
 
I have been involved in building a few automated trading systems, more in terms of the trading system development then the execution coding of the ATS......... anything in particular you want to discuss?? What markets and time frame are you interested in?
 
I have been involved in building a few automated trading systems, more in terms of the trading system development then the execution coding of the ATS......... anything in particular you want to discuss?? What markets and time frame are you interested in?

Thanks for your reply.

I think coding is the easy part compared to creating a strategy.

I'm interested in trading futures intra-day, for now I have been experimenting with ER2 and DAX. In my opinion, there are several reasons to trade:
1. Based on valuation (price outside of determined/predicted range)
2. Arbitrage
3. Guessing the direction of the market or following trends

The biggest obstacle I came across is predicting how rapidly and how far will the price move during a trading session. At this point I'm leaning towards coding several mutually exclusive strategies and placing orders based on which strategy would have made more money since the beginning of the trading session. Unfortunately, I think this also may not work, because "past performance does not predict the future".

I'm just interested to know what axioms, assumptions others use when creating a strategy. Do people follow trends, do arbitrage or trade based on other things?

I'm not a professional trader, and do have not taken any finance courses. I would appreciate critique from anyone!

Thanks!
 
I urge people new to trading to consider testing systems that utilize end-of-day data until you develop experience and are profitable in the an intermediate time frame (1 to 10 days) . By limiting yourself to end-of day data, the resource you need to devote to data acquisition and data handling are minimal and you can concentrate on testing the actual trading strategies.

You will probably only trade the "Open" or the "Close" with the EOD data and this minimizes the time needed to execute the system trades...... it is a real benefit if you have a day job. Once you have experience in profitably trading intermediate time strategies you can shorten the holding time and further test to see if your strategies work in the shorter time frames.

In terms of what works, my personal preference is to buy pull backs triggered by any of the different statistical, volatility or time indicators. ie: Standard deviation, Bollinger bands, resistance, weekly low, monthly low..... To minimize your draw down, I recommend adding a market directional filter to only take trades in the direction of the trend and include a volatility measure to help choose which trades to take if capital is an issue. Another idea is KISS, (keep it simple stup_d), if you add too many rules to your system, you will be curve fitting and the market conditions will not repeat... and your system will lose money.

It is much more important to focus on the draw down and not wiping out your account then in how much money you can make with a particular strategy. If you are trading, there will be periods where profits will accumulate, but you will not be trading if you blew your account the earlier month.

Good Luck, it is a long winding road, Gus
 
Hello, everyone.

Is there anyone who is building an automated trading system? I understand that most people are hesitant to discuss their findings. Perhaps we could share without giving away too much.

Some of these guys are the best in the business some are just starting out its a very good read if you have the time.

Frosty's auto-trading bot goes lve with real money:
Forums - Frosty's auto-trading bot goes live with REAL money

Reasons for failure in automated trading systems:
Forums - Reasons for failur in automatic trading systems

Trading bot construction:
Forums - Trading bot construction (IB)

Chabah on automated trading:
Forums - Chabah on Automated Trading

Developing a trading framework from scratch:
Forums - Developing a Trading Framework from Scratch




 
Open source projects

Hi all,

Here are some links I have been accumulating in open source trading programming. It seems that there are no trading platforms coded in QuickFIX, but otherwise the community looks strong.

IbPy
ProfitPy (I had some trouble setting this up.)
Finance::InteractiveBrokers TWS perl mod over on CPAN

Also, if anybody wants to get a hold of me, I am most often on the IM protocols. Welcoming any financial chatters. :)

- Bryan
 
Some very good info here - I especially agree with many of the points from GusTsahas.

One thing I would definitely recommend is to keep a close eye on the market you want to trade. I have implemented automated systems in the equities market, and want to switch to the futures arena. For a few months, I simply opened up 5 or 6 charts for each market I wanted to follow. Each of those charts would have various intervals shown, such as 1 minute, 5 minute, 8 minute, xx contracts, xx ticks. The non-time based intervals are particularly helpful, especially if you eventually want to get to very high frequency.

Watching the markets real time will help give you a backbone to start working with, whether you approach algorithm development from an inductive or deductive way. For example, you may want to purely datamine, but by watching realtime, you get a "feel" for how fast the market moves, and under what circumstances. This will aid in your estimation of slippage, which you can then add to your system tests.

Also, be sure to test position sizing and money management systems along with your main trading rules. Position sizing and money management, I believe, are almost as equally important especially as your capital increases.

Hope that helps. :)
 
As a HH, I would chip in, that some employers would be interested in this sort of project, even if their stuff is (usually) more sophisticated.
A couple of pointers :
How are you hedging or at least putting limits on how much you lose ?
Are you optimising return vs risk ? What measure are you using for risk ?

There is also market impact; given that prices have a Heisenberg-like sensitivity to being traded. A guess the average student ain't gonna move the market any significant amount, but real algotrading systems have that issue.

One high level view of AT is therefore optimisation with respect to several factors, risk, return, market impact, etc.
 
good point DominiConner - in a recent interview I was asked to see 'samples' of what I had created.

any tips on what employers like to see, such as:
1. identification of risks
2. management of risks
3. how legible is the code
4. system controls/is the code robust (ie no dangling orders)
5. strong track record, either out of sample backtested or realized
6. tools used (ie which language, which API, which libraries)
etc.
 
fun article finssite, thanks - interesting analogies to inductive methodologies
 
Hello, everyone.

Is there anyone who is building an automated trading system? I understand that most people are hesitant to discuss their findings. Perhaps we could share without giving away too much.

I have one such project, for automated arbitrage, in the IB Olympiad. It does not currently rely on a pricing model; or rather, let's say its pricing model is the market.

Unfortunately, the development process is painstakingly slow, as I am only able to spend about an hour a day actually debugging it in real time. One of the instruments trades a limited schedule for reasons that are pretty arcane and so even papertrading it is not always possible.

At this juncture, I could break the process down about as follows (not in order):

1. Manipulating TWS via API
2. Strategy Development (trading and money managment)
3. Algorithm Development (trading and money management)
4. Coding/Debugging
5. Meeting specific market challenges (i.e. order control)
6. Analysis and optimization
.
.
etc. For me a lot of this overlaps.

The nature of the beast seems to beg for multi-threading and that's the next hurdle. I suppose that falls under algorithm development and coding/debugging.
 
I have one such project, for automated arbitrage, in the IB Olympiad. It does not currently rely on a pricing model; or rather, let's say its pricing model is the market.

Unfortunately, the development process is painstakingly slow, as I am only able to spend about an hour a day actually debugging it in real time. One of the instruments trades a limited schedule for reasons that are pretty arcane and so even papertrading it is not always possible.

At this juncture, I could break the process down about as follows (not in order):

1. Manipulating TWS via API
2. Strategy Development (trading and money managment)
3. Algorithm Development (trading and money management)
4. Coding/Debugging
5. Meeting specific market challenges (i.e. order control)
6. Analysis and optimization
.
.
etc. For me a lot of this overlaps.

The nature of the beast seems to beg for multi-threading and that's the next hurdle. I suppose that falls under algorithm development and coding/debugging.

Charles, I think you will be overcomplicating the system by introducing multuple threads. You need something simple. Let me know if you need anyhelp.
 
FOQuant:any tips on what employers like to see
By necessity any advice I have is based upon 2nd hand info from hiring managers, so there is noise in my signal.

They like "creativity". That is of course hard to define, but any algorithmic strategy out of a book fails directly. They want to hire someone who tries something they would not have thought of.

They want some "mechanism", not just for the strategy to work, but for you to be able to explian "why". Causality in this context is a slippery thing, and of course you may be wrong, but it is important not to think you are building a black box, because these are hard to trust.

They like to see how you hedge and manage risk. Merely making money on average is not enough, you have to show you can "survive".
In particular, I encourage anyone doing this to understand the Kelly Criterion which allows you to reason about optimal bet size. Indeed I commend this to any quant involved in trading, even though some MFE syllabi fail to cover it.

Another hard to define characteristic is "intellectual curiousity", which includes drilling down to try and find out why things are the way they are, and not just ignoring things.
Conversely, you need focus, showing you don't get too distracted.

Also the more "real world" factors you take into account the better.
For instance, many high frequency trading strategies deliver an average return that can get lost in trading costs. One thing that is beyond student "practice" algorithmic trading is market impact, since you may be trading enough to move the market slightly against you

The previous few factors imply that you ought to at least think about some form of optimisation to get the best past spreads and impacts. Also in real time trading you cannot assume that all the trades you want actually execute, indeed in some markets less than 50% of the trades you try for don't happen.
 
Charles, I think you will be overcomplicating the system by introducing multuple threads. You need something simple. Let me know if you need anyhelp.

Alain, you're a gentleman. Thank you. But honestly, yes, I do think threads will complicate things, but as I have competing events coming from IB that access the same variable(s), I think I have to thread them.
 
Hi all,

Here are some links I have been accumulating in open source trading programming. It seems that there are no trading platforms coded in QuickFIX, but otherwise the community looks strong.

IbPy
ProfitPy (I had some trouble setting this up.)
Finance::InteractiveBrokers TWS perl mod over on CPAN

Also, if anybody wants to get a hold of me, I am most often on the IM protocols. Welcoming any financial chatters. :)

- Bryan

You're comment about Quickfix is pretty inaccurate join the quickfix mailing list and just look at the email headers to see who is using QuickFix. It ranges from very large IB's to tiny hedgefunds I've personally seen over a dozen or so major firms post to the QF mailinglist.
 
...In particular, I encourage anyone doing this to understand the Kelly Criterion which allows you to reason about optimal bet size. Indeed I commend this to any quant involved in trading, even though some MFE syllabi fail to cover it...

May I recommend two books on this fascinating and readily applicable topic?

1. Portfolio Management Formulas, Ralph Vince; and
2. Fortune's Formula, William Poundstone.

The former will have you applying the material within hours; the latter is a bit more historical and anecdotal and is useful in a different way.

Enjoy.
 
another open-source trading platform

Let me add another one to your list:

TradeLinkSuite

I use it to daytrade NYSE stocks.

Never heard of quickfix before... looks interesting although their website is slow as D#!@#$ right now...



Hi all,

Here are some links I have been accumulating in open source trading programming. It seems that there are no trading platforms coded in QuickFIX, but otherwise the community looks strong.

IbPy
ProfitPy (I had some trouble setting this up.)
Finance::InteractiveBrokers TWS perl mod over on CPAN

Also, if anybody wants to get a hold of me, I am most often on the IM protocols. Welcoming any financial chatters. :)

- Bryan
 
Back
Top