Strasmore Research
למידה Matt Connorמאת Matt Connor · עודכן 2026-07-25 · data as of July 25, 2026 · refreshed weekly

שוק נעול ושוק צולב: ההסבר עם הנתונים

שוק נעול קורה כשקנייה ומכירה משתוות; שוק צולב כשהקנייה עולה על המכירה. למה Reg NMS אוסר על שניהם, ובאיזו תדירות הם באמת מופיעים בטייפ? הניתוח המלא בפנים.

שוק נעול הוא רגע שבו הצעת הקנייה הטובה ביותר של מניה שווה להצעת המכירה הטובה ביותר שלה – מרווח הצעה-בקשה של אפס בדיוק. שוק צולב הולך רחוק יותר: הצעת הקנייה הטובה ביותר ניצבת מעל הצעת המכירה הטובה ביותר. כללי השוק בארה"ב אוסרים על בורסות להציג אף אחד מהם, אך שניהם מופיעים באופן שגרתי ברישום הציטוט המאוחד. עמוד זה מגדיר את שניהם, מסביר את הכלל, ומודד באיזו תדירות כל אחד מופיע.

מהו שוק נעול?

כל מניה אמריקאית נושאת שני מחירים בו-זמנית: הביקוש, המחיר הגבוה ביותר שקונה כלשהו מוכן לשלם, וההיצע, המחיר הנמוך ביותר שמוכר כלשהו מוכן לקבל. ההיצע בדרך כלל נמצא מעל הביקוש; הפער ביניהם הוא מרווח הביקוש-היצע, העלות המובנית של מסחר מיידי.

שוק נעול הוא הרגע שבו הפער הזה נסגר לאפס: מניה המצוטטת בביקוש של $10.00 / היצע של $10.05 נושאת מרווח של חמישה סנט, ואם ההיצע הטוב ביותר יורד ל-$10.00 בעוד הביקוש מחזיק, הציטוט נעול ב-$10.00 / $10.00.

בזירת מסחר בודדת מצב זה אינו יכול להתקיים — קנייה ב-$10.00 הפוגשת מכירה ב-$10.00 מתבצעת במקום. ציטוט נעול שורד רק בין זירות. מניות אמריקאיות נסחרות ביותר מתריסר זירות בו-זמנית, וה-NBBO — הציטוט הלאומי הטוב ביותר, הציטוט שאפליקציית הברוקראז' שלכם מציגה — תופר את הביקוש וההיצע הטובים ביותר מכולן. ביקוש של $10.00 בזירה אחת והיצע של $10.00 בזירה אחרת נועלים את הציטוט הלאומי בעוד שאף זירה אינה מציגה ספר פקודות נעול.

מהו שוק צולב?

שוק צולב הופך את הסידור הרגיל: הצעת הקנייה הטובה ביותר ניצבת מעל הצעת המכירה הטובה ביותר — למשל, הצעת קנייה ב-10.02 דולר מול הצעת מכירה ב-10.00 דולר. על הנייר, כל אחד יכול לקנות ב-10.00, למכור ב-10.02, ולגרוף שתי סנט למניה ללא סיכון. הכסף החופשי הזה הוא בדיוק הסיבה שציטוט צולב אינו יכול להחזיק מעמד: חברות מקצועיות — ביניהן עושי השוק המצטטים את שני הצדדים של רוב המניות — לוקחות את הארביטראז' ברגע שהוא אמיתי, ונטילתו מכלה את שני הציטוטים. מה שנותר בנתונים הוא ההבזק: רישום צולב שנלכד בין עדכון של זירת מסחר אחת לעדכון של האחרת.

מדוע תקנת NMS אוסרת ציטוטים נעולים ומוצלבים

האיסור קבוע בתקנת NMS (Regulation NMS), ספר הכללים של ה-SEC (שאומץ ב-2005) למסחר בבורסות מניות בארה"ב. כלל 610(ד) מחייב כל בורסה למנוע מחבריה להציג ציטוטים הנועלים או מצליבים ציטוטים מוגנים — הצעות הקנייה והמכירה האוטומטיות הטובות ביותר בבורסות האחרות — במהלך שעות המסחר הרגילות. הכוונה: הצעת קנייה השווה להצעת מכירה של מישהו אחר יכולה להתבצע מיד, וספר הכללים דורש לנתב ולבצע אותה, לא להציגה כסתירה עומדת.

