Automated Software for a non-programmer?

Discussion in 'Automated Trading' started by Bycote, Aug 25, 2016.

  1. Bycote

    Bycote

    Howdy everyone,

    A little background on myself - I'm a professional engineer who trades as a hobby. My trading experience is in swing trading stocks long in bull markets and shorting penny stock scams in any market. My future plans (5 year horizon) include learning and starting to trade futures and options.

    Interactive Brokers is my broker of choice, though I also have an account with SureTrader.

    I have recently begun learning about automated trading and I am interested in trying it with a small portion of my portfolio. I am having some difficulty researching this trading strategy, as every google search I can think of inevitably returns several obvious scams in the results. I'm hoping you can help me safely navigate these waters!

    I am simply looking for some legit automated trading platforms that work with Interactive Brokers and that can be used and customized by a non-programmer. Does anyone have any recommendations?

    Thank you,

    Bycote
     
  2. sprstpd

    sprstpd

    If you are a professional engineer, then do yourself a favor and learn the basics of programming.

    Then try platforms like QuantConnect or Quantopian to test strategies.
     
    lovethetrade likes this.
  3. kmiklas

    kmiklas

    (EDIT: Apologies, I missed the "non-programmer" part of your post. I will leave this comment here for posterity)

    If you're with Interactive Brokers, then you're half-way there. They have a solid API. You can code your stuff in C#, Java, VB, and C++. Check here:
    http://interactivebrokers.github.io/tws-api/#gsc.tab=0

    Hopefully you've touched one of those languages before, and can code a simple buy/sell algorithm to get started.

    A word of caution, based on painful experience: before you automate anything, or run any kind of algorithm against real money, make sure that you can manually make money with it. In other words, trade the strategy through Trader Workstation, executing orders as if you were the computer, setting aside your judgment, and pretending like you are a machine. Then, run it in Paper Trading mode, and make sure that it earns. Backtesting against historical data doesn't hurt either.

    Automation and algorithms amplify your gains, but they also amplify your losses! If there's a flaw in your trading strategy--and in your algorithm--the market is sure to find it and sting you.
     
    lovethetrade likes this.
  4. lovethetrade

    lovethetrade Guest

    Trading Technologies

    If you understand basic excel AND OR IF IFELSE type relationships you should hit the floor running. There's no actual coding required.
     
    patrickrooney likes this.
  5. Sig

    Sig

    You may be an exception if you're already an engineer, but the concept of automating without knowing how to program is akin to saying you want to fly a plane without understanding aerodynamics. Knowing the syntax of a programming language is only a tiny part of knowing how to program, most of it is learning how to build algorithms to automate something. Without a firm grasp on that you're like my mythical pilot. You'll probably be OK for a while but have a high probability of a spectacular crash and burn due to something entirely preventable.
     
  6. mpdxc

    mpdxc

  7. Simples

    Simples

    50% of software engineering work of some magnitude is coming up with the best-fit scope, requirements and designs. For trading and when you've got no idea, it's probably closer to 95% of the work.. That last part means only 5% of the time knowledge of programmatic syntax will be the deciding factor.

    If you already trade mechanically, probably somewhere between these numbers. Trying first in Excel is an excellent idea as this can drastically reduce time spent learning by getting instant feedback, and you get to focus on relationships between numbers instead of how to iterate and what imperative commands to send when. When you start getting limited by the features in Excel, it's time to graduate to some other platform.
     
    userque likes this.
  8. Bycote

    Bycote

    Thank you all for your input and suggestions. To clarify, I do have a few hundred hours experience writing C type code in MATLAB as well as perhaps a hundred hours or so experience creating process automation code (ladder logic etc). If I can apply these skills to automated trading, then I will happily do so.

    My experience in writing C code is almost exclusively mathematical analytical in nature. I can analyze market data and find good trades, but I do not have the slightest idea how to make a program execute trades. I am looking for a platform that has a solid foundation built for automated trading with IB, but which allows the user (me) freedom to customize the algorithm that is used to select trades. And it will preferably facilitate that without a great deal of programming on my part, though I can whip up some C code if it gives me significantly more control and customization over my trades.

    I do plan on backtesting the algorithms I create. Any algorithm passing a thorough backtest will next be tested on my paper trading account with IB for a few weeks at least before going live. I do my trading like I play chess: I'm never in a hurry and I'm perfectly content to win a pawn now and promote it to a Queen if it takes a hundred more moves. I'm in no rush to get automated trading going in my portfolio, my realistic expectation is to have something live by October of 2017. I will spend time til then studying and testing automated trading.

    So, I have gathered these resources from all of you so far:

    QuantConnect
    Quantopian
    Trading Technologies
    KJ Trading Systems
    Trader Workstation API

    I found a couple more on my own by poking around the internet. JSystemTrader and Trader68 have both been recommended on other sites. Do any of you have any insights on any of these systems? Any tips on what you look for, or what you think I should look for, that might make one system preferable to another?

    Thank you,

    Bycote
     
  9. Sig

    Sig

    Sounds like you're going at it in exactly the same way I would, careful and methodical. My only other piece of advice is to keep in mind that you're a little captive to whoever you choose to start with if you use their proprietary API because of your sunk costs setting up interfaces. So, if you go with IB and Trader Workstation, which admittedly does have a pretty powerful API, you're stuck with all the crap IB pulls until it exceeds the pain it will cost you to rewrite your software. To mitigate that, you may find it's well worth it to set up a FIX interface as the first thing you do, rather than building to someone's proprietary API. That will give you a great deal more portability since it's the industry standard, and if you end up doing really well you can scale it up to pro level without completely rewriting it.
     
  10. kmiklas

    kmiklas

    You have to pay to play in this game. With any of the discount brokerage firms, you are at the bottom of the list, which looks something like this: The Inner Sanctum, Uncle Sam, HFT firms, exchange co-located firms, big brokerage houses, hedge funds, other brokerage houses, prop shops, mom & pop brokerages, private investors > 10M net worth; family, friends, neighbors, and co-workers of the above, whale shit, and then YOU.

    Speed. Computations on your local on your computer execute at microsecond--even nanosecond speeds, especially if you're writing in C (the fastest language out there, excepting assembler). Not the case with your broker API! You will be THROTTLED, big time. Your orders will be matched much much more slowly--in seconds; and while you're waiting in line, the aforementioned are trading against your pending orders. To get fast execution times, and better order matching, you need to spend a minimum of $10,000 per month...

    Fees. Here a fee, there a fee, everywhere a fee fee! One day I expect them to go public with ticker symbol FEE; its only function is to charge fees, for every imaginable reason. To compete, you will face fees for a data feed, terminal, private-line connection, FIX protocol, and fees for the air that you breathe. In addition, if you're planning to run your algos against real-time market data, you must be aware of the "non-display" data use fees from the exchanges, which amount to about $3000-$5000 per month for API use of their data--separate fee from each exchange. If you conveniently ignore these rules, and start making bigger money, the devil will appear, demanding his due.

    Not to dissuade you, but there's big money in the algo game. Everyone knows it, and its paywalled accordingly. Assuming you want to set up on the cheap and run algos on a box in your home office, the Interactive Brokers API is your best choice; and code out some algos that operate in the 10s+ time horizon.

    Forex is a viable option, which sidesteps a lot of this aggravation. It's a distinctly different game from the others, as it has no centralized regulation, but there's no free lunch. It comes with a different set of challenges.
     
    Last edited: Aug 26, 2016
    #10     Aug 26, 2016