If you were to learn / teach someone a programming language?

Discussion in 'Automated Trading' started by TSGannGalt, Nov 21, 2009.

  1. Aitch Eff Tee

    Aitch Eff Tee Guest


    F# is a functional language. Useful for prototyping as it's very quick to knock stuff up.

    The original question is hard to answer as it depends what you want to do. If you are operating on the sub 10 ms stat arb arena then highly optmised C code is the only option. If you are operating on slower timescales then managed code (C#, Java) should do the job just fine. If you are dealing with EOD data then Excel is all you need.
     
    #31     Nov 28, 2009
  2. Ok. I was more specifically asking, why is it worth learning if you are already adept at say, R, Python, Ruby, and others using your prototyping argument?

    Is it because it compiles faster? What is it about it that is so great? I assume the libraries are nowhere near as evolved as Python or R.
     
    #32     Nov 28, 2009
  3. Jym

    Jym

    If you get the 1st one down all the rest seem to fit in pretty easily

    Like that C++ class I took my Freshman year of college seemed like Such a waste of time and i really hated every minute of it, but it really came in handy a couple years later when I was having to write macros for everything.
    And really that ended up making my world so much easier because even if I had to do stuff out by hand I could still throw a macro together pretty quickly with other files i had and bam! i could figure out if i did a simple stupid error.

    Get a free trial from Mirus for their Ninja trader platform and mess around with their strategy coding.
    I've spent the past few months trying out a few different things on there.
     
    #33     Nov 28, 2009
  4. mkz160

    mkz160

    Teach - VBA - easy enough and wide spread.

    Learn - Matlab / SciLab - good script language, I use for trading strategies development and back-testing. Very sophisticated tools for graphics and statistics are included.
    :)
     
    #34     Nov 28, 2009
  5. In terms of F#, the problem is .NET CLR. They're a few steps behind in terms of Parallel Computing and "from what I've read somewhere"... .NET is simply not built to handle it, requiring MS to overhaul their framework (and it seems like they're overhauling their System.Threading, since after the System.Threading.Parallel extension released)

    In terms of prototyping... My preference is Python... R is somewhat fine but, it a major pain in the arse if you want to do anything out of stat. testing. It's a good all-rounder language top to bottom.
     
    #35     Nov 28, 2009
  6. By actually programming.
     
    #36     Nov 28, 2009
  7. The set of standard functions and arbitrary arrangement in a rectilinear array of referenceable cells forms a programming language on its own. This is separate from VBA, and is most commonly referred to as "Excel".

    Discussion is rarely advanced by meaningless nitpicking and high-horsing.
     
    #37     Nov 28, 2009
  8. Actually they do not, but I would expect the definition of "language" and "turing complete" to be above your head ;)
     
    #38     Nov 29, 2009
  9. OK... let me ask again...

    1. I was suggested (and came to the conclusion) that VBA/Excel are for losers and anyone is better of learning Tradestation or WealthLab (which are also a bunch of useless shit) if they ever have to use that piece of sh*t.

    2. If you want to develop high-end execution / models, you're better off with C++/OCaml(Haskel, errlang) on UNIX. There's not much of a choice there (No... not Java or Mono/C#... Java/C# is great for developing front-end apps. And just in case the first sentence in the paragraph... "high end"...)

    3. Basically, an "un-official ET prog. language" will be the synonymous to the prototyping language of choice.

    Hopefully, everyone can agree with me up to here...

    So... which language is best, in your opinion for prototyping?

    For starters:

    F# - I think it's a bit too immature to use. I would learn OCaml if I had to use this considering the performance benefits and for the fact that your not bound to WinOS.

    OCaml - I still suck at thinking functional. It takes me time... but I see the potential once I get used to it.

    C# - I love my Visual Studios.

    Python - Plenty of well made libs. It's more for the IT-oriented people than the Quant modellers.

    R - Stats only. Pure Quant. love them. If my job was only about modelling, then I'll consider...

    Matlab - Stats only. Same as R. Pure Quants love them... and learn them in school... If my job was only about modelling, then I'll consider...

    Ruby - I have no idea... many people like it, especially the IT people in Quant firms.

    Any opinions on prototyping language?

    FYI:
    http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=all&lang2=gpp&box=1
     
    #39     Nov 29, 2009
  10. Err... If you want to discuss something on ET, why not just present it in pseudo code.

    I only use Java (though I can more than get by in C/C++) and it would take rather a lot to induce me to spend a lot of time in some other environment. And even then it would have to have Java bindings. I'm sure many people would feel the same way about whatever they happen to be currently working with.
     
    #40     Nov 29, 2009