TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What programming skills are required by HFT or Trading firms

217 点作者 mraza007大约 5 年前
What are some skills required to land a job in Trading Firm especially in roles like DevOps or developing software. How can a person excel at the technologies required by these firms

29 条评论

pjmlp大约 5 年前
Basically Java, .NET and C++, with heavy focus on C++.<p>Being able to write allocation free algorithms, even on GC languages, lock free data structures and good knowledge of all multi-core programming paradigms and distributed computing.<p>Here are some talks that will give you a small overview into that world,<p>CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=NH1Tta7purM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=NH1Tta7purM</a><p>Core C++ 2019 :: Nimrod Sapir :: High Frequency Trading and Ultra Low Latency development techniques<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_0aU8S-hFQI" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_0aU8S-hFQI</a><p>Open source Java HFT code from Chronicle Software, <a href="https:&#x2F;&#x2F;github.com&#x2F;OpenHFT" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;OpenHFT</a><p>&quot;Writing and Testing High-Frequency Trading Engines&quot;, from Cliff Click<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iINk7x44MmM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iINk7x44MmM</a><p>However in these domains every ms counts, even how long cables are, so also expect Verilog, VHDL, and plenty of custom made algorithms running directly on hardware.<p>&quot;A Low-Latency Library in FPGA Hardware for High-Frequency Trading&quot;<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=nXFcM1pGOIE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=nXFcM1pGOIE</a><p>You can get an overview of the typical expectations here, <a href="https:&#x2F;&#x2F;www.efinancialcareers.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.efinancialcareers.com&#x2F;</a>
评论 #23191659 未加载
评论 #23192313 未加载
brianolson大约 5 年前
Moral flexibility and subjugation. The boss says to build a thing, you build the thing. If rewriting an infiniband driver and pinning it to a core on the server and processing requests in kernel space in exquisitely crafted C is what cuts reation time by 0.0000005 sec and makes the firm a few extra bucks, that&#x27;s what you do.<p>I interviewed at a Manhattan HFT firm (~2015) and that&#x27;s what they do. The boss noted that &quot;Congress could make a law invalidating our business model&quot; and I realized that would be a good idea. They&#x27;re not making the world a better place; they&#x27;re not providing a valuable service; they&#x27;re just exploiting and extracting and skimming some dollars out of the market. They have money and they&#x27;re in the right place so their money can grab more money.
评论 #23192888 未加载
评论 #23193023 未加载
评论 #23192703 未加载
评论 #23193058 未加载
评论 #23195536 未加载
评论 #23193207 未加载
评论 #23195280 未加载
评论 #23193137 未加载
hft09876大约 5 年前
I&#x27;ve worked at two of what are broadly considered to be the top firms. Most of these comments are inconsistent with my experience.<p>Everybody&#x27;s talking about what it takes to write trading systems, but OP asked about &quot;skills required to land a job&quot; not skills needed to do the job. Aside from a few specialized roles (like FPGA dev or security), the firms I&#x27;m familiar with only evaluate general dev skills. The interview process is pretty much the same as you&#x27;d experience at a top tech company. They don&#x27;t care at all if you know the languages they use. Once you&#x27;re in the door, the firm will teach you everything you need to know.
评论 #23192504 未加载
评论 #23196440 未加载
pclmulqdq大约 5 年前
I can only speak to HFT.<p>For dev roles, Python experts (emphasis on expert) and experts in modern C++ have the easiest time. C experts and systems programmers with assembly expertise can also find a job, but the market is smaller for them (although higher-paying).<p>OS-level and systems programming are valuable. Understanding computer architecture is important, and computer systems as well.<p>Credentials are an important filtering mechanism for them, so if you didn&#x27;t go to a top 10 school, your resume needs to make up for it (or you need to be a very experienced hire). Working at a FAANG company or a bank doesn&#x27;t necessarily make up for not going to a top school.<p>Successful devs at HFTs usually have a ~50-hour workweek or are very efficient programmers.
评论 #23192353 未加载
organicfigs大约 5 年前
I passed the interviews at one of the top stat arb hft firms and it sounds like there are a couple of responses from similar shops here. One thing people haven&#x27;t mentioned: pedigree. I passed 3 rounds of interviews and my final interviewer was batting for me, when I didn&#x27;t get the offer, he said the team was apprehensive because I didn&#x27;t have the pedigree from MIT&#x2F;Princeton like everyone else. He wasn&#x27;t a fan of the decision because he worked at a string of failed startups himself prior to starting there, c&#x27;est la vie. Also for the curious, he said the salary range was 400-460k with ~3-5 yoe.
评论 #23214033 未加载
评论 #23193719 未加载
评论 #23196876 未加载
emidln大约 5 年前
The three biggest skills aren&#x27;t directly tech: learning fast&#x2F;efficiently, communication and execution under pressure, and perseverance&#x2F;discipline to finish&#x2F;deliver.<p>Where I work, our devops use a mix of python&#x2F;ruby&#x2F;golang&#x2F;bash for day to day debugging and development. Ability to read, understand, and modify Python (or a similar scripting language) and a familiarity with Bourne&#x2F;bash are probably the minimum for devops.<p>For operations, you&#x27;d want to bring some skills that add to the team in new skills or redundancy. You&#x27;ll likely be trained&#x2F;cross trained in many more. Familiarity with and ability to debug some of the following: databases, networked services (sometimes a pcap replay is all you have), systems troubleshooting, monitoring, queues, or specific hardware and software platforms we use.<p>At the HFT I work at, we hire Jr and Sr people. For systems people, there is a bit of a divide between trading systems engineers, who work directly with devs and traders on the care+feeding of some corner of our software stack and infrastructure systems that provide shared tooling and substrates (k8s, deployment tooling, continuous integration&#x2F;delivery, configuration management tooling, additional debugging help, etc). We also have network teams, traditional IT service desk teams, and performance monitoring&#x2F;improvement teams.<p>If you&#x27;re not coming from trading, we still need all of the standard sysadmin and devops skills. We have SSH, Kafka, Zookeeper, MySQL&#x2F;Maria, tcpdump&#x2F;wireshark, Linux, Puppet, Docker, Kubernetes, ElasticSearch, Hadoop, etc. We have misc custom file formats but also loads of json , some xml, etc. We integrate open source and proprietary as much or more than we build. Outside of the execution stack, you&#x27;d recognize a lot of what we do at any medium-sized tech company.<p>If you want to talk about life at an HFT, my email is in profile. I came into HFT as an experienced hire from the startup world and currently do builds development.
评论 #23192376 未加载
kasey_junk大约 5 年前
HFT and Trading firms are largely like any other firms. They have job postings and the skillset they expect is largely what you’d expect.<p><a href="https:&#x2F;&#x2F;www.virtu.com&#x2F;careers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.virtu.com&#x2F;careers&#x2F;</a> has a devops role listed within the first 10 results on their careers page. It looks like basically any other modern ops job sheet.<p>Here is one for DRW <a href="https:&#x2F;&#x2F;drw.com&#x2F;careers&#x2F;job&#x2F;1280794" rel="nofollow">https:&#x2F;&#x2F;drw.com&#x2F;careers&#x2F;job&#x2F;1280794</a> again, not much different than any other firm.<p>Most software written at trading firms is the same as software written anywhere else. The only real differences are on the actual tick to trade path, where you will see the need for FPGA&#x2F;ASIC programming, very low level network programming and C&#x2F;C++ systems programming or on the Quant side which can vary widely but typically involves showing PHD level research skills in some hard math&#x2F;science.
morelandjs大约 5 年前
Suppose you have top notch data science and machine learning chops and also suppose quant shops are willing to hire you regardless of your financial domain expertise.<p>In such a scenario, is the 99th percentile of quant compensation significantly higher than the 99th percentile of tech company compensation (FANG etc)?<p>I&#x27;ve always considered this a fork in the road for many---finance versus say advertising--and I&#x27;m curious how others with more experience would describe the pros and cons of each.
评论 #23191682 未加载
评论 #23192262 未加载
评论 #23194613 未加载
评论 #23194694 未加载
评论 #23191376 未加载
Jhsto大约 5 年前
From the anecdotal experience of developing such software as a side-project for myself, the hardest parts technically were dealing with concurrency and race conditions caused by it. Other skills for prosperity is understanding statistical significance and randomness. Also, writing reliable software and designing both the best-case and worst-case scenarios is required when interfacing with remote systems: brokers return error or exception cases saying you were too slow all the time, which means your software is dependant on that information and must run in probabilistic state conditions while waiting for the answers to remain performant.
评论 #23191719 未加载
notinventedhear大约 5 年前
From 4 years in a large public quant house (not HFT): everything upstream of trade execution is Python with very heavy use of numpy, scipy and pandas. This has pros and cons, on balance I&#x27;d prefer a better type system, but that everyone in the org can share code has tremendous value at scale.<p>Briefly, the faster your execution the faster everything else needs to be. Java should be fast enough for almost anything short of HFT + colocation which is super expensive infra wise.<p>The skills are not different from other backend roles, but you will need to exercise more math with emphasis time series and stats.
idohft大约 5 年前
Agreed with the rest, you should just look at job descriptions. Different firms use different technologies, but a devops person will probably be building tooling for monitoring live trading, or GUIs for themselves and traders. These tend to not be as performance-sensitive.<p>If you want to work on the trading systems, you should be good OS-level and network-level things. And you should probably know C&#x2F;C++. I think some firms might still use Java.<p>Good firms have probably been around for a couple of years, so it&#x27;s unlikely that they&#x27;ll use the cool new languages of the day.
评论 #23191564 未加载
unixhero大约 5 年前
Nobody has mentioned the K language and Q language; and the Kdb+ product from KX Systems. I know many institutions and HFT&#x27;s use the K Database. It&#x27;s fast because it crunches data in the CPU cache which is insanely fast.<p>Reference: <a href="https:&#x2F;&#x2F;code.kx.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;code.kx.com&#x2F;</a>
评论 #23192461 未加载
_asummers大约 5 年前
Trading firms have many positions available other than the HFT algorithms. There are teams that support those to enable desks (read: startups) to get off the ground quickly (like YC!), analysis teams for doing research for future strategies, accounting, shared service teams, as well as governance teams like risk, compliance, treasury. Depending on the team you&#x27;re on, your job may be drastically different. I find myself in a role focusing on devops, developer tooling, and team automation, but others on my team focus on data ingestion, financial models on top of the data, UI development for end users. If you&#x27;re a skilled programmer, there will be a role for you in a sufficiently large firm.
fwsgonzo大约 5 年前
These days I would say you should get into OS development and learn about unikernels. Linux should be a solved problem right now and the future would be in OSes that don&#x27;t have interrupts enabled and you have full control over the CPU cores.
评论 #23191646 未加载
评论 #23190879 未加载
评论 #23193580 未加载
andersonvaz大约 5 年前
Worth to mention is the <a href="https:&#x2F;&#x2F;lmax-exchange.github.io&#x2F;disruptor&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lmax-exchange.github.io&#x2F;disruptor&#x2F;</a><p>A High Performance Inter-Thread Messaging Library used for HFT.
talolard大约 5 年前
I used to work for a firm that did FIX parsers for hft. FIX is the standard protocol for financial data. Company’s claim to fame was the fastest parser on standard hardware as opposed to an FPGA and handling the many many dialects of FIX.<p>A lot of work and skill went to memory layout (minimize cache missed), lock free data structures and spending time in perf looking for ways to shave microseconds off a function.<p>God knows how I got the job, I was super junior , but that’s the kind of work we did and presumably what other companies would want you competent with
评论 #23192493 未加载
remyp大约 5 年前
C&#x2F;C++ is most common. Good luck getting their attention if you didn’t go to MIT, CMU, Stanford, etc.
评论 #23191746 未加载
评论 #23192398 未加载
评论 #23191902 未加载
评论 #23191121 未加载
评论 #23191125 未加载
pmart123大约 5 年前
I used to work in HFT, but haven’t for five years. For core developers, there’s heavy use of C&#x2F;C++ with a deep understanding of low level programming. On the trade strategy development side, it’s usually some combination of a columnar database, Python&#x2F;R along with rewriting performance sensitive areas in a lower level language. I won’t be surprised if there was an uptick in the usage of GO the last few years as well.
lalalal123大约 5 年前
I worked at one of the top tier prop shops in Chicago. This is my experience there:<p>Fresh grad devs are generally evaluated on their potential and not what languages and specific skills they know. The people they end up hiring for fresh grad dev roles tended to come from the same six schools. Said schools are generally not top tier (for developers) and are local to Chicago.
评论 #23196993 未加载
madballster大约 5 年前
Not exactly known for HFT, but Man AHL use their own library arctic with Python&#x2F;Pandas and MongoDB. See <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=FVyIxdxsyok" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=FVyIxdxsyok</a> - The presentation touches on performance considerations.
cheezebubba大约 5 年前
Well you can take a look at their job openings pages:<p><a href="https:&#x2F;&#x2F;www.hudsonrivertrading.com&#x2F;careers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.hudsonrivertrading.com&#x2F;careers&#x2F;</a><p>Looks like c++, python, and linux sysadmin stuff.
评论 #23196962 未加载
andrew-nguyen大约 5 年前
Besides searching on Glassdoor or Indeed, how can someone find a list of companies that are doing this type of work? Are they limited to the east coast?<p>I&#x27;m not very familiar with the HFT industry, but the skills that they require (C++, computer architecture, OS, networking, &amp; performance) are ones that I&#x27;m interested in and would love to deepen my experience with. Are there companies on the west coast (more specifically southern California) where one could develop this experience?
评论 #23192349 未加载
评论 #23193153 未加载
Unklejoe大约 5 年前
They usually ask for C&#x2F;C++, but what they really mean is C++.
评论 #23191708 未加载
throwfin11大约 5 年前
HFT firms use all sorts of technologies. But to be clear, you want to be closest to trading - that&#x27;s where the big money is; so either a) idea generation (quant work) or b) execution (dev work) For the execution piece, C++ would be the most viable option.<p>On the quant&#x2F;research piece, python&#x2F;R&#x2F;kdb are common tools used, but the real skills are the statistics&#x2F;math and market knowledge.
necrotic_comp大约 5 年前
DevOps - standard tools, depends on the firm<p>Trading Systems - C++, networking, memory management.<p>* I work at a HFT firm building algos for clients
评论 #23192251 未加载
mattbl大约 5 年前
Here&#x27;s a nice (old) blog of someone in the industry: <a href="https:&#x2F;&#x2F;mechanical-sympathy.blogspot.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mechanical-sympathy.blogspot.com&#x2F;</a>
franze大约 5 年前
&gt;How can a person excel at the technologies required by these firms from my fintech experience with the financial departments there ... excel in Excel. it&#x27;s a whole programming-parallel-world
评论 #23191286 未加载
评论 #23191164 未加载
评论 #23191219 未加载
szczepano大约 5 年前
for currencies &#x2F; commodities<p>zmq&#x2F;java - lmax<p>then there is forex c++ mt4 metaquotes<p>more hardcore like cheetah-solutions fpga &#x2F; hdl<p>don&#x27;t know about asic<p>some insides but now inactive <a href="https:&#x2F;&#x2F;mdavey.wordpress.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mdavey.wordpress.com&#x2F;</a><p>there are also options &#x2F; stocks and cryptocurrencies
dilandau大约 5 年前
C++ was big. Comfortable navigating a very large and complex codebase, being able to understand complex rules-based systems, and of course knowledge of equities and financial markets.<p>But they&#x27;ll teach you everything you need to know as long as you can pass the interview.