مرجع: Developing High-Frequency Trading Systems

مقدمه

در فصل دوم، نحوه ایجاد سیستم‌های معاملات فرکانس بالا (HFT) و اجزای حیاتی آن‌ها را مورد بررسی قرار دادیم. همچنین نحوه ساخت دفترچه سفارشات (Order Book) را آموختیم که در واقع نسخه‌ای بازسازی‌شده از همان اطلاعاتی است که صرافی از کلیه شرکت‌کنندگان بازار جمع‌آوری می‌کند.

در این فصل، به بررسی عمیق کارکرد درونی بورس و صرافی (Exchange) خواهیم پرداخت. اجزای عملکردی یک بورس را تشریح کرده و تمرکز ویژه‌ای بر موتور تطبیق سفارشات (Matching Engine) خواهیم داشت. درک سازوکار تطبیق سفارش‌ها در صرافی، یکی از حیاتی‌ترین مهارت‌هایی است که برای تدوین استراتژی‌های سودآور HFT به آن نیاز خواهید داشت؛ چرا که پیروزی و شکست در این بازارها در کسری از نانوثانیه رقم می‌خورد.

این فصل مباحث زیر را پوشش می‌دهد:

  • شناخت ماهیت و نقش صرافی‌های معاملاتی
  • معماری فنی صرافی برای پردازش انبوه سفارش‌ها
  • بررسی جامع موتور تطبیق و سناریوهای اجرای سفارش
  • الگوریتم‌های تطبیق: FIFO، تسهیم تناسبی (Pro-Rata) و مدل‌های هیبریدی

۱. معماری صرافی برای پردازش سفارش‌ها در مقیاس کلان

بورس‌های سهام بازارهایی هستند که در آن‌ها مالکان فعلی سهام با خریداران بالقوه دادوستد می‌کنند. صرافی‌ها بازارهای ثانویه یا ثالثیه هستند (نه بازار اولیه). شرکت‌هایی که سهام آن‌ها در بورس معامله می‌شود، هر روز سهام خود را نمی‌خرند و نمی‌فروشند؛ آن‌ها تنها در مواقع نیاز به افزایش سرمایه اقدام به انتشار سهام جدید می‌کنند یا در موارد خاص سهام خود را بازخرید می‌نمایند. در یک بورس، شما همواره سهم را از سهامدار دیگری می‌خرید و هنگام فروش نیز آن را به سرمایه‌گذار دیگری واگذار می‌کنید.

تاریخچه صرافی‌های معاملاتی (History of Trading Exchanges)

  • قرن‌های ۱۶ و ۱۷ میلادی در اروپا: نخستین بورس‌های جهان در شهرهای بندری و مراکز بازرگانی نظیر آنتورپ، آمستردام و لندن پدیدار شدند. با این حال، از آنجا که شمار اندکی از شرکت‌ها سهام منتشر می‌کردند، این بازارهای اولیه بیشتر شبیه بورس اوراق قرضه دولتی بودند و شرکت‌ها ماهیتی شبه‌دولتی داشتند.
  • اواخر قرن ۱۸ در آمریکا: بورس فیلادلفیا (PHLX) به عنوان نخستین بورس آمریکا آغاز به کار کرد. اندکی بعد در سال ۱۷۹۲ با امضای توافق‌نامه تاریخی و قانون بورس سهام نیویورک، NYSE متولد شد.
  • عصر مدرن: با ورود مقررات و استانداردهای حرفه‌ای، اطمینان خریداران و فروشندگان از انجام معاملات با قیمت منصفانه و در زمان معقول جلب شد. امروزه ده‌ها بورس در آمریکا و سراسر جهان به صورت کاملاً الکترونیکی به یکدیگر متصل هستند که حاصل آن کارایی و نقدینگی فوق‌العاده بازارهاست.

تعیین قیمت در بورس:

قیمت‌ها در بورس از طریق سازوکار حراج پیوسته (Continuous Auction) مشخص می‌شوند. خریداران با ثبت قیمت خرید (Bid) و فروشندگان با ثبت قیمت فروش (Offer یا Ask) به رقابت می‌پردازند؛ و در لحظه‌ای که بالاترین قیمت خرید با پایین‌ترین قیمت فروش برابر شود، معامله نهایی می‌گردد.


۲. ویژگی‌ها و اجزای عملکردی یک صرافی (Features of an Exchange)

