Beginner and Aspiring Quant/Algo trader

Discussion in 'Automated Trading' started by davahg, Mar 2, 2015.

  1. davahg

    davahg

    Hi All,

    I am new to algorithmic/quantitative trading but I wish to pursue a full-time career in this field. I am a relatively competent Perl/Matlab programmer, but now looking to learn C++/C# (I do not want to use Easylanguage). I would like to know which trading platform/api you would recommend to help me get started with using these languages for programming simple algorithms and what sort of learning program should I have if I want to work as a quant/algorithmic trader?

    I would like to start with the basic strategies, then work my way up to more complicated mathematical strategies. My goal at the moment is not to get rich but to secure a job in the field.

    I have looked at InteractiveBrokers, but they require a $10k deposit to start an account which I currently don't have. As I'm only interested in the learning aspect right now, are there any that do not require a large amount to startup (ideally free) even if its just papertrading?

    Thanks.
     
  2. metatrader's language is pretty close to C++ too....
     
  3. ianlav

    ianlav

    NinjaTrader uses Ninjascript, which is basically C#. I use this with Interactive Brokers, but you can do MB Trading as well. Not sure which markets you want to trade in, but both of those brokers and Ninjatrader let you trade forex, futures, equities.

    I do algorithmic trading myself. My background is industrial engineering, and my opinion is that understanding the ins and outs of optimization and simulation is much more important than programming. Otherwise, you may find yourself learning the hard way that your algorithms are not as good in real life and they are in simulation.

    Case in point: my experience is that more complicated mathematical strategies only produce better results in a simulated environment because your optimizer has more degrees of freedom to fit the parameters to the data. Simpler strategies are more robust.

    Also, expect to spend years getting your skills up. Think of it like this: you have to build a house all by yourself. Your question is asking what tools you need to use, but there is far, far more you need to understand to successfully build a house. Similar with trading: you can't trade without the tools, but there is far more you need to master to survive the trading world in the long run, whether it be as a trader or a developer.

    Note there are a number of current and former professional quants on Quora who have worked for big firms. If you sign up on Quora you may be able to get some good info directly from the people you aspire to become.
     
  4. rohan2008

    rohan2008

    My 2 cents: Learn how to trade first; since you are a programmer, you can then architect your trading engine. You will end up wasting your time if you start working on your trading system without understanding what it feels like to trade live. You should atleast be break even with a good working trading plan before you want to venture into algo trading. I myself being a software engineer went through that route years back and realized that I wasted all my time developing something without having a clue about price action. I know, it takes time, but thats the way to go based on my experience; of course this is my opinion. Good luck.
     
  5. Sergio77

    Sergio77

    Random traders breakeven if they do a good random trade to cover cost. He should do at least 20%/yr before going algo. Otherwise his money will be taken in a few days/weeks.

    I remember the times I was playing around with friends with an IB account. We would select a stock with more than 1M shares traded around noon but with no change in price and then we would buy a few round lots. Immediately, prices would go crazy with a negative trend. We would wait for a 1% drop and buy more. Suddenly, things would get hilariously quite. Averaging down increased the risk of the counter-party. We lost some and won some. At the end we broke even and we had a lot of fun seeing the greedy f****** going wild.
     
  6. davahg

    davahg

    Thanks for all these replies, really appreciate it. However I am not focusing on strategies as yet, I am just looking for a place to start learning where I can have one very simple strategy just to see how everything fits together. Then, I would improve my strategy or try new ones but all of this whilst trading papermoney and watching my account - at least for a few months. Once I have gained sufficient knowledge and skills (and saved up funds), I will begin trading live. Eventually, I aim to join a firm as a quantitative/algorithmic trader.

    So for now, my emphasis is on finding the right broker that allows me to program in C++ ideally (I am open to C#). I would rather stay away from the brokers which have their own languages, as learning C++/C# would be more useful to me in the long term.

    I would like to ask if anyone can recommend me a broker with an api that allows C++ but doesn't charge much (ideally nothing) to trade in papermoney/demo? As for which instruments, I have not decided on any but I would like to keep my options open for the future.

    Also, I am based in London, should I avoid US ones?
     
    Last edited by a moderator: Mar 3, 2015
  7. arivera

    arivera

    I totally agree with this. In my opinion, in order to be a good mechanical trader you need to be successful discretionary trader. A software developer with a solid understanding of the topic he's working on will do a much better job.

    As a software developer myself I try to build custom apps to help me with trade management and preparation, but my trading is discretionary.
     
  8. Jerry030

    Jerry030

    It would also depend on if you want to do much "discovery" in search of an edge. What I mean is those who discover a new perspective in a dynamical system like the markets have an edge. It is information predictive of future behaviour that few might have. This gives your trading system application an edge. In contrast if you take the same 100 categories of data metrics that everyone and their bother looks at, and apply the same 77 statistical, structural pattern and logic algos that everyone else is using you are unlikely have have much of an edge. When there is no edge in information people will seek an edge in process....speed. A good look at the trading universe illustrates my point. Since most everyone has access to tons of data and standard software like MathLab or SAS the edge found in writing algos is limited. For example let's say (making something up) "Trigger stage 1 initial position when the composite of 66% of industry segments leaders are within 1 standard deviation of their annual low AND the USD/YEN ratio exceeds the ........blah, blah " for another 2,000 lines of code. So the advent of HFT. The edge is getting your order in first once something starts to happen and holding the position for 1.3 seconds because that is about how long the vast majority can predict the future behaviour of the markets.

    So which way for you do go? If it's being an algo trader then languages, trading platforms, and such are critical and you join with millions of other investors in a very thin edged space. If you go with discovery it will be very lonely but you are spared debates over C++ vs C# but will need to spend time reading Plato, Richard Feynman and Rupert Sheldrake, thinking new thoughts and learning to use knowledge discovery and predictive analytics software suites to create trading systems in much bigger "space".
     
    rohan2008 and eusdaiki like this.
  9. vicirek

    vicirek

    You can still try experimenting with IB API for free using demo account with the goal of testing your skills developing things like connect, error management, trade/account management, your own UI. Unfortunately demo feed is completely useless as it is randomized and spliced collection of quotes (otherwise they would violate regulations giving access without paying exchange access fees). Next step would be to obtain set of historical data and use reply to simulate live feed with what you have developed. After that you can add black box strategies to work with. It would work if you build your system as a set of independent modules not necessarily tied up to one broker.

    IB and others may have program for students will lower initial deposit requirements or free access to paper account.
     
    #10     Mar 7, 2015