Mutual Fund NAV কীভাবে হিসাব করা হয়
Mutual fund NAV-এর সূত্র, 4 p.m. ET-এর strike, forward pricing ও accrued expenses জানুন। পূর্ণ উদাহরণ দেখে নিজেই হিসাবটি পুনরায় করতে পারবেন।
একটি mutual fund-এর NAV, অর্থাৎ net asset value, প্রতিটি ব্যবসায়িক দিনে একটি মাত্র সূত্রে একবার হিসাব করা হয়: মোট সম্পদ থেকে মোট দায় বাদ দিয়ে বকেয়া শেয়ারের সংখ্যা দিয়ে ভাগ করা হয়। 4:00 p.m. ET-এ বাজার বন্ধ হওয়ার পর fundটি এই সংখ্যা নির্ধারণ করে এবং তার হাতে থাকা প্রতিটি securities-এর closing price ব্যবহার করে। আপনি যে কোনো order দিলে, fund সেটি পাওয়ার পর যে NAV হিসাব করে, সেই NAV-এ orderটি সম্পন্ন হয়। আপনি click করার মুহূর্তে স্ক্রিনে যে NAV দেখছেন, তাতে নয়।
একটি mutual fund-এর NAV কীভাবে হিসাব করা হয়, ধাপে ধাপে
NAV per share = (total assets - total liabilities) / shares outstanding
প্রতিটি input একই মুহূর্তে, অর্থাৎ ব্যবসায়িক দিনের শেষে, পরিমাপ করা হয়।
- মোট সম্পদ: প্রতিটি holding-এর closing price অনুযায়ী বাজারমূল্য, fund-এর হাতে থাকা cash, এবং fund-এর পাওনা অর্থ। এর মধ্যে ঘোষিত কিন্তু এখনও পরিশোধ না করা dividend এবং এখনও settled না হওয়া trade-এর proceeds অন্তর্ভুক্ত।
- মোট দায়: fund যে securities কিনেছে কিন্তু এখনও মূল্য পরিশোধ করেনি, যারা শেয়ার বিক্রি করেছেন সেই shareholders-দের পাওনা redemption অর্থ, এবং সর্বশেষ payment date-এর পর থেকে accrued fees।
- বকেয়া শেয়ার: দিনের শেষে fund-এর নিজস্ব শেয়ারের সংখ্যা। দিনের purchases এবং redemptions হিসাবভুক্ত হওয়ার পরের সংখ্যা এটি।
Fund accountants প্রতিদিনের এই হিসাবকে NAV strike করা বলেন। এটি সন্ধ্যায় সম্পন্ন হয়। প্রকাশিত figureটি ওই রাতেই বা পরের সকালে fund-এর website এবং আপনার brokerage statement-এ পৌঁছে যায়।
কোন closing price NAV-এ অন্তর্ভুক্ত হয়
US listed holding-এর ক্ষেত্রে mark হলো তার primary exchange-এর official closing price। 4:00 p.m. ET-এ অনুষ্ঠিত closing auction-এ এই price নির্ধারিত হয়। এই auction-ই trading day-এর সবচেয়ে ব্যস্ত একক সময়। নিচের panel-এ সেটিই দেখানো হয়েছে: প্রতি half hour-এ session-এর মোট volume-এর কত অংশ print হয়।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH minute_bars AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
formatDateTime(
toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i') AS et_time,
toFloat64(volume) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-01 00:00:00', 'UTC')
AND window_start < toDateTime('2026-07-01 00:00:00', 'UTC')
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
),
bucket_totals AS
(
SELECT session_date, et_time, sum(shares) AS bucket_shares
FROM minute_bars
GROUP BY session_date, et_time
),
session_totals AS
(
SELECT session_date, sum(bucket_shares) AS session_shares
FROM bucket_totals
GROUP BY session_date
)
SELECT
b.et_time AS et_time,
round(avg(b.bucket_shares / s.session_shares) * 100, 2) AS share_of_volume_pct
FROM bucket_totals AS b
INNER JOIN session_totals AS s ON s.session_date = b.session_date
GROUP BY b.et_time
ORDER BY b.et_timeJune 2026-এর প্রতিটি session-এর গড় হিসাবে, 15:30 থেকে শুরু হওয়া half hour-এ দিনের SPY volume-এর 21.92% লেনদেন হয়েছিল। এর বিপরীতে, 09:30 ET থেকে শুরু হওয়া half hour-এ হয়েছিল 11.24%। Fund যে price-এ তার book mark করে, তা নির্ধারিত হয় ওই শেষ সময়সীমায়। Trading-ও মূলত তখনই কেন্দ্রীভূত হয়।
একটি NAV উদাহরণ, যা আপনি নিজে পুনরায় হিসাব করতে পারবেন
নিচের figures এই উদাহরণের জন্য তৈরি করা হয়েছে। হাতে হিসাব করে যাচাই করার সুবিধার জন্য এগুলো যথেষ্ট round রাখা হয়েছে।
- 4:00 p.m. closing price অনুযায়ী holdings-এর মূল্য: $850,000,000
- Cash এবং receivables: $14,000,000
- মোট সম্পদ: $864,000,000
- Unsettled purchases, payable redemptions এবং accrued fees-সহ মোট দায়: $4,000,000
- নিট সম্পদ: $860,000,000
- বকেয়া শেয়ার: 40,000,000
$860,000,000-কে 40,000,000 শেয়ার দিয়ে ভাগ করলে প্রতি শেয়ারের NAV দাঁড়ায় $21.50। ওই দিনে fund যে প্রতিটি order গ্রহণ করেছে, তার price এটিই—orderটি 9:35 a.m.-এ পৌঁছাক বা 3:58 p.m.-এ। $10,000-এর purchase-এ 465.116 shares কেনা যায়। এটি $10,000-কে $21.50 দিয়ে ভাগ করার ফল। Mutual funds fractional shares issue করে, সাধারণত তিন decimal place পর্যন্ত। তাই কোনো cash অব্যবহৃত থাকে না।
Forward pricing: আপনার order কোন NAV পাবে
Investment Company Act-এর Rule 22c-1 forward pricing-এর requirement নির্ধারণ করে। Fund order পাওয়ার পর যে পরবর্তী NAV হিসাব করে, প্রতিটি purchase বা redemption সেই NAV-এ সম্পন্ন করতে হয়। ইতিমধ্যে বিদ্যমান কোনো NAV-এ কেনার ব্যবস্থা নেই। আজ fund page-এ যে figure দেখা যাচ্ছে, সেটি আগের দিনের close-এর পর নির্ধারিত হয়েছিল। মঙ্গলবার 11:15 a.m.-এ fund-এর কাছে পৌঁছানো order-এর price হবে মঙ্গলবার 4:00 p.m.-এর NAV। মঙ্গলবার 4:05 p.m.-এ পৌঁছানো order-এর price হবে বুধবারের NAV। Cutoff clock এবং এর সঙ্গে সম্পর্কিত intermediary rules mutual fund order কীভাবে price নির্ধারণ হয়-এ ব্যাখ্যা করা হয়েছে।
আপনি click করার পর NAV strike হওয়া পর্যন্ত বাজারে price পরিবর্তন হতে থাকে। নিচের panel-এ June 17, 2026-এর একটি সাধারণ session দেখানো হয়েছে। Open থেকে close পর্যন্ত প্রতি 15 মিনিটে SPY-এর price mark করা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT
formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_time,
round(toFloat64(argMax(close, window_start)), 2) AS spy_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-17 13:30:00', 'UTC')
AND window_start <= toDateTime('2026-06-17 20:00:00', 'UTC')
AND toMinute(toTimeZone(window_start, 'America/New_York')) % 15 = 0
GROUP BY et_time
ORDER BY et_timeপ্রথম mark, 09:30 ET-এ, ছিল $750.93। শেষ mark, 16:00 ET-এ, ছিল $741.83। মাঝের প্রতিটি point একটি বাস্তব trade-এর বাস্তব price। এর মধ্যে কেবল শেষ price-টিই NAV হিসাবের মধ্যে প্রবেশ করে।
Mid-morning order এবং NAV strike-এর মধ্যে একটি portfolio সাধারণত কতটা পরিবর্তিত হয়? পরের panel-এ trailing year-এর প্রতিটি session-এ SPY-এর 10:00 a.m. ET-এর price এবং closing print-এর ব্যবধান মাপা হয়েছে। পরে তা মাসভিত্তিক গড় করা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH session_marks AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
argMinIf(toFloat64(close), window_start,
(toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 600) AS price_at_10am,
argMax(toFloat64(close), window_start) AS price_at_close,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 600) AS bars_after_10am
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2025-08-01 00:00:00', 'UTC')
AND window_start < toDateTime('2026-08-01 00:00:00', 'UTC')
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 session_date
HAVING bars_after_10am > 30
)
SELECT
formatDateTime(session_date, '%Y-%m') AS month,
formatDateTime(session_date, '%b %Y') AS month_label,
round(avg(abs(price_at_close / price_at_10am - 1) * 100), 2) AS avg_move_pct,
round(max(abs(price_at_close / price_at_10am - 1) * 100), 2) AS largest_move_pct
FROM session_marks
GROUP BY month, month_label
ORDER BY monthAug 2025-এ গড় ব্যবধান ছিল 0.32%। Jul 2026-এ তা ছিল 0.36%। ওই শেষ মাসের মধ্যে কোনো একক session-এ সর্বোচ্চ ব্যবধান ছিল 1.09%। এই percentages দেখায়, fund order price-এর জন্য অপেক্ষা করার সময় কোন price window-এর মধ্যে থাকে।
NAV-এর মধ্যে expense ratio কোথায় থাকে
Fee-টি NAV-এর সংখ্যার মধ্যেই অন্তর্ভুক্ত থাকে। অধিকাংশ ব্যাখ্যায় এই অংশটি বাদ পড়ে। $860,000,000 নিট সম্পদের ওপর বছরে 0.60% fee নেওয়া fund-এর এক বছরে $5,160,000 পাওনা হয়। Fund একবারে পুরো অর্থ charge না করে প্রতিদিন তার একটি অংশ accrue করে। 365 দিনের accrual হিসাবে দৈনিক অংশ প্রায় $14,137। এই accrual উপরের সূত্রের liabilities line-এ থাকে এবং figure প্রকাশের আগে প্রতিদিন প্রতি শেয়ারের NAV প্রায় $0.00035 কমিয়ে দেয়।
এর দুটি ফল আছে। Fund-এর প্রকাশিত NAV এবং প্রকাশিত returns ইতিমধ্যে expense ratio বাদ দিয়ে দেখানো হয়। তাই fund তুলনা করার সময় আর কিছু বাদ দেওয়ার দরকার নেই। আপনার statement-এ এর জন্য আলাদা কোনো fee line-ও দেখা যাবে না। এটি cash হিসেবে আপনার account থেকে বের হয় না। Deduction-টি হিসাবের মধ্যেই ঘটে।
কোনো fund foreign stocks ধরে রাখলে fair value pricing
Japanese shares ধরে রাখা US fund একটি timing gap-এর মুখোমুখি হয়। Tokyo session 2:00 a.m. ET-এ শেষ হয়। ফলে 4:00 p.m. ET-এ US fund NAV strike করার সময় ওই shares-এর সর্বশেষ traded price 14 ঘণ্টা পুরোনো। Frankfurt এবং Paris 11:30 a.m. ET-এ trading শেষ করে, অর্থাৎ strike-এর প্রায় 4.5 ঘণ্টা আগে।
SEC Rule 2a-5 অনুযায়ী, fund-এর board একটি valuation process নির্ধারণ করে। Strike-এর মুহূর্তে সর্বশেষ quoted price যখন আর যথাযথ measure থাকে না, তখন এই process stale closing price-এর পরিবর্তে fair value estimate ব্যবহার করে। Pricing vendors adjustment factors সরবরাহ করে। এগুলো প্রায়ই foreign market বন্ধ হওয়ার পরের ঘণ্টাগুলোতে US listed proxies-এর movement-এর সঙ্গে সংযুক্ত থাকে।
এই gap-এর আকার পরিমাপ করা যায়। Panel-এ foreign markets track করা 4টি US listed fund এবং তুলনার জন্য SPY নেওয়া হয়েছে। 11:30 a.m. ET থেকে 4:00 p.m. close পর্যন্ত প্রতিটি কতটা পরিবর্তিত হয়েছে, তা মাপা হয়েছে।
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH afternoon_bars AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(close) AS px,
window_start
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('EWJ', 'EWG', 'VGK', 'EFA', 'SPY')
AND window_start >= toDateTime('2026-04-01 00:00:00', 'UTC')
AND window_start < toDateTime('2026-07-01 00:00:00', 'UTC')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 690
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
),
per_session AS
(
SELECT
ticker,
session_date,
abs(argMax(px, window_start) / argMin(px, window_start) - 1) * 100 AS afternoon_move_pct
FROM afternoon_bars
GROUP BY ticker, session_date
HAVING count() > 30
)
SELECT
ticker,
round(avg(afternoon_move_pct), 3) AS avg_afternoon_move_pct,
round(max(afternoon_move_pct), 3) AS largest_afternoon_move_pct
FROM per_session
GROUP BY ticker
ORDER BY avg_afternoon_move_pct DESC2026-এর দ্বিতীয় quarter-এ, EWG ওই সময়সীমায় গড়ে 0.428% পরিবর্তিত হয়েছে। একটি session-এ পরিবর্তন 2.212%-এ পৌঁছেছিল। 5 fund-এর মধ্যে সবচেয়ে কম পরিবর্তনশীল fundটির গড় ছিল 0.366%। Tokyo বা Frankfurt-এর অপরিবর্তিত mark 4:00 p.m. strike পর্যন্ত ধরে রাখলে fund এমন একটি book-এর price নির্ধারণ করত, যা ওই exchange-গুলো বন্ধ হওয়ার পর দৃশ্যমানভাবে পরিবর্তিত হয়েছে। এই সময়সীমার জন্যই fair value procedures রয়েছে।
NAV, ETF-এর price এবং আপনার settlement date
ETF-এর market price buyers এবং sellers-এর মাধ্যমে ধারাবাহিকভাবে নির্ধারিত হয়। একই সঙ্গে ETF দৈনিক NAV-ও প্রকাশ করে। সাধারণত দুটি figure-এর ব্যবধান কয়েক penny-এর মধ্যে থাকে। Mutual fund দিনে একবার একটি NAV প্রকাশ করে এবং এর কোনো intraday price থাকে না। Mutual funds এবং ETFs-এর তুলনা-এ সম্পূর্ণ তুলনা দেওয়া হয়েছে।
Settlement আবার আলাদা একটি date। Trade day-তেই আপনার NAV নির্ধারিত হয়। অধিকাংশ fund-এর ক্ষেত্রে এর পরের এক ব্যবসায়িক দিনে cash এবং shares হাতবদল হয়। এই বিষয়টি mutual fund settlement time-এ ব্যাখ্যা করা হয়েছে। Distributions নিজেদের schedule অনুযায়ী NAV পরিবর্তন করে। Fund payout দেওয়ার দিন NAV প্রতি শেয়ারে বিতরণ করা অর্থের পরিমাণে কমে যায়। একই সময়ে cash বা reinvested shares আপনার account-এ জমা হয়। Mutual funds কখন dividends দেয়-এ ওই calendar ব্যাখ্যা করা হয়েছে। আর ক্ষতিতে mutual fund বিক্রি করা-এ cost basis-এর নিচে sale price হলে tax time-এ তার অর্থ কী, তা আলোচনা করা হয়েছে।
এতে সেই বিষয়টি আসে, যা readers সবচেয়ে বেশি ভুল করেন। Intraday market move আপনার পাওয়া NAV পরিবর্তন করে না, যদি না closing prices-এ সেই move তখনও বজায় থাকে। কোনো portfolio 11:00 a.m.-এ 2% বাড়ে এবং 3:45 p.m.-এর মধ্যে পুরো বৃদ্ধি হারিয়ে ফেলে, তাহলে round trip না ঘটলেও যে NAV হতো, strike করা NAV সেটিই হবে। Formula দিনের শেষ price দেখে। তার আগের কোনো price দেখে না।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
Mutual fund-এর NAV কখন হিসাব করা হয়?
প্রতিটি ব্যবসায়িক দিনে একবার, 4:00 p.m. ET close-এর পর। Fund তার holdings-এর closing prices অনুযায়ী মূল্য নির্ধারণ করে, liabilities বাদ দেয় এবং outstanding shares দিয়ে ভাগ করে। অধিকাংশ fund একই সন্ধ্যায় figure প্রকাশ করে।
Mutual fund-এর প্রতি শেয়ারের NAV-এর সূত্র কী?
প্রতি শেয়ারের NAV হলো মোট সম্পদ থেকে মোট liabilities বাদ দিয়ে outstanding shares দিয়ে ভাগ করা। মোট সম্পদের মধ্যে প্রতিটি holding-এর market value, cash এবং receivables থাকে। Liabilities-এর মধ্যে unpaid trades এবং accrued fees থাকে।
Lunch time-এ বাজার বাড়লে আমার mutual fund order কি সেই price পাবে?
না। 4:00 p.m. ET-এর পর strike করা NAV-এ order সম্পন্ন হয়। ওই হিসাব কেবল closing prices ব্যবহার করে। Midday move close পর্যন্ত বজায় থাকলে যতটুকু প্রভাব থাকে, কেবল ততটুকুই আপনার NAV পরিবর্তন করবে।
Expense ratio কি আমার NAV থেকে কেটে নেওয়া হয়?
হ্যাঁ। Fund তার annual expense ratio-এর দৈনিক অংশ liability হিসেবে accrue করে। NAV হিসাবের মধ্যেই ওই accrual বাদ দেওয়া হয়। প্রকাশিত NAV এবং returns ইতিমধ্যে expense ratio বাদ দিয়ে দেখানো হয়।
Distribution দেওয়ার দিন mutual fund-এর NAV কমে যায় কেন?
Cash fund-এর assets থেকে বের হয়ে cash বা reinvested shares হিসেবে আপনার account-এ আসে। NAV প্রতি শেয়ারে বিতরণ করা অর্থের পরিমাণে কমে যায়। ওই মুহূর্তে আপনার position-এর মোট value অপরিবর্তিত থাকে।
এখানে প্রতিটি panel-এর সঙ্গে তা তৈরি করা SQL দেওয়া আছে। তাই একটি panel খুলে ঠিক কোন minutes গণনা করা হয়েছে, তা দেখা যায়। আপনার পছন্দের যেকোনো date-এ morning price থেকে closing print পর্যন্ত কোনো holding কতটা পরিবর্তিত হয়েছে, তা মাপতে Strasmore terminal-এ plain English-এ প্রশ্নটি করুন।