یک بورس مدرن نهادی چندبعدی است که بازیگران بازار را گرد هم می‌آورد تا ریسک‌ها را کاهش داده، معاملات را تسهیل کند و در کشف قیمت (Price Discovery) نقش داشته باشد. ارکان اصلی یک صرافی عبارتند از:

  1. پذیرش شرکت‌ها (Listings):
    شرکت‌های سهامی که با طی مراحل عرضه اولیه (IPO) عمومی شده‌اند. عواملی همچون ارزش‌گذاری، نقدینگی و هزینه‌های انطباق در انتخاب بورس برای عرضه سهام تعیین‌کننده‌اند.
  2. موتور تطبیق (Matching Engine):
    جایگزین دیجیتالی تالارهای قدیمی (Pit) که کارگزاران در آن با فریاد زدن سفارش‌ها را تبادل می‌کردند. این موتور تمام‌الکترونیکی، سفارش‌های باز را در دفترچه منتشر کرده و سفارش‌های منطبق را در مقیاس نانوثانیه به معامله تبدیل می‌کند.
  3. فرآیندهای پس از معامله (Post-Trade):
    عملیات پرداختی، پایاپای و تسویه نهایی (Settlement & Clearing) و تطبیق مغایرت‌ها (Reconciliation) که تضمین می‌کند وجوه و دارایی‌ها بدون خطا جابه‌جا شوند.
  4. تجارت داده‌های بازار (Market Data):
    صرافی حجم عظیمی از داده‌های معاملاتی، عمق دفترچه، اعلان‌ها و شاخص‌ها را تولید می‌کند و به شرکت‌های معاملاتی می‌فروشد. همچنین با ارائه خدمات هم‌مکانی (Colocation)، سرعت دستیابی به این داده‌ها را به بالاترین قیمت به غول‌های HFT عرضه می‌کند.
  5. مشارکت‌کنندگان بازار (Market Participants):
    • اعضای معامله‌گر (Trading Members): کارگزاران و شرکت‌های معاملات اختصاصی (Prop firms).
    • اعضای تسویه (Clearing Members): نهادهای بزرگ مالی با استانداردهای سرمایه‌ای سخت‌گیرانه.
    • وثیقه‌گذاری (Collateral): کلیه اعضا باید نزد صرافی وثیقه بگذارند تا در صورت ورشکستگی یا تخلف یک طرف، صرافی با تکیه بر این وثایق خسارت طرف مقابل را جبران کرده و پایداری بازار را حفظ کند.
  6. مقررات و نظارت (Regulation):
    جلوگیری از پولشویی، مقابله با معاملات متکی بر اطلاعات نهانی (Insider Trading) و دستکاری بازار، به همراه الزام شرکت‌ها به شفافیت و افشای به‌موقع اطلاعات.

نیازمندی‌های معماری فنی صرافی

سیستم صرافی باید الزامات تجاری زیر را برآورده سازد:

  • پشتیبانی از بخش‌های Front، Middle و Back Office.
  • ارائه رابط‌های کاربری معاملاتی (Desktop، وب و موبایل).
  • پشتیبانی از مدل تجاری Trading as a Service (TaaS) از طریق APIهای استاندارد (نظیر FIX).
  • مقیاس‌پذیری فوق‌العاده بالا برای مدیریت میلیون‌ها پیام در ثانیه.

بررسی معماری صرافی (Exchange Architecture Diagram)

در تصویر زیر، معماری درونی یک صرافی به همراه صف‌های تفکیک‌شده برای نمادهای تسلا، مایکروسافت و اپل نمایش داده شده است:

شکل ۳.۱: معماری فنی یک صرافی معاملاتی

مراحل پردازش سفارش در صرافی:

  1. سیستم معاملاتی تریدر (مانند T1) دو کانال اتصال با صرافی برقرار می‌کند: یکی برای دریافت تغییرات قیمت و دیگری برای ارسال سفارش‌ها.
  2. به محض ورود سفارش به بورس، بسته به کلاس دارایی و نماد مربوطه، به صف‌های پردازشی اختصاصی (Queues) هدایت می‌شود؛ هر صف برای یک سطح قیمتی و یک نماد مشخص ایجاد شده است.
  3. موتور تطبیق سفارش‌ها را یکی‌یکی (One at a time) برمی‌دارد و پردازش می‌کند.
  4. در صورت بروز هرگونه تغییر در دفترچه سفارشات، این تغییر فوراً به تریدر فرستنده اعلام شده و همزمان برای تمامی فعالان بازار و بخش تسویه (Clearing) مخابره می‌شود.

ضرورت استفاده از پروتکل‌های باینری

