শেয়ার লেনদেনের প্রকৃত খরচ কত
কমিশন শূন্য হলেও প্রতিটি শেয়ার লেনদেনে bid-ask spread দিতে হয়। বারোটি জনপ্রিয় স্টক এবং ETF-এর লেনদেনের প্রকৃত খরচ বেসিস পয়েন্টে এখানে পরিমাপ করা হয়েছে।
কমিশন কমে গেলেও শেয়ার লেনদেনের খরচ শূন্যে নামেনি। প্রতিটি মার্কেটঅর্ডার এখনও bid-ask spread বা বিড-আস্ক স্প্রেড প্রদান করে—যা ক্রেতাদের সর্বোচ্চ দাম এবং বিক্রেতাদের সর্বনিম্ন দামের মধ্যকার ব্যবধান। এর অর্ধেক অংশ লেনদেনের ভেতরে এবং বাকি অর্ধেক অংশ বাইরে চলে যায়। এই পৃষ্ঠাটি বারোটি হাউসহোল্ড স্টক এবং ETF-এর টিক-লেভেল কোট ডেটা থেকে সেই খরচ বেসিস পয়েন্টে পরিমাপ করে। প্রতিটি সংখ্যার পেছনে সঠিক SQL কোড যুক্ত করা হয়েছে।
কমিশন শূন্য হয়ে গেছে — কিন্তু স্প্রেড কমেনি
একটি শেয়ারের কখনোই একটি মূল্য থাকে না; এর দুটি মূল্য থাকে। bid হলো কেনার জন্য সবচেয়ে ভালো প্রস্তাব; ask হলো বিক্রির জন্য সবচেয়ে ভালো প্রস্তাব। বর্তমানে ট্রেড করার অর্থ হলো এই ব্যবধানটি অতিক্রম করা: একটি মার্কেট বাই (market buy) ask মূল্যে সম্পন্ন হয়, একটি মার্কেট সেল (market sell) bid মূল্যে সম্পন্ন হয়, এবং এই পার্থক্যটি সেই ব্যক্তির কাছে থাকে যিনি কোটেশনটি দিয়েছেন — যা বেশিরভাগ ক্ষেত্রে একজন পেশাদার market maker এর কাছে থাকে যিনি পুরো সেশন জুড়ে উভয় পাশে কোটেশন দেন। What a bid-ask spread is এর মাধ্যমে এর কার্যপদ্ধতি বিস্তারিতভাবে আলোচনা করা হয়েছে; এই পৃষ্ঠাটি সেগুলোর মূল্য নির্ধারণ করে।
একটি কাল্পনিক উদাহরণ এই গাণিতিক হিসাবটি সহজ করে দেয়। একটি শেয়ারের কোটেশন যদি $20.00 bid / $20.05 ask হয়, তবে এর midpoint হলো $20.025 — যা সেই মুহূর্তে এর ন্যায্য মূল্যের সাধারণ রেফারেন্স হিসেবে কাজ করে। একটি মার্কেট বাই করলে $20.05 দিতে হয়, যা midpoint এর চেয়ে ২.৫ সেন্ট বেশি: অর্থাৎ কোটেশনের প্রস্থের অর্ধেক। একটি মার্কেট সেল করলে $20.00 পাওয়া যায়, যা বাকি অর্ধেক অংশ। উভয়টি সম্পন্ন করলে — অর্থাৎ একটি রাউন্ড ট্রিপ (round trip) — প্রতিটি শেয়ারের ওপর পুরো পাঁচ সেন্ট রয়ে যায়, যেখানে কোনো কমিশনের উল্লেখ থাকে না।
এই খরচের পেশাদার একক হলো basis point (bp) — যা এক শতাংশের একশ ভাগের এক ভাগ। স্প্রেডকে midpoint এর একটি অংশ হিসেবে কোটেশন করলে একটি এক ডলারের ETF এবং কয়েকশ ডলারের ETF একই স্কেলে চলে আসে; এবং এর মাধ্যমে যে পার্থক্যগুলো প্রকাশ পায় তা বেশিরভাগ জিরো-কমিশন ট্রেডারের প্রত্যাশার চেয়েও বেশি।
ট্রেড করার খরচ: বারোটি নাম, পরিমাপকৃত
নিচে বারোটি বহুল প্রচলিত স্টক এবং ETF দেওয়া হলো, যেগুলোকে মিডপয়েন্টের শতাংশ হিসেবে মিডিয়ান কোটেড স্প্রেড অনুযায়ী র্যাঙ্ক করা হয়েছে। এই ডেটা প্রতিটি NBBO আপডেট থেকে নেওয়া হয়েছে — যা হলো সমস্ত US এক্সচেঞ্জ জুড়ে কনসোলিডেটেড বেস্ট বিড এবং অফার, যা ব্রোকারেজ অ্যাপে প্রদর্শিত হয় — এবং একটি নির্দিষ্ট সময়সীমার (১৩:৩০–১৯:৫৯ UTC) মধ্যে গণনা করা হয়েছে। এই সময়সীমাটি ডেটলাইট সেভিং মাসগুলোতে ইস্টার্ন সময় সকাল ৯:৩০–বিকাল ৪:০০ এর নিয়মিত সেশনের সাথে মিলে যায় — এই পেজটি এ পর্যন্ত যে প্রতিটি উইন্ডো পরিমাপ করেছে তার অবস্থা এটি। এই উইন্ডোটি আমাদের ডেটাতে থাকা সাম্প্রতিকতম সমাপ্ত সেশনগুলোকে কভার করে এবং ইচ্ছাকৃতভাবে আজকের দিন থেকে কয়েক দিন আগে পর্যন্ত সীমাবদ্ধ রাখা হয়েছে, যাতে কোনো আংশিক ইনজেস্ট করা দিন মিডিয়ান হিসেবে না আসে। যেগুলোতে কোনো একদিকের কোটেশন নেই, অথবা যেখানে Ask প্রাইস Bid প্রাইসের সমান বা তার নিচে, সেগুলোকে মিডিয়ান থেকে বাদ দেওয়া হয়েছে এবং নীরবে বাদ না দিয়ে শেষ কলামে গণনা করা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT ticker,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS typical_spread_bps,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price > bid_price) * 100, 1) AS typical_spread_cents,
round(count() / 1e6, 1) AS quote_updates_m,
round(100 * countIf(bid_price <= 0 OR ask_price <= 0 OR ask_price <= bid_price) / count(), 2) AS pct_updates_excluded
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'MSFT', 'NVDA', 'AMD', 'TSLA', 'KO', 'DIS', 'F', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
ORDER BY typical_spread_bpsশীর্ষস্থানে রয়েছে SPY যা 0.27 bps — একটি সিঙ্গেল বেসিস পয়েন্টের ভগ্নাংশ — যা 14.9 মিলিয়ন কোট আপডেট এর ওপর ভিত্তি করে প্রাপ্ত মিডিয়ান। চতুর্থ ধাপে, NVDA কোট 0.99 bps। সর্বনিম্ন ধাপে, SOXS এর পরিমাপ হলো 23.17 bps — এবং এর সেন্টস কলামটি পুরো টেবিলের একটি নীরব শিক্ষা প্রদান করে: কোটেড গ্যাপ হলো 1¢, যা বোর্ডের বৃহত্তম শতাংশ খরচের সাথে যুক্ত একটি পেনি-স্কেল গ্যাপ। সেন্টস সস্তা স্টকগুলোকে সমতল করে দেখায়; বেসিস পয়েন্ট সেগুলোর সঠিক দাম প্রকাশ করে।
এক basis point হলো প্রতি $10,000-এর জন্য এক ডলার
bps কলামটি একটি নির্দিষ্ট গাণিতিক নিয়মে অর্থ প্রকাশ করে: $10,000-এর একটি অর্ডারের ক্ষেত্রে, এক basis point মানে হলো এক ডলার (10,000 × 0.0001 = 1)। লেনদেন করা প্রতি $10,000-এর জন্য রাউন্ড-ট্রিপ মূল্যের তালিকা হিসেবে ল্যাডারটি দেখুন: উপরের ধাপের 0.27 bps হলো প্রায় $0.27; নিচের ধাপের 23.17 bps হলো প্রায় $23.17। একবার লেনদেন করা — শুধুমাত্র কেনা, অথবা শুধুমাত্র বিক্রি করা — প্রতিটি ফিগার বা সংখ্যার অর্ধেক হিসেবে গণ্য হয়।
ফ্রিকোয়েন্সি বা লেনদেনের হার এই খরচ বাড়িয়ে দেয়। প্রতি সপ্তাহে একই $10,000-এর ওপর ২০ bp স্প্রেড একবার রাউন্ড-ট্রিপ লেনদেন করলে ৫২ সপ্তাহে মোট খরচ হয় প্রায় $১,০৪০ (২০ × $১ × ৫২) — কোনো কমিশন ছাড়াই এটি অ্যাকাউন্টের প্রায় এক শতাংশ। একই অভ্যাস যদি ১ bp স্প্রেডের ক্ষেত্রে হয়, তবে বছরে মোট খরচ হয় প্রায় $৫২। কোনো কমিশনের চেয়ে কোনো নাম কোন ধাপে বা রিং-এ অবস্থিত, তা বেশি গুরুত্বপূর্ণ।
একটি মেগা-ক্যাপ বনাম একটি লেভারেজড ইনভার্স ETF
সিঁড়ির নিচের ধাপের একটি নাম থাকা প্রয়োজন, ঠিক তেমনি এর উপরের এক-তৃতীয়াংশ অংশে থাকা একটি মেগা-ক্যাপেরও নাম থাকা প্রয়োজন। NVIDIA (NVDA) হলো একটি মেগা-ক্যাপ সেমিকন্ডাক্টর স্টক। SOXS হলো Direxion Daily Semiconductor Bear 3X shares — এটি একটি লেভারেজড ইনভার্স ETF যা প্রতিদিন একটি সেমিকন্ডাক্টর ইনডেক্সের বিপরীতে তিন গুণ গতিতে চলার জন্য তৈরি করা হয়েছে এবং এটি প্রতিদিন রিসেট হয়। একই সময়ের ব্যবধানে উভয়টি একইভাবে পরিমাপ করা হয়েছে:
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH per_day AS (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS et_date,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS nvda_bps,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS soxs_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY et_date
),
whole AS (
SELECT quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS nvda_bps,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS soxs_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
)
SELECT round((SELECT nvda_bps FROM whole), 2) AS nvda_spread_bps,
round((SELECT soxs_bps FROM whole), 2) AS soxs_spread_bps,
round((SELECT soxs_bps FROM whole) / (SELECT nvda_bps FROM whole), 1) AS times_wider,
(SELECT count() FROM per_day) AS sessions_measured,
round((SELECT min(soxs_bps / nvda_bps) FROM per_day), 1) AS smallest_daily_gap_xNVDA-এর মিডিয়ান কোটেড স্প্রেড ছিল 0.99 bps। SOXS-এর স্প্রেড ছিল 23.17 bps — যা 23.3 গুণ বেশি চওড়া। এই সময়ের অন্তর্ভুক্ত সমস্ত 5টি সেশনে, একক-সেশন গ্যাপ কখনো 14.1 গুণের নিচে সংকুচিত হয়নি। এই একই জোড়া ৭ জুলাইয়ের সেমিকন্ডাক্টর ব্রেক এর চরম প্রান্তে অবস্থান করছিল — একটি সেশন যেখানে সকালের সর্বনিম্ন পর্যায়ে প্রতিটি টিক-বাই-টিক এই সুনির্দিষ্ট বৈপরীত্য পরিমাপ করা হয়েছিল।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT et_date,
nvda_spread_bps,
soxs_spread_bps,
round(soxs_spread_bps / nvda_spread_bps, 1) AS times_wider
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS et_date,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS nvda_spread_bps,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS soxs_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY et_date
)
ORDER BY et_date2026-07-08 তারিখে, যা এই সময়ের প্রথম সেশন, NVDA-এর মিডিয়ান কোট ছিল 1.52 bps চওড়া, যেখানে SOXS ছিল 21.48 bps — অর্থাৎ 14.1 গুণ বেশি খরচ। সেশন থেকে সেশনে এই ক্রম কখনো পরিবর্তন হয় না: সস্তা নামটি সস্তা থাকে এবং দামী নামটি দামীই থাকে। খরচের সিঁড়িতে একটি নামের অবস্থান হলো একটি স্থায়ী বৈশিষ্ট্য, কোনো দিনের সাময়িক অবস্থা নয়।
কেন একটি সস্তা শেয়ার কেনা-বেচার খরচ একটি দামী শেয়ারের চেয়ে বেশি
এই পার্থক্যের একটি কারণ হলো মার্কেটের গঠন। মার্কিন স্টক এবং ETF গুলোর দাম যদি $১ এর উপরে হয়, তবে সেগুলোর কোটেশন এক সেন্টের ব্যবধানে পরিবর্তিত হয় এবং এক সেন্ট হলো কোটেশনের সর্বনিম্ন ব্যবধান। একটি নির্দিষ্ট এক সেন্ট বিভিন্ন শেয়ারের মূল্যের ক্ষেত্রে ভিন্ন ভিন্ন অনুপাত তৈরি করে: একটি $৭০০ মূল্যের ETF-এর ক্ষেত্রে এটি নগণ্য, কিন্তু একটি $৪ মূল্যের শেয়ারের ক্ষেত্রে এটি অনেক বড়। নিচের টেবিলে এই সর্বনিম্ন সীমার প্রভাব পরিমাপ করা হয়েছে — প্রতিটি শেয়ারের কোটেশন কতবার ঠিক এক সেন্ট ব্যবধানে পরিবর্তিত হয়, সেই শেয়ারের মূল্যের বিপরীতে এক সেন্টের মান কত bps, এবং মিডিয়ান স্প্রেড সর্বনিম্ন সীমার থেকে কত উপরে থাকে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT ticker,
typical_share_price,
pct_quotes_at_one_cent,
round(100 / typical_share_price, 2) AS one_cent_in_bps,
typical_spread_bps,
round(abs(typical_spread_bps - 100 / typical_share_price), 2) AS dist_from_floor_bps
FROM (
SELECT ticker,
round(quantileExactIf(0.5)((toFloat64(ask_price) + toFloat64(bid_price)) / 2, bid_price > 0 AND ask_price > bid_price), 2) AS typical_share_price,
round(100 * countIf(bid_price > 0 AND ask_price > bid_price AND abs(toFloat64(ask_price - bid_price) - 0.01) < 0.001) / countIf(bid_price > 0 AND ask_price > bid_price), 1) AS pct_quotes_at_one_cent,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS typical_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'KO', 'F', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
)
ORDER BY typical_share_price DESCSPY, যার শেয়ারের দাম প্রায় $750.32, তার কোটেশনের 23.4% বার ব্যবধান থাকে ঠিক এক সেন্ট — এবং তালিকার সবচেয়ে দামী শেয়ারটির ক্ষেত্রে, এক সেন্ট হলো মাত্র 0.13 bps। মাঝামাঝি মূল্যের ক্ষেত্রে, $83.82 এর কাছাকাছি থাকা KO এর কোটেশন 65.4% বার সর্বনিম্ন সীমানায় থাকে। এরপর সর্বনিম্ন সীমার প্রভাব পুরোপুরি দেখা যায়: $13.86 এর কাছাকাছি থাকা F এর কোটেশন 99% বার এক সেন্ট ব্যবধান বজায় রাখে, এবং $4.31 এর কাছাকাছি থাকা SOXS এর ক্ষেত্রে তা হলো 100% — যেখানে মিডিয়ান স্প্রেড তাদের এক সেন্টের সর্বনিম্ন সীমার মধ্যে 0 এবং 0.03 bps ব্যবধানে থাকে। সবচেয়ে সস্তা শেয়ারগুলোর ক্ষেত্রে, ট্রেডিংয়ের শতাংশগত খরচ মূলত শেয়ারের মূল্যের একটি ভিন্ন একক হিসেবে কাজ করে: কোটেশনের ব্যবধান এক সেন্টের নিচে নামতে পারে না।
খরচ কমানো
- Limit orders-এ নির্দিষ্ট মূল্য নির্ধারণ করা হয়। একটি market order কোটেশনে দেখানো যেকোনো মূল্যে সম্পন্ন হয়; একটি limit order নির্ধারিত মূল্য বা তার চেয়ে ভালো মূল্যে সম্পন্ন হয়। যখন কোনো বিক্রেতা আপনার অর্ডারের সাথে মিলতে আসেন, তখন bid-এ থাকা একটি buy order স্প্রেড পরিশোধ করার পরিবর্তে তা সংগ্রহ করে—তবে এর অসুবিধা হলো অর্ডারটি সম্পন্ন না-ও হতে পারে।
- সময় অত্যন্ত গুরুত্বপূর্ণ। কোটেশন স্প্রেড বাজার খোলার আগে, বাজার বন্ধ হওয়ার সময় এবং extended hours-এ সবচেয়ে বেশি থাকে; নিয়মিত সেশনের তরল বা liquid সময়ে এটি সবচেয়ে কম থাকে—আমাদের bid-ask spread নির্দেশিকা অনুযায়ী intraday চার্টে এই U-আকৃতিটি দেখা যায়।
- সেন্ট নয়, basis points লক্ষ্য করুন। একই এক সেন্ট হলো 0.13 bps SPY-এ এবং 23.2 bps SOXS-এ। একটি "tight" এক-সেন্ট কোটেশন তালিকার সবচেয়ে ব্যয়বহুল লাইন হতে পারে।
- Round trips গণনা করুন। প্রতিটি ট্রানজ্যাকশনে একবার পূর্ণ কোটেড উইডথ পরিশোধ করতে হয় এবং এই খরচ টার্নওভারের সাথে বৃদ্ধি পায়, অ্যাকাউন্ট সাইজ বা উদ্দেশ্যের সাথে নয়। relative volume এর মতো অ্যাক্টিভিটি ইন্ডিকেটরগুলো নির্দেশ করে কখন কোনো স্টকের লেনদেন তার স্বাভাবিক মাত্রার চেয়ে অনেক বেশি হচ্ছে—অধিক টার্নওভারের লেনদেনের ক্ষেত্রেই স্প্রেড খরচ নিঃশব্দে বাড়তে থাকে।
FAQ
How much does it cost to trade a stock with zero commissions?
Half the quoted bid-ask spread on the way in and half on the way out. Measured across our twelve-name ladder, that round trip ranged from 0.27 bps of the trade's value (SPY) to 23.17 bps (SOXS) — roughly $0.27 to $23.17 per $10,000 traded.
What is a basis point in dollar terms?
One basis point is one hundredth of one percent: $1 per $10,000, $10 per $100,000. A spread quoted in bps doubles as a round-trip price per $10,000 — a hypothetical 20 bp spread costs about $20.
Why do leveraged ETFs have such wide spreads in percentage terms?
Low share prices meet the one-cent minimum quote increment. The cheapest name on our board, SOXS, traded near $4.31 with 100% of its quotes exactly one penny wide — and a penny on that share price is 23.2 bps of every trade.
Do bid-ask spreads matter for long-term investors?
Far less than for active traders. A single round trip at the ladder's top rung measured 0.27 bps — about $0.27 per $10,000 — and paying that once a decade is noise. The toll scales with turnover, not with holding period.
Is the spread the only trading cost left?
It is the per-trade toll every marketable order pays, and the one this page measures. Separate meters exist: large orders can move the price before they finish filling, funds charge expense ratios over time, and margin carries interest. None of those replaces the spread; they stack on top of it.
Every panel above carries the exact SQL that produced it — open one, swap in the tickers you actually trade, and price your own cost-to-trade ladder on the Strasmore terminal.