Hi guys, I am a graduate financial engineering student at the top university. I am planning to develop my own ATS using C++ on Linux platform. I'd like to start trading in FX market, FX because of the low cost entry - trading equities and derivatives requires higher capital ($25K min) for "day trading" which I cannot risk while I am in school. I want to do it mainly for educational purposes but it will be great if (and I hope so) it turns out to be profitable. I am good at C++/C# programming, I am learning finance, but I am ignorant about market microstructure and I have no experience in trading. I read Quantitative Trading book by Ernie Chan and that's pretty much all the knowledge I have about quant trading. I know developing ATS is a huge task and I am hoping to find an open source system that I can reverse-engineer and adapt to my needs. At the phase 1, I want to develop a "simple" system that will allow me to start paper trading in three month. I am looking for some help here: 1. What is a good open source system in C++ that I can adapt/reverse engineer? This is probably the best way to start for me. I know about Marketcetera, but that's in Java and for trading equities only, I think. TradeLink is in C# and it's for equities and FX, so maybe TradeLink. 2. A good broker that offers API for FX trading, API that I can consume from C++. I know about Oanda but they charge $600/month and that's too much. IB offers API but there min account is still $25K even for FX for day trading, I believe. 3. I'll appreciate any other advice that will help me to start with this project. Thank you!
don't take this as an offence, but to me this is like saying: I want to program a drumcomputer and some synths producing a hit but I don't know anything about music and I haven't played in a band yet either ... that's going to be a hell of a thing to do, even though you probably heard a lot of music in your life on the radio. You on the other hand have hardly seen a chart, well maybe that one or two times you had a look at oanda game ... yes, you are very good at programming but that's it ... I am not saying it can't be done, but your chances are slim ... you are certainly not the first one having this idea ... As a second thought I think any good discretionary trader can beat a program hands down, but that's gonna take you some years, time you might not want to invest ... you will have to learn the structure of the market somehow to be able to program well... you are probably smart, but that's not really the solution to trading well, it might help you in the end, but first you are going to have to simplify ... trading is all about doing rather simple stuff and that's the hard part of it ... you might think I am talking in riddles but that's how it is ...
@cvds16 - thx for the response - I play piano . I probably downplayed myself... I've learned a lot of finance starting from the original Markovitz portfolio theory then CAPM, APT, fixed income, derivatives, Black-Scholes, butterfly spreads, Greeks, Copulas, Sharpe ratio, arbitrage, international markets, market players, etc; a lot of stats and time series in finance ARIMA, GARCH, etc. It's true I do not know much about market microstructure (I got the book now Trading and Exchanges: Market Microstructure for Practitioners by Larry Harris ) and I have no experience in trading. I know it takes time, I visited few prop shops, both market makers and position takers, it takes them ~18 month to prepare a new trader, however I am pretty much predetermined on the project. In the next three months - my Phase 1 - I want to develop a framework that will: connect to a broker; do signal analysis for outliers; execute a simple strategy; do order processing. Backtesting I'll be doing manually in R or MATLAB. My biggest concern is order processing as I do not know how to do it. I do not expect it to be profitable yet. I am looking for some suggestions on how I should start with the project so it will save me time. My current idea is to reverse engineer an open source system. I am not looking for any suggestions on trading strategies. TIA!
ok, you got a very good theoretical background but I can't really help you with your problem. Let me state that I used to be a market maker in options but had to relearn everything from scratch to become a directional discretionary fx trader. Everything I had previously learned was of no use ... sorry to say so ... hope you find someone that can help you with the route you want to take ...
IB requires 10k and can work with c++. if you're a good programmer it shouldn't take 3 months to create the framework. for processing orders, I have OrderManager and Position classes that keep track of what that; you update them when you place trades and get back fills.
I thought IB requires 10K for non-Pattern Day Traders, and 25K o.w. 10K is still a bit too much, I was thinking to start with 2K. - thanks.
Do you use a messaging mechanism to handle an asynchronous nature of the orders, or you just wait until each order comes back?
The expecation of any sort of forex trading other then trend-following (EOD data) is negative. Do you homework and save some money. There is no way to compete with bank market makers. If you do not believe me, feel free to try it for a few months and then come back with the results. Meaning that for trend following, which is the only style with positive expectation, given that you can do it, you need no automation, no real-time data.