به دلیل لزوم دستیابی به تاخیرهای زیر میکروثانیه، پروتکل‌های متنی نظیر FIX به تنهایی برای ارسال سفارش در HFT کارآمد نیستند و بورس‌های پیشرو جهان از پروتکل‌های باینری اختصاصی (Binary Protocols) بهره می‌برند تا سربار تبدیل متن و پارس کردن رشته‌ها در CPU حذف شود.


۳. کارکرد درونی موتور تطبیق (General Order Book & Matching Engine)

در گذشته تطبیق سفارش‌ها به صورت سنتی و با فریاد و علائم دست در تالار معاملات (Open Outcry) انجام می‌شد، اما سامانه‌های رایانه‌ای مدرن این فرآیند را خودکار کرده و سرعت معاملات را به بالاترین سطح و هزینه‌ها را به حداقل رسانده‌اند.

سازوکار موتور تطبیق در تصویر زیر خلاصه شده است:

شکل ۳.۲: الگوریتم موتور تطبیق با ورودی‌ها و خروجی‌ها

  • ورودی‌ها:
    1. سفارش جدید ورودی (Incoming Order) از سوی تریدر
    2. دفترچه سفارشات فعلی صرافی (Order Book)
  • خروجی‌ها:
    3. فهرست معاملات نهایی‌شده (Trades)
    4. فهرست سفارش‌های باقیمانده در دفترچه (Resting Orders)

۴. سناریوهای تطبیق سفارش در بورس

برای درک رفتار موتور صرافی، بررسی سناریوهای پایه زیر ضروری است:

۱. سناریوی بهترین قیمت (Best Price Scenario)

موتور تطبیق همواره سفارش ورودی را با بهترین قیمت در دسترس جفت می‌کند:

شکل ۳.۳: سناریوی تطبیق با بهترین قیمت

  • شرح سناریو: یک سفارش خرید (سفارش شماره ۱) با قیمت ۱۰۰ دلار وارد صرافی می‌شود.
  • در سمت فروش دفترچه، دو سفارش شماره ۲ (قیمت ۱۰۰ دلار) و شماره ۳ (قیمت ۹۹ دلار) قرار دارند.
  • از آنجا که خرید در ۹۹ دلار برای خریدار ارزان‌تر و سودآورتر است، موتور سفارش شماره ۱ را با سفارش شماره ۳ در قیمت ۹۹ دلار جفت می‌کند و معامله انجام می‌شود. سفارش شماره ۲ در دفترچه دست‌نخورده باقی می‌ماند.

۲. سناریوی پر شدن جزئی (Partial Fill Scenario)

زمانی رخ می‌دهد که حجم سفارش ورودی با حجم سفارش‌های مقابل برابر نباشد:

شکل ۳.۴: سناریوی معامله و پر شدن جزئی

  • شرح سناریو: سفارش شماره ۱ برای خرید ۴ سهم وارد می‌شود.
  • در دفترچه، سفارش‌های شماره ۳ و ۲ روی هم تنها ۳ سهم برای فروش دارند.
  • نتیجه: سفارش‌های ۳ و ۲ کاملاً پر و بسته می‌شوند؛ اما ۱ سهم باقیمانده از سفارش شماره ۱ به عنوان سفارش فعال (Resting Order) در دفترچه سفارشات می‌نشیند تا فروشنده دیگری وارد بازار شود.

۳. سناریوی عدم تطبیق (No Match Scenario)

شکل ۳.۵: سناریوی عدم تطبیق سفارش

  • شرح سناریو: خریدار قیمتی معادل ۹۸ دلار پیشنهاد می‌دهد، اما پایین‌ترین فروشنده در دفترچه در ۹۹ دلار نشسته است.
  • به دلیل عدم توافق قیمتی ()، هیچ معامله‌ای انجام نمی‌شود و سفارش شماره ۱ مستقیماً وارد دفترچه می‌شود.

۴. سفارش‌های متعدد در قیمت یکسان (Multiple Orders with Same Price)

هنگامی که چند معامله‌گر سفارشی با قیمت دقیقاً یکسان ثبت کرده باشند، موتور تطبیق چگونه اولویت‌بندی می‌کند؟

شکل ۳.۶: سفارش‌های متعدد در یک قیمت یکسان در دفترچه

روش تقسیم و اجرا کاملاً به الگوریتم انتخابی صرافی بستگی دارد که در بخش بعدی تشریح شده‌اند.


۵. انواع الگوریتم‌های تطبیق سفارش در صرافی‌ها

