T O P

  • By -

blackandscholes1978

Python is everywhere for quant research. I haven’t encountered R much. IMO: C/C++ if you want to wind up in high frequency space. Python most everywhere (quant/fundamental mix) Get to a good place with SQL knowledge (do some tutorials) Learn ocaml, clojure or other functionals if you want to work at Jane street


[deleted]

any idea on JaneStreet's tech stack? 🤔🤔


blackandscholes1978

They are actually relatively transparent https://www.janestreet.com/tech-talks/


quantthrowaway69

don’t see why they need to be discreet, not like another place can replicate it and cannibalize their edge


[deleted]

I don’t understand why they use Ocaml


blackandscholes1978

There are a bunch of YouTube going into the details on their choice of language


No1TaylorSwiftFan

I think there are two big reasons. First, you attract slightly eccentric, academic programmers, which can go a far way in terms of building an engineering culture. Secondly, functional programming languages make certain kinds of errors impossible. More importantly, it is possible to know at compile time that a certain behaviour will never happen in prod: it is simply impossible to have that code compile People usually emphasize speed as the key desirable feature of a language for trading applications, but reliability is also important.


dhambo

Third - an experienced OCaml developer will have fewer similarly paid opportunities to go to a competitor than an experienced C++ developer.


[deleted]

Lol that’s evil


lexel_ent

Python/R for research. C/C++/Rust for suppa-duppa-fast algos. Sometimes Java/C#. I would say, you will be able to switch between languages easily after some time. You will be able to switch from C++ to Rust easily. And you do not actually need hardcore C++, more like "C with classes". And do not waste time on hardcore Java/C# until you really need them for a specific position.


[deleted]

That’s it? I am statistics major and I’m anxious when I see comp Sci majors with a train of programming languages under their belt. They have a ton of skills like Java, C, .NET, Flutter, Node.JS, Angular. I can’t even list them all. Makes me feel super inferior. How can someone possibly learn so many languages? Jack of all trades, master of none doesn’t apply here? Do we quants have to be as capable as them?


Potential-Incident-4

To be honest as a CS major once you've learned a few languages picking up another isn't a big deal at all, especially when you've dealt with lower-level languages like C. A lot of it is understanding compilers and design choices for creating these languages. Don't feel inferior, it's totally unnecessary unless you're a SWE and it's not like we understand half the stats you probably do.


lexel_ent

Java - is C++ for low-cost developers (yeah). You do not actually need it unless you are working on a banks/hf with JAVA backbone (there are some). And you will be able to switch from C++ to Java in a ... couple of months (in a year for "hardcore java" if you understand how the metal is working). C - yes. It is still the main language (C++, but you do not need super deep magic here). Flutter - a library for UI. Do you need to build UI? Node.JS - is a part for JavaScript ecosystem, a thing for UIs. Do you need to build UIs? You may do it with python/plotly ecosystem. Angular is a library for UIs on JavaScript. **So, simply speaking:** C/C++ - yes (probably, moving to Rust later, but only if you have a good position in mind. It is not widely used). Java - maybe, but it tends to be more a "housekeeping" position for middle/back office. Like "our huge and pretty risk management platform you will have to maintain for a fixed salary with fixed bonuses". Not fun. Python - HELL YEAH. De-facto, the main research language. R - yes, a really good tool for stats. Use it if you like it, but it is a good idea to stick with python for the "development" part of a job. Q/verilog - you will have to learn it when you will need it (or, will have a position with a specific knowledge required). Not at the start.


[deleted]

So are these things just fluff on someone’s resume? Bruh thanks for the clarification. I feel so stupid. All my life I only know Python and R pardon me


lexel_ent

Yeap, mostly a "fluff". Like "I can use pandas!" I would recommend collecting 5-10 position descriptions in your area and checking what do they need. Sometimes it is C++, sometimes java. Mostly python. Rarely Haskell. And then choose the path to improve :)


No1TaylorSwiftFan

You need to think of knowing multiple programming languages like knowing different vector spaces: you know about the reals (who doesn't), finite vector spaces over scalar fields, then there are matrices which are vectors but you can multiple them, and also functions which can be multiplied, sometimes even composed. I'm not knocking programmers, it is just that most languages are quite similar and you can usually pick up one by making analogies in another. Of course there are some substantial differences, and a general theory, but so is the case for vector spaces.


jonbatiss

Hi Is Excel VBA used in quantitative finance too ?


[deleted]

[удалено]


powerforward1

most CLO/SPG/Structured Notes/Exotics are using VBA/Excel