Strasmore Research
Belajar Matt ConnorOleh Matt Connor · data as of August 6, 2026 · refreshed weekly

Cara Kira Margin Naked Options Mengikut Formula Reg T

Ketahui cara mengira margin untuk menjual naked options menggunakan formula minimum Reg T. Panduan ini menjelaskan pengiraan dua cabang serta penggunaan skrip Python.

Margin untuk menjual naked options ditentukan oleh formula yang diterbitkan, dan anda boleh mengiranya sendiri sebelum dagangan dilaksanakan. Minimum bagi satu opsyen ekuiti yang tidak dilindungi (uncovered) adalah nilai yang lebih tinggi antara dua cabang, dengan setiap satunya ditambah dengan premium yang diterima: 20% daripada harga saham asas tolak jumlah opsyen tersebut out of the money, atau lantai (floor) sebanyak 10%. Setiap peratusan di halaman ini adalah minimum kawal selia. Broker bebas untuk menetapkan keperluan yang lebih tinggi, dan kebanyakan broker berbuat demikian.

Bagaimanakah margin untuk menjual naked options dikira?

Sesuatu opsyen dianggap tidak dilindungi, atau naked, apabila ia dijual tanpa sokongan aset: short call tanpa saham dalam akaun, atau short put tanpa tunai yang diketepikan berbanding harga strike. Cash secured put pula meletakkan nilai penuh strike sebagai cagaran, satu aturan berbeza dengan keperluan yang berbeza.

Regulation T menetapkan peraturan kredit untuk akaun margin. Peratusan opsyen tidak dilindungi itu sendiri terkandung dalam FINRA Rule 4210 dan manual margin bursa yang mencerminkannya. Pengiraan dilakukan bagi setiap saham, kemudian dikenakan bagi setiap kontrak yang terdiri daripada 100 saham:

  • Uncovered call, cabang pertama: premium diterima, ditambah 20% daripada harga asas, tolak jumlah out of the money (strike tolak harga asas, dengan lantai sifar).
  • Uncovered put, cabang pertama: premium diterima, ditambah 20% daripada harga asas, tolak jumlah out of the money (harga asas tolak strike, dengan lantai sifar).
  • Cabang lantai untuk call: premium diterima ditambah 10% daripada harga asas.
  • Cabang lantai untuk put: premium diterima ditambah 10% daripada harga strike.

Keperluan margin adalah nilai yang lebih besar antara keduanya. Opsyen indeks berasaskan luas (broad based index) menggunakan bentuk yang sama dengan 15% menggantikan 20%. Menjual secara tidak dilindungi juga memerlukan akaun margin dengan tahap kelulusan opsyen yang betul, dan akaun margin membawa bersama peraturan pattern day trader.

Premium dimasukkan ke dalam kedua-dua cabang, jadi ia meningkatkan jumlah keseluruhan tanpa mengubah cabang mana yang mengikat. Jarak adalah penentu bagi perkara tersebut. Bagi call, kedua-dua cabang adalah sama apabila strike berada tepat 10% di atas harga asas. Bagi put, ia adalah sama apabila strike berada kira-kira 11.1% di bawahnya. Di dalam jarak tersebut, cabang 20% adalah lebih besar. Melepasi jarak itu, lantai (floor) akan mengambil alih.

Mengapa cabang 20% dan lantai 10% bersilang

Panel di bawah memaparkan setiap strike AAPL yang tersenarai pada sesi terakhir Jun 2026, dari bawah sedikit harga saham sehingga kira-kira 18% di atasnya, mengambil kontrak 20 hingga 45 hari sebelum tamat tempoh. Ia mengira kedua-dua cabang bagi setiap saham untuk uncovered call pada setiap strike. Premium tidak disertakan di sini untuk memastikan bentuk graf jelas. Menambah premium akan mengalihkan kedua-dua garisan ke atas secara serentak.

PertanyaanMargin minimum Reg T untuk satu opsyen call AAPL tidak dilindungi, mengikut harga pelaksanaan (dolar sesaham)
SQL tepat di sebalik setiap nombor
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
Run this yourself

Garisan lantai adalah rata. Sepuluh peratus daripada harga saham tidak bergantung kepada kedudukan strike, jadi ia kekal pada $28.9 sesaham merentasi semua 12 strike dalam panel tersebut. Cabang pertama mencerun ke bawah, dari $57.8 pada strike terendah kepada $6.81 pada yang tertinggi, kerana setiap dolar jarak tambahan akan terus ditolak daripadanya. Lajur branch_gap adalah cabang pertama tolak lantai: di atas sifar di mana cabang 20% mengikat, di bawah sifar di mana lantai mengikat, dan ia bersilang pada strike 10% di atas harga saham.

