Cara Kira Beta Weighting Portfolio dan Delta
Delta opsyen tidak boleh dijumlahkan terus merentas ticker. Beta weighting melaraskan delta portfolio menjadi saham SPY setara untuk gambaran risiko pasaran yang tepat.
Delta portfolio ialah angka tunggal yang menjawab satu soalan: jika pasaran luas bergerak satu peratus, berapakah anggaran pergerakan keseluruhan buku tersebut? Menjumlahkan delta bagi setiap posisi akan menghasilkan satu angka, tetapi bukan angka yang dimaksudkan itu. Beta weighting ialah pelarasan yang menjadikan jumlah tersebut bermakna, dengan menyatakan semula setiap pegangan sebagai jumlah saham SPY yang setara.
Mengapa delta portfolio tidak boleh dijumlahkan merentas ticker
Delta mengukur perubahan nilai sesuatu posisi bagi setiap pergerakan satu dolar dalam aset asasnya. Satu saham mempunyai delta bernilai satu. Satu kontrak opsyen meliputi seratus saham, jadi call option dengan delta 0.30 membawa pendedahan sebanyak 30 delta. Pandangan bagi posisi tunggal itu adalah subjek kepada apa yang diukur oleh delta opsyen.
Masalah timbul apabila melibatkan ticker kedua. Seratus delta bagi saham berharga tinggi dengan beta tinggi dan seratus delta bagi saham defensif yang murah mempunyai kiraan yang sama, namun pendedahannya jauh berbeza. Yang pertama mewakili puluhan ribu dolar saham yang secara sejarahnya bergerak lebih drastik daripada indeks. Yang kedua pula mewakili beberapa ribu dolar saham yang secara sejarahnya bergerak kurang daripada indeks. Menjumlahkan kedua-duanya memberikan angka 200, satu angka dalam unit yang tidak boleh digunakan untuk sebarang tindakan.
Apakah itu delta berwajaran beta?
Pemberatan beta menyatakan semula setiap delta dalam buku sebagai delta bagi satu penanda aras yang dipilih, biasanya SPY untuk buku ekuiti AS. Dua pengganda melakukan kerja ini.
Pertama ialah beta: sensitiviti sejarah sesuatu saham terhadap penanda aras, yang diukur sebagai cerun pulangan hariannya berbanding pulangan harian indeks sepanjang tempoh yang dipilih. Beta sebanyak 1.4 bermakna saham tersebut bergerak kira-kira 1.4% secara purata bagi setiap pergerakan 1% dalam indeks sepanjang tempoh tersebut.
Kedua ialah nisbah harga, iaitu harga saham dibahagikan dengan harga penanda aras. Delta mengira bilangan saham, dan saham pada harga yang berbeza mewakili jumlah wang yang berbeza. Nisbah ini meletakkan kesemuanya pada satu skala.
Darabkan delta mentah sesuatu posisi dengan kedua-duanya dan hasilnya ialah delta berwajaran beta: bilangan saham SPY yang akan berkelakuan sama sepanjang tempoh pengukuran. Panel di bawah mengukur beta setiap nama daripada pulangan penutup harian sepanjang tahun berakhir 30 Jun 2026, kemudian menunjukkan harganya berbanding SPY dan hasil darab kedua-duanya. SPY diletakkan dalam senarai sebagai penanda aras, dengan beta 1 dan nisbah harga 1, yang menjadikan satu saham SPY tepat satu delta berwajaran beta.
SQL tepat di sebalik setiap nombor
WITH
sessions AS
(
SELECT
ticker AS ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'MSFT', 'XOM', 'JNJ', 'KO')
AND window_start >= toDateTime('2025-07-01 04:00:00')
AND window_start < toDateTime('2026-07-01 04:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
steps AS
(
SELECT
ticker,
d,
px,
any(px) OVER (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
FROM sessions
),
daily_ret AS
(
SELECT ticker, d, (px / prev_px) - 1 AS r
FROM steps
WHERE prev_px > 0
),
bench AS
(
SELECT d, r AS spy_r
FROM daily_ret
WHERE ticker = 'SPY'
),
betas AS
(
SELECT
s.ticker AS ticker,
covarPop(s.r, b.spy_r) / varPop(b.spy_r) AS beta_vs_spy,
1 AS k
FROM daily_ret AS s
INNER JOIN bench AS b ON b.d = s.d
GROUP BY s.ticker
),
prices AS
(
SELECT ticker, argMax(px, d) AS close_px
FROM sessions
GROUP BY ticker
),
spy_price AS
(
SELECT argMax(px, d) AS spy_close, 1 AS k
FROM sessions
WHERE ticker = 'SPY'
)
SELECT
betas.ticker AS ticker,
round(betas.beta_vs_spy, 2) AS beta_vs_spy,
round(prices.close_px / spy_price.spy_close, 3) AS price_vs_spy,
round(betas.beta_vs_spy * prices.close_px / spy_price.spy_close, 3) AS spy_shares_per_share
FROM betas
INNER JOIN prices ON prices.ticker = betas.ticker
INNER JOIN spy_price ON spy_price.k = betas.k
ORDER BY beta_vs_spy DESCNVDA mendahului senarai pada beta 1.86, didagangkan pada 0.268 kali ganda harga SPY. Darabkan pasangan tersebut: satu sahamnya membawa pendedahan indeks sebanyak 0.498 saham SPY. Hujung jauh bagi 7 nama berada di bawah sifar. XOM mencatatkan beta sebanyak -0.36 sepanjang tempoh ini, satu cerun songsang yang sederhana terhadap indeks dan bukannya versi yang lemah, dan satu saham ditukar kepada -0.067 saham SPY. Satu delta dalam buku dalam kedua-dua kes. Terdapat jurang yang luas dalam perkara yang didedahkan oleh delta tersebut, dan petunjuk awal bahawa beta yang dicetak kepada dua titik perpuluhan hanyalah anggaran dengan tempoh masa yang ditetapkan, satu perkara yang akan dibincangkan pada akhir catatan ini.
Dari mana datangnya delta opsyen
Delta bagi sesuatu saham ditetapkan pada 1 bagi setiap unit saham. Delta opsyen pula tidak tetap, dan ia berubah mengikut harga strike, tempoh masa sehingga tamat tempoh, harga aset asas, dan volatiliti tersirat. Panel di bawah memaparkan delta bagi setiap kontrak AAPL yang didagangkan pada 30 Jun 2026 dengan tempoh 20 hingga 45 hari sebelum tamat tempoh, dikumpulkan mengikut baldi dua peratus berdasarkan jarak harga strike daripada harga penutup.
SQL tepat di sebalik setiap nombor
SELECT
concat(if(bucket_pct > 0, '+', ''), toString(bucket_pct), '%') AS strike_vs_spot,
round(avgIf(contract_delta, contract_delta > 0), 3) AS call_delta,
round(avgIf(contract_delta, contract_delta < 0), 3) AS put_delta,
count() AS contract_count
FROM
(
SELECT
toInt32(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50)) * 2 AS bucket_pct,
toFloat64(delta) AS contract_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= toDate('2026-06-30')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.12
)
GROUP BY bucket_pct
HAVING countIf(contract_delta > 0) > 0 AND countIf(contract_delta < 0) > 0
ORDER BY bucket_pctPada baldi -12%, purata delta bagi call adalah 0.924 merentasi 4 kontrak yang didagangkan, manakala purata bagi put adalah -0.084. Pada +10%, purata bagi call adalah 0.106 dan bagi put adalah -0.834. Opsyen call dan put pada harga strike yang sama membawa delta dengan tanda yang bertentangan, itulah sebabnya posisi short call dan long put kedua-duanya mengimbangi posisi long saham. Bagaimana keseluruhan keluk berubah apabila menghampiri tarikh tamat tempoh dibincangkan dalam bagaimana greeks opsyen berubah mengikut masa.
Mengurus satu buku kecil kepada satu angka tunggal
Ambil buku tiga posisi yang diselaraskan secara manual. Long 300 saham AAPL. Short 3 call AAPL kira-kira lima peratus di atas harga semasa (out of the money) dengan tempoh tamat kira-kira sebulan, iaitu overlay covered-call standard. Long 5 put KO berhampiran harga semasa (near the money) dengan tempoh tamat yang serupa, sebagai lindung nilai pada nama kedua. Kiraan saham dan kontrak adalah hipotesis. Setiap delta dan beta dalam panel diukur.
SQL tepat di sebalik setiap nombor
WITH
sessions AS
(
SELECT
ticker AS ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'KO')
AND window_start >= toDateTime('2025-07-01 04:00:00')
AND window_start < toDateTime('2026-07-01 04:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
steps AS
(
SELECT
ticker,
d,
px,
any(px) OVER (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
FROM sessions
),
daily_ret AS
(
SELECT ticker, d, (px / prev_px) - 1 AS r
FROM steps
WHERE prev_px > 0
),
bench AS
(
SELECT d, r AS spy_r
FROM daily_ret
WHERE ticker = 'SPY'
),
betas AS
(
SELECT
s.ticker AS ticker,
covarPop(s.r, b.spy_r) / varPop(b.spy_r) AS beta_vs_spy
FROM daily_ret AS s
INNER JOIN bench AS b ON b.d = s.d
GROUP BY s.ticker
),
prices AS
(
SELECT ticker, argMax(px, d) AS close_px, 1 AS k
FROM sessions
GROUP BY ticker
),
spy_price AS
(
SELECT argMax(px, d) AS spy_close, 1 AS k
FROM sessions
WHERE ticker = 'SPY'
),
opt_delta AS
(
SELECT
underlying_symbol AS ticker,
if(toFloat64(delta) > 0, 'call', 'put') AS kind,
avg(toFloat64(delta)) AS per_share_delta
FROM global_markets.options_greeks
WHERE date >= toDate('2026-06-30')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 25 AND 40
AND (
(underlying_symbol = 'AAPL' AND toFloat64(delta) > 0
AND toFloat64(strike_price) / toFloat64(underlying_close) BETWEEN 1.03 AND 1.07)
OR (underlying_symbol = 'KO' AND toFloat64(delta) < 0
AND toFloat64(strike_price) / toFloat64(underlying_close) BETWEEN 0.97 AND 1.03)
)
GROUP BY ticker, kind
),
legs AS
(
SELECT
tupleElement(leg, 1) AS leg_no,
tupleElement(leg, 2) AS position,
tupleElement(leg, 3) AS ticker,
tupleElement(leg, 4) AS kind,
tupleElement(leg, 5) AS qty,
tupleElement(leg, 6) AS multiplier
FROM
(
SELECT arrayJoin([
(1, 'Long 300 AAPL', 'AAPL', 'stock', 300., 1.),
(2, 'Short 3 AAPL calls', 'AAPL', 'call', -3., 100.),
(3, 'Long 5 KO puts', 'KO', 'put', 5., 100.)
]) AS leg
)
)
SELECT
position AS position,
round(raw_share_delta) AS raw_share_delta,
round(beta_vs_spy, 2) AS beta_vs_spy,
round(bw_delta) AS beta_weighted_delta,
round(sum(bw_delta) OVER (ORDER BY leg_no ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) AS running_book_delta,
round(sum(bw_delta) OVER (ORDER BY leg_no ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) * spy_close / 100.) AS dollars_per_1pct_spy
FROM
(
SELECT
l.leg_no AS leg_no,
l.position AS position,
l.qty * l.multiplier * if(l.kind = 'stock', 1., o.per_share_delta) AS raw_share_delta,
bt.beta_vs_spy AS beta_vs_spy,
sp.spy_close AS spy_close,
raw_share_delta * bt.beta_vs_spy * pr.close_px / sp.spy_close AS bw_delta
FROM legs AS l
LEFT JOIN opt_delta AS o ON o.ticker = l.ticker AND o.kind = l.kind
INNER JOIN betas AS bt ON bt.ticker = l.ticker
INNER JOIN prices AS pr ON pr.ticker = l.ticker
INNER JOIN spy_price AS sp ON sp.k = pr.k
)
ORDER BY leg_noBahagian saham membawa 300 delta mentah, satu bagi setiap saham. Short call membawa -98 dan long put membawa -217. Menambah ketiga-tiga kiraan tersebut memberikan satu angka. Pemberatan beta memberikan angka yang berbeza.
AAPL mencatatkan beta sebanyak 0.88 sepanjang tempoh tersebut dan KO sebanyak -0.27, iaitu cerun negatif berbanding indeks sepanjang dua belas bulan itu. Selepas menskalakan setiap bahagian mengikut betanya dan mengikut harganya berbanding SPY, bahagian saham menjadi 103 saham SPY, short call menjadi -34, dan put menjadi 6. Bahagian put adalah bahagian yang perlu diberi perhatian. Kiraan mentah sebanyak -217 delta adalah short KO, dan mendarabkan pendedahan short dengan beta negatif meletakkannya pada sisi positif lejar pada 6 saham SPY, iaitu bacaan long-index yang kecil. Selain daripada tanda positif atau negatif, magnitud adalah perkara utamanya: lindung nilai yang kelihatan besar dari segi delta mentah bertukar menjadi sebahagian kecil daripada kiraan itu dari segi indeks, dan kerjanya dilakukan pada KO dan bukannya pada pasaran. Lajur jumlah terkumpul membawa bahagian-bahagian tersebut mengikut urutan, dan buku itu berakhir pada 76 delta berwajaran beta.
Maksud sebenar delta berwajaran beta pada saiz tersebut
Sebuah buku dengan 76 delta berwajaran beta telah berkelakuan, sepanjang tempoh pengukuran, seperti memegang sejumlah saham SPY tersebut. Angka positif menggambarkan buku yang long terhadap indeks. Angka negatif menggambarkan buku yang short terhadapnya, iaitu maksud pedagang apabila menyatakan mencondongkan delta ke arah short. Lajur terakhir menterjemahkan jumlah terkumpul kepada nilai wang. Pergerakan satu peratus dalam SPY, dengan tiada faktor lain berubah, menggerakkan buku tersebut sebanyak 565 dolar.
Meratakan angka tersebut bermaksud menambah delta berwajaran beta pengimbang dengan saiz yang sama dan tanda yang bertentangan. Melakukan short pada saham SPY melaksanakannya secara satu-untuk-satu: satu saham SPY adalah satu delta berwajaran beta mengikut pembinaannya. Opsyen SPY melakukannya dalam pecahan, pada mana-mana delta yang dibawa oleh kontrak yang dipilih. Mengurangkan kedudukan saham asas melakukannya pada kadar penukaran saham itu sendiri daripada panel pertama. Setiap laluan membawa kosnya sendiri dan greeksnya sendiri.
Di mana pemberatan beta gagal berfungsi
Beta ialah anggaran regresi, dan tempoh masa ia diukur akan mengubah jawapannya. Panel di bawah mengira semula dua beta yang sama sepanjang enam tempoh imbas kembali, kesemuanya berakhir pada tarikh yang sama.
SQL tepat di sebalik setiap nombor
WITH
sessions AS
(
SELECT
ticker AS ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'KO')
AND window_start >= toDateTime('2024-04-01 04:00:00')
AND window_start < toDateTime('2026-07-01 04:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, d
),
steps AS
(
SELECT
ticker,
d,
px,
any(px) OVER (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
FROM sessions
),
daily_ret AS
(
SELECT ticker, d, (px / prev_px) - 1 AS r
FROM steps
WHERE prev_px > 0
),
bench AS
(
SELECT d, r AS spy_r
FROM daily_ret
WHERE ticker = 'SPY'
),
paired AS
(
SELECT
s.ticker AS ticker,
s.r AS r,
b.spy_r AS spy_r,
row_number() OVER (PARTITION BY s.ticker ORDER BY s.d DESC) AS rn
FROM daily_ret AS s
INNER JOIN bench AS b ON b.d = s.d
WHERE s.ticker IN ('AAPL', 'KO')
),
windows AS
(
SELECT arrayJoin([30, 60, 90, 180, 252, 504]) AS lookback
)
SELECT
w.lookback AS lookback_sessions,
round(covarPopIf(p.r, p.spy_r, p.ticker = 'AAPL') / varPopIf(p.spy_r, p.ticker = 'AAPL'), 2) AS aapl_beta,
round(covarPopIf(p.r, p.spy_r, p.ticker = 'KO') / varPopIf(p.spy_r, p.ticker = 'KO'), 2) AS ko_beta
FROM paired AS p
CROSS JOIN windows AS w
WHERE p.rn <= w.lookback
GROUP BY w.lookback
HAVING countIf(p.ticker = 'AAPL') > 0 AND countIf(p.ticker = 'KO') > 0
ORDER BY lookback_sessionsSepanjang 30 sesi terkini, AAPL mencatatkan 0.54, berbanding 1.14 sepanjang 504 sesi. KO mencatatkan -1.04 pada tempoh singkat dan -0.03 pada tempoh panjang. Kesemua 6 anggaran adalah tepat secara aritmetik. Ia menjawab soalan yang berbeza, dan delta buku berwajaran beta mewarisi mana-mana tempoh yang dipilih oleh platform. Nama defensif yang mencatatkan beta negatif sedikit pada satu tempoh dan positif sedikit pada tempoh seterusnya adalah perkara biasa, bukan anomali, dan setiap tanda dalam buku kerja di atas bergantung pada pilihan tersebut.
Kelakuan korelasi ialah had kedua. Beta ialah purata sesi biasa. Semasa penjualan besar-besaran, saham yang biasanya bergerak mengikut rentak sendiri cenderung bergerak bersama-sama, dan beta yang diukur berkumpul ke arah 1. Buku yang kelihatan seimbang pada beta pasaran yang tenang boleh menjadi jauh daripada seimbang pada sesi di mana lindung nilai itu penting. Risiko penumpuan menggambarkan titik buta yang sama dari sisi lain: statistik ringkasan memberitahu anda tentang bahagian tengah taburan, bukan bahagian hujung (tail).
Ketiga, pengiraan tersebut adalah tertib pertama dan tidak mengetahui apa-apa tentang gamma. Delta berwajaran beta ialah cerun nilai buku pada harga hari ini, dan ia mengandaikan cerun itu kekal. Gamma, iaitu kadar perubahan delta itu sendiri, tidak muncul di mana-mana dalam pengiraan tersebut. Buku yang membawa opsyen pendek boleh menunjukkan delta berwajaran beta yang sederhana namun masih berubah sifat dengan cepat pada pergerakan indeks sebanyak tiga peratus. Delta yang menyumbang kepada pengiraan itu tidak lagi menggambarkan kedudukan tersebut pada harga berkenaan. Anggap angka tersebut sebagai gambaran bagi pergerakan kecil. Kedudukan yang dibina untuk bahagian hujung, seperti yang terdapat dalam protective puts, kelihatan sangat kecil dari segi wajaran beta dan tidak menjalankan fungsinya dalam julat tersebut.
Penanda aras juga merupakan satu pilihan. Buku saham bermodal kecil yang diberatkan terhadap SPY akan menyembunyikan mana-mana bahagian pergerakannya yang berpunca daripada saiz syarikat dan bukannya pasaran luas. Delta ialah satu greek antara beberapa yang lain, dan selebihnya dijelaskan dalam penjelasan option greeks.
Soalan Lazim
Apakah itu delta berwajaran beta?
Delta berwajaran beta menyatakan semula setiap posisi dalam portfolio sebagai bilangan saham setara bagi satu penanda aras, biasanya SPY. Delta mentah setiap posisi didarabkan dengan beta aset asas terhadap penanda aras tersebut dan dengan nisbah kedua-dua harga, kemudian hasilnya dijumlahkan menjadi satu angka bagi buku tersebut.
Bagaimanakah cara mengira delta berwajaran beta secara manual?
Mulakan dengan delta posisi dalam unit saham: satu bagi setiap saham, atau seratus kali ganda delta opsyen bagi setiap kontrak. Darabkan dengan beta aset asas terhadap penanda aras, kemudian darabkan sekali lagi dengan harga aset asas dibahagikan dengan harga penanda aras. Tambahkan hasil bagi setiap posisi.
Apakah maksud delta berwajaran beta yang negatif?
Ia menggambarkan buku yang diposisikan untuk memperoleh nilai apabila penanda aras jatuh dan kehilangan nilai apabila ia meningkat, pada kadar yang lebih kurang sama dengan posisi short bagi bilangan saham penanda aras tersebut. Pedagang memanggil keadaan ini sebagai mencondongkan delta ke arah short. Angka ini hanya tepat untuk pergerakan kecil sahaja.
Bolehkah sesuatu saham mempunyai beta negatif?
Ya, dalam tempoh masa tertentu. Beta ialah cerun terukur bagi pulangan harian saham berbanding indeks, dan saham defensif boleh mencatatkan nilai sedikit di bawah sifar dalam satu tempoh dua belas bulan dan sedikit di atas sifar pada tempoh berikutnya. Beta negatif akan mengubah tanda delta berwajaran beta bagi posisi tersebut, itulah sebabnya metrik ini dibaca bersama-sama dengan tempoh masa ia diukur.
Tempoh imbas balik manakah yang memberikan beta yang tepat?
Tiada satu tempoh yang betul secara mutlak. Beta tiga puluh sesi menjejaki kelakuan terkini dan banyak berubah, manakala beta satu tahun atau dua tahun adalah lebih stabil dan lambat mencerminkan perubahan dalam perniagaan asas. Panel kestabilan di atas menunjukkan betapa jauh perbezaan antara dua tempoh bagi saham yang sama pada tarikh yang sama.
Adakah pemberatan beta mengambil kira gamma atau volatiliti?
Tidak. Ia adalah ukuran tertib pertama yang dibina daripada delta semasa dan beta sejarah. Gamma, vega, theta, dan rho tidak disentuh olehnya, jadi buku yang mengandungi short options boleh kelihatan rata dari segi delta berwajaran beta namun masih membawa risiko besar sekiranya berlaku pergerakan harga yang ketara.
Setiap panel di atas disertakan dengan SQL yang menghasilkannya. Buka satu panel, tukar ticker atau tempoh ukuran, dan aritmetik berwajaran beta yang sama akan dijalankan terhadap mana-mana buku yang boleh anda gambarkan pada terminal Strasmore.