Coders who trade: Wall Street designs its staff for the future
bloomberg.com
bloomberg.com
Programmers used to work along side quants and were well respected. This was generally because practicing quants didn't used to be able to program. This was especially true in the 80s and 90's where programmers and quants where almost valued identically as one required the other to make things happen.
Somewhere around mid 2000's most quants started to be able to program pretty well. Not necessarily with C++, though lots (especially former physics) could use C++, but certainly with mat-lab, etc. This really shrunk the required programmer head count,
This, coupled with the fact that few programmers were trained in fields like stochastic calc, and the advent of offshoring meant that programming started to be come a lower status job around this time.
Some relatively small fields like HFT kept good programmers in need, but these jobs are relatively few and far between compared to the sell side bank jobs.
Now, programmers are much more valuable/respected once again, due to the requirement for top notch software, not even as a competitive advantage, but just table stakes to compete in the markets.
And like most fields programming in finance has really started to specialize:
- lockless programming, low level Linux, user mode network drivers, etc for HFT
- distributed systems, low latency messaging for quote dissemination in large systems like what most sell side banks run.
- real time risk limits, web UIs for helping to visualize and alert portfolio risk
- "production" modeling of quantitative models, for those that can span the programming/math boundary
Anecdotally though, I've met plenty of coders who did this to themselves by refusing to learn more about the domain or the business.
They basically silo'd themselves, then wondered why their colleagues didn't treat them as an integral part of the team when they couldn't speak the language or understand the concerns.
Taught myself enough stochastic calc to change and validate pricing models while on the job.
Coders who understand their domain well are immensely valuable, and are easily worth at least 3x, because they don't over- or under-engineer a solution, and because they can conjure up with technological solutions for problems that nobody else in the company can even conceive of.
This is a crucial point to me. Being able to code is good, but being able to code well while also having an intermediate or expert understanding of the domain that you are working within is what is going to set you apart in the long run.
In the industry, developing software can usually be seen as the process of creating a tool that will help to better solve a problem. It seems strange to me that you would want someone who doesn't have a solid understanding of the nature of the problem (or the solution) to be designing and building the tool, just because they claim to be good tool-makers.
I couldn't agree more and this is my main objection to "AI will replace [insert any job here]".
A lot of problems are inaccessible to programmers just because not enough of them seem to be willing to understand them. Complex rules about accounting in large companies seems to be one of them for example. This is why I think AI will certainly overtake many professions but mostly professions that are required on a large scale and that are easy to understand: driving, cleaning a house, building a house, ironing, cooking, assembling objects, etc. For complex accounting or legal issues, I am a lot more skeptical. You don't need complex AI to run accounting systems, they can easily be done with regular software. However in large companies you still have huge accounting departments booking and maintaining these complex logics by hand (excel), a lot could be automated now. And the same reason why they haven't been automated in C# now will apply to AI in the future.
All that physical, real-world stuff you mentioned (cleaning, cooking etc) is vastly more complicated, riddled with experience-driven subjective judgements (is this paper on the floor trash or should I put it back on the desk?) and highly situational. Extremely difficult to generalize and handle with an AI. Not to forget it’s messy stuff in the real world, with engineering and hardware and grease and failures.
If you look at self driving cars, they are already doing the sort of wizardry of your trash example when analysing the other objects in sight.
And again it's not so much a matter of technical complexity, it's a matter of the domain being inaccessible to those who can best automate it.
These are exactly the types of problems that machine learning is perfect for. Problems which involve chains of nebulous decisions that would be difficult to program traditionally.
In theory, project managers are supposed to bridge the gap between the business and programmers, however my experience is that they usually understand neither the business nor the IT side, and are only adding more confusion.
People with both knowledge of both worlds are incredibly rare and valuable.
Anything outside of learning enough to do your job should be at the business's expense.
1) some fields are not good for self-teaching. It leaves the possibility open to misunderstanding and writing code to that misunderstanding
2) the business will probably have a good idea of conferences and workshops that impart the knowledge the business is looking for
3) this is more fuel for "unpaid studying outside of work hours"
Based on posts like this, it seems really dumb to enter software first -- better to get a degree in some other technical field and just teach yourself to code.
But if they think I can become a domain expert by reading junk on the internet with no one really verifying my skills, I'm happy to take their paycheck.
There's no "should" here — it's an open market with a lot of agents. You're free to pursue certain working conditions and then look for employer that will agree with them. And another developer is also free to go an extra mile and ask something extra in return.
This is why I'm against any kind of unionizing for developers, by the way — too many different situations and opinions about what our working conditions should be.
All but a few programmers I have met have tried to understand the underlying reason for their employment and the businesses issues they are employed to solve.
This approach have caused programmers to loose a lot of influence and status.
10 years ago companies had developers develop their own customized CRMs, which can really benefit a company if their domain-specific needs and processes can be integrated to such core-business software.
Nowadays, Adobe Campaign have a cake walk selling their bloated, general and non-tailored “CRM” solution to business.
How can they Adobe etc do this? They approach the marketing and sales team and offer a nice slide show.
Why does not IT or programmers even get involved before the purchase? Because no one likes talking to the idiots in IT that does not understand the businesses needs. They only nag about some “technical debt” (that no matter how much money is poured on the teams never disappears) and the need for re-writes of fully functioning parts of the system that introduces new bugs.
Also, is 'mainstream' programming that common of a need? I had read (here on a HN comment thread) awhile ago that many organizations use commercial languages that simply aren't available outside of the financial services sector (I forget the name, it was 1 or 2 letters... KQ or something like that, an array programming language whose code looks like APL). I wondered how people broke into such a market. It's always seemed like an environment with interesting challenges which would have pretty objective goals and practices out of need.
I guess it's just a case of lack of empathy on my part. I just can't understand why anyone would want to put so much effort and skill into making bots for farming money for a bunch of questionable people.
I don't feel too guilty for saying this. Every time a story about bitcoin is posted to HN, people go off topic and start complaining about everything that is wrong with bitcoin. I don't see the same when we talk about finance in general, even though similar sentiments apply, maybe more so.
This is it for me. Futures trading is a zero sum game (negative sum if you factor in fees), so writing a program to automatically extract value from an ever changing market is a nontrivial and ongoing project. But unlike a game, getting good at it can pay the bills in a real way. I understand that in the big picture long term, I'm not making much of a mark on society, but nevertheless it satisfies my personal and financial needs.
http://www.businessinsider.com/the-stock-market-is-not-a-zer...
> In the financial markets, options and futures are examples of zero-sum games, excluding transaction costs. For every person who gains on a contract, there is a counter-party who loses.
It may not be the same as creating a product or service that people love or solves a need, but it is an interesting problem to tackle.
There's also beta, which despite being the next greek letter, isn't the same at all! Beta is a measure of the price correlation between an asset and some benchmark in terms of volatility. Beta of 1 means that the asset moves in lockstep with the benchmark. Low beta means the asset doesn't move as much as the benchmark and high beta means the asset moves a lot compared to the benchmark. Tech IPOs are often high beta compared to the S&P 500.
Anyway, finance has a lot of intellectually challenging problems that happen to overlap well with people trained to build mathematical models that attempt to describe stochastic processes. CS, Physics, Stats, some branches of pure Mathematics -- all have direct applications in the work they do to some aspect of being able to understand and predict markets.
Without finance, there is no biomedical research (private especially). Without finance, there is no aerospace advancement. Without finance, there is no alternative energy. Being able to facilitate a more liquid, more transparent financial sector is, in my opinion, a calling worthy of any programmer who seeks to make the world a better place.
Your assignment of people as 'questionable' is likely an artifact of the 2007 recession, and that kind of thing is a personal choice. I can guarantee you that there are 'questionable' people in every sector and in virtually every company. Sometimes people are great, and sometimes they aren't. Their field of employment has very little to do with what makes them that way, and I think that it's a little ignorant to be so casual (and I say this because you are certainly not alone in your judgment) with how you view people.
Remember how, as children, we are taught to not judge books by their covers? Why do the same with a programmer who works in finance? Sure, some of the work may be a little pedantic, like squeezing an extra millisecond out of an algorithm, but hey, that's computer science in general, and I liken that to an F1 racing team spending hour upon hour sculpting the perfect frame for their car.
Sorry for the rant, I've spent a decent amount of time working on financial algorithms, and what you said touched a nerve.
Have a great day!
I stumbled into finance a few years ago and I’ve had overall the best bosses and work env ofanyone I know. I’m also doing a more audacious program of research engineering/ computer science than I could likely do anywhere else.
I like to sometimes describe my work as some combination of “making the systems that fund aerospace at least as reliable as commercial aircraft”, as transparent as intergalactic vacuum, and easy to use to boot! Or at least that’s the idea :)
On the hft front I recently started at poking at how to get accurate time on a dev computer, which gets fiddly the moment you want really interesting accuracy on commodity hardware :)
I looked you up, and see that you are likely working exclusively in Haskell, but thought you might derive some value from Carl Cook's presentation on optimizing HFT code at the most recent cpp convention. I recognize the languages are distinctly different, but he provides some interesting theoretical points along the way that might be advantageous to you.
Here's a link: https://www.youtube.com/watch?v=NH1Tta7purM&feature=youtu.be
Also, I can sympathize with your plight to run scalable sims. I've done some work in bioinformatics, and am building a small cluster at home so that I can learn to write code that'll scale to more massively parallel systems that are de rigueur in that domain.
Cheers!
Yeah building stuff that works easily in the small and sanely in the large is a fun challenge. Also hard.
Possibly because of your original comment, or perhaps unrelatedly, I’ve been lately saying “finance done right is the lock free wait free scheduling algorithm for moving society’s resources around” —— all the other stuff folks think of as finance is really just icing and fancy wrapping on top of that core truth
>Also, I'm unable to make myself do work if I don't see it contributing to some greater vision or cause
This simply is not something I experience. I've never felt any particular satisfaction from that particular aspect of a job, it's just something that never crosses my mind and incentive me in any way.
The "questionable people" include grandparents, firemen, teachers, etc with pensions and retirement funds.
>I don't see it contributing to some greater vision or cause. [...] I guess it's just a case of lack of empathy on my part.
Your sentiment is common and I think it's caused by people not connecting the dots from grandparents' retirement pension to the hedge fund trader.
As one example, at the micro level, grandparents are depending on a pension.[1] They also don't want their _real_ purchasing power to diminish. The "real" not "nominal" purchasing power is an important distinction because if the price of bread is $2 in 2017 but becomes $4 in 2037, they want to have adequate future money to buy food. In other words, they want their money to grow and keep up with inflation.
Your grandparents stashing money in a savings account paying less than 1% will not protect their purchasing power from inflation. Likewise, the pension manager that oversees a $1 billion retirement fund to pay retired teachers will declare it bankrupt if it only gets a 1% return by buying Treasury Bills. The pension's assumptions to avoid insolvency might require 8% or better annual returns.
Therefore, all these participants in the economy are looking for better returns. You can't get 8% from savings accounts and t-bills. That's where money managers like private equity, hedge funds, and VCs in Silicon Valley come in. They sell their ability to generate higher returns. This expertise attracts capital from entities like pension funds.
So basically, a bunch of programmers are fine tuning algorithms because [...connect a bunch of dots...] your grandmother doesn't want to be a starving destitute and live under a bridge in her retirement years. If you multiply millions of everyday people not wanting to be destitute (macro level), you end up with hedge fund managers with billions to play with.
That said, can we "reconfigure society" so that all this competitive activity of shuffling money from one pile to another isn't done? Maybe. It would involve fundamental changes that we all can't agree on. For example, if you stop inflation you can stop the incentive to generate returns that try to beat inflation; but then some would say that "deflation" would lead to people hoarding money and the economy would crash. Inflation is the current winning ideology for the modern economy. It's hard to see how we could alter society such that Wall Street traders go away.
[1] for example, the $300 billion California Public Employees pension fund provides these benefits: https://en.wikipedia.org/wiki/CalPERS#Benefits
Your proposals boil down to ending deficit spending. Aside from the authority issue (no single entity has authority to do this, not even congress, definitely not the president), that means the US Federal government has to cut $650 billion dollars in spending.
Or to put it more directly: We currently have pensions, social security, an army (meaning having an army at all). Pick 2. The other one gets destroyed.
Still sounds reasonable ?
Financial markets serve a hugely important social function of allocating capital (intermediating between people who have money and those who need money).
First you have basic lending and borrowing activities. The bank can afford to pay you interest (well not now that interest rates are at zero) only because your money is invested, usually in loans.
Then you have payments, cash management for companies.
Then you have more complex services offered to larger companies, raising capital (equity and debt) on the market, helping them manage their risk with derivatives (interest rate, currency, commodities (oil, metals, livestock, etc prices), inflation, etc) plus some advisory on corporate actions (mergers, IPOs, etc).
You have insurance, reinsurance.
And then you have asset management, which you can call speculation if you want, but which is essentially people managing investment portfolios on behalf of savers, pension funds, insurance premium for long term risks, etc. With a wide variety of approaches from very conservative money market funds which invest in highly safe and liquid assets, to trackers who try to replicate a benchmark by over performing it by a little, to investments in illiquid assets (property, non listed companies) or very aggressive/leveraged strategies (hedge funds). Fundamentally what they are doing is to ensure your money gets invested wisely (at least they try).
And of course all sorts of intermediaries: consultants, brokers, market data providers, research (sort of financial journalists), prime brokers (who provide financing when you leverage liquid financial assets), system providers, auditors, rating agencies, etc.
Now you could call everything speculation: when a bank lends you money, it bets on your financial soundness. When an investor takes the opposite side of a commodity (say oil) transaction, it bets on the price of oil. But that allowed you to get money to run a business or to offset an oil price risk that could have made you lose money if oil increased (say your are an airline company). There is no real dinstinction between risk taking / risk transfer and speculation. But in most instances it does have a social benefit.
1. Time - I quote buy and sell prices continuously in Microsoft stock trying to earn the spread between them. You want to buy stock and my offer to sell is the cheapest in the market. We trade. Later, someone else comes along to sell and I have the highest bid, so I buy the stock back from them.
In between I'm exposed to price fluctuations, so sometimes I make money and sometimes I lose, but I make a profit on average by charging a spread between my buy/sell prices and predicting small price movements. The two of you could have met had you waited, but I let you lock in a sure thing by bearing risks you didn't want. Think of this like insurance. Odds are you spend more on car insurance than you're expected to receive in payments, otherwise the insurers would go out of business. But you probably prefer spending $1000 a year vs. spending $0 most years and $30000 once in your life.
2. Place - You're in the US and want to buy Nokia stock. Someone in Finland wants to sell for a cheaper price. You don't have access to the European exchanges and she doesn't have access to US exchanges, but I do. I trade against both your orders and earn a couple cents per share in profit. I helped you meet halfway across the world and also keep prices efficient to reflect global supply and demand.
3. Product - You want to invest in an index ETF that holds 40 different stocks. I quote an offer to sell based on where they're trading in the market plus a small profit margin. You buy my offer. I turn around and buy the stocks to hedge my risk.
I'm better at trading than you are and have very low costs. Even considering my profit margin, it's cheaper and less risky for you to buy the ETF from me than 40 individual stocks. I keep the ETF and stock prices aligned and also helped people who wanted to sell stocks get their orders filled. Win win win.
I think the work I do clearly benefits the market and natural investors. All of these trades are competitive too, so I can only earn razor thin margins per trade, or someone else will undercut me.
I do sometimes question how the market picks winners and losers, typically based on speed. Is someone whose system is hundreds of nanoseconds faster more deserving of arbitrage profits? Do high technology costs naturally lead to consolidation and reduced competition? https://faculty.chicagobooth.edu/eric.budish/research/HFT-Fr... this paper has some interesting thoughts on the topic.
FWIW I do think continuous price-time priority trading is flawed in that it creates an arms race in speed, but it's the least bad option. Other mechanisms like batch auctions are even worse. As a thought experiment, consider the #3 ETF trade I described. If I can't immediately hedge my risk and instead go into a batch auction for each stock, how will that affect the price I offer in the ETF?
PS: I do think it's a fun job. You get to play with cool technology and it's like a game that gets harder every day against very skilled opponents. Even the arms race isn't all bad. HFT firms have effectively bankrolled modern innovations in high speed ethernet, FPGAs, low latency kernel bypass networking, etc. that have knock-on benefits for other applications.
My idea for this is that when you rest an order, you should be able to attach a set of hedge orders to it that will initially be inactive, but will fire when the owning order is filled. This would let everyone get hedges done at better-than-HFT speed, and make things like speed bumps or batches a lot more tolerable for market makers.
You'd want some kind of pro-rata, or multiple orders at fill thresholds, so you could show big size and respond sensibly to partial fills. You might want alternative hedges to cope with price moves in the hedge target. You might want some mechanism whereby the exchange will pull the owning quote if the hedge disappears. There's all sorts of fun you could have.
For this to work really well, you'd want the hedges to be processed synchronously with the fill of the owning order, so there's no HFTable window of vulnerability between fill and hedge. That couldn't be done across different matching engines in the typical architecture current exchanges use. For futures, though, it might be workable - i think all the different expiries of a given underlying, and their spreads, are already handled synchronously, so that the exchange can do implied matching. That might not include some of the more exotic constructs which aren't in the implied chain, though.
You're right that there's precedent for this:
-Implied engines as you mentioned where traders can atomically express a view on the term structure without legging risk. For the benefit of non-finance readers: Say you believe the fair price difference between Dec and March futures is 2 index points, you could quote in the spread between the contracts (long one, short the other) buying 1.75 selling 2.25 without being fastest to respond to every shift in the index itself. Your order in the spread will create implied orders in the underlying contracts themselves and you can only be filled if both your long and short trade.
-IEX's D-Peg effectively runs a high frequency pricing model inside the matching engine to predict when an adverse price tick is likely.
-I think D.E. Shaw has a patent on a domain-specific language for complex orders where they can be priced off any other instrument(s), ratios between instruments, features of the order book, etc.
The real problem with batch auctions is coordination. So long as you have other exchanges trading correlated assets in continuous time, there will still be a race to adjust orders in the batch auction market after a pricing signal occurs. Even with a random delay or crossing time, it's still beneficial in statistical expectation to be faster.
You'd need to trade most similar products worldwide on a single platform. Since exchanges are a network effect business, this would likely lead to monopoly profits for the exchange operator.
I'm not sure "no high-speed arbitrage/monopoly exchange" is net better than "some high speed arbitrage/competing exchanges." I suppose you could have the government run the exchange as a utility, but that would stifle innovation. A lot of things we now take for granted started in experimental ATS and ECN startup markets.
It's almost always going to be about finding the optimal way to funnel money toward whoever is in control of your employer.
There a lot of challenging problems in the finance. Some people like the problem solving and $$
> I just can't understand why anyone would want to put so much effort and skill into making bots for farming money for a bunch of questionable people
Its making money for yourself as well. Many jobs in Wall Street at % of profits based rather than a fixed salary.
It's actually a recommended route in the effective altruism community for those with the aptitude.
Be aware that a large part of the Internet industry consists of persuading people to click ads, in order to enrich the Saudi sovereign wealth fund.
https://www.nytimes.com/2017/11/06/technology/unsavory-sourc...
Does that float your boat?
Some other person wrote on here about traders being angry assholes. That firm had a ton of angry asshole traders because they'd push and push and push on deadlines, didn't understand the system at all, got hacked up buggy code, never invested in unit or system tests. It was an absolute disaster.
Little anecdote: First year I was out with a more senior trader on my team over drinks. He was talking about the glory days of 08 where every single trader earned a million dollar bonus or more. I asked about the one infrastructure developer who came up with a system to use multicast to simultaneously publish our EuroStoxx signal to DAX along with a dozen other instruments. Nothing earth shattering in 2017, but it quadrupled our P&L and market share at the time.
He got 10 grand.
GS has 34k employees. Thousands of traders and probably >10k in IT. 18 people isn't really a revolution. Devs still are second class citizens in banks - the highest earning ones switched to become traders and just do some python/R/VBA on the desk. There are a few hedge funds (Millennium, Two Sigma) where devs are nearly treated as well as traders - would be interested to hear of any place else.
Software engineers are treated very well, if not as well as research scientists, at essentially any large or successful quantitative hedge fund. This includes firms like DRW, Optiver, Tower Research, Two Sigma, RenTec, Citadel, etc.
What value are financial services? Do you
- have a bank account? checking? savings? money markets?
- monitor your accounts online? do transfers?
- have an investment account? save for retirement?
- have life or disability insurance? pool risks and hedge against them?
- have a city or country that needs to raise money, borrow from others?
- have a company that needs to issue stock for capital investments?
People earn, save, invest, borrow, and build their dreams. Finance makes it possible.
I'm sure you just want to pay the rent, but finance is very competitive and if your firm created no value for society, it would go out of business.
So much of the “value” Goldman supposedly creates is due to them creating an artificial need for it.
This is silly wishful thinking. There are plenty of businesses that are sustainably built on screwing people over or simply extracting money from them.
> What value are financial services?
I don't think he's talking about financial services like retail banking. I think he's talking about HFT activities other than market making. Legal front-running, etc.
People enter these transactions because there's something in it for them, even if you think it's too little.
If people are systematically taking deals you wouldn’t, there might be a broad societal problem (why is tht crappy situation anyone’s best option?) or an information problem (why don’t they know better?) but the business offering the deals is probably not a logical or useful target if you want to address the larger problem.
That depends entirely on the definition of "value".
If a business exists solely to move money/stock around, that action does not create "value", in the sense that juggling oranges does not create "value".
Trading stocks is an effort to take advantage of the fluctuating relative value each stock has, so that individuals can take home the "profit". Such "profit" is not created, but sifted out of the economy. Is that 100% worthless? No, but it's darn close.
On the sell side, it's just pricing and hedging out each other's increasingly complex structures. HFT Market makers have some merit in providing tight liquidity and low spreads. Don't even get me started on buy side speculation.
Right now, for top tier PhD graduates in machine learning, it's about 300-400k at big tech companies starting out, and ~200k for master's degrees.
From what I read and heard, banks are not really willing to pay up competitively for software?
Losing all visibility/ability to publish/being a first class contributor and not second class dev..
But, I agree, finding alpha through alternative means at internet scale has been around for at least a decade, but things are getting more interesting now.
This is more or less true, but an interesting thing to think about is that the number of people (with technical backgrounds) making 7 figures in financial firms is smaller than the number of people making 7 figures in technology firms. This is probably obvious to you if you work in finance, but I think most outsiders don't realize that.
If you include people with sales backgrounds like investment bankers then the numbers might shift in favor of finance.
If you want specific examples from tech then the Waymo article from a while back is helpful, but that doesn't mean that you need to work at Waymo or Google to get there, although a large portion of those roles are at Google-tier companies.
Your average agency will not be hiring pure developers and paying them 7 figures, although they might to someone who is generating revenue and bringing in enough business to justify it.
> My question, specifically, is, what fraction of engineers in tech make 7 figures
I doubt that OP meant that they literally have data showing that it's 1-5%. That's a wide enough range that it's meaningless. I suspect the meaning was more "way above average, but reasonably possible".
However, I bet most principal engineers and up who have been here 3+ years are hitting that lately with how good our stock is doing and that amazon pays higher ups mostly in RSU's.
It seems plausible to me at least that there are more ordinary engineers that have won the stock options lottery across all of tech than the total that are earning equivalent amounts in finance.
1. How many people work at your chosen company? How big is the entire tech heavy trading industry?
2. What is the average total compensation?
3. Which way have revenues been trending? Revenues per employee?
For anyone who's interested in comparing it to the glory days, look at the historical numbers in the GETCO/Knight S-4.
I'm head of a small team running high frequency strategies. I control parameters/portfolio/risk, design/fit predictive models, code C++ for simulation and live trading, and spec out designs for our FPGA developers. I make around 200 base with average bonus in the high 6 figures, good years over a million. At firms with uncapped contractural payouts, bonuses can be far higher for very profitable traders.
But if you come into the industry expecting that, prepare for disappointment. The markets are super efficient so it's hard to make profits. A lot of good ideas are done to death already. You might be stuck on a bad team or not get the opportunity to advance. Making mid 6 figures all-in on a consistently profitable team at a profitable diversified firm is a very good outcome. Modal outcome is making low 6 figures for a couple years and being pushed out.
Also while some enlightened firms realize that infrastructure is a competitive edge and pay big bonuses to engineers, there are many where they're second-class citizens. Only take front-office roles at such firms, not just because of the money, but because you won't be respected. IMO they should be avoided entirely because they'll eventually fall behind and lose.
By quant firm I mean either a proprietary trading firm (no outside investors) or a hedge fund (takes outside money), but not a bank.
I have a CS background but have self-studied in stats, and received mentorship from people with strong math backgrounds.
Main advantages of quant shops (doesn't apply to banks) over working at Google/FB/Netflix etc:
- small company size, startup style working environment, but big corp pay (or more)
- more varied/interesting work, e.g. mix of distributed data processing, high performance numerics, or performance optimization in latency sensitive code
- compensation paid purely in cash, no stock options/RSUs
Hands down my favorite part of working in finance. Better salary, no bullshit.
> 400-450k
Where is that in the pay distribution? Near median? Realistically, where, comp-wise, would the average SWE plateau?
How many hours are you guys putting in a week?
What was the interview like? Did they go deep into stats/stochastic-calc/derivates-pricing/etc ?
---
I'm currently in tech, making near the low end of your range. Getting promoted to the next pay scale (Staff SWE) is a lot more difficult. I'd seriously consider jumping to fintech if 400-450 was below median.
I started 4 years ago at a quant shop fresh out of college and expect to make around 250k.
What kinds of skills do you need to get into this area?
The offers are about the same at about 200-250k depending on bonus and stock performance -- the big tech company upped their stock grant to meet the expected bonus at the trading company. It's not obvious to me which one will be more in a few years, and it seems like hours in tech are better. Can anyone weigh in?
Doesn't mean it's a bad place to work. I have a ton of respect for the business they've built. Their discipline on costs is saving their asses in historically slow market conditions while many competitors are merging or shutting down.
Another factor you may wanna consider is the opportunity cost -- how hard would it be for you to work at GOOG/FB if the trading firm job doesn't work out? And vice versa?
Most engineers here are paid a small fraction of the numbers you cite, even though we are decidedly a first-world country. I guess good ML people will probably get over 100k here, but I haven't heard of anyone near 200k. Any thoughts as to what causes the massive difference?
So the biggest price difference is in the rents, or the housing prices. I would probably increase my savings by a factor of five or more if I had a salary like the ones cited in this thread :)
Obviously it's supply and demand, I just wonder which side of the equation is skewed and why.
You could probably attribute a 14% difference through the "employer tax" which the US doesn't have (which is taken out of your paycheck before the gross salary number is cited), and arguably another 4% due to mandatory retirement savings. But it doesn't make up for it when the difference is 50%-75%.
but i realize you're probably talking about more traditional markets like FOREX
Hardest part with backtesting in my experience has been trying to simulate successful buy/sell orders and the fees.
Couldn't you bake the fee into the application logic e.g. https://github.com/gcarq/freqtrade/blob/master/freqtrade/mai...
You can (and I do as well) - although some proprietary bots have had notable problems with figuring them out.
Strictly speaking, you should be incorporating level 2 order book data to properly gauge fees and simulate real world profits from your backtests.
And just remember its a shrinking area. There are lots of traditional traders that have been laid off and are looking for work.
Like any industry it’s best if you have contacts there to get you past the HR gauntlet but even if not they advertise jobs like anywhere else.
Or arguing on the internet.
Just a teeny portion of our species' intellectual output winds up creating or discovering anything of real value, but that's fine, we muddle through nonetheless. The finance industry has its role to play in ensuring the lights stay on and there's food in the supermarket.
The biggest difference between my example and your examples is that it's a job. This talent pool is using their working hours (and quite often most of their waking hours) pursuing a goal that provides almost nothing to society.
The "finance industry" that we're talking about here is self-serving and in most cases is having no positive relationship with the lights or the supermarket.
The transportation industry, by comparison, has a profit motive but ultimately turns human creativity and intellect into things that arguably make life better for a large number of people.
Given that we've chosen money as our method of resource allocation, it makes sense people who want access to more resources would try to optimise their profit building strategies, and smarter people are going to make better choices. It is why financial hubs, such as London or New York, have more resources to play with and so can provide a higher quality of living.
Wall Street is a welfare program for traders, underwritten by the taxpayers and paying for the financial sector’s total losses in 1929, 1973 and 2008.
Passive exploitation, as in detecting predictable future actions, is probably common, if unintentional. Most automated traders are searching for anything that predicts an imminent price change, on average. Predicting future actions and predicting prices are roughly equivalent. As you move along the continuum from straightforward arbitrage to esoteric black box quant stuff, it becomes more and more difficult to understand how or why a trade even works. I'm sure there are models that predict prices very well solely because they've locked on to some combination of tells unintentionally leaked by another algo.
Here's an example of someone who built a model to detect algorithmic iceberg orders reloading: https://mechanicalmarkets.wordpress.com/2015/04/30/market-da... - he makes an interesting point that any quant data mining order book event sequences that predict strong price movements would find the same pattern easily.
Has anyone ever made the switch into an engineering role within a bank? Is it hard to get past the lack of specific "financial" experience if you have X years of software engineering behind you in general?
My salary is quite average for the role/seniority level and AFAICT it's resented by many developers who work here because many will trade their "in" on their industry into more interesting fintech/banking work elsewhere somewhere down the line for higher compensation.
Knowledge of financial transactions is definitely highly specialized and I don't have nearly enough of it yet but it has started to sink in
What does the day to day look like working on these beasts? Are you in Europe? Most of the developers I know working on these platforms seem to be quite silod and not really involved with the programmer ‘scene’ as it were (all using windows, no opinion on editors, never heard of hn, don’t care about this weeks $shinynew etc which I know shouldn’t be any kind of grading scheme but it always strikes me as a bit strange).
Would like to hear your opinions on it: are most people who end up working here turned into these (generalisation warning, I know not all) unmotivated souls by the sheer pain of working on this stuff or does it just attract candidates who don’t really care that much about tech?
I am not in Europe but a large chunk of the team I'm working with is. Divulging the name of the company is frowned upon, but it's one of the large full-service investment banks
Day-to-day is a lot like other jobs but projects are better managed than I have previously experienced resulting in less meetings for developers. Development can be faster-paced as a direct result.
News of $shinynew is discussed daily by developers (e.g.: React's license, React 16, Vue, etc.) but projects themselves tend to be more conservative as a matter of company policy. I can say the average developer on my team is more capable than the average developer at other companies I have worked with previously. People who are unmotivated will be moved to projects nobody wants (my observation)
Regarding editors, environments, tech events, HN, StackOverflow, etc.: participation is likely there but self-identification is a huge no-no
TLDR: It's not all rainbows and there are institutional challenges, but the tech side is not naive
That said, I think it’s genuine. Computer Scientists who work on Wall Street should not view their role as simply “a person who can write code.”
Lastly, this is from October.
There's also a few jobs where the pay is unlimited. Typically you need a track record but you'll also get a cut of the profits.
And then there's management, which is another level as well.
I made the remark primarily because the article discusses career trajectory as one of the motivations for emphasizing the combination of “traders who code.” In essence, they’re advertising that your pay won’t get capped out at the level of “a very good programmer.” Instead, the cap will the higher number of “a very good trader.”