Berapakah margin yang diperlukan untuk naked put?

Cabang pertama adalah sama, tetapi lantai berbeza: 10% daripada strike dan bukannya 10% daripada harga asas. Penggantian tunggal itu mengubah gambaran tersebut. Lantai tidak lagi menjadi garisan rata dan mencerun mengikut strike, dan titik persilangan beralih kepada kira-kira 11% di bawah harga saham.

PertanyaanMargin minimum Reg T untuk satu opsyen put AAPL tidak dilindungi, mengikut harga pelaksanaan (dolar sesaham)
SQL tepat di sebalik setiap nombor
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
Run this yourself

Merentasi strike put di sini, lantai bergerak dari $24 sesaham pada strike terendah kepada $29 pada yang tertinggi, manakala cabang pertama meningkat apabila strike menghampiri harga semasa (at the money). Jauh di bawah pasaran, di mana penjual yang menjalankan strategi the wheel sering beroperasi, lantai adalah angka yang mengikat. Lantai itulah yang menghalang naked put yang jauh out of the money daripada boleh dibawa tanpa kos.

Berapakah kuasa beli yang diikat oleh satu kontrak naked?

Angka per saham adalah formulanya. Angka per kontrak adalah apa yang keluar daripada akaun. Panel ini mengambil 5 nama syarikat isi rumah pada sesi Jun 2026 yang sama, memilih strike call tersenarai yang paling hampir dengan 5% di atas setiap harga saham, dan mendarabkan kedua-dua cabang dengan 100 saham yang dilindungi oleh satu kontrak.

PertanyaanMargin minimum opsyen call tidak dilindungi setiap kontrak, harga pelaksanaan kira-kira 5% di luar wang (out of the money)
SQL tepat di sebalik setiap nombor
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
Run this yourself

Satu uncovered SPY call pada jarak tersebut membawa minimum $11156 untuk satu kontrak, berbanding $1252 untuk KO. Dagangan yang sama, formula yang sama. Angka tersebut menjejaki harga saham dan bukannya apa-apa tentang opsyen itu sendiri. Pada 5% out of the money, cabang pertama mengikat bagi setiap nama di sini, dan bar yang lebih tinggi dalam setiap pasangan adalah yang diambil kira.

Semak sebarang posisi dengan skrip Python ringkas

Formula ini boleh dimuatkan dalam satu fail. Ini memerlukan python3 dan tiada yang lain: pustaka standard sahaja, tiada pip install, tiada rangkaian. Simpannya sebagai naked_margin.py.

#!/usr/bin/env python3
"""Minimum gaya Reg T untuk satu opsyen ekuiti tidak dilindungi (naked).

Mencetak kedua-dua cabang keperluan dan cabang yang mengikat.
Pustaka standard sahaja. Pendidikan, bukan sebut harga broker.
"""
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='Keperluan minimum naked option gaya Reg T')
    ap.add_argument('--spot', type=float, required=True, help='harga asas')
    ap.add_argument('--strike', type=float, required=True, help='harga strike')
    ap.add_argument('--premium', type=float, required=True, help='premium per saham')
    ap.add_argument('--index', action='store_true', help='kadar indeks berasaskan luas')
    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()

Dua percubaan, dipilih supaya cabang yang mengikat bertukar antara keduanya. Kedua-duanya menggunakan input hipotesis bulat.

$ 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

Dalam percubaan pertama, strike berada 5% di atas harga asas, di dalam persilangan 10%, dan cabang pertama mengikat untuk call dan put. Dalam percubaan kedua, strike adalah 15% di bawah harga asas, yang menyebabkan call berada in the money pada cabang pertama dan menolak put cukup jauh sehingga lantai 10% mengambil alih posisi tersebut. Masukkan input anda sendiri dengan --spot, --strike dan --premium, dan tambah --index untuk angka indeks berasaskan luas 15%. Apa yang dicetak adalah lantai bagi apa yang akan diminta oleh broker, bukan siling.

Apa yang mengubah keperluan selepas anda menjual

Angka tersebut tidak ditetapkan sekali sahaja. Ia dikira semula berdasarkan harga asas setiap hari, dan harga asas sentiasa bergerak. Jejak di bawah menetapkan strike short call kira-kira 10% di atas harga pembukaan AAPL April 2026, kemudian mengikuti keperluan sebagai peratusan harga saham sehingga akhir Jun.

