מדוע אין לקריפטו NBBO: היעדר SIP וסרט מסחר מאוחד
בשוק הקריפטו אין מנגנון NBBO או סרט מסחר מאוחד כפי שקיים במניות. גלו מדוע בורסות מציגות מחירים שונים בו-זמנית וכיצד מדדי ייחוס מחליפים את התשתית המרכזית החסרה.
לשוק הקריפטו אין NBBO. המושג National Best Bid and Offer הוא תוצר של ספר חוקים אחד בלבד, Regulation NMS, המסדיר את הבורסות בארה"ב שבהן נסחרות מניות NMS. אין שום מנגנון מקביל שחל על זירות מסחר בקריפטו. שתי בורסות יכולות לצטט מחירים שונים לאותו מטבע באותו רגע נתון; שני הציטוטים אמיתיים, ואף אחד מהם אינו "המחיר" – אין בקריפטו שום מנגנון שתפקידו לייצר מחיר יחיד.
מדוע אין לקריפטו NBBO: שני החלקים החסרים
מניות בארה"ב מקבלות מחיר אחד בכל רגע נתון הודות לשני רכיבי תשתית.
הראשון הוא ה-consolidated tape. כל בורסה רשומה שולחת את הציטוטים והעסקאות שלה למעבד נתוני ניירות ערך (SIP), המאחד אותם לזרם ציבורי אחד. הצעת הקנייה (Bid) הגבוהה ביותר בזרם זה והצעת המכירה (Offer) הנמוכה ביותר בו הן ה-NBBO. המדריך שלנו בנושא ה-SIP לעומת הזנות ישירות מהבורסות מסביר כיצד נתונים אלו מגיעים למנויים שונים במהירויות שונות.
השני הוא תקנה 611, "כלל הגנת ההוראות" (order protection rule): זירת מסחר אינה רשאית לבצע עסקה במחיר נחות מציטוט מוגן של זירה אחרת. כלל זה הופך את ה-NBBO מנתון סטטיסטי מפורסם למגבלה על המקום שבו הוראה יכולה להתבצע (print).
בקריפטו אין אף אחד מאלה. אין מעבד שמאחד הזנות מבורסות, ואין כלל שמונע מזירה לבצע עסקה במחיר גרוע יותר מזה הקיים במקום אחר. כל בורסה מבצעת התאמה (matching) להוראות שלה מול ספר הפקודות שלה בלבד, ושם זה נעצר.
כדאי לבחון מקרוב את הגרסה של שוק המניות. הפאנל להלן לוקח מניה מוכרת, AAPL, לאורך חצי שעה קבועה בבוקר ה-10 ביוני 2026, ומפלח כל מניה שבוצעה לפי הזירה שבה היא נסחרה.
ה-SQL המדויק מאחורי כל מספר
WITH
win AS
(
SELECT
toUInt16(exchange) AS ex_id,
toFloat64(price) * toFloat64(size) AS notional,
toFloat64(size) AS shares
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 14:00:00'
AND sip_timestamp < '2026-06-10 14:30:00'
AND price > 0
AND size > 0
),
venues AS
(
SELECT
toUInt16(id) AS ex_id,
name
FROM global_markets.stocks_exchanges
WHERE asset_class = 'stocks'
),
by_venue AS
(
SELECT
ex_id,
sum(notional) AS notional,
sum(shares) AS shares,
count() AS print_count
FROM win
GROUP BY ex_id
)
SELECT
ifNull(nullIf(v.name, ''), concat('Venue ', toString(b.ex_id))) AS venue,
round(100 * b.shares / sum(b.shares) OVER (), 2) AS pct_of_shares,
b.print_count AS print_count,
round(abs(10000 * ((b.notional / b.shares)
/ (sum(b.notional) OVER () / sum(b.shares) OVER ()) - 1)), 2) AS abs_gap_bps
FROM by_venue AS b
LEFT JOIN venues AS v ON v.ex_id = b.ex_id
ORDER BY abs_gap_bps DESCמניות החליפו ידיים ב-17 זירות בתוך שלושים דקות. הפאנל מדרג אותן לפי המרחק מהמחיר הממוצע המשוקלל לפי נפח (VWAP) של אותה תקופה. הזירה המרוחקת ביותר, 24X National Exchange LLC, נמצאה במרחק של 5.21 נקודות בסיס ממנו, תוך טיפול ב-0.01% מהמניות. הקרובה ביותר, Investors Exchange, ביצעה עסקאות בטווח של 0.01 נקודות בסיס. נקודת בסיס היא מאית האחוז. הריכוזיות הזו אינה נובעת מנימוס בין מתחרים. זוהי תוצאה של תקנה 611 והציטוט המאוחד, המאלצים תריסר ספרי פקודות נפרדים להתכנס למחיר אחד.
מדוע שתי זירות קריפטו מציגות מחירים שונים באותו רגע?
ספרי הפקודות נפרדים, וההון שהיה מאחד ביניהם נע באיטיות. קנייה בזירה הזולה ומכירה בזירה היקרה באותו רגע דורשות מטבעות שכבר נמצאים בזירת המכירה ומזומן שכבר נמצא בזירת הקנייה. העברות דורשות אישורי רשת וחלונות בדיקה למשיכה, הנמדדים בדקות עד ימים, וכל העברה כרוכה בעמלה. פער נותר על כנו עד שמישהו שכבר ממוצב בשני הצדדים מוצא לנכון לנצל אותו.
המרווח (spread) המצוטט הוא גם החלק הקטן יותר בעלות האמיתית. ניקח דוגמה היפותטית: זירה שגובה 0.10% עבור לקיחת נזילות (taker) בכל צד, גובה 20 נקודות בסיס על סבב מלא, מה שמגמד מרווח מצוטט של 2 נקודות בסיס.
האם ציטוטים נעולים (locked) או מוצלבים (crossed) הם דבר שבשגרה בקריפטו?
שוק מוגדר כ"נעול" כאשר ה-Bid הטוב ביותר שווה ל-Offer הטוב ביותר, ו"מוצלב" כאשר ה-Bid גבוה מה-Offer. עבור ציטוטי מניות מוצגים, שני המצבים הם הפרה, והבורסות מנקות אותם בתוך רגעים, כפי שמתואר ב-שווקים נעולים ומוצלבים. אם תרכיבו ידנית את ראש הספר (top of book), תראו את עבודת הרצף שמבצעת הזנה מאוחדת. הפאנל להלן מקבץ את אותו טיקר ואותה תקופה לדליים של שנייה אחת, ולוקח את ה-Bid הגבוה ביותר וה-Offer הנמוך ביותר בכל אחד מהם, ללא קשר לזירה שפרסמה אותם או לתזמון המדויק.
ה-SQL המדויק מאחורי כל מספר
WITH
q AS
(
SELECT
toDateTime(toTimeZone(sip_timestamp, 'America/New_York')) AS sec,
toFloat64(bid_price) AS bid,
toFloat64(ask_price) AS ask
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 14:00:00'
AND sip_timestamp < '2026-06-10 14:30:00'
AND bid_price > 0
AND ask_price > bid_price
),
per_sec AS
(
SELECT
sec,
max(bid) AS top_bid,
min(ask) AS top_ask,
avg(ask - bid) AS venue_spread,
avg((ask + bid) / 2) AS mid
FROM q
GROUP BY sec
)
SELECT
formatDateTime(toStartOfMinute(sec), '%H:%i') AS et_time,
round(100 * countIf(top_bid >= top_ask) / count(), 1) AS locked_or_crossed_pct,
round(avgIf(10000 * (top_ask - top_bid) / mid, top_bid < top_ask), 2) AS top_of_book_spread_bps,
round(avg(10000 * venue_spread / mid), 2) AS venue_quote_spread_bps
FROM per_sec
GROUP BY toStartOfMinute(sec)
HAVING countIf(top_bid < top_ask) > 0
ORDER BY toStartOfMinute(sec)בדקה ה-10:00, 88.3% מהשניות היו נעולות או מוצלבות תחת מבנה גולמי זה. היתרה הלא-מוצלבת עמדה בממוצע על 0.49 נקודות בסיס, לעומת 1.27 נקודות בסיס עבור הציטוט הממוצע של זירה בודדת באותן שניות. ראש ספר מורכב לעולם לא יכול להיות רחב יותר מהציטוט של זירה בודדת באותו רגע: ה-Bid הטוב ביותר מגיע מהזירה הגבוהה ביותר, וה-Offer הטוב ביותר מהנמוכה ביותר. במניות, מעבד נתונים מתזמן ומסדר את הזרם הזה והנעילות נפתרות. בקריפטו, איש אינו מרכיב את הזרם. Bid בזירה אחת שעומד מעל Offer בזירה אחרת הוא מצב רגיל, לא שגיאה הממתינה לתיקון.
מה מחליף את ה-NBBO: מדדים ושערי ייחוס
בהיעדר מחיר מיטבי חוקי, הקריפטו נשען על שערי ייחוס (reference rates) מפורסמים. שער ייחוס הוא מספר המחושב לפי מתודולוגיה כתובה: קבוצה מוגדרת של זירות הנצפות לאורך חלון זמן מוגדר, ומצטברות לפי נוסחה מוצהרת, כגון חציון משוקלל לפי נפח של עסקאות. המתודולוגיה היא המוצר כולו. קרנות סל (ETF) של קריפטו בנכס בסיס (spot) קובעות את שווי הנכסים הנקי (NAV) מול שער מסוג זה, ומוצרים מבוססי מדד הנסלקים במזומן נסלקים מולו.
מכאן נובעות שתי תכונות. שער ייחוס הוא מוסכמה ולא תגלית, שכן שינוי בקבוצת הזירות או הזזת חלון הזמן יניבו מספר שונה, ושניהם יישארו ברי-הגנה תחת המתודולוגיות המפורסמות שלהם. הוא גם מתאר עסקאות שכבר קרו, בזירות שסוחר מסוים עשוי שלא להחזיק בהן חשבון, מה שהופך אותו לסימון (mark) ולא לציטוט שמישהו יכול לבצע מולו.
גם העומק שונה. ההזנה המאוחדת של המניות נושאת רק את ראש הספר, ועומק מלא מגיע מההזנה של כל בורסה בנפרד, פיצול המכוסה ב-נתוני שוק ברמה 1 לעומת רמה 2. זירות קריפטו מפרסמות את מלוא ספר הפקודות שלהן דרך ממשקי API ציבוריים ללא שום איחוד מעליהן, ובהיעדר מוצר מאוחד מורשה, אין מקביל לעיכוב המוסבר ב-מדוע ציטוטי מניות מתעכבים ב-15 דקות.
האם קיימת ביצוע מיטבי (best execution) ללא NBBO?
במניות, אמת המידה היא ציבורית: ה-NBBO ברגע שבו טופלה ההוראה, שניתן לשחזור לאחר מכן מה-tape. בקריפטו, אמת המידה היא המדיניות של הנתב (router) עצמו. הזירות שאליהן הוא מתחבר ודרגת העמלות שהוא משלם בכל אחת מהן קובעות את הביצוע. שני נתבים עם רשימות זירות שונות יפיקו ביצועים שונים באותו רגע, ואף אחד מהם לא הפר כלל מהסוג הקיים במניות.
מדוע אין מחיר סגירה בקריפטו
לשוק הפועל 24/7 אין סגירה. שום דבר לא מסמן את סוף יום המסחר, וכל נר יומי שמספק נתונים מצייר מתחיל מחותמת זמן שהספק בחר, בדרך כלל 00:00 UTC. הסגירה במניות היא מנגנון מתוזמן. הפאנל להלן עובר על חצי השעה האחרונה של אותו יום מסחר ב-10 ביוני, דקה אחר דקה.
ה-SQL המדויק מאחורי כל מספר
WITH bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(volume) AS vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= '2026-06-10 19:30:00'
AND window_start < '2026-06-10 20:01:00'
)
SELECT
formatDateTime(et, '%H:%i') AS et_time,
round(vol / 1e6, 2) AS volume_millions,
round(100 * vol / sum(vol) OVER (), 2) AS share_of_window_pct
FROM bars
ORDER BY etהנפח מתרכז ככל שמתקרב המכרז. בדקה ה-15:30 נסחרו 0.1 מיליון מניות. בדקה ה-16:00 נסחרו 0.46 מיליון, 8.6% מכלל חצי השעה. אותו נר אחרון נושא את מכרז הסגירה: מחיר אחד, רגע אחד, וכל משתתף שרוצה את הסגירה הרשמית עומד באותו תור. קרנות מתמחרות מול אותו ביצוע, וספקי מדדים מבצעים איזון מחדש לפיו. סימון סוף יום עבור פוזיציית קריפטו הוא במקום זאת הזירה, חותמת הזמן והמתודולוגיה שמדיניות חשבונאית כלשהי מגדירה, ושני דוחות המכסים את אותה פוזיציה באותה שעה יכולים להיות שונים ביותר מהמרווח המצוטט.
כיצד נבנו פאנלים אלו
פאנל הזירות סופר כל ביצוע של AAPL בין 10:00 ל-10:30 בבוקר שעון ET ב-10 ביוני 2026 וממפה כל קוד בורסה לשמה; קוד ללא שם מופיע כזירה ממוספרת. פאנל הציטוטים מקבץ את אותו חלון זמן לדליים של שנייה אחת ומתעלם מהסדר שבו הגיעו הציטוטים, מה שנעשה גולמי בכוונה בהשוואה להזנה מאוחדת אמיתית. ציטוטים עם מחיר לא חיובי או הפוך מושמטים, ודקות ללא שנייה לא-מוצלבת מוחרגות. פאנל הסגירה משתמש בנרות של דקה, והנר האחרון נושא את ביצוע מכרז הסגירה.
שאלות נפוצות
האם לקריפטו יש NBBO?
לא. ה-National Best Bid and Offer מוגדר תחת Regulation NMS עבור מניות הנסחרות בארה"ב, ומסחר בקריפטו נמצא מחוץ לספר חוקים זה. שום מעבד אינו מאחד ציטוטי זירות קריפטו לזרם אחד, ושום כלל אינו מונע מזירה לבצע עסקה במחיר טוב יותר במקום אחר.
מדוע מחירי קריפטו שונים בין בורסות באותו רגע?
כל זירה מבצעת התאמה להוראות מול ספר הפקודות שלה בלבד, וההון שהיה סוגר פער חייב להיות ממוקם מראש בשתי הזירות. העברות עולות זמן ועמלות, והפרש נשאר כל עוד הוא שווה יותר מעלות הסבב המלא הנדרש לניצולו.
מהו המקביל בקריפטו ל-consolidated tape?
מדדים ושערי ייחוס מפורסמים הם הקרובים ביותר. כל אחד מהם מחושב מקבוצת זירות מוגדרת לאורך חלון זמן מוגדר לפי מתודולוגיה מוצהרת, ושני ספקים יכולים לפרסם מספרים שונים עבור אותו נכס באותה שנייה. לאף אחד מהם אין את הכוח המשפטי שיש ל-NBBO במניות.
האם יש מחיר סגירה בקריפטו?
לא במובן שיש למניות. שוק של 24/7 אינו מקיים מכרז סגירה, וכל סגירה יומית היא מוסכמת חותמת זמן שנבחרה על ידי ספק נתונים, בדרך כלל 00:00 UTC. מחיר סגירה של מניה נובע ממכרז אמיתי שמתאים את כל הביקוש לסגירה למחיר אחד.
כל פאנל כאן מגיע עם ה-SQL שיצר אותו. את אותן שאלות, זירה אחר זירה ודקה אחר דקה, ניתן לשאול על כל טיקר וכל חלון זמן במסוף Strasmore.