1.
기계매매를 하려는 개인이나 회사가 많아지고 있습니다. 주식DMA의 영향이라고 할 수 있습니다. 많은 투자자들이 주식DMA를 하면 수익이 급격히 올라갈 것이라는 오해를 합니다.물론 그런 경우도 있지만 아닐 수도 있습니다. 국내 주식 및 파생DMA에서 오랜 동안 터를 잡고 있는 외국인투자자들의 영향입니다.
외국인투자자들의 투자규모는 국내증권사(자기거래) 혹은 개인투자자(개인 혹은 법인)들의 생각을 뛰어넘습니다. FPGA를 적용하는 외국계 회사들이 있습니다. 복잡한 프로그래밍이 가능한 FPGA 카드의 가격을 알아보니까 억단위가 넘더군요. 여기에 FPGA 시스템까지 도입해서 적용하면 일년을 기준으로 한 투자비가 엄청납니다. 이런 투자를 해서 이익을 보려면 수익률이 얼마나 되어야 할지 혹은 운용자금이 얼마인지 짐작이 갑니다.
DMA매매를 하면 보통 소프트웨어개발만을 생각합니다. 소프트웨어가 무척이나 중요합니다. 기계매매란 결국 소프트웨어가 모든 것을 하기 때문입니다. 물론 화면을 통해 트레이더가 패러매터를 수시로 변경하기는 합니다만. 소프트웨어만 하면 끝일까요? 아닙니다. 소프트웨어가 잘 돌아가서 최상의 성능을 낼 수 있도록 하는 기술이 필요합니다. 하드웨어나 네트워킹 기술이죠. 소프트웨어,하드웨어, 네트워크
해외에서는 이를 Performance Engineer라고 합니다. 이런 직무가 하는 역할이 무엇일까요?
2.
IMC의 Performance Engineer입니다.
Your Core Responsibilities:
- Black Box Reverse Engineering and Analysis: Analyse and understand the behaviour of complex systems using black-box techniques, identifying performance bottlenecks and optimisation opportunities. Designing and performing statistical experiments to explain emergent real world phenomena.
- Experimentation & Prototyping: Design, implement, and test innovative ideas, experiments and technologies. Develop quick internal prototypes to evaluate performance and real-world applicability.
- Collaboration & Communication: Liaise effectively with traders, software and hardware engineers, and infrastructure teams to share insights and implement solutions.
- System Analysis: Analyse terabytes of network data to identify patterns, validate hypotheses, and optimise system performance.
Your Skills and Experience:
- Strong understanding of computer internals, Linux systems, and networking. Familiarity with tools and techniques for reverse engineering, kernel tuning, system-level optimisation, and low-level network optimisation.
- Proven commercial experience with Python and/or languages like C++ or Java.
- Familiarity with low-latency hardware technologies, such as Intel CPUs, FPGA, and microwave links.
- Understanding of complex, bespoke networks and networking stacks.
- Hands-on experience with performance tuning, and system-level optimisations.
- Experience with data and system analysis.
- Capable of working autonomously while contributing to a multidisciplinary team. Always looking for ways to gain an edge.
Hudson River Trading의 Performance Engineer입니다.
Responsibilities
- Manage and optimize worldwide trading infrastructure
- Performance testing and tuning
- Orchestrate and analyze time series network and exchange protocol captures with a focus on optimizing systems for low-latency performance
- Build in-depth understanding of the the intricacies of various markets and exchanges, attend presentations, and collaborate with exchange counterparts to optimize system interactions
- Research exchange features, capabilities, and architecture with an emphasis on low-latency communication
- Plan and execute technical projects to make our trading systems (linux, hardware, network, etc.) faster, adaptable, and maintainable
- Formulate and conduct controlled experiments to measure the impact of calculated changes to HRT’s trading infrastructure
- Automate and troubleshoot a broad range of technical infrastructure
- Improve the fill rate of custom hardware-based trading strategies by optimizing system components
- Identify infrastructure optimizations based on a full-stack understanding of our low latency trading platform and interconnected markets.
- Investigate and document details related to various latency-sensitive exchanges
- Effectively communicate ideas, requirements, and results across different teams within the organization
Profile
- Expertise in installation, configuration, and troubleshooting of Linux systems, from hardware and kernel to applications
- 7+ years of relevant experience supporting a complex trading environment, including advanced understanding of proprietary trading and exchange technologies, with a strong emphasis on low-latency infrastructure
- Strong understanding of TCP and UDP network protocols
- Familiarity with the details of modern computer systems and networks, emphasizing low-latency optimization
- Experience with Python and other programming languages is desirable
- Experience with FPGA, Microwave, and Wireless technologies is desirable
- Strong understanding of capture and timing infrastructure
Optiver의 Production Engineer역할입니다.
Technical Skills:
- Solid experience managing complex distributed systems in Linux environments (L2/L3 support), with a strong understanding of networking fundamentals, build, deployment, and version control systems.
- Proficiency with CI/CD tooling and scripting in Python or similar languages to automate tasks.
- Experience with relational databases (e.g., PostgreSQL) or other database systems.
- Demonstrated ability to drive system improvements and work across global teams to deliver changes.
Non-Technical Skills:
- A collaborative team player with a positive attitude, capable of coordinating effectively across departments.
- A pragmatic and logical thinker who thrives under pressure in high-intensity environments, with strong troubleshooting skills and the ability to resolve incidents efficiently.
- Effective communicator, able to clearly explain technical concepts and ask insightful questions.
- Highly organised, able to manage multiple responsibilities while keeping stakeholders informed.
- Passionate about technology, curious about the interaction between hardware and software, and driven to learn and grow by embracing frequent change.
- Prior experience in high-frequency trading environments is a plus, but not required.
Algo Capital Group의 Performance Enginner입니다. 자세히 읽어보면 Performance가 IT관점이 아니라 전략의 수익을 말합니다.(^^) 일반적으로 퀀트가 하는 역할이라고 이해할 수 있는데. 전략모형과 IT기술의 결합한 형태로 역할을 부여하고 있습니다. 어떻게 보면 기계매매에 맞는 역할 정의일 듯 합니다.
Key Responsibilities
• Analyse time series network and exchange protocol captures to identify and implement performance improvements
• Research and evaluate exchange features and architecture to minimise market latency
• Automate the collection and analysis of metrics that track trading performance
• Collaborate with internal teams to design experiments and optimise trading infrastructure
• Investigate latency-sensitive exchanges and reduce cancel-reject responses
• Enhance hardware-based trading strategies for better fill rates and system reliabilityKey Requirements
• 5+ years of experience in data analysis, with expertise in statistical analysis and large data sets
• Strong proficiency in Python and data libraries (e.g., Pandas, Numpy)
• Knowledge of TCP and UDP network protocols, and modern computer systems
• Familiarity with real-time market data and order entry systems
• Previous experience in low-latency, high-frequency environments
• (Preferred) Background in performance engineering or quantitative analysis
Fidelity의 Principal Performance Engineer입니다.
The Role
Principal Performance and Automation Engineer will be responsible for designing, developing, and executing performance tests using Java/JMeter/Cloud-test/Rush-hour and other performance testing tools to ensure comprehensive performance testing. The person in this position is also responsible for designing and developing test strategies and ensuring high-quality scripts and performance tests. The role also includes troubleshooting performance issues, root cause analysis and most importantly driving problems to appropriate solutions. Below are expectations for the person in this role:
- Build performance testing and automation solutions for the Fidelity Digital Asset business Trading team
- Working closely with our business partners to contribute to business critical initiatives.
- Demonstrate testing trading platforms and automation of frontend and backend applications.
- Collaborate with multiple stakeholders/large cross functional teams as part of work delivery.
- Follow practices and contribute towards innovative solutions to increase productivity.
- Define Performance Test Strategy Document: set approach, metrics, benchmarks, baseline, user response requirements environments, technical environment and data conditions, and toolsets to use in executing the performance testing.
- Design, implement, and maintain performance test frameworks, which will validate to a high degree of confidence, the production readiness of software applications and infrastructure for stability and performance.
- Develop test execution scenarios for various types of tests such as load, stress, duration/endurance, and run them.
- Create and publish Performance Test Result Report with recommendations on the quality improvement.
- Prepare reports about the product/product component’s readiness for release to users.
- Review and recommend improvements to existing test procedures.
- Suggest new tools and techniques to improve testing efficiency.
- As needed, provide leadership and guidance to multiple engineers supporting performance engineering and testing efforts by assigning tasks, receiving updates, removing blockers, and reporting progress to the rest of the Scrum team
앞서 회사들은 Performance Engineer로 지칭하지만 Jane Streets는 IT적 역할을 더 강조한 Low-Latency Engineer라고 부릅니다.
About the Position
We are looking for a Software Engineer with experience in high-performance, low latency systems. You’ll work closely with our quantitative researchers and developers, taking a holistic approach to design and optimize our fast-trading systems.
We build systems primarily in OCaml with only small amounts of C and C++, but you don’t need any experience with OCaml in particular (we can teach it to you) or knowledge of the financial markets. The most important qualification is experience with low level systems programming and optimization, whether it is in C, C++, or any other language.
About You
- Experience with low level systems programming and optimization, and working on network applications that require extremely low latency and high throughput
- Can understand, interpret, and improve application performance through hardware performance counters and other profiling tools
- Has a thorough understanding of modern computer architecture and can talk to others about it; for example, can you describe modern x86 AMD and Intel cache hierarchies?
- Some experience with fast-packet processing in user space and common kernel-bypass implementations would be ideal (such as Solarflare OpenOnload/TCPDirect/ef_vi, Exablaze, InfiniBand verbs, DPDK)
- Experience working around the performance challenges of languages with a managed runtime (such as Java or C#) and familiarity with a typed functional language are a plus
3.
직무를 유심히 보면
1)소프트웨어,하드웨어, 네트워크 기술에 대한 이해
2)매매를 위한 다양한 프로코톨(예를 들면 한국거래소 FEP통신프로토콜)에 대한 이해
3)매매전략 성과에 대한 분석
등등 다양한 기술이 필요합니다. 이런 기술을 가진 사람을 트레이더가 아닌 직무로 채용할 수 있는 곳은 별로 없을 듯 합니다. 그렇다고 기계매매를 하는 이상 관심을 가져야 하지 않을까 합니다. 필요하면 아웃소싱을 하는 것도 방법..