Building a Trading Application

Discussion in 'Automated Trading' started by obeleob, Jul 18, 2009.

  1. obeleob


    I am building a trading application. I was just wondering if anybody out there has built one before and if so can you give me some pointers on what to look out for.... pitfalls so to speak.

    Thx in advance!!
  2. Hi obeleob,

    I already have developed a trading application, but to give you some useful information I need to know what kind of trading application are you going to develop? Do you want to access real-time quotes or EOD? Do you want to submit/manage orders? Which broker will you use for that? What is your programming-language? Which platforms do you want to support? Do you want to provide charts? DOM? Watchlists? Automated Trading, e.g. Strategy-development? Backtesting?

    Sorry to answer your question with some more questions, but to be helpful I need some more information to know if I can answer your questions.

  3. chvid


  4. If you want to get into automation, you should start with Tradestation.

    After you become famaliar with their system, the logic behind building an application, how to test, debug and automate (your already well defined trading strategies), as well as how to allocate resources for your trades, you will be ready to move on from there.

    Then you should learn a programming langage (C# is a popular one) and move on to an intermediate level application like SmartQuant or NinjaTrader.

    Good look on your quest.

  5. For a beginner, also consider MultiCharts which has most of the features of TradeStation and even some additional ones with less limitations for broker and data feed.

    After you get the basics and need a serious platform, check out also TickZOOM since it's comparable to the others mentioned but has the advantage of open source and we are willing to customize it for you, if needed.

  6. danzman


    The main pitfalls would be time and cost. Instead of rebuilding the wheel, it's often a great idea to use an existing package as a foundation, and then use DLL functions to implement whatever you're trying to do (I'm assuming that you can't do what you're trying to do with Tradestation or Ninjatrader or the many others available).

    Now if you're trying to do some type of cloud computing...the homemade route is probably better than buying 1000 licenses.

  7. That level of strategy develop you describe if far easier with TZ simply because the platform is open source. Plus, TZ is committed to the best performance possible. The licenses already allow multiple CPUs. If someone really has a way to make cloud computing speed the processing, then we'll adjust the licensing to allow that.

    But the reality, of testing trading is that there are serious limitations to how much work you can do in parrallel.

    That's because any serious historical test on multiple symbols or strategies will want to have portfolio level position sizing and risk management.

    In that case every strategy instance that's running depends on all the others to adjust position sizing.

    What really slows down parrallel processing is the intercommunication and synchronization between threads.

    If that is done as a "cloud" on multiple separate servers then the commication between them will be extremely high volume and across a slow network.

    It's far more efficient to use multiple threads on a multi-core CPU.

    TickZoom is looking into using a GPU but it's unclear if that will be a performance gain.

    The real frontier in optimizing is still in speeding up/optimizing the software rather than throwing more hardware at the problem.