גבול אחד בכלל חשוב לנתונים שלהלן: הוא מסדיר הצגה, לא קיום. כל זירת מסחר שולטת במה שספר הפקודות שלה עצמה מציג; הרשומה המאוחדת מורכבת לרוחב הזירות בזמן אמת, מהזנות המתחרות זו בזו. NBBO נעול יכול להופיע שם מבלי שאף משתתף יחיד יפר את הכלל.

מדוע ציטוטים נעולים וחוצים עדיין מופיעים בהזנת הנתונים

מהירות. בורסות מעדכנות ציטוטים במיקרו-שניות, וההזנה המאוחדת נבנית מחדש בכל עדכון. שני אירועים שגרתיים מכניסים לתוכה רשומות נעולות וחוצות:

  • מרוצים. בורסה אחת מעלה את הצעת הקנייה שלה ל-$10.00 בעוד בורסה אחרת עדיין מציגה הצעת מכירה של $10.00. כשמחברים אותן יחד, ה-NBBO נראה נעול עד שהצד האיטי יותר מתעדכן; אותו מרוץ שחורג בסנט אחד נראה חוצה.
  • רשומות מיושנות וחד-צדדיות. חלק מהרשומות נושאות רק צד אחד — הצעת קנייה ללא הצעת מכירה, או להפך. ניירות דלילים מבלים שם חלק גדול בהרבה מהיום, כפי שמראה המפקד להלן.

כללי הספירה בעמוד זה: נעול = הצעת קנייה שווה להצעת מכירה, שני הצדדים חיוביים; חוצה = הצעת קנייה מעל הצעת מכירה חיובית; חד-צדדי = צד אחד אפס או חסר. שום דבר לא מושמט בשקט — רשומות חד-צדדיות מקבלות עמודה משלהן.

באיזו תדירות מתרחשים ציטוטים נעולים וצולבים?

נתחיל מהקלטת המלאה: כל עדכון NBBO, עבור כל נייר רשום, ביום 2026-07-14 — יום המסחר השלם האחרון בחלון המפקד שלנו.

שאילתהמפקד טייפ מלא: רשומות נעולות, מוצלבות וחד-צדדיות בכל עדכון NBBO במהלך הסשן
ה-SQL המדויק מאחורי כל מספר
WITH (
    SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start < toDateTime(today() - 3)
) AS census_day
SELECT
    formatDateTime(census_day, '%Y-%m-%d') AS session_date,
    round(count() / 1e6, 0) AS updates_m,
    round(countIf(bid_price = ask_price AND bid_price > 0) / 1e6, 2) AS locked_m,
    round(countIf(bid_price > ask_price AND ask_price > 0) / 1e3, 1) AS crossed_k,
    round(countIf(bid_price = ask_price AND bid_price > 0) / toFloat64(greatest(countIf(bid_price > ask_price AND ask_price > 0), 1)), 0) AS locked_per_crossed,
    round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
    round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= toDateTime(census_day)
  AND sip_timestamp < toDateTime(census_day + 1)

יום מסחר זה נשא 477 מיליון עדכוני ציטוט: 9.7 מיליון נעולים ו-67 אלף צולבים — יחד 204.9 מכל 10,000 עדכונים, כאשר ציטוטים נעולים עולים במספרם על הצולבים ביחס של 145 לאחד. רשומות חסרות צד אחד רצו בקצב של 2.8 לכל 10,000. סיכום המסחר מ-7 ביולי חושף את אותם ספירות לצד כל מרווח שהוא מודד.

השיעור הכלל-שוקי ממזג אלפי שמות שונים מאוד. הטבלה שלהלן מריצה מחדש את המפקד על קבוצה מבוקרת של עשרה — שמונה סימולים מוכרים ועוד שתי מניות קטנות ודלילות באמת, Nathan's Famous (NATH) ו-Seneca Foods (SENEA) — על פני ימי מסחר שלמים אחרונים, כולל שעות מורחבות, ולצד כל שם מופיע מרווח הציטוט האופייני לו.

