Where to start if I want to code an automated stock trading software?

Discussion in 'Automated Trading' started by Greendor96, Nov 14, 2013.

  1. Ok, let's say hypothetically, in the future, I would have enough funds to begin stock trading and possibly automated stock trading. I am an aspiring programmer and was wondering if it would be possible for me to code an automated stock trading program all on my own that would buy and sell shares based on the different conditions/parameters I would add to the algorithm. If so, where do I start. I mean from ground ZERO. Any advice (which code to use, what resources to use, I have ZERO experience in this).
     
  2. ramora

    ramora

    Georga Tech has a very good course called Computational Investments 1

    https://class.coursera.org/compinvesting1-003/class

    The class is over but I think the videos and reference materials are still up.

    They use Python and scripts to download stock data and build a portfilio to max return and minimize risk. Toward the end of the class other types of automated 'event trading' is discussed. The discussion forum for the class also has a lot of really good material.

    Good luck,
     
  3. FXforex

    FXforex

  4. Thanks for your post, that website has many good courses you can take for free.
     
  5. Butterball

    Butterball

    My advice: Start simple. If you're a beginning, I think Excel is a great way to start. It gives you easy ways to import data and build a quick backtest of a myriad of simple ideas.

    Once you outgrow Excel and its limitations, get your priorities straight: most beginners believe performance is key so they start programming in C where there is little in terms of libraries and foundations for financial modelling to use.

    Unless you want to trade the nano-second time frames (don't), forget about performance and find frameworks that have seen wide-spread used in finance: I recommend looking at Python (library of interest: http://pandas.pydata.org) or R (library of interest: http://www.quantmod.com). Both free, both with incredible amounts of free tools, frameworks, data collection and organization toolsets.

    Once you got the data and frameworks sorted, coding your strategies becomes much less of a hassle.
     
  6. Ninjatrader is in C# I highly recommend it, but of course there is a learning curve.
     
  7. hypothetically, how much money would you have to sink into operational startup?

    Like everything else in life, you get what you pay for and if you are the programmer you probably know this well. There is elegant and efficient code and then there is the alternative.

    Opinions are like... (fill in the blank). It all depends on what you want to put into it. Feed handlers, independent strategies fed into a proprietary, OMS with hedging or risk built-in??

    Buy a data feed, capture your own data, run into space and bandwidth issues, learn about IT a little more than you want to. Once you have enough data to backtest then start running ideas through it... Once you think you have a profitable idea you'll hit your next hurdle (you probably had bogus data to begin with)... but at least you learned how to backtest. :cool:
     
  8. Learn C#. C# is as easy as Java and easier than C++, and most retail-level automated trading platforms are written in C#, namely TradeLink, NinjaTrader, and SmartQuant. TradeLink is open-source, and NinjaTrader is free to try.

    C# is a general purpose language, so should your trading career is cut short, you still have a transferrable skill in C#. Most trading platforms provide proprietary languages, such as NinjaScript, but I don't recommend them because they are useless outside trading, nor are they as fast and powerful as C#. Once you outgrow these trading platforms, you might want to consider writing your own.
     
  9. Agree. C# is much easier than C++ and there are a bunch of libraries(mostly Microsoft provides) called .Net. IBS APIs also have C# wrapper. But you still need to learn about basic programming skill regardless of languages.
     
  10. dom993

    dom993

    When did you fall from the sky? NinjaScript is the name given by Ninja to any Indicator or Strategy developed for Ninja. The programming language for NinjaScripts is C#.
     
    #10     Nov 19, 2013