Jinsi ya kupima marejesho ya hisa ya kila mwezi
Marejesho ya hisa ya kila mwezi hutegemea bei mbili zilizochaguliwa, ujumuishaji wa dividends, na marekebisho ya splits. Kila mbinu huchambuliwa kwa kutumia data halisi.
Utafutaji wa marejeo ya bei za hisa
Ukiuliza kuhusu utendaji wa hisa "katika mwezi wa Juni," utapata namba tofauti kutoka vyanzo mbalimbali, na zote zitakuwa sahihi. Marejesho ya hisa ya kila mwezi hufafanuliwa na machaguo ambayo watu wengi hawayaoni: ni bei zipi mbili zinazoweka mipaka ya mwezi, kama dividends zinahesabiwa, na kama mfululizo wa bei umerekebishwa kwa ajili ya splits. Ukurasa huu unaonyesha mbinu mbalimbali zinazoshindana kwenye soko halisi, zikiwa zimepangwa kando kwa kando, ili tofauti hizo zisiwe za kushangaza tena.
Close-to-close: mbinu ya kawaida
Mbinu inayotumiwa na watoa huduma wa fahirisi, karatasi za taarifa za mfuko, na kurasa nyingi za bei: mapato ya mwezi hupimwa kuanzia bei ya mwisho ya kikao cha kawaida cha mwezi uliopita hadi bei ya mwisho ya mwezi huu. Bei ya mwisho ya Mei ndiyo kianzio cha Juni. Hesabu yake ni mstari mmoja: bei ya mwisho kutoa bei ya kwanza, ikigawanywa kwa bei ya kwanza. Mfano rahisi kwanza: hisa inayomaliza Mei kwa $50.00 na kumaliza Juni kwa $53.50 ilipata (53.50 − 50.00) ÷ 50.00 = 0.07, au asilimia saba, kwa mwezi huo. Kila mbinu kwenye ukurasa huu huweka data tofauti katika fomula hiyo hiyo. Hii hapa ni kwenye data halisi ya Juni 2026, pamoja na mbadala wake mkuu:
| ticker | Funga ya mwisho Mei | Fungua ya kwanza Juni | Funga ya mwisho Juni | % ya kufunga hadi kufunga | % ya kufungua hadi kufunga | Pointi za mwanya wa kawaida |
|---|---|---|---|---|---|---|
| NVDA | 211.15 | 215.73 | 199.76 | -5.39 | -7.4 | 2.01 |
| SPY | 756.4 | 755.36 | 746.32 | -1.33 | -1.2 | 0.14 |
SQL halisi nyuma ya kila namba
SELECT ticker,
round(argMaxIf(cl, day, day <= '2026-05-31'), 2) AS may_final_close,
round(argMinIf(op, day, day >= '2026-06-01'), 2) AS june_first_open,
round(argMaxIf(cl, day, day <= '2026-06-30'), 2) AS june_final_close,
round(100 * (argMaxIf(cl, day, day <= '2026-06-30') - argMaxIf(cl, day, day <= '2026-05-31'))
/ argMaxIf(cl, day, day <= '2026-05-31'), 2) AS close_to_close_pct,
round(100 * (argMaxIf(cl, day, day <= '2026-06-30') - argMinIf(op, day, day >= '2026-06-01'))
/ argMinIf(op, day, day >= '2026-06-01'), 2) AS open_to_close_pct,
round(abs(100 * (argMaxIf(cl, day, day <= '2026-06-30') - argMinIf(op, day, day >= '2026-06-01'))
/ argMinIf(op, day, day >= '2026-06-01')
- 100 * (argMaxIf(cl, day, day <= '2026-06-30') - argMaxIf(cl, day, day <= '2026-05-31'))
/ argMaxIf(cl, day, day <= '2026-05-31')), 2) AS convention_gap_points
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS op,
argMaxIf(toFloat64(close), window_start, rth) AS cl
FROM (
SELECT ticker, window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('NVDA', 'SPY')
AND window_start >= '2026-05-28 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY ticker, day
)
GROUP BY ticker
ORDER BY tickerMwezi wa Juni kwa NVDA ulikuwa -5.39% kwa mbinu ya close-to-close, lakini -7.4% ikipimwa kuanzia bei ya kwanza ya kikao cha kawaida cha Juni hadi bei yake ya mwisho. Hisa ileile, mwezi uleule, 2.01 ya asilimia (percentage points) kati ya majibu hayo mawili sahihi. Tofauti yote inatokana na dirisha moja la usiku na wikendi: NVDA ilifunga Mei kwa $211.15 na kufungua Juni kwa $215.73, ruka hiyo ya bei ni ya "Juni" katika mbinu ya open-to-close na ni ya mpaka wa mwezi katika mbinu ya close-to-close. SPY inaonyesha muundo uleule kwa upole zaidi: -1.33% kwa close-to-close dhidi ya -1.2% kwa open-to-close.
Hakuna namba kati ya hizo iliyo mbaya. Close-to-close inajibu "mwenye hisa aliyeendelea kushikilia alipata nini katika mpaka wa mwezi?" Open-to-close inajibu "biashara ya mwezi wenyewe ilileta nini kwa mtu aliyenunua wakati wa ufunguzi wa Juni?" Zinapishana wakati wowote soko linapokuwa na pengo la bei (gap) kwenye mpaka wa mwezi, na pengo la usiku ni jambo la kawaida, si la nadra.
Dividends: price return dhidi ya total return
Chaguo la pili: je, fedha taslimu iliyolipwa na hisa ndani ya mwezi huo inapaswa kuhesabiwa? Price return huipuuza; total return huijumlisha tena. Kwa miezi mingi ya mtu mmoja-mmoja pengo ni dogo, mlipaji wa kila robo mwaka husambaza takribani robo ya yield yake kwa robo mwaka, lakini hujilimbikiza na kuwa pengo kubwa baada ya miaka, na Juni 2026 ilikuwa mwezi wa malipo kwa SPY:
| Funga ya mwisho Mei | Funga ya mwisho Juni | Mgao wa Juni kwa hisa | % ya faida ya bei | % ya mchango wa mgao | % ya faida jumla |
|---|---|---|---|---|---|
| 756.4 | 746.32 | 1.9035 | -1.33 | 0.25 | -1.08 |
SQL halisi nyuma ya kila namba
WITH px AS (
SELECT argMaxIf(cl, day, day <= '2026-05-31') AS may_close,
argMaxIf(cl, day, day <= '2026-06-30') AS jun_close
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMinIf(toFloat64(open), window_start, rth) AS op,
argMaxIf(toFloat64(close), window_start, rth) AS cl
FROM (
SELECT ticker, window_start, open, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('NVDA', 'SPY')
AND window_start >= '2026-05-28 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)
GROUP BY ticker, day
)
WHERE ticker = 'SPY'
),
dv AS (
SELECT sum(cash_amount) AS div_per_share
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY'
AND ex_dividend_date >= '2026-06-01'
AND ex_dividend_date <= '2026-06-30'
)
SELECT round(may_close, 2) AS may_final_close,
round(jun_close, 2) AS june_final_close,
round(div_per_share, 4) AS june_dividend_per_share,
round(100 * (jun_close - may_close) / may_close, 2) AS price_return_pct,
round(100 * div_per_share / may_close, 2) AS dividend_contribution_pct,
round(100 * ((jun_close + div_per_share) - may_close) / may_close, 2) AS total_return_pct
FROM px CROSS JOIN dvPrice return ya SPY kwa mwezi Juni ilikuwa -1.33%; ukijumlisha $1.9035 ya usambazaji kwa kila hisa iliyofika ex-dividend date ndani ya mwezi huo, total return inaboreka na kufikia -1.08%, mchango wa 0.25% kutoka kwa fedha taslimu. Familia za fahirisi huchapisha aina zote mbili (S&P 500 unayoiona ikinukuliwa mara nyingi ni price index), kurasa za utendaji wa mfuko zinatakiwa kuonyesha total return, na zana za kuchuja (screeners) huchanganya aina hizo mbili bila mpangilio. Wakati vyanzo viwili vinapokinzana kwa sehemu ndogo ya asilimia kuhusu mwezi wa mlipaji dividend, dividend ndiyo mtuhumiwa wa kwanza, ex-dividend date huamua malipo hayo yanahusika na mwezi upi.
Mwezi mmoja wa Juni ni sehemu ndogo ya asilimia. Muda wa uwekezaji ndio unaotenganisha mbinu hizi mbili, hapa kuna hesabu hiyo hiyo iliyopanuliwa kwa miaka mitano:
| Funga Juni 2021 | Funga Juni 2026 | Migao iliyolipwa kwa hisa | Malipo ya migao | % ya faida ya bei ya miaka 5 | % ya faida ya miaka 5 na migao | Pointi za migao zilizoongezwa |
|---|---|---|---|---|---|---|
| 428.07 | 746.32 | 34.07 | 20 | 74.35 | 82.3 | 7.96 |
SQL halisi nyuma ya kila namba
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMaxIf(toFloat64(close), window_start,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York')) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND ((window_start >= '2021-06-28 04:00:00' AND window_start < '2021-07-01 08:00:00')
OR (window_start >= '2026-06-26 04:00:00' AND window_start < '2026-07-01 08:00:00'))
GROUP BY day
),
px AS (
SELECT argMaxIf(cl, day, day <= '2021-06-30') AS start_close,
argMaxIf(cl, day, day <= '2026-06-30') AS end_close
FROM daily
),
dv AS (
SELECT round(sum(cash_amount), 2) AS divs_per_share,
count() AS payments
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY'
AND ex_dividend_date >= '2021-07-01'
AND ex_dividend_date <= '2026-06-30'
)
SELECT round(start_close, 2) AS june_2021_close,
round(end_close, 2) AS june_2026_close,
divs_per_share AS dividends_paid_per_share,
payments AS dividend_payments,
round(100 * (end_close - start_close) / start_close, 2) AS five_year_price_return_pct,
round(100 * ((end_close + divs_per_share) - start_close) / start_close, 2) AS five_year_return_with_divs_pct,
round(100 * divs_per_share / start_close, 2) AS dividend_points_added
FROM px CROSS JOIN dvKuanzia bei yake ya kufunga ya Juni 2021 ya $428.07 hadi bei yake ya kufunga ya Juni 2026 ya $746.32, price return ya miaka mitano ya SPY inapimwa kuwa 74.35%. Katika kipindi hicho hicho ililipa 20 ya usambazaji yenye jumla ya $34.07 kwa kila hisa; kuhesabu fedha hiyo taslimu kunapandisha takwimu hiyo hadi 82.3%, pengo la 7.96 points kabla ya dividend hata moja kuwekezwa tena. Fahirisi halisi ya total-return huwekeza tena kila malipo katika ex-date yake, na hisa zilizowekezwa tena hupanua pengo hilo zaidi. Kwa mlipaji aliyekomaa, "margin kubwa" si sitiari; ni matokeo ya kawaida ya miaka ya fedha taslimu za kila robo mwaka.
Bei ya kufunga iliyorekebishwa dhidi ya bei halisi: mtego wa mgawanyo wa hisa
Zana nyingi za chati, Yahoo Finance, Google Finance, na programu nyingi za madalali, huonyesha adjusted close: mfululizo wa bei za kihistoria ambapo bei za zamani zimegawanywa ili kuakisi mgawanyo wa hisa (na, kwenye mifumo mingine, kurekebishwa kwa ajili ya dividends pia) ili mstari wa bei uweze kulinganishwa kwa muda. Ghala letu huhifadhi data kama zilivyotekelezwa sokoni. Katika mwezi wa kawaida, bei hizi mbili hulingana. Katika mwezi wenye mgawanyo wa hisa, hutoa taarifa tofauti sana, kama ilivyotokea kwenye mgawanyo wa hisa kumi-kwa-moja wa NVDA uliotekelezwa Juni 10, 2024, ndani ya mwezi huo:
| Funga ya mwisho Mei (raw) | Funga ya mwisho Juni (raw) | Hisa baada ya mgawanyo kwa kila hisa ya zamani | % ya mabadiliko ya bei (raw) | Funga Mei (iliyorekebishwa kwa mgawanyo) | % ya faida iliyorekebishwa |
|---|---|---|---|---|---|
| 1097.46 | 123.41 | 10 | -88.75 | 109.75 | 12.45 |
SQL halisi nyuma ya kila namba
WITH px AS (
SELECT argMaxIf(cl, day, day <= '2024-05-31') AS may_close,
argMaxIf(cl, day, day <= '2024-06-30') AS jun_close
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMaxIf(toFloat64(close), window_start,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York')) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'NVDA'
AND window_start >= '2024-05-29 04:00:00'
AND window_start < '2024-07-01 08:00:00'
GROUP BY day
)
),
sp AS (
SELECT split_to / split_from AS ratio
FROM global_markets.stocks_splits
WHERE ticker = 'NVDA'
AND execution_date >= '2024-06-01'
AND execution_date <= '2024-06-30'
)
SELECT round(may_close, 2) AS may_final_close_raw,
round(jun_close, 2) AS june_final_close_raw,
toInt32(ratio) AS shares_after_split_per_old_share,
round(100 * (jun_close - may_close) / may_close, 2) AS raw_price_change_pct,
round(may_close / ratio, 2) AS may_close_split_adjusted,
round(100 * (jun_close - may_close / ratio) / (may_close / ratio), 2) AS adjusted_return_pct
FROM px CROSS JOIN spUkisoma bei halisi, NVDA "ilishuka" kutoka $1097.46 hadi $123.41 mwezi huo wa Juni, ikiwa ni anguko la -88.75%. Hakuna kitu kama hicho kilichotokea: katika tarehe ya utekelezaji, kila hisa ya zamani ikawa 10 hisa mpya na bei ikagawanywa ili kuoana, jambo lililofanya thamani ya dola ya kila mwenye hisa kubaki pale ilipokuwa. Ukigawanya bei ya kufunga ya Mei kwa uwiano uleule, $109.75 kwa msingi wa kurekebishwa kwa mgawanyo wa hisa, mwezi Juni 2024 unaonyesha 12.45%, mwezi wa kupanda. Chanzo chochote kinachotoa data iliyorekebishwa huripoti takwimu inayokaribia ile ya pili; hesabu ya kawaida kwenye bei halisi huripoti ile ya kwanza. Adjusted close ndiyo sababu kuu inayofanya vyanzo viwili kutofautiana sana kuhusu mapato ya kihistoria ya kila mwezi, wakati takwimu inapoonekana kuwa kubwa isivyo kawaida katika mwelekeo wowote, angalia kalenda ya mgawanyo wa hisa kabla ya kitu kingine chochote.
Ni "close" ipi inayozingatiwa?
Kuna mpaka mwingine uliofichika ndani ya kanuni zilizopo: bei yenyewe ya kufunga soko (closing price). Nambari inayotumiwa na kila karatasi ya taarifa (fact sheet) ni ile ya official closing-auction print, yaani bei moja iliyowekwa na closing auction saa 10:00 jioni ET. Hata hivyo, biashara huendelea baada ya saa za kazi, na print ya mwisho ya kipindi cha ziada inaweza kutofautiana na ile ya official close:
| Funga ya kikao cha kawaida | Rekodi ya mwisho ya muda wa ziada | % ya mabadiliko baada ya saa za kazi |
|---|---|---|
| 746.32 | 746.3 | -0.003 |
SQL halisi nyuma ya kila namba
SELECT round(argMaxIf(toFloat64(close), window_start, rth), 2) AS regular_session_close,
round(argMax(toFloat64(close), window_start), 2) AS last_extended_print,
round(100 * (argMax(toFloat64(close), window_start) - argMaxIf(toFloat64(close), window_start, rth))
/ argMaxIf(toFloat64(close), window_start, rth), 3) AS after_hours_drift_pct
FROM (
SELECT window_start, close,
toTimeZone(window_start, 'America/New_York') >= toDateTime('2026-06-30 09:30:00', 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime('2026-06-30 16:00:00', 'America/New_York') AS rth
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-06-30 04:00:00'
AND window_start < '2026-07-01 08:00:00'
)Mnamo Juni 30, bei hizo mbili zilitofautiana kwa -0.003%, tofauti ndogo jioni hiyo, lakini katika usiku wa kutoa taarifa za mapato (earnings night) kwa hisa moja, kipindi cha ziada kinaweza kusababisha mabadiliko ya asilimia kubwa ambayo return ya kila mwezi itaihesabu katika mwezi unaofuata. After-hours and premarket trading inafafanua mpaka huo kwa kina. Kisa kingine cha kipekee: mipaka ya mwezi wakati mwingine huangukia katika kipindi cha likizo ambapo siku ya kawaida ya biashara huishia saa 7:00 mchana ET na official close hupatikana katika mnada wa mapema; market holiday schedule inaorodhesha tarehe hizo.
Kukokotoa faida ya miezi kumi na miwili kwa mwaka
Faida ya mwaka si jumla ya faida za miezi kumi na miwili, bali ni zao la faida hizo. Mfumo wa kuunganisha ni huu: badilisha kila mwezi kuwa kipengele cha ukuaji (1 + faida), zidisha vipengele vyote kumi na viwili, kisha toa 1. Mwezi wa −5% ukifuatiwa na mwezi wa +5% hutoa sifuri kwa kujumlisha, lakini kwa kukokotoa faida jumuishi ni 0.95 × 1.05 − 1 = −0.25%. Hii hapa ni njia halisi ya SPY kwa miezi kumi na miwili iliyoishia Juni 2026:
| Mwezi | Funga ya mwezi | Faida rahisi (%) | Faida ya log (%) |
|---|---|---|---|
| 2025-07 | 631.97 | 2.28 | 2.25 |
| 2025-08 | 645.04 | 2.07 | 2.05 |
| 2025-09 | 666.11 | 3.27 | 3.21 |
| 2025-10 | 681.99 | 2.38 | 2.36 |
| 2025-11 | 683.39 | 0.21 | 0.21 |
| 2025-12 | 681.84 | -0.23 | -0.23 |
| 2026-01 | 691.85 | 1.47 | 1.46 |
| 2026-02 | 686.23 | -0.81 | -0.82 |
| 2026-03 | 650.24 | -5.25 | -5.39 |
| 2026-04 | 718.43 | 10.49 | 9.97 |
| 2026-05 | 756.4 | 5.29 | 5.15 |
| 2026-06 | 746.32 | -1.33 | -1.34 |
SQL halisi nyuma ya kila namba
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMaxIf(toFloat64(close), window_start,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York')) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-06-24 04:00:00'
AND window_start < '2026-07-01 08:00:00'
GROUP BY day
),
monthly AS (
SELECT toStartOfMonth(day) AS month_start,
argMax(cl, day) AS month_close
FROM daily
GROUP BY month_start
),
rets AS (
SELECT month_start,
formatDateTime(month_start, '%Y-%m') AS month,
round(month_close, 2) AS month_final_close,
100 * (month_close / lagInFrame(month_close) OVER (ORDER BY month_start) - 1) AS r
FROM monthly
)
SELECT month,
month_final_close,
round(r, 2) AS simple_return_pct,
round(100 * log(1 + r / 100), 2) AS log_return_pct
FROM rets
WHERE isFinite(r)
ORDER BY month_startMiezi kumi na miwili ya kufunga soko, kuanzia 2.28% katika 2025-07 hadi -1.33% katika 2026-06, mstari wa mwisho ni takwimu ileile ya SPY ya Juni 2026 iliyopimwa katika paneli ya kwanza. Unganisha miezi kumi na miwili hiyo ipasavyo na ulinganishe na njia ya mkato ya kujumlisha asilimia pekee:
| Miezi iliyounganishwa | Jumla rahisi (%) | Mchanganyiko wa kijiometri (%) | Faida ya miezi 12 (%) | Pengo la mchanganyiko (basis points) | Jumla ya faida za log za kila mwezi (%) | Faida ya log ya miezi 12 (%) |
|---|---|---|---|---|---|---|
| 12 | 19.83 | 20.79 | 20.79 | 0.96 | 18.89 | 18.89 |
SQL halisi nyuma ya kila namba
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMaxIf(toFloat64(close), window_start,
toTimeZone(window_start, 'America/New_York') >= toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 09:30:00'), 'America/New_York')
AND toTimeZone(window_start, 'America/New_York') < toDateTime(concat(toString(toDate(toTimeZone(window_start, 'America/New_York'))), ' 16:00:00'), 'America/New_York')) AS cl
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-06-24 04:00:00'
AND window_start < '2026-07-01 08:00:00'
GROUP BY day
),
monthly AS (
SELECT toStartOfMonth(day) AS month_start,
argMax(cl, day) AS month_close
FROM daily
GROUP BY month_start
),
rets AS (
SELECT month_start,
100 * (month_close / lagInFrame(month_close) OVER (ORDER BY month_start) - 1) AS r
FROM monthly
),
ends AS (
SELECT argMin(month_close, month_start) AS base_close,
argMax(month_close, month_start) AS final_close
FROM monthly
)
SELECT count() AS months_linked,
round(sum(r), 2) AS simple_sum_pct,
round(100 * (exp(sum(log(1 + r / 100))) - 1), 2) AS geometric_compound_pct,
round(100 * (any(final_close) / any(base_close) - 1), 2) AS direct_twelve_month_pct,
round(100 * (exp(sum(log(1 + r / 100))) - 1) - sum(r), 2) AS compounding_gap_points,
round(sum(100 * log(1 + r / 100)), 2) AS sum_of_monthly_log_returns_pct,
round(100 * log(any(final_close) / any(base_close)), 2) AS twelve_month_log_return_pct
FROM rets CROSS JOIN ends
WHERE isFinite(r)Miezi kumi na miwili inajumlisha 19.83% lakini inatoa 20.79% kwa kukokotoa faida jumuishi, na hesabu ya moja kwa moja, kutoka kufungwa kwa Juni 2025 hadi Juni 2026, inatoa 20.79%, ikilingana na takwimu ya faida jumuishi badala ya jumla. Pengo hapa ni 0.96 pointi katika mwaka mmoja uliokuwa tulivu kiasi; pengo hili hupanuka kulingana na tete na muda. Kujumlisha asilimia za kila mwezi ni mazoea ya kawaida kwenye lahajedwali, na ni makosa yaliyofichika.
Safu mbili za mwisho zinaonyesha mbinu iliyoundwa kwa ajili ya kujumlisha: log return, yaani logarithm asilia ya kipengele cha ukuaji, ln(1 + faida). Log returns za kila mwezi zinajumlisha 18.89%, sawa na log return ya miezi kumi na miwili ya 18.89%, ndiyo maana wachambuzi na mifano ya hatari huzitumia. Kwa miezi yenye mabadiliko madogo, mbinu hizi mbili hazitofautiani sana (2025-11: 0.21% simple, 0.21% log); kadiri mwezi unavyokuwa na mabadiliko makubwa, ndivyo zinavyozidi kutofautiana (2026-04: 10.49% simple, 9.97% log). Karatasi za taarifa za mfuko hunukuu simple returns; log returns hutumika katika karatasi za utafiti na hesabu za tete.
Orodha ya uhakiki inayolinganisha vyanzo viwili vyovyote
Wakati takwimu mbili za mapato ya kila mwezi zinapokinzana, karibu kila mara hutofautiana katika moja ya swichi nne zifuatazo:
- Endpoints, close-to-close (kiwango sanifu) au open-to-close (biashara ya mwezi husika). Hizi hutofautiana wakati wowote ambapo mpaka ulikuwa na pengo (gap).
- Dividends, price return au total return. Hizi hutofautiana katika mwezi wowote wenye ex-dividend date.
- Adjustment, prints ghafi au mfululizo wa adjusted-close. Hizi hutofautiana sana katika mwezi wowote wenye split ya hisa.
- Bei ya kufunga (close), print rasmi ya mnada (kiwango sanifu) dhidi ya biashara ya mwisho ambayo inaweza kujumuisha saa za ziada za soko.
Tumia swichi zilezile kwenye vyanzo vyote viwili na tofauti hiyo itatoweka. Ulinganisho wa mfuko dhidi ya fahirisi (index) ni halali tu wakati takwimu zote mbili zinatumia mipangilio ileile minne; ukikosea hata moja, ulinganisho huo utapima swichi hiyo badala ya kupima utendaji. Muhtasari wa Juni 2026 wetu unaeleza mbinu yake tangu mwanzo kwa sababu hii hasa; kila takwimu ya kila mwezi hapo ni close-to-close, prints rasmi, na price return.
Maswali yanayoulizwa mara kwa mara kuhusu mapato ya kila mwezi
Je, mapato ya close-to-close ni nini?
Hii ni asilimia ya mabadiliko kutoka bei ya mwisho ya kufunga soko katika kipindi kilichopita hadi bei ya mwisho ya kufunga soko katika kipindi cha sasa. Hii ndiyo kanuni ya kawaida inayotumiwa kwa mapato ya hisa ya kila siku, kila mwezi, na kila mwaka katika karatasi za taarifa na ripoti za fahirisi.
Kwa nini tovuti mbili zinaonyesha mapato tofauti kwa hisa ileile na mwezi uleule?
Karibu kila mara sababu ni mojawapo ya kanuni nne: mwisho wa kipindi tofauti (close-to-close dhidi ya open-to-close), dividends kuhesabiwa au kutokuhesabiwa, bei ghafi dhidi ya bei zilizorekebishwa kwa split, au chanzo tofauti cha bei ya kufunga soko. Vipimo vya NVDA vya Juni 2026 ni -5.39% au -7.4% kwa kutumia mabadiliko hayo pekee.
Je, stock split hubadilisha hesabu ya mapato ya kila mwezi?
Haitakiwi kubadilisha; split hubadilisha idadi ya hisa na bei kwa pamoja, na kuacha thamani ya kwingineko ikiwa haijaguswa, lakini huharibu hesabu yoyote inayofanywa kwa kutumia bei ghafi. Mapato ya NVDA ya Juni 2024 yanaonekana kama -88.75% kwa bei ghafi za kufunga soko na ni 12.45% pindi split ya 10-for-1 inaporekebishwa.
Je, mapato ya kila mwezi ya hisa yanajumuisha dividends?
Mapato ya jumla (total returns) pekee ndiyo yanayojumuisha. Mapato ya bei (price returns), ikiwemo kiwango cha fahirisi ya S&P 500, hayajumuishi dividends. Mnamo Juni 2026, dividend iliongeza 0.25% kwenye mapato ya SPY ya mwezi huo, ikiwa ni tofauti kati ya mapato ya bei na mapato ya jumla.
Je, mapato ya kila mwezi ya kwingineko yangu binafsi huhesabiwa kwa njia ileile?
Si mara tu pesa zinapoingia au kutoka. Mapato ya dhamana moja kama yale yaliyo kwenye ukurasa huu hupimwa kwa muda (time-weighted); akaunti yenye amana na utoaji wa pesa inahitaji hesabu ya mapato kulingana na pesa (money-weighted/internal-rate-of-return), vinginevyo mtiririko wa pesa utaonekana kama utendaji wa uwekezaji. Madalali wengi huripoti takwimu iliyopimwa kwa muda ili kuondoa athari za amana zako kwenye namba hiyo.
Kila takwimu hapo juu ni swali lililohifadhiwa na kuhuishwa kwenye soko halisi; panua SQL ya paneli yoyote, au pima mwezi wa ticker yoyote chini ya kanuni yoyote kwenye terminal ya Strasmore.