חישוב מרווח למכירת אופציות חשופות לפי תקנה Reg T
כיצד מחושב המרווח הנדרש למכירת אופציות חשופות? המדריך מציג את נוסחת Reg T המלאה לשני הענפים, כולל דוגמאות מעשיות וקוד Python לחישוב דרישות הביטחונות בתיק ההשקעות.
כיצד מחושב המרווח (Margin) למכירת אופציות חשופות (Naked)?
אופציה נחשבת ל"חשופה" (Naked) כאשר היא נמכרת ללא נכס בסיס מגדר: אופציית Call בחסר ללא מניות בחשבון, או אופציית Put בחסר ללא מזומן שהוקצה כנגד מחיר המימוש. אופציית Put מגובה במזומן (Cash secured put) מחייבת הקצאת מלוא ערך המימוש, ועל כן מדובר בהסדר שונה עם דרישות שונות.
תקנה T (Regulation T) קובעת את כללי האשראי לחשבון מרווח. אחוזי המרווח לאופציות חשופות מוגדרים בתקנה 4210 של FINRA ובמדריכי המרווח של הבורסות התואמים לה. החישוב מתבצע לפי מניה בודדת, ולאחר מכן מוכפל בחוזה אחד המייצג 100 מניות:
- אופציית Call חשופה, ענף ראשון: הפרמיה שהתקבלה, בתוספת 20% ממחיר נכס הבסיס, פחות סכום ה-Out of the money (מחיר המימוש פחות מחיר נכס הבסיס, עם רצפה של אפס).
- אופציית Put חשופה, ענף ראשון: הפרמיה שהתקבלה, בתוספת 20% ממחיר נכס הבסיס, פחות סכום ה-Out of the money (מחיר נכס הבסיס פחות מחיר המימוש, עם רצפה של אפס).
- ענף רצפה ל-Call: הפרמיה שהתקבלה בתוספת 10% ממחיר נכס הבסיס.
- ענף רצפה ל-Put: הפרמיה שהתקבלה בתוספת 10% ממחיר המימוש.
הדרישה היא הגבוהה מבין השתיים. באופציות על מדדים רחבים החישוב זהה, אך נעשה שימוש ב-15% במקום ב-20%. מכירה חשופה מחייבת חשבון מרווח עם רמת אישור מתאימה למסחר באופציות, וחשבון מרווח מביא עמו גם את כלל סוחר היום המוגדר (Pattern day trader rule).
הפרמיה נכללת בשני הענפים, ולכן היא מעלה את הסכום הכולל מבלי לשנות את הענף הקובע. המרחק הוא הגורם המכריע. עבור Call, שני הענפים שווים כאשר מחיר המימוש גבוה בדיוק ב-10% ממחיר נכס הבסיס. עבור Put, הם שווים כאשר מחיר המימוש נמוך בכ-11.1% ממנו. בתוך טווחי מרחק אלו, ענף ה-20% הוא הגבוה; מעבר להם, ענף הרצפה הופך לקובע.
מדוע ענף ה-20% וענף הרצפה של ה-10% מצטלבים
הלוח להלן מציג את כל מחירי המימוש של AAPL ביום המסחר האחרון של יוני 2026, החל ממחיר הנמוך במעט ממחיר המניה ועד לכ-18% מעליו, עבור חוזים שנותרו להם 20 עד 45 ימים לפקיעה. החישוב מציג את שני הענפים למניה עבור אופציית Call חשופה בכל מחיר מימוש. הפרמיה הושמטה כדי להציג את המבנה בצורה ברורה. הוספתה תסיט את שני הקווים כלפי מעלה במקביל.
ה-SQL המדויק מאחורי כל מספר
SELECT
round(toFloat64(strike_price), 2) AS strike,
round(0.20 * max(toFloat64(underlying_close))
- greatest(toFloat64(strike_price) - max(toFloat64(underlying_close)), 0.0), 2) AS main_branch,
round(0.10 * max(toFloat64(underlying_close)), 2) AS floor_branch,
round(0.20 * max(toFloat64(underlying_close))
- greatest(toFloat64(strike_price) - max(toFloat64(underlying_close)), 0.0)
- 0.10 * max(toFloat64(underlying_close)), 2) AS branch_gap
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
AND toFloat64(strike_price) BETWEEN 0.98 * toFloat64(underlying_close)
AND 1.18 * toFloat64(underlying_close)
GROUP BY strike_price
ORDER BY strikeקו הרצפה הוא קו ישר. עשרה אחוזים ממחיר המניה אינם תלויים במיקום מחיר המימוש, ולכן הוא נותר על $28.9 למניה בכל 12 מחירי המימוש בלוח. הענף הראשון משופע כלפי מטה, מ-$57.8 במחיר המימוש הנמוך ביותר ועד $6.81 בגבוה ביותר, שכן כל דולר של מרחק נוסף מופחת ישירות ממנו. עמודת branch_gap היא הענף הראשון פחות הרצפה: היא חיובית היכן שענף ה-20% קובע, שלילית היכן שהרצפה קובעת, והיא חוצה את האפס במחיר מימוש הגבוה ב-10% ממחיר המניה.
כמה מרווח נדרש עבור אופציית Put חשופה?
הענף הראשון זהה, אך הרצפה שונה: 10% ממחיר המימוש במקום 10% ממחיר נכס הבסיס. החלפה זו משנה את התמונה. הרצפה מפסיקה להיות קו ישר ומשתנה בהתאם למחיר המימוש, ונקודת ההצלבה עוברת לכ-11% מתחת למחיר המניה.
ה-SQL המדויק מאחורי כל מספר
SELECT
round(toFloat64(strike_price), 2) AS strike,
round(0.20 * max(toFloat64(underlying_close))
- greatest(max(toFloat64(underlying_close)) - toFloat64(strike_price), 0.0), 2) AS main_branch,
round(0.10 * toFloat64(strike_price), 2) AS floor_branch,
round(0.20 * max(toFloat64(underlying_close))
- greatest(max(toFloat64(underlying_close)) - toFloat64(strike_price), 0.0)
- 0.10 * toFloat64(strike_price), 2) AS branch_gap
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
AND toFloat64(strike_price) BETWEEN 0.82 * toFloat64(underlying_close)
AND 1.02 * toFloat64(underlying_close)
GROUP BY strike_price
ORDER BY strikeבמחירי המימוש של ה-Put כאן, הרצפה נעה בין $24 למניה במחיר המימוש הנמוך ביותר ל-$29 בגבוה ביותר, בעוד הענף הראשון מטפס ככל שמחיר המימוש מתקרב למחיר השוק (At the money). הרחק מתחת למחיר השוק, היכן שסוחרים המפעילים את אסטרטגיית הגלגל (The wheel strategy) פועלים לעיתים קרובות, הרצפה היא הנתון הקובע. רצפה זו היא שמונעת מאופציית Put חשופה ורחוקה מהכסף להיות ללא עלות החזקה.
כמה כוח קנייה תופס חוזה חשוף אחד?
הנתונים למניה הם הבסיס לנוסחה. הנתונים לחוזה הם מה שנגרע בפועל מהחשבון. הלוח לוקח 5 חברות מוכרות באותו יום מסחר של יוני 2026, בוחר את מחיר המימוש הקרוב ביותר ל-5% מעל מחיר כל מניה, ומכפיל את שני הענפים ב-100 המניות שחוזה אחד מכסה.
ה-SQL המדויק מאחורי כל מספר
SELECT
ticker,
round(100 * (0.20 * share_price - greatest(strike - share_price, 0.0)), 0) AS main_branch,
round(100 * (0.10 * share_price), 0) AS floor_branch
FROM
(
SELECT
underlying_symbol AS ticker,
max(toFloat64(underlying_close)) AS share_price,
argMin(toFloat64(strike_price),
abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1.05)) AS strike
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
GROUP BY underlying_symbol
)
ORDER BY main_branch DESCאופציית SPY Call חשופה אחת במרחק זה דורשת מרווח מינימלי של $11156 לחוזה בודד, לעומת $1252 עבור KO. עסקה זהה, נוסחה זהה. המספר עוקב אחר מחיר המניה ולא אחר מאפייני האופציה עצמה. ב-5% מחוץ לכסף, הענף הראשון הוא הקובע עבור כל שם כאן, והעמודה הגבוהה בכל זוג היא זו שקובעת את הדרישה.
בדיקת כל פוזיציה באמצעות סקריפט Python קצר
הנוסחה ניתנת ליישום בקובץ. נדרש python3 בלבד: ספרייה סטנדרטית בלבד, ללא התקנות נוספות וללא רשת. שמרו כ-naked_margin.py.
#!/usr/bin/env python3
"""Reg T style minimum for one uncovered (naked) equity option.
Prints both branches of the requirement and the one that binds.
Standard library only. Educational, not a broker quote.
"""
import argparse
SHARES_PER_CONTRACT = 100
def branches(kind, spot, strike, premium, rule_pct, floor_pct):
if kind == 'call':
out_of_money = max(strike - spot, 0.0)
floor_base = spot
else:
out_of_money = max(spot - strike, 0.0)
floor_base = strike
rule = rule_pct * spot - out_of_money + premium
floor = floor_pct * floor_base + premium
return rule, floor
def report(kind, spot, strike, premium, rule_pct, floor_pct):
rule, floor = branches(kind, spot, strike, premium, rule_pct, floor_pct)
if rule >= floor:
binds = '{0:.0%} branch'.format(rule_pct)
else:
binds = '{0:.0%} floor'.format(floor_pct)
print('naked {0}: spot {1:.2f}, strike {2:.2f}, premium {3:.2f}'.format(
kind, spot, strike, premium))
print(' {0:.0%} branch: {1:.2f} per share, {2:.2f} per contract'.format(
rule_pct, rule, rule * SHARES_PER_CONTRACT))
print(' {0:.0%} floor: {1:.2f} per share, {2:.2f} per contract'.format(
floor_pct, floor, floor * SHARES_PER_CONTRACT))
print(' binds: {0}, requirement {1:.2f} per contract'.format(
binds, max(rule, floor) * SHARES_PER_CONTRACT))
def main():
ap = argparse.ArgumentParser(description='Reg T style naked option minimum')
ap.add_argument('--spot', type=float, required=True, help='underlying price')
ap.add_argument('--strike', type=float, required=True, help='strike price')
ap.add_argument('--premium', type=float, required=True, help='premium per share')
ap.add_argument('--index', action='store_true', help='broad based index rate')
args = ap.parse_args()
rule_pct = 0.15 if args.index else 0.20
for kind in ('call', 'put'):
report(kind, args.spot, args.strike, args.premium, rule_pct, 0.10)
if __name__ == '__main__':
main()
שתי הרצות, שנבחרו כך שהענף הקובע מתחלף ביניהן. שתיהן משתמשות בקלטים היפותטיים עגולים.
$ python3 naked_margin.py --spot 100 --strike 105 --premium 1.50
naked call: spot 100.00, strike 105.00, premium 1.50
20% branch: 16.50 per share, 1650.00 per contract
10% floor: 11.50 per share, 1150.00 per contract
binds: 20% branch, requirement 1650.00 per contract
naked put: spot 100.00, strike 105.00, premium 1.50
20% branch: 21.50 per share, 2150.00 per contract
10% floor: 12.00 per share, 1200.00 per contract
binds: 20% branch, requirement 2150.00 per contract
$ python3 naked_margin.py --spot 100 --strike 85 --premium 0.60
naked call: spot 100.00, strike 85.00, premium 0.60
20% branch: 20.60 per share, 2060.00 per contract
10% floor: 10.60 per share, 1060.00 per contract
binds: 20% branch, requirement 2060.00 per contract
naked put: spot 100.00, strike 85.00, premium 0.60
20% branch: 5.60 per share, 560.00 per contract
10% floor: 9.10 per share, 910.00 per contract
binds: 10% floor, requirement 910.00 per contract
בהרצה הראשונה מחיר המימוש גבוה ב-5% ממחיר נכס הבסיס, בתוך טווח ההצלבה של ה-10%, והענף הראשון קובע עבור ה-Call וה-Put כאחד. בשנייה, מחיר המימוש נמוך ב-15% ממחיר נכס הבסיס, מה שמותיר את ה-Call בתוך הכסף לפי הענף הראשון ודוחף את ה-Put רחוק מספיק כך שענף הרצפה של ה-10% הופך לקובע. הזינו את הקלטים שלכם עם --spot, --strike ו---premium, והוסיפו את --index עבור נתון ה-15% למדד רחב. מה שהסקריפט מציג הוא רצפה לדרישות הברוקר, לעולם לא תקרה.
מה משנה את הדרישה לאחר המכירה
המספר אינו קבוע. הוא מחושב מחדש מדי יום בהתאם למחיר נכס הבסיס, והנכס נע. התרשים להלן מקבע מחיר מימוש של Call בחסר כ-10% מעל מחיר הפתיחה של AAPL באפריל 2026, ועוקב אחר הדרישה כאחוז ממחיר המניה עד סוף יוני.
ה-SQL המדויק מאחורי כל מספר
SELECT
toString(d.dt) AS session_date,
round(d.px, 2) AS underlying_close,
round(100 * (s.short_strike - d.px) / d.px, 2) AS cushion_pct,
round(100 * greatest(0.20 * d.px - greatest(s.short_strike - d.px, 0.0),
0.10 * d.px) / d.px, 2) AS requirement_pct
FROM
(
SELECT
date AS dt,
max(toFloat64(underlying_close)) AS px
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
GROUP BY date
) AS d
CROSS JOIN
(
SELECT round(1.10 * argMin(toFloat64(underlying_close), date), 0) AS short_strike
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
) AS s
ORDER BY d.dtהפוזיציה מתחילה על נקודת ההצלבה, ב-10.19% ממחיר המניה עם 9.81% של מרווח ביטחון למחיר המימוש, ומסיימת את התקופה ב-20%. ככל שמניה מטפסת לעבר מחיר מימוש של Call בחסר, הפחתת ה-Out of the money מצטמצמת, והדרישה עולה לעבר ה-20% המלאים. ארבעה גורמים נוספים משפיעים עליה:
- הקצאה (Assignment) מסיימת את האופציה ומעבירה מניות או פוזיציית מניות בחסר עם דרישות משלה. הקצאה מוקדמת באופציות בחסר מתרחשת לעיתים קרובות סביב דיבידנדים ומחירי מימוש עמוק בתוך הכסף.
- דרישות בית (House requirements) נוספות על המינימום הרגולטורי. ברוקרים קובעים לעיתים קרובות דרישות גבוהות יותר מ-Reg T עבור פוזיציות חשופות, לעיתים ככפולה מהן במניות תנודתיות.
- תנועה לרעת הפוזיציה מעלה את הדרישה בזמן שהון החשבון יורד. הפער בין השניים הוא שיוצר דרישת מרווח (Maintenance call).
- מרווח תיק (Portfolio margin) הוא משטר נפרד. חשבון מאושר מחויב לפי מבחן לחץ של כל התיק, בסדר גודל של תנועה של 15% למעלה או למטה בנכס הבסיס, עם דרישת מינימום של שש ספרות ברוב הברוקרים. עבור תיק מגודר, הדרישה יכולה להיות נמוכה משמעותית מ-Reg T, והיא משתנה מהר יותר כאשר התנודתיות עולה.
אין לראות באמור המלצה. מכירה חשופה נושאת סיכון הפסד בלתי מוגבל בצד ה-Call וגדול מאוד בצד ה-Put, ו-עד כמה מסוכן מסחר באופציות מנתח את התפלגות הסיכונים הזו עם נתונים.
שאלות נפוצות
כמה מרווח אני צריך כדי למכור אופציית Put חשופה?
המינימום הרגולטורי הוא הגבוה מבין שני ענפים, שניהם כוללים את הפרמיה שהתקבלה: 20% ממחיר נכס הבסיס פחות סכום ה-Out of the money, או 10% ממחיר המימוש. במניה של $100, אופציית Put במחיר מימוש של $90 שנמכרה ב-$0.60 דורשת $10.60 למניה כנגד רצפה של $9.60, כלומר $1,060 לחוזה. ברוקרים דורשים לעיתים קרובות יותר.
האם המרווח לאופציות חשופות זהה בכל ברוקר?
לא. Reg T ותקנה 4210 של FINRA קובעים את המינימום, וכל ברוקר רשאי להוסיף דרישת בית מעליו. רבים עושים זאת במניות בודדות וסביב מועדי פרסום דוחות כספיים. הנוסחה המפורסמת נותנת לכם את תחתית הטווח, לא את המספר שיוצג בפלטפורמה שלכם.
האם הפרמיה שאני גובה נספרת כחלק מהדרישה?
הפרמיה שהתקבלה מתווספת לשני ענפי הנוסחה ונזקפת לחשבון עם סליקת העסקה. היא לעולם לא משנה איזה ענף קובע, שכן היא מופיעה בשני הצדדים בסכום שווה.
מהו המרווח לאופציית מדד חשופה?
אופציות על מדדים רחבים נושאות דרישה של 15% במקום 20%, עם אותה רצפה של 10% ואותו רכיב פרמיה. אופציות על קרן סל (ETF) העוקבת אחר מדד רחב מטופלות כאופציות על מניות בשיעור של 20%, כך שהאחוז הנמוך אינו עובר בין מכשירי השקעה שונים. שניהם נותרים מינימום רגולטורי.
האם דרישת המרווח לאופציה חשופה יכולה להשתנות בזמן שאני מחזיק בה?
כן. היא מחושבת מחדש לפי מחיר נכס הבסיס, ולכן היא משתנה בכל פעם שהמניה זזה, כפי שמראה התרשים לעיל. עלייה לעבר מחיר מימוש של Call בחסר מעלה את הדרישה, וברוקר עשוי להעלות את דרישת הבית שלו גם על פוזיציה פתוחה.
כל לוח כאן מכיל את שאילתת ה-SQL שיצרה אותו, לכן ניתן להרחיב כל אחד כדי לראות בדיוק כיצד חושב ענף מסוים. כדי להריץ את אותם חישובים על מניה שאתם עוקבים אחריה, בקשו זאת באנגלית פשוטה במסוף Strasmore.