Developing High Frequency Trading Systems: Learn how to implement high-frequency trading from scratch with C++ or Java basics - Original PDF

دانلود کتاب Developing High Frequency Trading Systems: Learn how to implement high-frequency trading from scratch with C++ or Java basics - Original PDF

Author: Sebastien Donadio, Sourav Ghosh, John Rizzo, Romain Rossier

0 (0)

توضیحات کتاب :

Use your programming skills to create and optimize high-frequency trading systems in no time with Java, C++, and Python Key Features • Learn how to build high-frequency trading systems with ultra-low latency • Understand the critical components of a trading system • Optimize your systems with high-level programming techniques Book Description The world of trading markets is complex, but it can be made easier with technology. Sure, you know how to code, but where do you start? What programming language do you use? How do you solve the problem of latency? The Developing High-Frequency Trading Systems book answers all these questions. This practical guide will help you navigate the fast-paced world of algorithmic trading and show you how to build a high-frequency trading system from complex technological components, supported by accurate data. Starting off with an introduction to high-frequency trading, exchanges, and the critical components of a trading system, the book quickly moves on to the nitty-gritty of optimizing hardware and your operating system for low-latency trading, such as bypassing the kernel, memory allocation, and the danger of context switching. Monitoring your system’s performance is vital, so you’ll also get up to speed with logging and statistics. As you move beyond the traditional high-frequency trading programming languages, such as C++ and Java, you’ll learn how to use Python to achieve high levels of performance. And what book on trading would be complete without diving into cryptocurrency? By the end of this book, you’ll be ready to take on the markets with high-frequency trading systems. What you will learn • Understand the architecture of high-frequency trading systems • Boost system performance to achieve the lowest possible latency • Leverage the power of Python, C++, and Java to build your trading systems • Bypass your kernel and optimize your operating system • Use static analysis to improve code development • Use C++ templates and Java multithreading for super-low latency • Apply your knowledge to cryptocurrency trading Who This Book Is For This book is for software engineers, quantitative developers or researchers, and DevOps engineers who want to understand the technical side of high-frequency trading systems and the optimizations that are needed to get to ultra-low latency systems. Prior experience working with C++ and Java will help you grasp the topics covered in this book.

سرچ در وردکت | سرچ در گودریدز | سرچ در اب بوکز | سرچ در آمازون | سرچ در گوگل بوک

1,305 بازدید 2 خرید

ضمانت بازگشت

ضمانت بازگشت

فایل های تست شده

فایل های تست شده

پرداخت آنلاین

پرداخت آنلاین

تضمین کیفیت

تضمین کیفیت

دانلود فوری

دانلود فوری

High-Frequency Trading (HFT) is a form of automated trading. For the last twenty years, HFT has gained recognition in the media and in society. A book called Flash Boys: A Wall Street Revolt, written by Michael Lewis in 2014, topped the sales on the New York Times Best Seller list for three weeks. It relates to an investigation into the HFT industry and its impact on the trading world. Scholars, the financial world, and the non-financial world are fascinated by this form of trading. Meanwhile, this new era of trading has created a lot of fear while giving more and more control to machines. The goal of this book is to review what HFT is and how to build such a system from a technical perspective. HFT is a multi-disciplinary matter involving thorough knowledge of computer architecture, operating systems, networking, and programming. By the end of this book, you will understand how to build a trading system from scratch by using the most advanced technical choices for optimizing speed and scalability. We chose to divide this book into three main part

چکیده فارسی

 

تجارت با فرکانس بالا (HFT) شکلی از معاملات خودکار است. در بیست سال گذشته، HFT در رسانه ها و جامعه به رسمیت شناخته شده است. کتابی به نام پسران فلش: شورش وال استریت که توسط مایکل لوئیس در سال 2014 نوشته شد، به مدت سه هفته در صدر فروش فهرست پرفروش ترین کتاب های نیویورک تایمز قرار گرفت. این به تحقیق در مورد صنعت HFT و تأثیر آن بر دنیای تجارت مربوط می شود. محققان، دنیای مالی و دنیای غیرمالی مجذوب این شکل از تجارت هستند. در همین حال، این دوره جدید تجارت ترس زیادی ایجاد کرده است و در عین حال کنترل هر چه بیشتر به ماشین‌ها می‌دهد. هدف این کتاب بررسی چیستی HFT و نحوه ساخت چنین سیستمی از منظر فنی است. HFT یک موضوع چند رشته ای است که شامل دانش کامل معماری کامپیوتر، سیستم عامل، شبکه و برنامه نویسی است. در پایان این کتاب، نحوه ایجاد یک سیستم معاملاتی را از ابتدا با استفاده از پیشرفته ترین گزینه های فنی برای بهینه سازی سرعت و مقیاس پذیری خواهید فهمید. ما تصمیم گرفتیم این کتاب را به سه قسمت اصلی تقسیم کنیم

 

