Caml Trading

Ғылым және технология

Jane Street Capital is a proprietary trading company that has shifted from developing software in mainstream programming languages to developing software almost entirely in OCaml, a statically typed functional programming language that has only modest industrial use. The scope of the enterprise is small but growing: Jane Street now has over 30 OCaml programmers that have collectively written hundreds of thousands of lines of OCaml code. OCaml is used for building everything from trading systems to research infrastructure to user interfaces to systems administration tools. This talk will discuss the motivations behind Jane Street's adoption of OCaml, and why we think that statically typed functional programming languages are a good fit for the world of trading and finance.

Пікірлер: 30

  • @millch2k8
    @millch2k82 жыл бұрын

    Even after ~10 years, this is a really interesting discussion. I can't help wonder whether OCaml would still be chosen over F# given where the languages are in their respective releases? (Not that I'm biased!)

  • @dxuhuang
    @dxuhuang11 жыл бұрын

    where was this talk given?

  • @Crasshopperrr
    @Crasshopperrr10 жыл бұрын

    dxuhuang: the talk was given at CMU. 28:30

  • @HoroRH
    @HoroRH11 жыл бұрын

    A reference to jane.street.summer dot com was made in this presentation, but the last update to that site was made in 2009. Looks like this would then be a presentation from early 2009.

  • @Crasshopperrr
    @Crasshopperrr10 жыл бұрын

    6:00 "Think of them as eigenvectors" ... you mean as basis vectors?

  • @TheBancNonius

    @TheBancNonius

    9 жыл бұрын

    No he meant PCA

  • @ZviGoldstein

    @ZviGoldstein

    8 жыл бұрын

    +Lao Tzu The difference between basis vectors and Eigenvectors is that basis vectors exhaustively describe the space. Eigenvectors aren't exhaustive, but they get communicate the most significant drivers of value. In his example, he uses Eigenvectors to explain that these categories are NOT exhaustive, but they get the main point across.

  • @drollere

    @drollere

    8 жыл бұрын

    +Lao Tzu +Zvi Goldstein -- actually eigenvectors *are* exhaustive if you take the number of eigenvectors equal to the dimension of the diagonal matrix: they reproduce the correlations exactly and the (standardized) data used to calculate the correlations to a high accuracy. eigenvectors are equivalent to a multiple regression formula on partial variance and therefore are both separately useful and when combined as analysis dimensions.

  • @ZviGoldstein

    @ZviGoldstein

    8 жыл бұрын

    Yes, of course, they are exhaustive. But his point is that you don't need all the eigenvectors to get the main point.

  • @d0ntkillmepls
    @d0ntkillmepls10 жыл бұрын

    have you considered moving from ocaml to haskell?

  • @Crasshopperrr
    @Crasshopperrr10 жыл бұрын

    1:06:00 "Smart, thoughtful, reasonable people" -- the opposite of "business types". Haha.

  • @tsunningwah3471

    @tsunningwah3471

    Жыл бұрын

    b

  • @hayeder
    @hayeder11 жыл бұрын

    STOP! Just stop!... You had me at eigenvectors :,)

  • @richarddemeny8454
    @richarddemeny845410 жыл бұрын

    I would follow this man to hell.

  • @zevminsky-primus9367

    @zevminsky-primus9367

    6 жыл бұрын

    That's my dad!

  • @hewsmohamed6098

    @hewsmohamed6098

    2 жыл бұрын

    @@zevminsky-primus9367 heeeey you are lucky

  • @Theagenthollyhock
    @Theagenthollyhock10 жыл бұрын

    They hamstrung the she camel and, the metronome cried BUT, count me in (little follower that I am, I am little follower that I am) And then again, may be I escaped this evening.... who knows? Hu (really) nois?

  • @helloworld691
    @helloworld6919 жыл бұрын

    This smells bogus to me - like they picked OCaml for no good reason, with no sensible exploration of other options, and then afterwards justified their decision by inventing a bunch of (weak, IMHO) reasons. Just because something seems to have kinda worked out for you, doesn't mean it was the right choice, particularly not when the *reason* it seems to work, is based on nothing more than "busting" stupid-programmer micro-mistakes. at around #38:20 - we start to see where everything falls apart: They introduce a concept of an "Order ID", and name this thing "id", and then name this same thing "xid" later, then name it "oid" a bit later on, then tack on another one named "xr_id" after that. OCaml is the hand that's slapping them in the face for their inability to comprehend how to program properly in the first place, and they're worshiping it for it's ability to inflict pain when they're stupid, without understanding that a pain and error-free world does exist, if they just stepped back and examined their own decisions. Want to avoid mistakes? Don't call the same thing 5 different names, none of which properly describe what it is!. Want to catch missed cases? Stick the line of code in there to catch it. Everything this guy is preaching, is basically the half-witted semi-ability of this language to slap programming idiocy. This is not a good strategy. If your programmers are making these kinds of core-stupid mistakes in the micro level, they sure-as-hell are making just as ugly ones in the macro level, where your compiler is not going to save you.

  • @philippeb1507

    @philippeb1507

    9 жыл бұрын

    +helloworld691 Hi, could you tell us a bit about your background in CS and/or finance to shed some light upon your opinion? Are you fluent in any functional language ? Have you got some experience programming in ML ? Are you any familiar with finance mathematics and computation problems ?

  • @aromn

    @aromn

    8 жыл бұрын

    I was thinking on your comment for a short while, and decided that you probably have no clue what you're talking about.

  • @bocckoka

    @bocckoka

    7 жыл бұрын

    humans are bad at not making stupid micro level mistakes (luckily computers are good at finding them), they are much better at conceptual accuracy. I think this is why your observations does not coincide with reality.

  • @NostalgiaOC

    @NostalgiaOC

    6 жыл бұрын

    With the name "helloworld691", you are probably not an authority on Software Design or the differential benefits of Functional Programming languages vs other language paradigms.

  • @suhasguddeti2375

    @suhasguddeti2375

    4 ай бұрын

    Tell that to them now, when students from MIT and Harvard are flocking for an offer, they are one of the largest market-makers in the world, and almost all of their trading systems are written in OCaml. Seems like they knew what they were doing.

Келесі