Box Spread Options ও Implied Loan Rate কীভাবে কাজ করে
চারটি option দিয়ে তৈরি synthetic zero-coupon loan-এর payoff কীভাবে strike width-এ স্থির হয় এবং box spread থেকে implied loan rate কীভাবে হিসাব করবেন, তা জানুন।
একটি box spread হলো চারটি option contract, যেগুলো একসঙ্গে zero-coupon loan-এর মতো কাজ করে: আজ একটি নির্দিষ্ট পরিমাণ নগদ লেনদেন হয়, আর মেয়াদপূর্তিতে দুই strike-এর মধ্যবর্তী দূরত্বের সমান একটি নির্দিষ্ট পরিমাণ অর্থ লেনদেন হয়। মেয়াদপূর্তিতে underlying-এর দাম কোথায় থাকে, তা চূড়ান্ত পেআউটে কোনো প্রভাব ফেলে না। তাই box spread-এর দামে একমাত্র অনির্ধারিত বিষয় হলো এর মধ্যে নিহিত সুদের হার।
box spread কী?
একটি box একই underlying-এর ওপর দুটি strike price এবং একটি expiration date ব্যবহার করে। নিচের strike-কে K1 এবং ওপরের strike-কে K2 বলা যাক। একটি long box-এ চারটি leg থাকে:
- K1-এ একটি call কেনা
- K2-এ একটি call বিক্রি
- K2-এ একটি put কেনা
- K1-এ একটি put বিক্রি
প্রথম দুটি leg মিলে bull call spread গঠন করে। শেষ দুটি leg মিলে bear put spread গঠন করে। দুটিই একসঙ্গে কিনলে net debit দিতে হয়, অর্থাৎ আজ account থেকে নগদ অর্থ বেরিয়ে যায়। তালিকাভুক্ত প্রতিটি US equity option 100টি share কভার করে। তাই strike-এর ব্যবধান 10 point হলে, প্রতিটি contract-এর box মেয়াদপূর্তিতে $1,000-এ নিষ্পত্তি হয়।
একই চারটি leg বিক্রি করলে সেটি short box। এতে আজ net credit পাওয়া যায় এবং মেয়াদপূর্তিতে strike-এর ব্যবধান পরিশোধ করতে হয়।
মেয়াদপূর্তিতে box spread কেন strike-এর ব্যবধান পরিশোধ করে
মেয়াদপূর্তির ফলাফলকে তিনটি অঞ্চলে ভাগ করা যায়। K1-এর নিচে উভয় call মূল্যহীন অবস্থায় মেয়াদপূর্তিতে পৌঁছায় এবং put spread-এর মূল্য হয় পুরো ব্যবধানের সমান। K2-এর ওপরে উভয় put মূল্যহীন অবস্থায় মেয়াদপূর্তিতে পৌঁছায় এবং call spread-এর মূল্য হয় পুরো ব্যবধানের সমান। দুই strike-এর মাঝামাঝি হলে, K1-এ কেনা call-এর মূল্য K1 থেকে দাম যতটা বেড়েছে তার সমান, আর K2-এ কেনা put-এর মূল্য K2 থেকে দাম যতটা কমেছে তার সমান। এই দুই দূরত্বের যোগফল strike-এর ব্যবধানের সমান হয়।
নিচের panel-এ June 2026-এ SPY যে প্রতিটি $5 price level-এ বন্ধ হয়েছে, সেই level-এ দুই spread-এর মূল্য দেখানো হয়েছে। Strike দুটি মাসের average close-এর দুই পাশে 5 point করে নির্ধারণ করা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH
daily AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS spy_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00: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 d
),
strikes AS
(
SELECT
round(avg(spy_close) / 5) * 5 - 5 AS lower_strike,
round(avg(spy_close) / 5) * 5 + 5 AS upper_strike
FROM daily
),
levels AS
(
SELECT DISTINCT round(spy_close / 5) * 5 AS settle
FROM daily
)
SELECT
concat('$', toString(toUInt32(settle))) AS settle_level,
concat('$', toString(toUInt32(lower_strike)), ' / $', toString(toUInt32(upper_strike))) AS box_strikes,
round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0), 2) AS call_leg_value,
round(greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2) AS put_leg_value,
round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0)
+ greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2) AS box_value
FROM levels
CROSS JOIN strikes
ORDER BY settlecall_leg_value এবং put_leg_value column level অনুযায়ী একে অপরের বিপরীত দিকে বদলায়। box_value column পরিবর্তিত হয় না: SPY যে সর্বনিম্ন level-এ পৌঁছেছিল সেখানে 10 এবং সর্বোচ্চ level-এ 10, $740 / $750 strike-এ। এই ধ্রুবকটিই পুরো structure-এর ভিত্তি। একই identity-এর আনুষ্ঠানিক রূপ হলো put call parity। এটি একই strike ভাগ করা call ও put-এর সম্পর্ক নির্ধারণ করে। একটি box দুই strike-এ parity প্রয়োগ করে এবং দুইটির পার্থক্য গ্রহণ করে।
box spread-এর implied loan rate কীভাবে হিসাব করবেন
দুটি সংখ্যা এই rate নির্ধারণ করে: আজ পরিশোধ করা net debit এবং মেয়াদপূর্তিতে পাওয়া strike-এর ব্যবধান। ধরা যাক, 200 দিন বাকি থাকা 10 point-এর একটি box-এর net debit $9.70। প্রতি contract-এ আজ $970 বেরিয়ে যায় এবং মেয়াদপূর্তিতে $1,000 ফেরত আসে। অর্থাৎ লাভ $30।
লাভকে অগ্রিম দেওয়া অর্থ দিয়ে ভাগ করে এক বছরের হিসাবে সমন্বয় করতে হবে। $970-এর ওপর 200 দিনে $30 হলো 3.09 শতাংশ। 3.09 শতাংশকে 365 দিয়ে গুণ করে 200 দিয়ে ভাগ করলে বছরে প্রায় 5.6 শতাংশ হয়। Scaling-এর বদলে compounding ব্যবহার করলে, অর্থাৎ 1000-কে 970 দিয়ে ভাগ করে সেই অনুপাতের 365/200 ঘাত নিলে, rate হয় প্রায় 5.7 শতাংশ। উভয় পদ্ধতিই একই প্রশ্নের উত্তর দেয়: এই price কোন rate নির্দেশ করছে?
long box কি ঋণ দেওয়া, নাকি ঋণ নেওয়া?
Long box হলো ঋণ দেওয়া। আজ account থেকে নগদ অর্থ বেরিয়ে যায়, মেয়াদপূর্তিতে তার চেয়ে বেশি একটি নির্দিষ্ট অর্থ ফেরত আসে, আর পার্থক্যটি অর্জিত সুদ।
Short box হলো ঋণ নেওয়া। আজ credit পাওয়া যায়, মেয়াদপূর্তিতে strike-এর ব্যবধান পরিশোধ করতে হয়, এবং একই হিসাব অর্জিত rate-এর বদলে প্রদেয় rate দেখায়। এই দিকটি প্রায়ই উল্টোভাবে বলা হয়। নগদ অর্থের প্রবাহ দিয়ে মনে রাখুন: আজ অর্থ পাওয়া এবং পরে নির্দিষ্ট অর্থ ফেরত দেওয়া হলো ঋণ নেওয়া। আর আজ অর্থ দেওয়া এবং পরে নির্দিষ্ট অর্থ পাওয়া হলো ঋণ দেওয়া।
box spread-এর কি কোনো delta আছে?
Underlying-এর দাম $1 পরিবর্তিত হলে option-এর দাম কতটা পরিবর্তিত হয়, তা delta দিয়ে মাপা হয়। Box-এর চারটি leg-এর প্রতিটির নিজস্ব delta বড়, কিন্তু এগুলো পরস্পরকে বাতিল করে দেয়। নিচের panel-এ December 18, 2026-এ মেয়াদপূর্তি হওয়া SPY contract-এর greeks দেখানো হয়েছে, যা June 1, 2026-এ ছিল। K1 spot-এর কাছাকাছি strike-এ স্থির রাখা হয়েছে এবং K2 ওপরের দিকে বাড়ানো হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH
chain AS
(
SELECT
toFloat64(strike_price) AS strike,
avg(toFloat64(underlying_close)) AS spot,
round(avgIf(delta, delta > 0), 4) AS call_delta,
round(avgIf(delta, delta < 0), 4) AS put_delta
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-01'
AND expiration_date = '2026-12-18'
AND iv_converged = 1
AND volume > 0
GROUP BY strike
HAVING countIf(delta > 0) > 0
AND countIf(delta < 0) > 0
),
lower_leg AS
(
SELECT
strike AS k1,
call_delta AS c1,
put_delta AS p1
FROM chain
ORDER BY abs(strike - spot)
LIMIT 1
)
SELECT
toUInt32(strike - k1) AS strike_width,
round(c1 - call_delta, 4) AS call_leg_delta,
round(put_delta - p1, 4) AS put_leg_delta,
round(c1 - call_delta + put_delta - p1, 4) AS box_net_delta
FROM chain
CROSS JOIN lower_leg
WHERE strike > k1
AND strike <= k1 + 60
ORDER BY strikePanel-এ সবচেয়ে বড় ব্যবধানের pairing-এ, অর্থাৎ 50 point দূরে, call leg-এর delta 0.2208 এবং put leg-এর delta -0.1977। দুটির net ফল 0.0231। সবচেয়ে কম ব্যবধানের pairing-এ net ফল 0.0005। এই অবশিষ্ট মানগুলো শূন্যের আশপাশের model noise। Box কোনো দিকনির্দেশনামূলক মতামত ধারণ করে না। তাই এর pricing কোনো position-এর মতো নয়, financing-এর মতো হয়।
box spread-এর প্রকৃত ঝুঁকি কী?
American style option মেয়াদপূর্তির আগে যেকোনো business day-তে তার holder exercise করতে পারেন। European style option-এর ক্ষেত্রে তা সম্ভব নয়। American বনাম European option-এ ব্যাখ্যা করা এই পার্থক্যই নির্ধারণ করে box ঋণের মতো আচরণ করবে, নাকি সক্রিয় margin position-এর মতো।
ক্রমটি এভাবে ঘটে:
- Long box এবং short box—দুটিতেই দুটি short leg থাকে। Stock বা ETF-এর ক্ষেত্রে এই leg-গুলো American style।
- Long box-এর short leg দুটি বাইরের প্রান্তে থাকে। Underlying দুই strike-এর মধ্যে থাকলে এগুলো out of the money থাকে। Short box-এ এর বিপরীত ঘটে: একই অঞ্চলে এর দুই short leg-ই in the money থাকে।
- সময়মূল্য প্রায় না থাকা in the money short option-ই holder সাধারণত আগেভাগে exercise করেন। আসন্ন dividend short call-এর ক্ষেত্রে এমন একটি সাধারণ কারণ, যা ex dividend date এবং option-এ ব্যাখ্যা করা হয়েছে।
- Exercise হলে সেই leg প্রতি contract-এ 100টি share-এর long বা short position-এ রূপান্তরিত হয়। অন্য তিনটি leg অপরিবর্তিত থাকে।
- Share position-এর margin requirement box-এর ব্যবধানের ওপর নয়, stock price-এর ওপর নির্ধারিত হয়। কয়েকশ ডলারের net credit-এর জন্য তৈরি account-এ হঠাৎ কয়েক দশ হাজার ডলারের margin requirement দেখা দিতে পারে। তা পূরণ করা না গেলে forced liquidation হতে পারে।
2018 সালে বহুল আলোচিত একটি retail brokerage account এই ক্রমের কারণে শূন্য হয়ে গিয়েছিল। ক্ষতির কারণ ছিল mechanism। Underlying-এর দাম একটুও পরিবর্তিত হওয়া প্রয়োজন ছিল না।
Cash-settled index option এই ব্যবস্থার অন্যদিকে থাকে। এগুলো European style, অর্থাৎ কোনো holder মেয়াদপূর্তির আগে exercise করতে পারেন না। Share সরবরাহের বদলে হিসাব করা index level-এর বিপরীতে নগদ অর্থে settlement হয়। Settlement-এর সময়ের নিজস্ব একটি বিশেষ দিক আছে, যা AM বনাম PM settled option-এ ব্যাখ্যা করা হয়েছে।
কেন commission এবং bid-ask সাধারণত লাভের প্রান্ত খেয়ে ফেলে
Wide box-এর leg-গুলো spot থেকে অনেক দূরের strike-এ থাকে। নিচের panel-এ June 2026-এ SPY option turnover-কে পাঁচটি moneyness bucket-এ ভাগ করা হয়েছে। প্রতিটি bucket-এর জন্য একটি করে row রয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH
chain AS
(
SELECT
multiIf(
toFloat64(strike_price) / toFloat64(underlying_close) < 0.85, 1,
toFloat64(strike_price) / toFloat64(underlying_close) < 0.95, 2,
toFloat64(strike_price) / toFloat64(underlying_close) < 1.05, 3,
toFloat64(strike_price) / toFloat64(underlying_close) < 1.15, 4,
5) AS bucket_key,
multiIf(
bucket_key = 1, 'more than 15% below spot',
bucket_key = 2, '5% to 15% below spot',
bucket_key = 3, 'within 5% of spot',
bucket_key = 4, '5% to 15% above spot',
'more than 15% above spot') AS moneyness_bucket,
volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 30 AND 400
),
totals AS
(
SELECT
sum(volume) AS all_volume,
count() AS all_rows
FROM chain
)
SELECT
moneyness_bucket,
round(100 * count() / any(all_rows), 2) AS contracts_pct,
round(100 * sum(volume) / any(all_volume), 2) AS turnover_pct
FROM chain
CROSS JOIN totals
GROUP BY bucket_key, moneyness_bucket
ORDER BY bucket_keyJune 2026-এ এক মাস বা তার বেশি মেয়াদের SPY expiration-এ spot-এর 5%-এর মধ্যে থাকা strike-গুলো মোট traded contract-এর 43% দখল করেছে। তবে এই strike-গুলো এমন contract day-এর 34.99% জুড়ে ছিল যেদিন কোনো trade print হয়েছিল। Spot-এর সবচেয়ে নিচের bucket-টি 23.06% contract day জুড়ে turnover-এর 25.03% দখল করেছে। এই strike-গুলোতেই wide box-এর ভিত্তি deep in the money call এবং একই price-এ far out of the money put থাকে। কোনো bucket-এ জমা volume মানেই box-এর প্রয়োজনীয় একক contract-এ সেই volume রয়েছে, এমন নয়। প্রতিটি leg-এর চারপাশে bid-ask spread থাকে। Box খোলার সময় চারটি spread অতিক্রম করতে হয়। Maturity-এর আগে বন্ধ করলে আরও চারটি spread অতিক্রম করতে হয়।
Execution error-ও মেয়াদের সঙ্গে বাড়ে। 10 point-এর box-এ 10 cent slippage strike-এর ব্যবধানের 1%। অল্প মেয়াদে annualised করলে এটি অত্যন্ত বড় হয়ে দাঁড়ায়। June 1, 2026-এ তালিকাভুক্ত monthly SPY expiration-এর বিপরীতে panel-এ সেই hypothetical 10 cent-এর মূল্য দেখানো হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT
concat(formatDateTime(expiration_date, '%b %e, %Y'),
' (', toString(toUInt32(any(days_to_expiry))), 'd)') AS expiry_label,
round(100 * (0.10 / 10) * (365 / any(days_to_expiry)), 2) AS annual_cost_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = '2026-06-01'
AND iv_converged = 1
AND volume > 0
AND toDayOfWeek(expiration_date) = 5
AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21
AND days_to_expiry BETWEEN 30 AND 800
GROUP BY expiration_date
ORDER BY any(days_to_expiry)
LIMIT 12Jul 17, 2026 (46d)-এ 10 cent-এর খরচ বছরে 7.93%। Jun 16, 2028 (746d)-এ একই 10 cent-এর খরচ 0.49%। এই কারণেই financing trade সাধারণত দীর্ঘমেয়াদি হয়। তাই box-এর leg-গুলো deep in the money LEAPS-এর মতো দেখতে লাগে। এর সঙ্গে commission যোগ হয়, প্রতিবার চারটি leg ধরে। প্রতি contract এবং প্রতি leg-এর charge option trade করতে কত খরচ হয়-এ ভেঙে দেখানো হয়েছে।
সাধারণ জিজ্ঞাসা
box spread কি ঝুঁকিমুক্ত?
মেয়াদপূর্তিতে পেআউট strike-এর ব্যবধানে স্থির থাকে এবং position-টির directional exposure থাকে না। তবে দুটি ঝুঁকি থেকে যায়: American style contract-এ early assignment এবং চারটি leg পূরণ করে পরে বন্ধ করার খরচ।
long box এবং short box-এর মধ্যে পার্থক্য কী?
Long box-এর জন্য আজ net debit দিতে হয় এবং মেয়াদপূর্তিতে strike-এর ব্যবধান পাওয়া যায়। এতে buyer ঋণদাতার অবস্থানে থাকেন। Short box-এ আজ net credit পাওয়া যায় এবং মেয়াদপূর্তিতে strike-এর ব্যবধান পরিশোধ করতে হয়। এতে seller ঋণগ্রহীতার অবস্থানে থাকেন।
box spread কি আগেভাগে assign হতে পারে?
হ্যাঁ, যদি এটি stock বা ETF-এর American style option দিয়ে তৈরি হয়। যেকোনো business day-তে holder যেকোনো short leg exercise করতে পারেন। এতে সেই leg একটি share position-এ রূপান্তরিত হয় এবং তার নিজস্ব margin requirement তৈরি হয়। European style cash-settled index option দিয়ে তৈরি box early assignment-এর শিকার হতে পারে না।
broker-রা short box spread-এ সীমাবদ্ধতা কেন দেয়?
অনেক broker American style contract-এ short box সীমিত বা বন্ধ করে দেয়। Early assignment হলে ছোট একটি options position বড় share position-এ রূপান্তরিত হয় এবং তার সঙ্গে বড় margin requirement যুক্ত হয়।
box spread-এর implied rate কীভাবে হিসাব করব?
Strike-এর ব্যবধানকে net debit দিয়ে ভাগ করুন। প্রাপ্ত ফলকে 365-কে expiration পর্যন্ত দিনের সংখ্যা দিয়ে ভাগ করা অনুপাতের ঘাতে উন্নীত করুন। এরপর 1 বিয়োগ করুন। সহজ পদ্ধতিতে লাভকে debit দিয়ে ভাগ করে 365-কে expiration পর্যন্ত দিনের সংখ্যা দিয়ে ভাগ করা হয়।
এখানে প্রতিটি panel-এর সঙ্গে সেটি তৈরির SQL দেওয়া আছে। একটি panel খুলে ticker বা expiration পরিবর্তন করুন এবং Strasmore terminal-এ নিজে query চালান।