ادامه ...

Author(s): Sebastien Donadio, Sourav Ghosh, John Rizzo, Romain Rossier

Publisher: Packt Publishing, Year: 2022

ISBN: 1803242817,9781803242811

ادامه ...

Table of Contents Preface Part 1: Trading Strategies, Trading Systems, and Exchanges 1 Fundamentals of a High-Frequency Trading System History of HFT 4 The post-1930s era 5 The modern era 6 Why have HFT? 7 What makes HFT so different from regular trading? 7 Effect of dark pools 9 Who trades HFT? 10 What do I need to start an HFT? 10 What are HFT strategies? 11 Asset classes 12 Liquidity 12 Tick-by-tick data and data distribution 12 Liquidity rebates 12 Matching engine 13 Market making 13 Scalping 15 Statistical arbitrage 15 Latency arbitrage 16 Impact of news 17 Momentum ignition 17 Rebate strategies 18 Pinging 18 Illegal activities 19 Summary 20 2 The Critical Components of a Trading System Understanding the trading system 22 Trading system architecture 24 Gateways connecting to trading exchanges 25 vi Table of Contents Making a trading system trade with exchanges 27 Examining the API for communication 29 Order book management 30 Order book considerations 32 Strategy making decisions on when to trade 34 The OMS 36 Critical components 36 Non-critical components 37 Command and control 37 Services 38 Summary 39 3 Understanding the Trading Exchange Dynamics Architecting a trading exchange for handling orders at a large scale 42 History of trading exchanges 42 Understanding features of an exchange 43 Exchange architecture 44 General order book and matching engine 46 Best price scenario 47 Partial fill scenario 48 No match scenario 49 Multiple orders with the same price 50 Summary 53 Part 2: How to Architect a High-Frequency Trading System 4 HFT System Foundations – From Hardware to OS Understanding HFT computers 58 CPUs, from multi-processor to multi-core 59 Main memory or RAM 62 Shared memory 64 I/O devices 65 Using the OS for HFT systems 65 User space and kernel space 66 Process scheduling and CPU resource management 67 Memory management 68 Paged memory and page tables 69 System calls 70 Threading 71 Interruption management 72 The role of compilers 73 Executable file formats 74 Static versus dynamic linking 74 Summary 75 Table of Contents vii 5 Networking in Motion Understanding networking in HFT systems 78 Learning about network conceptual models 78 Network communications between systems in HFT 80 Comprehending how switches work 82 Important protocol concepts 89 Using Ethernet for HFT communication 90 Using IPv4 as a network layer 90 UDP and TCP for the transport layer 92 Designing financial protocols for HFT exchanges 94 FIX protocol 95 Interior networks versus exterior networks 101 Understanding the packet life cycle 102 Comprehending the packet life in the send/receive (TX/RX) path 104 Software layer receiving the packet 105 Monitoring the network 105 Packet capture and analysis 106 Valuing time distribution 108 Time-synchronization services 109 Summary 110 6 HFT Optimization – Architecture and Operating System Performance mental model 112 Understanding context switches 112 Types of context switches 113 Why are context switches good 114 Steps and operations involved in a context switch operation 115 Why are context switches bad for HFT? 116 Techniques to avoid or minimize context switches 117 Building lock-free data structures 118 When/why are locks needed (non-HFT applications) 118 Types of synchronization mechanisms 119 Problems and inefficiencies with using locks 119 Pre-fetching and pre-allocating memory 127 Memory hierarchy 128 Pre-fetching based alternatives to boost performance 131 Dynamic memory allocation 133 Pre-allocation-based alternatives to dynamic memory allocation 134 Summary 135 viii Table of Contents 7 HFT Optimization – Logging, Performance, and Networking Comparing kernel space and user space 138 What is kernel and user space? 139 Investigating performance – kernel versus user space 140 Using kernel bypass 141 Understanding why kernel bypass is the alternative 142 Presenting kernel bypass latencies 142 Learning about memory-mapped files 143 Using cable fiber, hollow fiber, and microwave technologies 146 Evolution from cable fiber to hollow fiber to microwave 147 How hollow fiber works 147 How microwave works 148 Diving into logging and statistics150 The need for logging in HFT 150 The need for online/live statistics computation in HFT 150 Measuring performance 152 Motivation for measuring performance 152 Linux tools for measuring performance 153 Custom techniques for measuring performance 156 Summary 161 Part 3: Implementation of a High-Frequency Trading System 8 C++ – The Quest for Microsecond Latency C++ 14/17 memory model 166 What is a memory model? 166 The need for a memory model 167 The C++ 11 memory model and its rules 168 C++ memory model principles 172 Removing runtime decisions 176 Motivation for removing runtime decisions 177 Virtual functions 178 Performance penalties 179 Dynamic memory allocation 184 Runtime performance penalty 184 Using constexpr efficiently 186 Exceptions impeding performance 186 Templates reducing the runtime 188 What are templates? 188 Template specialization 189 Why use templates? 189 Table of Contents ix Disadvantages of templates 191 Performance of templates 192 Standard Template Library (STL) 193 Static analysis 195 What is C++ static analysis? 195 The need for static analysis 195 Types of static analysis 196 Steps in static analysis 197 Benefits and drawbacks of static analysis 197 Use case - Building an FX high-frequency trading system 200 Summary 201 9 Java and JVM for Low-Latency Systems Introducing the basics of Java 204 Reducing the impact of the GC 207 What to do to keep GC events low and fast 208 Warming up the JVM 213 Tiered compilation in JVM 214 Optimizing the JVM for better startup performance 218 Measuring the performance of a Java software 219 Why are Java microbenchmarks difficult to create? 219 Real-time performance measures 220 Java threading 221 Using a thread pool/queue with threads 222 High-performance task queue 227 Queues 227 Circular buffer 227 LMAX disruptor 228 Logging and DB access 230 External or internal thread? 231 Summary 232 10 Python – Interpreted but Open to High Performance Introducing Python 234 Making use of Python for analytics 234 Why is Python slow? 236 How do we use libraries in Python? 238 Python and C++ for HFT 239 Using C++ in Python 240 Using Python with C++ 240 Boost.Python library 241 Using ctypes/CFFI to accelerate Python code 243 SWIG 244 Improving the speed of Python code in HFT 246 Summary 248 x Table of Contents 11 High-Frequency FPGA and Crypto Reducing latencies with FPGA 250 Evolution of the fierce competition of speed in HFT 250 Introduction to FPGA 251 Diving into FPGA trading systems 254 Advantages of FPGA trading systems 256 Disadvantages of FPGA trading systems 257 Final words on FPGAs 258 Exploring HFT with cryptocurrencies 259 What is crypto? 259 How do crypto transactions work? 259 What is a blockchain? 260 What is cryptocurrency mining? 260 Similarities between traditional asset trading and cryptocurrency trading 260 Main differences between traditional asset trading and cryptocurrency trading 265 Trading with cryptocurrency exchange 267 HFT strategies in crypto 271 Building a high-frequency system for crypto trading 272 How to build a trading system in the cloud 275 Summary 280 Index Other Books You May Enjoy

ادامه ...
برای ارسال نظر لطفا وارد شوید یا ثبت نام کنید
ادامه ...
پشتیبانی محصول

۱- در صورت داشتن هرگونه مشکلی در پرداخت، لطفا با پشتیبانی تلگرام در ارتباط باشید.

۲- برای خرید محصولات لطفا به شماره محصول و عنوان دقت کنید.

۳- شما می توانید فایلها را روی نرم افزارهای مختلف اجرا کنید(هیچگونه کد یا قفلی روی فایلها وجود ندارد).

۴- بعد از خرید، محصول مورد نظر از صفحه محصول قابل دانلود خواهد بود همچنین به ایمیل شما ارسال می شود.

۵- در صورت وجود هر مشکلی در فرایند خرید با تماس بگیرید.