Need Experienced Input Here

Discussion in 'Automated Trading' started by circadian, May 13, 2009.

  1. You really don't get it do you ?

    There are many aspect to being open. Not the least being that there are no stupid marketing restrictions. There is no Home Edition-- that will only support a handfull of TCP connections or SMB clients (or whatever the current restrictions are in each of the plethora of Windows versions).

    Nobody is interested in restricting what you will do. In fact the opposite is true. Linux is Linux whether on a mobile phone, a desktop, web server or a top 500 super computer.

    You want to learn SQL ? - install MySql or Postgreql from the repository - it takes no time at all. You want to have a look at what your TCP connections in your network app are doing - install wireshark. You want a word processor - install OpenOffice. You want C# ? - install Mono. You want a web server ? - Apache. You want to build a super computer in your garage - go right ahead.

    Not only that, updates and bug fixes for the lot come from one place. So easy to manage.

    All at zero cost.

    And this is just one aspect of being Open.
     
    #11     May 14, 2009
  2. You don't tell us what your ultimate goals are - competitive for what? The other posters advice is probably good if you want to be a systems guy, but IMHO if you are interested in being closer to investment/trading decisions, consider higher level tools like Matlab and SAS and spending more time on stuff like stats, portfolio math, and getting really good at working with market data.

    In my (somewhat limted) experience a lot of interesting stuff gets done in the early stages of a project using stuff like this (or even Excel) before getting handed off to other people to create the production system using C++ etc. I think the front-office technical skillset is more the high level stuff. But I would guess it is much harder to get that kind of job so it is a tradeoff. Anybody have a different perspective?

     
    #12     May 15, 2009
  3. Circadian - I'm guessing you have learnt nothing from this thread except that techies will fight to the death to try to prove that their skillset is more useful than someone elses. Someone with an MS background will pretty much always maintain that MS is better than Linux, and vice versa. It's an ego thing...nobody likes to feel that their skillset is second best.

    The truth is that, as with most things in life, it's a trade-off. Each technology has it's pros and cons and which one you should use depends entirely on the problem you are trying to solve.

    My advice to you. Pick either C# or Java (doesn't matter which as they are very similar) and learn the concepts of OO programming. That in itself is a difficult enough challenge. Leave the petty squabbling about OSs etc. to those who give a shit. Life's too short to get involved in all that and these guys will still be at it when the lights all go out.

    Good luck with your studies!

    :D
     
    #13     May 15, 2009
  4. I don't know about others but I learned programming in this order.

    C then C++ followed by java. It seems like this approach makes sense. You could either take courses or self study. I am not sure about C, but for C++ you used to be able to download a free compiler for Borland. I am not sure if it is still available as I haven't tried to download it for several years.

    You can down download the jdk for java from Sun's website.

    If you need a text editior you can also download notepad++ from GNU.
     
    #14     May 15, 2009
  5. To each his own, but I would not trust an automated system that I did not code myself. What happens when there is a bug in the system and a bunch of orders get transmitted in error? Is guru.com going to pay you back for the money lost?
     
    #15     May 15, 2009
  6. Thanks for all of the input guys/gals. I will explore these options. I want to learn how to program for the sake of self-sufficiency and competitiveness, and I have a ton of ideas/strategies that I want to implement.
     
    #16     May 18, 2009
  7. dozu888

    dozu888

    ever heard of 'testing'?

    There is always a risk in outsourcing. Companies with billions in revenue outsource their IT work to India.. Is there a risk in bad code? of course there is, so is there if you code yourself or if you hire some domestic software developer.

    To each his own, of course.... but I can say from my own experience, learning how to trade will take up one's time and energy, there is no time to learn programming.

    And I am talking about 'learning how to trade' for real, non of that 'throwing a few indicators together and see if backtest makes me a million dollars' stuff
     
    #17     May 27, 2009
  8. edbar

    edbar

    I am a professional programmer for 30 years and have spent the last 9 years developing a trading system.

    I would not recommend someone just starting to program to develop his own automated trading system. Nor would I recommend that he hire someone else to create it either.

    Companies have spent years and millions of dollars to create robust trading system (that will not accidently send too many orders, or the wrong orders.) You could subscribe to one of these and be up and running in a few minutes.

    The cost to license / subscribe to a trading system is FAR LESS than creating your own, and then you can spend all of your time working on your trading strategies.

    Cheers!

    Ed
     
    #18     May 28, 2009
  9. Learning to program...

    I have taught many people who never programmed in their lives to program in OO languages. As I sit here I have VS 2008 Pro and Eclipse (for J2EE/EJB3) open on some of the monitors in front of me. I have a large library of books that even after my wife purged is over 500 strong.

    Everyone is different, but I teach people this way:

    1. Sit down and really talk about what programming is. Not everyone thinks like a programmer as a result of the way schools teach these days. This in itself is a broad topic, but I feel it is important to dispel any assumptions a person brings with them into a new, challenging field.

    2. I explain how all languages are the same, and that they are trying to accomplish the same thing. There are a few ways to accomplish this (scripts/shell, interpreted, compiled, etc.).

    3. I then show someone a quick 'hello world' style program that I write with them. I write it in Java, then I write it in .NET. Same input, same output.

    4. We decide on a task, or goal. I have a huge pile of books on my bedside table for "...when I get a minute". A person new to something will lose interest without a goal.

    5. I then loan them a few books for beginners I have (language depends on the machine(s) they have available), and I catch up with them in a week to see how the program they wanted to write went.

    The point I'm making is that when I was a kid, we thought like programmers out of the box. Today, kids aren't being taught the same way. This 'instant gratification' generation has a hard time with 'hard' concepts.

    Several years ago a mall here in CT collapsed because the engineers designing it all used calculators, and simply wrote down the numbers they were given. A factor of 10 worked against them in the error, and many people died.

    This would never have happened with an engineer with a slide rule in their hand. Programming is the same way, except hopefully you'll kill fewer people!

    :)

    I saw a signature the other day that read "There are 10 kinds of people in the world; Those that understand programming, and those that don't"
     
    #19     May 28, 2009
  10. rosy2

    rosy2

    http://www.cvn.columbia.edu/review.php?course=COMS W3101-9&sem=M09

    for someone that wants to be productive you do not need to know c,c++,java,c# or any statically typed language. you dont even need to know whats really going on in the program or in the computer itself. and you dont need to know efficiency or big O.

    i assume you just want to get things done. python is a simple language, can access databases, windows office apps, web stuff etc.

    you can be productive within a week or so.
     
    #20     May 28, 2009