آیا استراتژی میانگین هزینه دلار موثر است؟
بررسی کارایی روش DCA در مقایسه با سرمایهگذاری یکباره در ETF صندوق SPY از سال 2016 تا 2026 و تحلیل مزایای روانشناختی این برنامه زمانی.
میانگین هزینه دلار به معنای سرمایهگذاری مبلغی ثابت در یک برنامه زمانی مشخص است؛ برای مثال، 500 دلار در یک صندوق شاخص در اولین روز هر ماه، فارغ از اینکه قیمت در آن روز چقدر باشد. آیا میانگین هزینه دلار کارایی دارد؟ این روش دقیقاً برای هدفی که برای آن ساخته شده، کار میکند: تبدیل سرمایهگذاری به یک عادت و حذف تصمیمگیری مربوط به زمانبندی از دستان شما. آنچه این روش در یک بازار صعودی انجام نمیدهد، شکست دادنِ سرمایهگذاری کل مبلغ به صورت یکجا است.
ماهیت واقعی میانگین هزینه دلار
میانگین هزینه دلار (DCA) یک برنامه زمانی است، نه سیستمی برای انتخاب سهام برنده. شما مبلغ دلاری مشخصی را در فواصل زمانی معین متعهد میکنید و اجازه میدهید قیمت هر چه که هست باشد. وقتی قیمت پایین است، 500 دلار شما سهام بیشتری میخرد؛ وقتی قیمت بالا است، سهام کمتری خریداری میشود. در طول زمان، میانگین هزینه شما به هر سهم، در میانه قیمتهایی که پرداخت کردهاید، قرار میگیرد.
مقایسه صادقانه این روش با سرمایهگذاری یکجا (lump sum) است: یعنی همان کل مبلغ که در ابتدا، یکباره سرمایهگذاری میشود. اکثر مردم هرگز با این انتخاب به صورت شفاف روبرو نمیشوند. پول با هر حقوق ماهانه وارد حساب میشود و شما آن را به محض رسیدن سرمایهگذاری میکنید که این خود به طور پیشفرض DCA است. مسئله سرمایهگذاری یکجا تنها زمانی اهمیت مییابد که شما از قبل مقداری پول نقد یکجا در اختیار دارید، مانند ارث یا پاداش کاری. این دو وضعیت متفاوت هستند و دادههای زیر آنها را از هم جدا میکند.
500 دلار در ماه در S&P 500
در اینجا نسخه ساده شده آورده شده است. از ژانویه 2016، در ابتدای هر ماه تا اواسط سال 2026، 500 دلار در SPY (صندوق شاخص S&P 500) خریداری کنید. در کنار آن، فرض کنید همان کل مبلغ را در ژانویه 2016 داشتید و همگی را یکجا سرمایهگذاری کرده بودید.
کد دقیق SQL پشت هر عدد
WITH
monthly AS (
SELECT toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2016-01-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'))) BETWEEN 570 AND 959
GROUP BY dt
)
GROUP BY mo
),
agg AS (
SELECT argMin(px, mo) AS first_px, sum(500.0) AS total_invested FROM monthly
)
SELECT mo AS month,
round(sum(500.0 / px) OVER (ORDER BY mo) * px / 1000, 1) AS dca_value,
round((total_invested / first_px) * px / 1000, 1) AS lumpsum_value,
round(sum(500.0) OVER (ORDER BY mo) / 1000, 1) AS invested
FROM monthly CROSS JOIN agg
ORDER BY moتا ژوئن 2026، برنامه ماهانه، مبلغ 63k از مشارکتها را به 139.3k تبدیل کرده بود. سرمایهگذاری یکجا که از ماه اول به طور کامل سرمایهگذاری شده بود، به 237.7k رسید. با وجود ورود همان مقدار پول، سرمایهگذاری یکجا با اختلاف بسیار بیشتری پایان یافت.
این شکاف در نمودار مشهود است، نه در ویژگیهای سهام. سرمایهگذاری یکجا تمام مبلغ 63k را از ژانویه 2016 در جریان داشت. برنامه ماهانه تنها مشارکتهای انجام شده تا آن تاریخ را در معرض ریسک داشت: تا زمانی که نیمی از پول را وارد کرده بود، سالها گذشته بود و اولین و ارزانترین سهام، بخش کوچکی از کل دارایی بودند. در طول یک دهه روند صعودی، پولهای سرمایهگذاری شده در مراحل اولیه، مدت زمان بیشتری سود مرکب داشتند.
آیا سرمایهگذاری یکجا همیشه برنده است؟
در بازه ده ساله یک شاخص، بله. برای بررسی اینکه این موضوع صرفاً ویژگی خاص SPY نباشد، پنج نام دیگر را در اینجا آوردهایم که به همان روش، یعنی 500 دلار در ماه از سال 2016 تا 2026، با جایگزین سرمایهگذاری یکجا در کنار هر کدام، بررسی شدهاند. هر پنج مورد در این بازه بدون تقسیم سود (split-free) هستند که باعث میشود قیمتهای خام در ابتدا و انتها قابل مقایسه باشند.
کد دقیق SQL پشت هر عدد
WITH
monthly AS (
SELECT ticker, toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
FROM (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'MSFT', 'JNJ', 'KO')
AND window_start >= '2016-01-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'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
)
GROUP BY ticker, mo
)
SELECT ticker,
round(sum(500.0 / px) * argMax(px, mo) / 1000, 1) AS dca_final,
round(sum(500.0) / argMin(px, mo) * argMax(px, mo) / 1000, 1) AS lumpsum_final
FROM monthly
GROUP BY ticker
HAVING count() = 126
ORDER BY lumpsum_final DESCسرمایهگذاری یکجا در هر پنج مورد جلوتر بود. MSFT برنامه ماهانه را به 199.4k و سرمایهگذاری یکجا را به 529.5k رساند. KO، که کندترین رشد را در میان این پنج مورد داشت، در برنامه ماهانه به 92.6k و در سرمایهگذاری یکجا به 116.8k رسید. شکاف موجود با میزان صعود همسو بود: هرچه رشد یک نام سریعتر بود، سرمایهگذاری کامل اولیه فاصله بیشتری ایجاد میکرد.
جایی که میانگین هزینه دلار ارزش خود را ثابت میکند
مزیت سرمایهگذاری یکجا بر دو چیز تکیه دارد که شما به ندرت با هم دارید: یک مبلغ یکجا، و بازاری که از روز خرید شما عمدتاً صعودی باشد. با تغییر نقطه ورود، نتیجه سرمایهگذاری یکجا به شدت تغییر میکند. پنل بعدی یک برنامه پنج ساله 30,000 دلاری را اجرا میکند که هر ژانویه از سال 2016 تا 2021 شروع میشود (500 دلار در ماه برای 60 ماه)، در کنار یک سرمایهگذاری یکجا با همان مبلغ 30,000 دلار در روز اول.
کد دقیق SQL پشت هر عدد
WITH
monthly AS (
SELECT toStartOfMonth(dt) AS mo, argMin(c, dt) AS px
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2016-01-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'))) BETWEEN 570 AND 959
GROUP BY dt
)
GROUP BY mo
),
w AS (
SELECT mo, px,
sum(500.0 / px) OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS dca_shares,
count() OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS n_ahead,
leadInFrame(px, 59) OVER (ORDER BY mo ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING) AS end_px
FROM monthly
)
SELECT toString(toYear(mo)) AS start_year,
round(30000.0 / px * end_px / 1000, 1) AS lumpsum_final,
round(dca_shares * end_px / 1000, 1) AS dca_final
FROM w
WHERE toMonth(mo) = 1 AND n_ahead = 60 AND toYear(mo) BETWEEN 2016 AND 2021
ORDER BY start_yearدر اینجا نیز سرمایهگذاری یکجا در هر سال شروع برنده بود. نکته اصلی، شکاف موجود است. یک سرمایهگذاری یکجا 30,000 دلاری، بسته به سال شروع، از 45.5k برای شروع در سال 2018 (که پنج سال آن شامل ریزش اواخر 2018 و سقوط 2020 بود) تا 60k برای شروع در سال 2017، نتایج متفاوتی داشت. نتیجه شما به ماهی که شروع کردید بستگی داشت. پایان کار برنامه ماهانه محدودتر بود، از 37k تا 45.5k. میانگینگیری، محدوده نتایج را محدود کرد. این روش در ازای کاهش وابستگی به زمانبندی، مقداری از سود احتمالی را فدا کرد.
هدف واقعی میانگین هزینه دلار چیست؟
با خواندن همزمان این پنلها، یک نکته ساده روشن میشود. در بازاری که روند صعودی دارد، سرمایهگذاری یکجا در زمان زودتر، از سرمایهگذاری تدریجی همان مبلغ برتر است و این موضوع در هر دو مورد شاخصها و سهام انفرادی در تاریخهای شروع مختلف، صدق میکند. DCA راهی برای شکست دادن این واقعیت نیست. ارزش آن در جای دیگری نهفته است.
اول، این روش با نحوه رسیدن درآمد شما مطابقت دارد. شما ماهانه حقوق میگیرید و ماهانه سرمایهگذاری میکنید. هیچ مبلغ یکجایی وجود ندارد که بیکار بنشیند و منتظر استفاده شدن باشد. DCA صرفاً عمل سرمایهگذاری همزمان با درآمدزایی است.
دوم، تصمیمگیری مربوط به زمانبندی و پشیمانی ناشی از آن را حذف میکند. سختترین لحظه برای متعهد شدن به یک سرمایهگذاری یکجا درست بعد از یک ریزش است، زمانی که شرایط بدترین است. یک برنامه زمانی ثابت، این تصمیم را از دستان شما خارج میکند و خرید در قیمتهای پایینتر را در طول دوران ترس حفظ میکند. شروعهای سال 2018 و 2020 در بالا، مستقیماً در طول هر دو ریزش به مشارکت خود ادامه دادند.
سوم، محدوده نتایج را محدود میکند. همانطور که پنل سال شروع نشان داد، نتایج DCA در جایی متمرکز شدند که نتایج سرمایهگذاری یکجا با تقویم نوسان داشت. برای پساندازکنندهای که توان تحمل یک ورود با زمانبندی بد را ندارد، محدوده محدودتری از نتایج میتواند مهمتر از یک میانگین بالاتر باشد.
هیچکدام از اینها استدلال نمیکند که DCA سود را به حداکثر میرساند. اگر امروز پول نقد دارید و افق زمانی طولانی دارید، سوابق به نفع سرمایهگذاری یکجا است. اما اگر در حال ساختن ذخیره خود ماه به ماه هستید، که توصیف اکثر مردم است، DCA خودِ برنامه است. آن را با یک سبد متنوع ترکیب کنید تا از شرطبندی تمام برنامه روی یک سهم جلوگیری شود، و اگر حرکت آرامتر بازار به ماندگاری شما در ماههای بد کمک میکند، نوسان را مد نظر داشته باشید.
سوالات متداول
آیا میانگین هزینه دلار بر سرمایهگذاری یکجا برتری دارد؟
معمولاً در یک بازار صعودی، خیر. سرمایهگذاری 500 دلار در ماه در SPY از سال 2016 تا 2026، مبلغ 63k از مشارکتها را به 139.3k تبدیل کرد، در حالی که همان کل مبلغ که در ابتدا سرمایهگذاری شده بود، به 237.7k رسید. پولِ سرمایهگذاری یکجا از روز اول در جریان بود.
آیا میانگین هزینه دلار استراتژی خوبی است؟
برای یک پساندازکننده ماهانه، این رویکرد طبیعی است: شما با هر حقوق ماهانه سرمایهگذاری میکنید و هرگز مجبور نیستید زمان ورود را حدس بزنید. این روش میزان وابستگی نتیجه شما به روز شروع را کاهش میدهد، اما به قیمت از دست دادن مقداری سود در زمان صعود مداوم بازار.
مزیت اصلی میانگین هزینه دلار چیست؟
انضباط و کاهش ریسک زمانبندی. این روش خرید در ماههای خوب و بد را خودکار میکند و محدوده نتایج را در نقاط ورود مختلف محدود میکند، همانطور که پنل پنج ساله شروع سال در بالا نشان میدهد.
آیا میانگین هزینه دلار میانگین هزینه شما را کاهش میدهد؟
این روش میانگین هزینه شما را برابر با میانگین قیمتهایی که در طول برنامه پرداخت کردهاید قرار میدهد؛ یعنی زمانی که قیمتها پایین است سهام بیشتر و زمانی که بالا است سهام کمتری میخرد. این مقدار کمتر از بدترین قیمتی که ممکن بود بپردازید و بیشتر از بهترین قیمت است. این روش تضمینی برای داشتن هزینهای پایینتر از بازار نیست.
آیا باید همه را یکجا سرمایهگذاری کنم یا آن را پخش کنم؟
سوابق تاریخی نشان میدهد که اگر از قبل پول نقد دارید و افق زمانی طولانی دارید، سرمایهگذاری یکجا زودتر بهتر است. پخش کردن آن، سود مورد انتظار را با محدوده محدودتری از نتایج و پشیمانی کمتر در صورت ریزش بازار بلافاصله پس از خرید، معاوضه میکند. هیچکدام از اینها یک پیشبینی نیست.
هر عدد در اینجا یک پرسوجوی ذخیره شده است که میتوانید آن را باز کرده و دوباره اجرا کنید. نماد معاملاتی، مبلغ ماهانه یا تاریخ شروع را تغییر دهید و خودتان برنامه را در ترمینال Strasmore آزمایش کنید.