Source: I've worked at a hedge fund and I've seen how the sausage is truly made. Many friends have told me similar stories about other firms.
Took me about 3 years to realize I was being paid half of my coworkers doing the same to lesser jobs as mine. Took me resigning with an offer in hand for twice what I was making before they upped their offer. I stayed for another 3 years before I got so fed up with the bullshit I actually left for a lower paying job (also less stress).
tbf, academia is its own racket.
(Edit: I work at Jane Street.)
Two Sigma does generate a bit more revenue from outside capital than Renaissance, but it is my understanding that the heart of their business is still prop trading. But I don't know that for certain.
I.e. should I look for a job there only because of the money, or also because I can make a difference somehow in the bigger societal picture?
If you have a 'millenial mindset' and want to work where you directly and positively impact society, I'd choose elsewhere. From a Peter Singer-like perspective, if you'd earn top dollar there and spend at least a modest amount giving to the right charities, you might still be making the world a better place, even compared to the other place.
And from there you get an endless race using more smart people to solve pointless problems.
Efficient capital markets are an extremely important part of a market economy. They allocate capital where it will do the most good. Firms like Renaissance make that process more efficient. That is, they take a process that used to require 1000 MBAs working full time, and they accomplish it with 4 physicists, and automate it. This frees up the 1000 MBAs to go do something more productive with their time.
I think it's easy to be dismissive of this sort of value creation because of how abstract it is, and how concentrated the wealth creation at a firm like Renaissance is. However, I think the value add to society is actually real.
There are legitimate questions about the value being added by ultra high frequency firms. The ones that engage in market making are definitely adding value, but the ones that are doing things more like front-running or statistical front-running are a lot more questionable.
1. I would argue they're not a net positive. Making markets more efficient is fine but markets are already extremely efficient. The biggest social good can be achieved by working on issues that are classical market failures and full of externalities. Climate change, healthcare, basic science, education and so on. The man-hours invested in these prop trading platforms compared to the benefit to society is maybe positive under the microscope, but negative when one considers opportunity cost.
2. They're freakishly proprietary. They're corporate black boxes full of 200 IQ people who could be solving and distributing knowledge, but they're basically locking them in the basement to make money. Put any of those researchers into a public university and over the course of their career, they could educate thousands of fine researchers.
i was under the understanding that the entire point of the medallion fund is that markets are not efficient and can be taken advantage of, which is exactly how medallion works.
Elite developers often make things mundane. No fires. No explosions. etc.
Source: Former jane street employee, also worked at two FAANGs before that, so I think I have some basis for comparison
But, not an enjoyable ride if you actually love quality tech.
(But, money! So much money!!)
I am not sure if the software they are writing is "elite" but OCaml is raising the bar a bit higher.
I've never heard anyone say that google pays below market. Perhaps there are those who pay more, but it's definitely above "the market"
That said JS is probably in a lot of different products, some more latency sensitive than others, but speed isn't what they are known for.
The company is >20 years old.
OCaml is a general purpose language that provides an equilibrium between the avoidance of bugs introduced by state (like all functional languages), speed, and polymorphic type inference. At the time of adoption, the other choices were Haskell (too academic, not practical), Erlang (no type inference, not suited for large code bases with complex business logic), and lisp (too slow, loose/optional type system). The last time I checked, OCaml was third only to C and C++ in terms of speed. It is also important to consider how intellectually stimulating it is to write OCaml. If you can achieve the three things mentioned at the top of this paragraph while also creating a brand of gravitas and intellect that attracts top-tier talent, of course you would choose OCaml.
Would a new, uninitiated market maker write something in OCaml? Unlikely, as they would probably use C++, Rust, or Scala with a 1TB heap and GC disabled. Ignoring the learning curve and time/dollar constraints of starting a hedge fund, I would choose OCaml over the three mentioned.
 https://downloads.haskell.org/~ghc/6.6.1/docs/html/libraries... (Control.Concurrent contains forkIO - thus, green threads!)
