Quadruple Witching বনাম Triple Witching: পার্থক্য
US single stock futures 2020 সালে বন্ধ হওয়ায় quadruple witching এখন triple witching। চতুর্থ পণ্যটি কী ছিল এবং ওই শুক্রবারে কোন 3টি পণ্য বাজার নাড়ায় তা জানুন।
Quadruple witching বনাম triple witching-এর পার্থক্য এখন এমন একটি চুক্তির ওপর নির্ভর করে, যা আর লেনদেন হয় না। Quadruple witching বলতে বছরে চারটি শুক্রবারকে বোঝানো হতো, যেদিন index futures, index options, single stock options এবং single stock futures একই সকালে মেয়াদোত্তীর্ণ হতো। US single stock futures 2020 সালে লেনদেন বন্ধ হওয়ার পর American markets-এ এখন 3টি পণ্য মেয়াদোত্তীর্ণ হয়। তাই বর্তমান পরিস্থিতির সঠিক নাম triple witching।
এটি quadruple witching, নাকি triple witching?
2026 সালে US markets-এর ক্ষেত্রে এটি triple witching। পুরোনো নামটিতে গণনা করা 4 ধরনের contract একে একে নিচে দেওয়া হলো।
- Index future হলো নির্দিষ্ট তারিখে S&P 500-এর মতো কোনো stock index-এর level নিষ্পত্তি করার চুক্তি।
- Index option হলো ওই index level কেনা বা বিক্রি করার অধিকার। এটি shares-এর পরিবর্তে নগদে নিষ্পত্তি হয়।
- Single stock option হলো কোনো নির্দিষ্ট কোম্পানির 100 shares কেনা বা বিক্রি করার অধিকার।
- Single stock future ছিল নির্দিষ্ট তারিখে কোনো নির্দিষ্ট কোম্পানির shares-এর price নিষ্পত্তি করার চুক্তি।
শেষের item-টিই এখন নেই। US single stock futures প্রায় পুরোপুরি OneChicago নামের একটি joint venture exchange-এ লেনদেন হতো। পাশের listed options market-এর তুলনায় এর আকার কখনও উল্লেখযোগ্য হয়ে ওঠেনি। OneChicago 2020 সালে কার্যক্রম গুটিয়ে নেয় এবং contractগুলোর লেনদেন বন্ধ হয়ে যায়। August 2026 পর্যন্ত কোনো US exchange এগুলো list করে না। এ কারণেই US quarterly expiration-এ এখন 3টি product থাকে।
United States-এর বাইরে চতুর্থ leg এখনও আছে। European এবং Asian derivatives exchanges এখনও single stock futures list করে। তাই সেখানে quarterly expiration-এ সত্যিই একই সকালে 4 ধরনের contract একসঙ্গে মেয়াদোত্তীর্ণ হতে পারে। সব বাজারের ক্ষেত্রে শব্দটি ভুল নয়। তবে অধিকাংশ মানুষ যে market বোঝাতে শব্দটি ব্যবহার করেন, সেই market-এর ক্ষেত্রে এটি ভুল। US markets নিয়ে অনেক explainer 2020 সালের আগে লেখা হয়েছিল এবং পরে আর সংশোধন করা হয়নি। এটি ভুল বোঝাবুঝি নয়, বরং তথ্য হালনাগাদ না করার সমস্যা। কার্যকর takeaway হলো একটি তারিখ: US readers-এর জন্য লেখা কোনো article-এ quadruple লেখা থাকলে সেটি 2020 সালের আগের কি না যাচাই করুন।
অবশিষ্ট mechanics অপরিবর্তিত আছে। এগুলো triple witching কী-এ ব্যাখ্যা করা হয়েছে। চলতি বছরের calendar আছে 2026 সালের triple witching dates-এ।
ওই 4টি শুক্রবারে এখনও কী ঘটে
একটি leg বাদ পড়লেও দিনটি শান্ত হয়নি। March, June, September এবং December-এর তৃতীয় শুক্রবারে এখনও 3টি expiration একসঙ্গে হয়। একই তারিখে আরও 2টি বিষয় ঘটে। কয়েকটি বড় index family তাদের quarterly review-এর কার্যকারিতা ওই একই closing-এ নির্ধারণ করে। ফলে ওই index অনুসরণকারী fundগুলো একবারের print-এ additions এবং removals trade করে। Quarterly expiration 12টি monthly expiration-এর মধ্যে সবচেয়ে বড়। কারণ index এবং futures cycle ওই সময়ের সঙ্গে মিলে যায়।
এই জমাটবদ্ধ কার্যকলাপ বোঝার সবচেয়ে সরল উপায় হলো volume।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH fridays AS
(
SELECT
date,
toFloat64(volume) AS vol,
(toMonth(date) IN (3, 6, 9, 12) AND toDayOfMonth(date) BETWEEN 15 AND 21) AS is_expiry
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2023-01-01'
AND date < today()
AND toDayOfWeek(date) = 5
),
ordinary AS
(
SELECT avg(vol) AS avg_ordinary_friday
FROM fridays
WHERE is_expiry = 0
)
SELECT
toString(f.date) AS session_date,
formatDateTime(f.date, '%b %Y') AS session_label,
round(f.vol / 1e6, 1) AS spy_volume_millions,
round(f.vol / o.avg_ordinary_friday, 2) AS vs_ordinary_friday_ratio
FROM fridays AS f
CROSS JOIN ordinary AS o
WHERE f.is_expiry = 1
ORDER BY f.dateSPY হলো S&P 500 অনুসরণকারী exchange traded fund। এটি US market-এর সবচেয়ে বেশি লেনদেন হওয়া listing, তাই এটি একটি পরিষ্কার gauge। বিশ্লেষণে থাকা earliest quarterly session-এ, Mar 2023 তারিখে, এর লেনদেন হয়েছিল 140.4 million shares। ওই window-র সাধারণ Friday-এর গড়ের তুলনায় এটি ছিল 1.85 গুণ। সর্বশেষ session-এ, Mar 2026 তারিখে, লেনদেন হয়েছিল 165.6 million shares, যা সাধারণ দিনের তুলনায় 2.18 গুণ। Panel-এ 13টি quarterly session দেখানো হয়েছে।
এভাবে তৈরি chart-এ কোনো quarter বাদ পড়তে পারে। তৃতীয় Friday কোনো exchange holiday-তে পড়লে monthly expiration তার আগের Thursday-তে চলে যায়। ফলে chart-এ দেখানোর মতো কোনো Friday session থাকে না।
দিনের কোন সময় volume print হয়?
Daily total লেনদেনের সময়ভিত্তিক গঠন দেখায় না। একটি expiration Friday-কে half-hour bucket-এ ভাগ করে তার পরের সপ্তাহের একটি সাধারণ Friday-এর সঙ্গে তুলনা করলে অতিরিক্ত activity কোথায় জমা হয় তা বোঝা যায়।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
toFloat64(volume) AS vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-03-20 00:00:00'
AND window_start < '2026-03-28 00:00:00'
AND toDate(toTimeZone(window_start, 'America/New_York')) IN ('2026-03-20', '2026-03-27')
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
),
day_totals AS
(
SELECT
sumIf(vol, session = '2026-03-20') AS expiry_total,
sumIf(vol, session = '2026-03-27') AS ordinary_total
FROM bars
)
SELECT
formatDateTime(toStartOfInterval(b.et, INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(100 * sumIf(b.vol, b.session = '2026-03-20') / any(t.expiry_total), 2) AS expiry_friday_pct,
round(100 * sumIf(b.vol, b.session = '2026-03-27') / any(t.ordinary_total), 2) AS ordinary_friday_pct
FROM bars AS b
CROSS JOIN day_totals AS t
GROUP BY et_time
ORDER BY et_timeদুটি session-ই ভারী volume নিয়ে শুরু হয়। 09:30 bucket-এ expiration session-এর regular-hours volume-এর 8.07 percent লেনদেন হয়েছিল। সাধারণ Friday-তে এই হার ছিল 11.59 percent। শেষের bucket, 16:00, মাত্র 1 minute দীর্ঘ। এখানে closing auction হয়েছিল। এতে expiration day-এর regular-hours volume-এর 0.54 percent ছিল। এক সপ্তাহ পরের সাধারণ Friday-তে এই হার ছিল 0.46 percent। Expiration session-এ ওই এক minute fundটির regular-hours volume-এর একটি ছোট অংশ মাত্র। এটি স্পষ্ট করে বলা দরকার, কারণ closing cross-কে প্রায়ই দিনের volume জমা হওয়ার মুহূর্ত হিসেবে বর্ণনা করা হয়। SPY একটি regular session-এর 390টি minute জুড়েই বড় আকারে trade হয়। তাই একটি crossing তার tape-কে প্রভাবশালীভাবে নিয়ন্ত্রণ করে না। এই crossing volume নয়, price নির্ধারণ করে।
Closing auction হলো primary exchange পরিচালিত একটি single crossing। এটি 4:00 p.m. ET-তে হয় এবং একটি official closing price তৈরি করে। কোনো index অনুসরণকারী fund-এর জন্য সেই price-টি অনুসরণ করা index-এর price-এর সঙ্গে মেলা জরুরি। তাই quarterly index change এবং expiring index product ওই এক minute-এ converges করে। একই pattern প্রতিটি name-এর ক্ষেত্রেও দেখা যায়।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH bars AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
(toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) AS et_minute,
toFloat64(volume) AS vol
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'JNJ', 'XOM')
AND window_start >= '2026-03-20 00:00:00'
AND window_start < '2026-03-28 00:00:00'
AND toDate(toTimeZone(window_start, 'America/New_York')) IN ('2026-03-20', '2026-03-27')
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
)
SELECT
ticker AS symbol,
round(100 * sumIf(vol, session = '2026-03-20' AND et_minute = 960)
/ sumIf(vol, session = '2026-03-20'), 2) AS expiry_close_pct,
round(100 * sumIf(vol, session = '2026-03-27' AND et_minute = 960)
/ sumIf(vol, session = '2026-03-27'), 2) AS ordinary_close_pct
FROM bars
GROUP BY symbol
HAVING sumIf(vol, session = '2026-03-20') > 0
AND sumIf(vol, session = '2026-03-27') > 0
ORDER BY expiry_close_pct DESCAAPL closing-এর সময় সবচেয়ে বেশি share লেনদেন করেছে। Expiration Friday-তে তার regular-hours volume-এর 3.4 percent ওই সময়ে হয়েছিল। এক সপ্তাহ পরের সাধারণ Friday-তে এই হার ছিল 2.05 percent। প্রতিটি name-এর 2টি bar-এর মধ্যকার gap দেখায় দিনের কত বেশি অংশ ওই এক minute-এ লেনদেন হয়েছে। Strike price closing price-এর কাছাকাছি থাকা কোনো option ধরে রাখা trader এই print গভীরভাবে পর্যবেক্ষণ করেন। options expiration-এ pin risk-এ এই বিষয়টি ব্যাখ্যা করা হয়েছে।
সকালও কেন গুরুত্বপূর্ণ
সব expiring contract closing price-এর ভিত্তিতে settle হয় না। অনেক index product সকালে Special Opening Quotation-এর ভিত্তিতে settle হয়। এই value তৈরি হয় index-এর প্রতিটি member-এর opening print থেকে। তবে সব index member একই second-এ open হয় না। ফলে settlement number এমন একটি level-এ হতে পারে, যা index নিজে কোনো screen-এ কখনও দেখায়নি। এটি এই দিনের সবচেয়ে কম intuitive বৈশিষ্ট্যগুলোর একটি।
একটি expiration Friday-তে 1টির বদলে 2টি focal point থাকে। একটি opening print AM-settled contract নির্ধারণ করে। আর একটি closing print PM-settled contract এবং quarterly index rebalance নির্ধারণ করে। Japan নিজস্ব quarterly schedule-এ একই morning পদ্ধতি ব্যবহার করে। এটি Japan-এর SQ day-এ ব্যাখ্যা করা হয়েছে। US-এর 2টি convention-এর পার্থক্য AM settled বনাম PM settled options-এ আলোচনা করা হয়েছে।
Witching Friday কি বড় price move বোঝায়?
Volume সত্যিই বেশি হয়। তবে এর সঙ্গে সাধারণত যুক্ত direction-এর দাবি আলাদা বিষয়। এটি সহজেই যাচাই করা যায়: একই বছরের অন্য সব Friday-এর সঙ্গে quarterly expiration Friday-তে SPY-এর open-to-close move-এর average size তুলনা করুন।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH fridays AS
(
SELECT
toYear(date) AS y,
abs(100 * (toFloat64(close) - toFloat64(open)) / toFloat64(open)) AS abs_move_pct,
(toMonth(date) IN (3, 6, 9, 12) AND toDayOfMonth(date) BETWEEN 15 AND 21) AS is_expiry
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= '2016-01-01'
AND date < today()
AND toDayOfWeek(date) = 5
AND toFloat64(open) > 0
)
SELECT
toString(y) AS year,
round(avgIf(abs_move_pct, is_expiry = 1), 2) AS expiry_friday_move_pct,
round(avgIf(abs_move_pct, is_expiry = 0), 2) AS other_friday_move_pct,
countIf(is_expiry = 1) AS expiry_session_count
FROM fridays
GROUP BY y
HAVING countIf(is_expiry = 1) >= 2
AND countIf(is_expiry = 0) >= 2
ORDER BY yPanel-এ 2016 থেকে 2025 পর্যন্ত বছর ধরে 2টি average পাশাপাশি দেখানো হয়েছে। এতে মোট 10 বছর অন্তর্ভুক্ত। 2025 সালে 4টি quarterly expiration Friday-তে open থেকে close পর্যন্ত average move ছিল 0.58 percent। ওই বছরের সাধারণ Friday-গুলোর ক্ষেত্রে এটি ছিল 0.71 percent।
2টি বিষয় আলাদা করে দেখা জরুরি। Heavy volume কেবল কত shares হাতবদল হয়েছে তা দেখায়। এতে direction-এর কোনো তথ্য থাকে না। উপরোক্ত figures হলো absolute move। তাই এগুলো move-এর size দেখায়, কোনো নির্দিষ্ট session কোন দিকে গেছে তা নয়। কোনো session-এ স্বাভাবিকের দ্বিগুণ volume হলেও open থেকে close-এর পার্থক্য কয়েক basis point হতে পারে। Basis point হলো percentage point-এর একশ ভাগের এক ভাগ।
FAQ
এটি quadruple witching, নাকি triple witching?
US markets-এ এটি triple witching। চতুর্থ leg, single stock futures, OneChicago কার্যক্রম গুটিয়ে নেওয়ার পর 2020 সালে United States-এ লেনদেন বন্ধ করে। US-এর বাইরে যেসব venue এখনও single stock futures list করে, তাদের ক্ষেত্রে quadruple witching নামটি এখনও সঠিক।
চতুর্থ witching কী ছিল?
Single stock futures। এগুলো এমন contract, যা কোনো index-এর level নয়, বরং নির্দিষ্ট ভবিষ্যৎ তারিখে একটি কোম্পানির shares-এর price নিষ্পত্তি করে। US-এ এগুলো মূলত OneChicago-তে list করা হতো এবং 2020 সালে লেনদেন বন্ধ হয়ে যায়।
Triple witching কখন হয়?
March, June, September এবং December-এর তৃতীয় Friday-তে। ওই Friday exchange holiday হলে expiration তার আগের Thursday-তে চলে যায়। তারিখের তালিকা আছে 2026 সালের options expiration calendar-এ।
Triple witching কি market-কে নাড়ায়?
সাধারণ Friday-এর তুলনায় volume অনেক বেশি হয়। Panels-এ দেখানো অনুযায়ী closing auction-এ এই পার্থক্য সবচেয়ে স্পষ্ট। Session-এর move-এর size এবং direction আলাদা measurement। Yearly comparison-এ expiration Friday-গুলোর move সাধারণ Friday-গুলোর একই range-এ রয়েছে।
এত article এখনও quadruple witching বলে কেন?
বেশিরভাগ article 2020 সালের আগে লেখা হয়েছিল। Single stock futures US markets থেকে চলে যাওয়ার পর সেগুলো আর update করা হয়নি। Article-এর date 2020 সালের সঙ্গে মিলিয়ে দেখলেই কয়েক second-এর মধ্যে এই অমিলের কারণ বোঝা যায়।
এই panels কীভাবে তৈরি করা হয়েছে
- 2টি intraday panel একটি নির্দিষ্ট অতীতের 2টি session-এর ওপর ভিত্তি করে তৈরি। একটি হলো March 2026-এর quarterly expiration Friday, অন্যটি তার এক সপ্তাহ পরের সাধারণ Friday। ফলে নতুন data এলেও comparison বদলে যায় না।
- Percentages কেবল regular-hours volume-এর share। Premarket এবং after-hours session numerator ও denominator—দুটো থেকেই বাদ দেওয়া হয়েছে।
- Half-hour panel-এর 4:00 p.m. bucket tape-এর মাত্র 1 minute। এখানেই closing cross-এর print হয়।
- Quarterly Friday filter March, June, September এবং December-এর তৃতীয় Friday বেছে নেয়। এর জন্য 15th থেকে 21st-এর মধ্যে পড়া Friday নেওয়া হয়। ফলে প্রতি মাসে ঠিক 1টি date পাওয়া যায়।
এখানে থাকা প্রতিটি panel-এর নিচে ব্যবহৃত exact SQL দেওয়া আছে। একটি expand করলে কীভাবে number গণনা করা হয়েছে তা দেখা যাবে। অন্য symbol বা অন্য expiration Friday-তে একই comparison চালাতে Strasmore terminal-এ plain English-এ অনুরোধ করুন।