שאילתהמפקד לפי שם: שמונה מניות נזילות ושתי מניות קטנות דלות סחירות, סשנים שהושלמו לאחרונה
ה-SQL המדויק מאחורי כל מספר
SELECT ticker,
       round(count() / 1e3, 1) AS updates_k,
       round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
       countIf(bid_price = ask_price AND bid_price > 0) AS locked_records,
       countIf(bid_price > ask_price AND ask_price > 0) AS crossed_records,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY ticker
ORDER BY ticker

קראו את עמודת המרווח מול השיעור. קוקה-קולה, המצוטטת בדרך כלל במרווח של 1 סנט, הראתה ציטוט נעול או צולב ב-215.9 מכל 10,000 עדכונים; אנבידיה (2 סנט) רצה ב-91 לכל 10,000 ו-SPY (2 סנט) ב-52.2. AMD, שהמרווח האופייני שלה בשעות המורחבות עמד על 44 סנט, הגיעה ל-5.9 בלבד לכל 10,000. נעילה דורשת ששתי זירות יגיעו לאותו סנט באותו הרגע — ככל שהמרווח האופייני רחב יותר, הדרך לשם ארוכה יותר.

השמות הדלילים בקושי נרשמים: Nathan's Famous הדפיסה 0 רשומות נעולות ו-0 צולבות על פני 8.4 אלף עדכונים, Seneca Foods 0 ו-0 על פני 40.5 אלף. העמודה שלהן היא האחרת: רשומות חד-צדדיות רצו ב-41.5 לכל 10,000 ב-Nathan's Famous וב-17 ב-Seneca Foods, לעומת 0 ב-SPY. רשומות נעולות וצולבות חיות במקום שבו הציטוט מהיר וצמוד; רשומות חד-צדדיות חיות במקום שבו הציטוט דליל.

מתי ציטוטים נעולים וצולבים מתקבצים?

מפקד השמות אומר היכן; השעון אומר מתי. הנה שיעור הנעולים-או-צולבים של הסט המבוקר לפי מקטעי 30 דקות בשעון החוף המזרחי, מ-4:00 לפנות בוקר עד 8:00 בערב, ולצד כל מקטע תעבורת העדכונים שלו.

שאילתהרשומות נעולות-או-מוצלבות לכל 10,000 עדכונים לפי קטגוריית 30 דקות (שעון ET), סט נבדק, כולל שעות מורחבות
ה-SQL המדויק מאחורי כל מספר
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(count() / 1e6, 2) AS updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
ORDER BY et_time

השיעור מטפס לאורך הסשן. מקטע טרום-המסחר של 05:00 מדד 3 לכל 10,000 על 0.59 מיליון עדכונים; מקטע 09:30 — חצי השעה הראשונה של המסחר הרגיל, שנפתחת על ידי המכרז הפתיחה — רשם 24.9 לכל 10,000 על 9.98 מיליון עדכונים. משם השיעור נבנה אל תוך הסגירה, ומגיע ל-109.9 לכל 10,000 במקטע 15:30, הריצה אל מכרז הנעילה. שורת קבלה אחת מתמצתת את הצורה:

שאילתההקבלות: סך נעולות לעומת מוצלבות, והשיעור לפי מקטע סשן (טרום-מסחר, פתיחה, צהריים, סגירה — ET)
ה-SQL המדויק מאחורי כל מספר
SELECT
    round(countIf(is_locked) / 1e3, 1) AS locked_k,
    round(countIf(is_crossed) / 1e3, 1) AS crossed_k,
    round(countIf(is_locked) / toFloat64(greatest(countIf(is_crossed), 1)), 1) AS locked_per_crossed,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569)) * 1e4, 1) AS premarket_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599)) * 1e4, 1) AS opening_half_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779)) * 1e4, 1) AS midday_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)) * 1e4, 1) AS closing_half_hour_per_10k,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599))), 1) AS close_to_open_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779))), 1) AS close_to_midday_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569))), 1) AS close_to_premarket_ratio
FROM (
    SELECT
        bid_price = ask_price AND bid_price > 0 AS is_locked,
        bid_price > ask_price AND ask_price > 0 AS is_crossed,
        toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_minute
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
      AND sip_timestamp >= toDateTime(today() - 10)
      AND sip_timestamp < toDateTime(today() - 3)
)

