למה הוראת האופציות שלי לא מתבצעת?
מדוע הוראת האופציות שלכם לא מתבצעת? הכירו את כללי העדיפות בבורסה, הקצאה יחסית, שינויי מחיר של גודל פקודה ממתינה וניתוב מחיר נטו עבור אסטרטגיות מרובות רגליים.
הסיבה לכך שהוראת האופציות שלך אינה מתבצעת (fill) נעוצה לרוב במנגנונים שמסכי המסחר הקמעונאיים אינם מציגים: המיקום של ההוראה בתור ההקצאה של הבורסה, השאלה אם הכמות שהצטרפת אליה עדיין קיימת, רוחב השוק האמיתי, והשאלה אם המחיר נטו של הוראה מרובת רגליים (multi-leg) הוא בכלל בר-ביצוע. ציטוט מוצג הוא תמונת מצב של מה שמישהו היה מוכן לסחור בו לפני רגע. התאמה למחיר הזה מכניסה את ההוראה שלך לתור, אך לא בהכרח לראש התור.
האם ציטוט אופציות הוא הבטחה לכך שניתן לסחור במחיר זה?
לא. ציטוט הוא הצעה דו-צדדית שמי שפרסם אותה יכול לבטל או לשנות את מחירה בכל רגע, והכמות הצמודה אליו תקפה לאותו רגע בלבד. בנכס בסיס שנסחר באופן פעיל, חוזה בודד מפרסם מחדש את ה-bid וה-ask שלו פעמים רבות בשנייה. ה-מדריך שלנו למרווח bid-ask באופציות מסביר מה מייצגים שני הצדדים. מה שקובע את הביצוע הוא כמה זמן שורדת כל גרסה של אותו ציטוט.
הפאנל להלן סופר כל עדכון ציטוט שהוזרם עבור חוזי אופציות של Apple במהלך חלון זמן קבוע של 30 שניות, החל מהשעה 14:00:00 שעון מזרח ארה"ב ב-17 ביוני 2026, שנייה אחר שנייה.
ה-SQL המדויק מאחורי כל מספר
SELECT
formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') AS et_time,
round(count() / 1000, 1) AS quote_updates_k,
round(count() / uniqExact(ticker), 1) AS updates_per_contract
FROM global_markets.cache_options_quotes
WHERE ticker IN
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-06-17'
)
AND sip_timestamp >= toDateTime('2026-06-17 18:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-17 18:00:30', 'UTC')
GROUP BY et_time
ORDER BY et_timeבשנייה הראשונה, הזרם כלל כ-0.9 אלף עדכוני ציטוטים עבור אותם חוזים, בערך 1.9 ציטוטים שפורסמו מחדש לכל חוזה באותה שנייה. כרטיס הוראה אינו נע במהירות הזו. עד שהקליק הופך להודעה שמגיעה לבורסה, ספר הפקודות שבו היא נוחתת כבר הספיק להתחלף.
האם הימצאות במחיר הטוב ביותר מציבה אותך ראשון בתור?
לא באופן אוטומטי. בורסות מניות פועלות לרוב לפי עדיפות מחיר-זמן: במחיר נתון, מי שהגיע ראשון נסחר ראשון. בורסות אופציות מוסיפות שני כללים נוספים, ושם הוראות ממתינות עלולות להיתקע.
הוראות של לקוחות ציבוריים מקבלות עדיפות ראשונה. כמעט כל בורסת אופציות בארה"ב מעניקה להוראה מלקוח ציבורי עדיפות על פני הוראות של עושי שוק (market makers) וסוחרים מקצועיים באותו מחיר. חלק זה פועל לטובת הסוחר הקמעונאי.
לאחר עדיפות הלקוח, ההקצאה היא יחסית (pro-rata) ולא לפי זמן הגעה. הוראה נכנסת מחולקת בין ההוראות הממתינות בהתאם לגודלן, לעיתים עם תוספת קטנה למי שפרסם את המחיר ראשון. הגודל, ולא זמן ההגעה, קובע את החלק היחסי.
אם נשלב זאת, הוראה של חוזה אחד (1 lot) לצד הוראה של 500 חוזים נחשבת כחוזה אחד מתוך 501, ולא כאחת משתי הוראות בתור. הוראה נכנסת של 100 חוזים יכולה "לנקות" את המחיר כשחוזה אחד בלבד נוחת על ההוראה הקטנה.
הפאנל להלן מקבץ כל עסקה באופציות Apple שבוצעה ב-17 ביוני 2026 לפי גודל עסקה, ומשווה את חלקו של כל מקבץ בסך העסקאות היומי מול חלקו בסך החוזים שהחליפו ידיים.
ה-SQL המדויק מאחורי כל מספר
WITH
(
SELECT count()
FROM global_markets.options_trades
WHERE underlying_symbol = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
) AS day_prints,
(
SELECT sum(size)
FROM global_markets.options_trades
WHERE underlying_symbol = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
) AS day_contracts
SELECT
multiIf(size = 1, '1 contract',
size <= 5, '2 to 5',
size <= 20, '6 to 20',
size <= 100, '21 to 100',
'over 100') AS size_bucket,
round(100 * count() / day_prints, 2) AS share_of_trades_pct,
round(100 * sum(size) / day_contracts, 2) AS share_of_volume_pct
FROM global_markets.options_trades
WHERE underlying_symbol = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 00:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
GROUP BY size_bucket
ORDER BY min(size)עסקאות של חוזה בודד היוו 48.48% מסך העסקאות היומי ו-7.83% מהחוזים שהחליפו ידיים. המקבץ over 100 הופך את התמונה: 0.44% מהעסקאות נושאות 16.67% מהנפח. תחת הקצאה יחסית, המספר השני הוא זה שקובע כמה מהוראה נכנסת יגיע לכל הוראה ממתינה. עושי שוק מצטטים את שני הצדדים ברציפות ומנהלים את המלאי שלהם תוך כדי תנועה, נושא שאנו מפרטים ב-מדריך שלנו לאופן שבו עושי שוק מרוויחים כסף.
מדוע הוראת האופציות שלי לא מתבצעת במחיר האמצע (mid)?
ה-mid הוא חישוב אריתמטי: ה-bid ועוד ה-ask, חלקי שתיים. איש אינו מחויב לסחור במחיר זה. שני המחירים שקיימים תמיד הם ה-"naturals": ה-ask אם אתה קונה, וה-bid אם אתה מוכר. כל מה שבין ה-natural לבין ה-mid הוא משא ומתן שמסתיים כאשר המודל של הצד השני מתמחר את החוזה בצד שלך של האמצע, או כאשר מגיעה הוראה ציבורית שנייה שמעוניינת בעסקה ההפוכה.
המרחב שמשא ומתן זה מכסה תלוי ברוחב השוק, והרוחב משתנה באופן משמעותי בהתאם למחיר החוזה. הפאנל להלן משתמש באותו חלון של 30 שניות, מקבץ כל ציטוט אופציות של Apple לפי מחיר החוזה, ומדווח על מרווח הציטוט החציוני בסנטים לצד אותו מרווח כאחוז מה-mid.
ה-SQL המדויק מאחורי כל מספר
SELECT
price_bucket,
round(quantileExact(0.5)(spread) * 100, 1) AS median_spread_cents,
round(quantileExact(0.5)(100 * spread / mid), 1) AS spread_pct_of_mid
FROM
(
SELECT
toFloat64(ask_price) - toFloat64(bid_price) AS spread,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
multiIf(mid < 0.50, 'under $0.50',
mid < 2.00, '$0.50 to $2',
mid < 5.00, '$2 to $5',
mid < 15.00, '$5 to $15',
'$15 and up') AS price_bucket,
multiIf(mid < 0.50, 1, mid < 2.00, 2, mid < 5.00, 3, mid < 15.00, 4, 5) AS bucket_order
FROM global_markets.cache_options_quotes
WHERE ticker IN
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-06-17'
)
AND sip_timestamp >= toDateTime('2026-06-17 18:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-17 18:00:30', 'UTC')
AND bid_price > 0
AND ask_price > bid_price
)
GROUP BY price_bucket
ORDER BY min(bucket_order)חוזים במקבץ under $0.50 ציטטו מרווח חציוני של 17 סנטים, המהווים 75% מה-mid. חוזים במקבץ $15 and up ציטטו 170 סנטים, או 3.8% מה-mid. בסנטים, החוזה היקר מציג ציטוט רחב יותר. במונחים אחוזיים, החוזה הזול הוא השוק הרחב יותר בפער ניכר, והוראה הממתינה ב-mid שלו מבקשת מהצד השני לוותר על חלק גדול מאותו מרווח. נזילות ותנודתיות מושכות את הרוחבים הללו לכיוונים מנוגדים, ושני חוזים על אותו נכס בסיס יכולים להתנהג בצורה שונה לחלוטין.
הוראת שוק (market order) מול הוראת לימיט (limit order) מסירה את שאלת התמחור ומחליפה אותה באחרת. הוראת שוק נסחרת מול מה שספר הפקודות מחזיק באותו רגע, מה שבאופציות דלילות עלול להיות במרחק של מספר "טיקים" מהציטוט האחרון שהמסך שלך הציג.
מדוע מרווח (spread) לא מתבצע כאשר שתי הרגליים נראות בנות-ביצוע?
הוראה מרובת רגליים אינה יושבת בשני ספרי הפקודות של הרגליים הבודדות. היא מנותבת לספר הוראות מורכבות (complex order book) ומותאמת כחבילה אחת, על בסיס מחיר הנטו שלה. הבורסה מבצעת אותה מול הוראה מורכבת אחרת, או מול ספרי הרגליים הבודדות כאשר המחיר המשולב שלהן טוב יותר ממחיר הנטו שלך, והיא לא עושה זאת עד שהחבילה כולה מתומחרת.
קחו לדוגמה spread של call בשתי רגליים. הרגל הארוכה מצוטטת ב-1.20$ bid ו-1.35$ ask, הרגל הקצרה ב-0.60$ bid ו-0.72$ ask. קניית החבילה ב-naturals עולה 1.35$ פחות 0.60$, כלומר חיוב (debit) של 0.75$. מכירה ב-naturals מניבה 1.20$ פחות 0.72$, כלומר זיכוי (credit) של 0.48$. שוק הנטו על החבילה הוא 0.48$ bid ו-0.75$ ask, עם mid של 0.615$. צפייה ברגליים בנפרד אינה מעידה דבר על השאלה אם 0.62$ הוא בר-ביצוע. הספר המשולב מנהל שוק דו-צדדי משלו והוראות ממתינות משלו.
מכאן נובעים שני דברים. רגל שנסחרת במחיר שלך במסך הרגליים הבודדות משאירה את ה-spread שלך לא מבוצע, וההוראה שלך מעולם לא המתינה באותו ספר מלכתחילה. spread שמתומחר במונחי רגליים ולא במונחי נטו מתומחר מול ספר שאינו קיים.
מדוע הוראה לא תתבצע בסטרייק (strike) עם אפס נפח מסחר?
שום דבר לא מקולקל. רוב הסטרייקים הרשומים למסחר אינם נסחרים ברוב הימים. שרשרת אופציות מפרטת כל סטרייק שהבורסה פתחה, והרוב נשארים מצוטטים אך ללא נגיעה, לעיתים במשך שבועות. נפח מסחר (volume) סופר חוזים שהחליפו ידיים היום. עניין פתוח (open interest) סופר פוזיציות שעדיין קיימות, והפער ביניהם מוסבר ב-מדריך שלנו לנפח מסחר מול עניין פתוח.
הפאנל להלן מודד עד כמה הסטרייקים החיצוניים הופכים לדלילים. הוא לוקח כל חוזה Apple עם 20 עד 45 ימים לפקיעה לאורך מאי ויוני 2026, מקבץ אותם לפי המרחק של הסטרייק ממחיר נכס הבסיס באותו יום, ומדווח על נפח מסחר יומי חציוני לצד שיעור ימי המסחר שבהם נסחר פחות מ-10 חוזים.
ה-SQL המדויק מאחורי כל מספר
SELECT
moneyness_bucket,
round(quantileExact(0.5)(toFloat64(volume)), 0) AS median_daily_volume,
round(100 * countIf(volume < 10) / count(), 1) AS share_under_10_lots_pct
FROM
(
SELECT
abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS gap,
multiIf(gap < 0.02, '0% to 2% from spot',
gap < 0.05, '2% to 5% from spot',
gap < 0.10, '5% to 10% from spot',
gap < 0.20, '10% to 20% from spot',
'more than 20% from spot') AS moneyness_bucket,
multiIf(gap < 0.02, 1, gap < 0.05, 2, gap < 0.10, 3, gap < 0.20, 4, 5) AS bucket_order,
volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= '2026-05-01'
AND date < '2026-07-01'
AND days_to_expiry BETWEEN 20 AND 45
AND underlying_close > 0
)
GROUP BY moneyness_bucket
ORDER BY min(bucket_order)חוזים ב-0% to 2% from spot נשאו נפח מסחר יומי חציוני של 354 חוזים, כאשר 2% מימי המסחר רשמו פחות מ-10 חוזים. חוזים ב-more than 20% from spot רשמו חציון של 6 חוזים ביום, ו-55.4% מימי המסחר שם רשמו פחות מ-10. הוראה הממתינה באחד מהסטרייקים הללו ממתינה לזרימת פקודות שאינה מגיעה, והצד השני היחיד הוא עושה השוק שציטט את הסטרייק מלכתחילה.
מה המנגנון משנה לגבי כרטיס הוראה
- spread מתומחר על בסיס הנטו. הספר המורכב מתאים חבילות, ומחיר רגל בודדת אינו מקנה עדיפות שם.
- ה-mid משמש כעוגן. שני המחירים הזמינים תמיד בשוק רחב הם ה-naturals: ה-ask לקנייה וה-bid למכירה.
- הגודל קובע את החלק היחסי בביצוע pro-rata. הוראה של חוזה אחד הממתינה לצד הוראות גדולות בהרבה מקבלת חלק יחסי מכל מה שמגיע.
- סטרייק שקט הוא קודם כל שאלת ציטוט ורק אחר כך שאלת הוראה. שום דבר לא מגיע כדי להתאים מולו.
שאלות נפוצות
מדוע הוראת הלימיט שלי לא מתבצעת כשהיא ב-bid?
הצטרפות ל-bid מציבה את ההוראה שלך בתור באותו מחיר, ובורסות אופציות מקצות ביצועים לפי סטטוס לקוח ולפי גודל, ולא רק לפי זמן הגעה. הוראה קטנה הממתינה לצד הוראות גדולות בהרבה מקבלת חלק יחסי מכל מה שנסחר, מה שיכול להתעגל לאפס בעסקה קטנה.
האם בורסות אופציות מבצעות הוראות לפי סדר הגעתן?
לרוב לא. הוראות של לקוחות ציבוריים מקבלות עדיפות על פני הוראות של עושי שוק ומקצוענים באותו מחיר, והכמות הנותרת מוקצית בדרך כלל בשיטת pro-rata, ביחס לגודל של כל הוראה ממתינה. חלק מהבורסות מוסיפות עדיפות למי שפרסם את המחיר ראשון.
מה המשמעות של תשלום ה-natural בהוראת אופציות?
ה-natural הוא המחיר שכבר מוצג בצד שלך של השוק: ה-ask כשאתה קונה, וה-bid כשאתה מוכר. הוראה ב-natural היא בת-ביצוע מול הציטוט הנוכחי, בעוד שהוראה ב-mid ממתינה לצד השני שישתפר.
האם זה נורמלי שאופציה עם אפס נפח מסחר לעולם לא תתבצע?
כן. רוב הסטרייקים הרשומים אינם נסחרים ברוב הימים, והוראה ממתינה באחד מהם מתחרה על זרימת פקודות שאינה מגיעה. הציטוט המוצג שם הוא בדרך כלל מחויבות של עושה שוק, והביצוע תלוי בשאלה אם זה מחיר שהם רוצים באותו רגע.
כיצד נבנו פאנלים אלו
שני פאנלי הציטוטים קוראים חלון זמן קבוע של 30 שניות, 14:00:00 עד 14:00:30 שעון מזרח ארה"ב ב-17 ביוני 2026, מוגבל לחוזי אופציות של Apple הנושאים רישום יומי של יווניות (greeks) באותו תאריך. קיבוע החלון שומר על יציבות המספרים בכל פעם שהפוסט מתרענן. מפקד הסטרייקים מכסה את מאי ויוני 2026 ושומר במכוון חוזים שלא רשמו נפח מסחר כלל. התדירות שבה סטרייק רשום אינו נסחר היא בדיוק מה שפאנל זה מודד. חותמות הזמן המאוחסנות הן ב-UTC ומומרות לשעון מזרח ארה"ב בתוך כל שאילתה.
כל פאנל לעיל נושא את ה-SQL המדויק מתחתיו. כדי להריץ את אותן מדידות על חוזה שאתה עוקב אחריו, שאל את השאלה באנגלית פשוטה בטרמינל Strasmore.