Guessing from what information is available to me, it was a matter of personal preferences, not technical decision.
From  in some other comment, it really was a matter of personal choice.
At  it can be found that ghc had green threads at 2002.
You're right that it wasn't OCaml from the beginning, but I believe it was quite a bit earlier than that. The firm dates to 1999-2000, and OCaml came into the picture sometime around 2004.
The reason they avoided Haskell, supposedly, is the lack of predictability in its performance, largely due to its laziness. OCaml, meanwhile, has a fairly straightforward compilation that allows moderately experienced developers to have a very good idea of what the corresponding machine code will be.
Why C++ now? Still the fastest and tons of quants and highly skilled programmers know it. When you consider the correlation between C++ developers’ technical acumen and quantitative skills, coupled with the maturity and increasing convenience of the ecosystem, it makes sense.
Which is not different than being locked into e.g. JVM family, or even being locked into OCaml itself.
VCL is only available to corporate shops and those that aren't into FOSS religion.
MFC is in maintenance mode, and so far Windows developers are more keen moving into one of .NET UI stacks while keeping some C++ code as COM/DLLs or even C++/CLI, than jumping into UWP/WinUI. It remains to be seen if WinUI 3.0 will change the migration trend.
Then on mobile OSes, it isn't even an option, unless you want to write your own GUI from scracth using OpenGL/Metal/Vulkan.
- Trading completely based on the current prices. If you're doing purely arbitrage, eg looking for the ask to go under the bid (elsewhere), you are gonna have to be really, really fast, because that kind of thing is so very obvious nobody hasn't thought of it.
- One step from from that is passively leaving an order in and hoping for the same thing. Eg you leave a bid in a less liquid market, below the bid in the main market, and hope someone hits you. You then immediately throw that onto the main market. Gotta be super fast to do that, because of course everyone else can see someone traded.
- Market making based on some form of ML on the orderbook, basically imbalance. Here you need to do more than just comparing two prices. You also aren't entirely leaning on the current price to offload your position, you might hold onto your position a bit. So now there's risk involved, and you might need to decide how big a position you want. And not everyone will have the same position, so not everyone is after the same trade.
- Market making based on multiple orderbooks. Say you have an ETF basket, and you want to be able to make bids and offers around it, as well as the underlying shares. So then you have a different position to everyone else, there's a fair bit more information to digest, and there's a fair bit more modelling which will mean different participants have different decisions. This means your decisions will not be contested in the same way that obvious arbitrage would be.
I have personally worked on systems that would run an entire week between deployments and never gced.
Object pools typically can't match the GC on latency and throughput, however they do provide a lot more predictable and stable performance.
Nowadays Rust seems to cover all those features with zero-cost abstractions.
(In fact, GCs can often give you better latency than malloc/free unless you go into custom allocators with object pools... which is part of writing non-consing code in GCed languages)
This is talked about with an example in this talk around 18m30s:
Also as someone else mentioned, Jane Street doesn't try regularly competing (to my knowledge as someone in the industry) at trading horizons that demand lowest the lowest possible latency.
If you welcome general corporate blogs, I think Google AI's technical blog is quite good. Their frequent publications on distributed computing strike a good balance of academic and practical ideas:
Cloudflare also has one of my favorite more engineering focused blogs.
Unfortunately I don't have a citation for that. I think I've seen it talked about before here on HN before.
I suspect at least one use case has gone away since the Fowler wrote that: wanting to saturate the write channel into a database in general. Consistent hashing document DBs like DynamoDB, Cassandra, etc. are basically infinitely scalable for writes. It's not clear to me if LMAX still makes sense if you want to assemble the db writes into a strongly ordered stream.
I don't really understand what are you are saying there ?
But we use disruptors for processing millions of messages/events as quickly as possible, with a variety of different consumers.
So their edge isn’t based on speed. They gain more from correctness and ability to express these ideas.
Edit: my point is that it is likely avoidable through certain coding practices in garbage collected environments.
I didn't ask, but am curious, how that compares to the type guarantees of Rust? Would moving to Rust cause them to lose that advantage of compile time error catching? I've never written a line of Rust (hopefully that changes soon) so I don't know, but am certainly interested.
Don't garbage collect, or do it at the end of the trading day. There's plenty of VMs designed for this, at least in the JVM space (which is where my personal experience has been).
RAM is cheap. Latency is expensive.
There's an entire library of tricks for ensuring that GC pauses don't affect trading, but the biggest one is to use userspace allocated memory pools.
I've written a java compiler that does GC and watched that part work; no pauses even for data structures with loops, and generally excellent performance. Not released yet, because I've also watched other parts not work.
But GC without pauses: That worked. And I was relieved² when I saw that my ivory tower worked, after many people had told me it couldn't possibly ;)
The Bloomberg numbers shocked me too. 400 million or something before the general election has even started, you could probably feed tens of thousands of starving children with that kind of cash, and they're blowing it on TV ads
Hint: add three more brackets with 4mm+ at 50%, 20mm+ at 65% and 100mm+ at 80% and do the same relative adjustments for capital gains. No need for the government to seize the means of production when you haven't tried the obvious thing. Our current tax brackets are a joke, topping out around 500k when some people make 10,000 times that.
Can you be more specific here?
I mean, there can be praise for some governments without saying we advocate for everything they do. It's possible for instance to praise Cuba for health care outcomes without wanting to become Fidel Castro. There are also some ridiculous insinuations that Sanders is some kind of Chavista, which to me is a bit of a flag that someone isn't serious about their anti-Sanders discussion. I would say he advocates for more of a European type of safety net.
> No need for the government to seize the means of production
I do not believe Sanders proposes that.
I doubt Sanders still advocates for most of these positions, and he is of course a millionaire now.
Check out this list: https://en.wikipedia.org/wiki/List_of_nationalizations_by_co...
Amtrak was the one that came to mind for me. Nationalizing rail service has been pretty common in multiple countries over time. Sometimes private utilities also get absorbed by local governments. The history of fire departments in this country has a lot of that. The UK has an even longer list, you will note. Mexico nationalized gas stations in the 20th century.
I'm going to start with Venezuela since I am a Venezuelan-American and you might not like what my views are on the topic. First of all, I always assume good faith, even when it comes down to Sanders, unlike Michael Moore, for instance.
Sanders expressed his support of Chavez in many of his writings. So, you might not consider him a Chavista, but he's definitely praised Chavez at least up to 2011 .
I know this is anecdotal, I visited Venezuela many times: 2005, 2008, 2009, 2011, 2013. Believe me, anyone with good faith could not have praised whatever was going down there in 2011. 2000? I can give you the benefit of the doubt. Chavez had only been in office for ~3 years by the time and hadn't shown what an awful dictator he was going to become.
Have you been to Cuba? Again, this is anecdotal, but nothing like first hand experience on a matter to make some people understand what the ugly reality is outside whatever some organization states on what the state of those countries are.
Trust me, you don't want to be in a Cuban hospital.
>> No need for the government to seize the means of production
> I do not believe Sanders proposes that.
Here's a video  where Chavez is seizing the means of production on national TV.
I find deeply sad when some Americans try to justify certain candidates who have supported awful governments, like Chavez's or Castro's.
I have not been to Cuba. I hope to some day. (I speak fluent Spanish btw and hear about these places in their original, local non-US sources.) I do understand that they are said to have good health care outcomes, which is especially remarkable given how the rest of their economic system is going. The United States health care system is very terrible.
> Here's a video  where Chavez is seizing the means of production on national TV.
Yeah he does look kind of like a dumbass appropriating buildings on a whim without investigation or any kind of review (for the TV cameras and that silly applause), that was pretty much his way, but it's important to note that Bernie Sanders is not Hugo Chávez and can't be held responsible for the actions of another person, living or dead.
The same thing goes for governments that he’s praised, a completely manufactured controversy. It is not condoning authoritarianism to say, for example, that China outperforms the US in infrastructure. People get hysterical about insufficient condemnation of the Cuban regime; I wonder how many are even aware of the murderous right-wing military dictatorship that the US installed and the communists replaced. It’s a very similar situation with respect to Nicaragua. Somehow the outrage about authoritarianism is missing as long as the US is directly profiting from the oppression. See Saudi Arabia vs Iran.
This is my point. They propose a radical new tax that requires measuring people's entire net worth, instead of fixing what's broken using our existing infrastructure which measures forms of income and money flow, because they are clueless, and it's good politics right now. The guy is a self proclaimed socialist, and that means socializing things .
I'm not interested in getting deep into another Sanders argument; looks like he is done. Of course, I'd like to see an inventive, creative, data-driven leader -- think Elon Musk, but without a social media presence. But that'll never happen.
Land value tax in particular seems particularly interesting: if generalised to comprise (almost) all of tax, we can expect a drastic simplification of tax collection, and much less paperwork for everyone when doing all kinds of exchanges, paying an employee, selling goods… at least for unregulated activities. And of course, it would make accumulation of wealth more difficult.
Another route, that several countries have partially and successfully taken, is devoting part of salaries to the common good (tax salaries, at it were): a bit to pay for retirement, a bit to pay for hospitals, a bit to pay for unemployment… this could possibly be generalised to outright communism, where the means of productions are no longer owned by capitalists. (I would avoid a command economy however. We most probably want local stuff to be managed locally. For instance, only people living within 1Km of a bakery should have a say about what the bakery should do, and the people working there should probably decide how they want to work.)
The more pressing problem however is handling the coming recession: as energy (oil, coal & stuff) decreases, so will the GDP (it has already started). I don't know how an "ideal" should look like, but it's certainly not a system that assumes growth that isn't there. I'll just note that without growth, inequalities tend to be much less tolerable.
The new system may be full of bugs, but why would the old system be any better? I've seen old systems. Some of them get their bugs fixed. Many get their bugs worked around, either by the devs, but often by the users themselves: "don't click here, it makes the program crash!"
As for Land Value Tax, do not confuse land with other kinds of wealth. Land doesn't move. Its surface doesn't change. It's market value can change, but it's not wildly fluctuating, like, say, Oil. That makes it much, much easier to tax than whatever property you build on top of it, or goodness forbid whatever precious trinket you might store in that property.
The other proposition, taxing salaries, works today. Taxing more or less salary is just a knob to turn. And at the time such taxes were put in place in France after WW2, the change was swift, and the "new system, full of bugs" worked. Communism (or something close to it) worked, in a Western, democratic country. Okay, it was only applied to school, roads, hospitals, retirement, unemployment insurance, energy… but that's already a pretty big deal, don't you think?
We could "just fix the tax bracket", but then my first reflex would be have a top marginal rate at 100%. I want a limit on maximum individual income. Something like $10M per year to begin with. That may seem ludicrous, to inflict such a brutal end on the American Dream itself. That's it, game over, no one will get rich ever again. But really, that dream is a lie to begin with.
Better yet, we could tether the limit to the median income. Want to get rich? Make your country rich first. That at least should appeal to patriotism, which I believe is still fairly strong in the US.
This tax will reduce liquidity perhaps, make the market pricing inefficient (larger spread). This will hurt mutual funds the most by increasing their baseline costs. Which in turn will hurt pension funds, endowments, etc.
RenTech and others will thrive in the midst of those inefficiencies.