PertanyaanSatu harga pelaksanaan opsyen call AAPL pendek tetap: keperluan sebagai peratusan harga saham, April hingga Jun 2026
SQL tepat di sebalik setiap nombor
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
Run this yourself

Posisi bermula pada persilangan, pada 10.19% daripada harga saham dengan 9.81% ruang ke strike, dan menamatkan tempoh pada 20%. Apabila saham mendaki ke arah strike short call, pengurangan out of the money mengecil, dan keperluan meningkat ke arah 20% penuh. Empat perkara lain menggerakkannya:

  • Penyerahan (assignment) menamatkan opsyen dan menyerahkan saham atau posisi short saham dengan keperluannya sendiri. Early assignment pada short options tertumpu di sekitar dividen dan strike yang jauh in the money.
  • Keperluan rumah (house requirements) ditambah di atas minimum. Broker secara rutin menetapkan angka mereka sendiri melebihi Reg T untuk posisi tidak dilindungi, kadangkala berganda pada nama yang tidak menentu (volatile).
  • Pergerakan yang menentang posisi akan meningkatkan keperluan sementara ekuiti akaun jatuh pada masa yang sama. Jurang antara keduanya adalah apa yang menghasilkan maintenance call.
  • Portfolio margin adalah rejim yang berasingan. Akaun yang diluluskan dikenakan caj berdasarkan ujian tekanan (stress test) keseluruhan buku, sekitar pergerakan 15% naik atau turun dalam ekuiti asas, dengan minimum akaun enam angka di kebanyakan broker. Bagi buku yang dilindung nilai (hedged), angka tersebut boleh menjadi jauh lebih rendah daripada Reg T, dan ia bergerak lebih pantas apabila volatiliti meningkat.

Tiada satu pun daripada ini merupakan cadangan. Penjualan tidak dilindungi membawa kerugian yang tidak terhad pada bahagian call dan sangat besar pada bahagian put, dan betapa berisikonya dagangan opsyen membincangkan taburan tersebut dengan data.

Soalan Lazim

Berapakah margin yang saya perlukan untuk menjual naked put?

Minimum kawal selia adalah nilai yang lebih tinggi antara dua cabang, kedua-duanya termasuk premium yang diterima: 20% daripada harga asas tolak jumlah out of the money, atau 10% daripada harga strike. Pada saham $100, put strike $90 yang dijual pada $0.60 menghasilkan $10.60 sesaham berbanding lantai $9.60, jadi $1,060 untuk satu kontrak. Broker biasanya memerlukan lebih daripada itu.

Adakah margin naked option sama di setiap broker?

Tidak. Reg T dan FINRA Rule 4210 menetapkan minimum, dan setiap broker boleh menambah keperluan rumah di atasnya. Ramai yang berbuat demikian pada saham individu dan sekitar tarikh pengumuman pendapatan. Formula yang diterbitkan memberikan anda bahagian bawah julat, bukan angka yang akan dipaparkan oleh platform anda.

Adakah premium yang saya kutip dikira dalam keperluan?

Premium yang diterima ditambah kepada kedua-dua cabang formula dan dikreditkan ke dalam akaun apabila dagangan selesai. Ia tidak pernah mengubah cabang mana yang mengikat, kerana ia muncul pada kedua-dua belah pihak dalam jumlah yang sama.

Berapakah margin untuk naked index option?

Opsyen indeks berasaskan luas membawa 15% menggantikan 20%, dengan lantai 10% yang sama dan terma premium yang sama. Opsyen pada ETF yang menjejaki indeks luas dilayan sebagai opsyen ekuiti pada angka 20%, jadi peratusan yang lebih rendah tidak mengikut pendedahan merentasi pembungkus (wrappers). Kedua-duanya kekal sebagai minimum kawal selia.

Bolehkah keperluan naked option berubah semasa saya memegangnya?

Ya. Ia dikira semula berdasarkan harga asas, jadi ia bergerak apabila saham bergerak, seperti yang ditunjukkan oleh jejak di atas. Kenaikan ke arah strike short call meningkatkan angka tersebut, dan broker juga boleh menaikkan keperluan rumah mereka pada posisi terbuka.


Setiap panel di sini membawa SQL yang menghasilkannya, jadi kembangkan mana-mana satu untuk melihat dengan tepat bagaimana sesuatu cabang dikira. Untuk menjalankan matematik rantaian yang sama pada nama yang anda ikuti, minta ia dalam bahasa Inggeris yang mudah pada terminal Strasmore.

#options#margin#reg t#naked options#risk