לאורך כל החלון הסט המבוקר הדפיס 257.2 אלף רשומות נעולות מול 25.6 אלף צולבות — 10.1 נעולות על כל צולבת. שיעור חצי שעת הסגירה, 109.9 לכל 10,000, היה גבוה פי 4.4 משיעור חצי שעת הפתיחה, 24.9, ופי 2.3 משיעור שעת הצהריים, 48.5.

איסור התצוגה כלל לא חל לפני 9:30 בבוקר, ובכל זאת רצועת 4:00–9:30 כולה — מסחר טרום-פתיחה, ציטוט על שבריר מתעבורת שעות המסחר הרגילות — הראתה רק 10.9 לכל 10,000, וחצי שעת הסגירה רצה בקצב גבוה פי 10.1 מזה. רשומות אלה נאספות במקום שבו הציטוט רץ מהר וצמוד, לא במקום שבו ספר החוקים רפוי ביותר.

הערות נתונים: חלון והיקף
  • מפקד כלל-הטייפ מכסה יום קלנדרי UTC אחד מלא, כל סימול רשום כלול; לוחות הסט המבוקר מכסים חלון מתגלגל של סשנים שהושלמו לאחרונה, שעות מורחבות (4:00 לפנות בוקר – 8:00 בערב שעון החוף המזרחי) כלולות. כל חלון מסתיים שלושה ימים מאחורי תאריך הרענון — למחסן הציטוטים יש פיגור קליטה של יום עד יומיים בקצה הקדמי שלו.
  • טבלת עשרת השמות היא סט מבוקר, לא דירוג כלל-שוקי; מקטעי שעון שאחרי 4:00 אחה"צ רצים על שבריר קטן מתעבורת שעות המסחר הרגילות (עמודת ספירת העדכונים מתוארת בתרשים מסיבה זו).
  • אלה הן ספירות של רשומות, לא של משכי זמן. ניתוח פורנזי לפי עדכון — פערים של ננו-שניות, בתוספת קבלות צולבות וקבלות עם הצעת קנייה אפסית על טייפ SPY של סשן בודד — נמצא בצלילה לעומק המיקרו-מבנה של 29 ביוני.

שאלות נפוצות

מהו שוק נעול במניות?

שוק נעול הוא ציטוט שבו הצעת הקנייה הטובה ביותר שווה להצעת המכירה הטובה ביותר — מרווח של אפס. הוא נוצר בין בורסות — הצעת קנייה של זירת מסחר אחת תואמת להצעת מכירה של זירה אחרת — ורגולציית NMS אוסרת על בורסות להציג ציטוטים שיוצרים אותו במהלך שעות המסחר הרגילות.

מה המשמעות כאשר הצעת הקנייה גבוהה מהצעת המכירה?

הצעת קנייה מעל הצעת מכירה היא שוק צולב. ספר הפקודות של בורסה בודדת אינו יכול לעמוד במצב כזה — פקודות חופפות מבוצעות מיד — ו-NBBO צולב הוא כמעט תמיד ציטוטים של שתי זירות מסחר שנתפסו באמצע עדכון.

האם שווקים נעולים וצולבים אינם חוקיים?

לא עבור משקיע רגיל. כלל 610(ד) של רגולציית NMS מחייב בורסות למנוע מהחברים שלהן להציג ציטוטים נועלים או צולבים במהלך שעות המסחר הרגילות. הרשומות החולפות בהזנה המאוחדת הן תוצרי לוואי של זירות מסחר המתעדכנות ברגעים מעט שונים.

באיזו תדירות מתרחשים שווקים נעולים וצולבים?

באופן שגרתי: 9.7 מיליון רשומות נעולות ו-67 אלף רשומות צולבות פגעו בקלטת המאוחדת ב-2026-07-14 בלבד — 204.9 מכל 10,000 עדכונים. השיעור גבוה בהרבה בניירות ערך עם ציטוטים צמודים מאשר בדלילים, וגבוה יותר לקראת הסגירה מאשר בפתיחה.


כל מספר בעמוד זה מוצג מתוך שאילתה שמורה — הרחב את ה-SQL מתחת לכל פאנל כדי לראות בדיוק כיצד נספרים נעילה או צלב. כדי להריץ את אותו מפקד על ניירות הערך שאתה סוחר בהם, בקש זאת באנגלית פשוטה במסוף Strasmore.

#locked market#crossed market#market structure#quotes#liquidity