الگوریتم موتور تطبیق، تعیین‌کننده نوع رفتار و اکوسیستم معامله‌گران در آن صرافی است:

۱. الگوریتم اولویت زمان/قیمت یا FIFO (First In, First Out)

این متداول‌ترین الگوریتم در بورس‌های سهام جهان است.

شکل ۳.۷: سازوکار الگوریتم FIFO در تطبیق سفارشات

  • مکانیزم: تمام سفارش‌ها به محض ورود به موتور با دقت نانوثانیه برچسب زمانی (Timestamp) می‌خورند؛ بنابراین هیچ دو سفارشی زمان ورود یکسان ندارند.
  • هر سفارشی که زودتر ثبت شده باشد، زودتر اجرا می‌شود. در شکل، سفارش شماره ۳ قدیمی‌تر از سفارش شماره ۲ است؛ بنابراین سفارش ورودی شماره ۱ با سفارش شماره ۳ جفت می‌شود.

قانون سوختن اولویت صف در FIFO

در بورس‌های مبتنی بر FIFO، هرگونه تغییر قیمت در سفارش منجر به از دست رفتن قطعی اولویت زمانی و پرتاب به انتهای صف می‌شود. در بسیاری از بورس‌ها، حتی افزایش حجم سفارش نیز اولویت زمانی را می‌سوزاند؛ به همین دلیل الگوریتم‌های HFT سفارش‌های قبلی را به ندرت ویرایش می‌کنند و ترجیح می‌دهند با محاسبات دقیق از ابتدا سفارش را درست ثبت نمایند.


۲. الگوریتم تناسبی خالص (Pure Pro-Rata)

در برخی بازارها (به‌ویژه بازارهای مشتقات، بهره و اوراق)، صرافی برای خنثی کردن مزیت سرعت شرکت‌های HFT و جذب معامله‌گران نهادی سنگین، از مدل تسهیم به نسبت (Pro-Rata) استفاده می‌کند:

شکل ۳.۸: سازوکار الگوریتم تسهیم تناسبی (Pure Pro-Rata)

  • مکانیزم: سفارش ورودی میان تمام سفارش‌های مقابل در آن سطح قیمت، به نسبت اندازه سفارش آن‌ها تقسیم می‌شود؛ بدون در نظر گرفتن زمان ورود (Timestamp)!
  • فرمول تخصیص:

    (فرمول تسهیم تناسبی Pro-Rata)
  • در شکل ۳.۸، سفارش خرید ۱۰۰ دلاری به صورت مساوی یا متناسب میان دو سفارش در صف تقسیم می‌شود تا مشارکت‌کنندگان کندتر اما حجیم احساس امنیت کنند.

۳. الگوریتم هیبریدی Pro-Rata با اولویت سفارش اول (Pro-Rata with Top-Order)

شکل ۳.۹: گونه ترکیبی الگوریتم تناسبی با اولویت سفارش نخست

  • مکانیزم: در این مدل ترکیبی، قدیمی‌ترین سفارش در صف (اولین ورودی از نظر زمان) به طور ۱۰۰٪ کامل پر می‌شود تا پاداش سرعت حفظ شود؛ سپس باقیمانده حجم سفارش ورودی میان سایر سفارش‌های موجود بر اساس فرمول تناسبی (Pro-Rata) توزیع می‌گردد.
  • همچنین بورس‌ها می‌توانند ضرایب وزنی به حجم‌های بزرگتر اضافه کنند تا مشوق‌های نقدینگی تقویت شوند.

خلاصه و جمع‌بندی فصل سوم (Summary)

  1. در معاملات HFT، حتی یک نانوثانیه می‌تواند تفاوت سود و زیان باشد. شناخت عمیق از ریزساختار بازار (Microstructure)، صف‌های اولویت و منطق موتور تطبیق برای طراحی الگوریتم‌های موفق الزامی است.
  2. دانستیم که ویرایش قیمت در مدل FIFO اولویت زمانی را می‌سوزاند و بورس‌ها با الگوریتم‌های گوناگون (FIFO یا Pro-Rata) الگوهای رفتاری متفاوتی را تشویق می‌کنند.
  3. با پایان فصل سوم، بخش اول کتاب (Trading Strategies, Trading Systems, and Exchanges) تکمیل گردید. در بخش دوم و فصل چهارم (04 - زیرساخت سخت‌افزار و OS) وارد لایه‌های بنیادین سخت‌افزار کامپیوتر، پردازنده‌ها و مدیریت سیستم‌عامل برای بهینه‌سازی سرعت خواهیم شد.