DCA คืออะไร
DCA Dollar-Cost Averaging ลงทุนสม่ำเสมอ ต้นทุนเฉลี่ย Market Timing วินัยการออม หุ้น กองทุน ETF คริปโต ทองคำ ระยะยาว
| เดือน | ราคา/หน่วย | ลงทุน (บาท) | หน่วยที่ได้ | ต้นทุนเฉลี่ย |
|---|---|---|---|---|
| ม. ค. | 100 | 5,000 | 50.00 | 100.00 |
| ก. พ. | 80 | 5,000 | 62.50 | 88.89 |
| มี. ค. | 60 | 5,000 | 83.33 | 76.92 |
| เม. ย. | 80 | 5,000 | 62.50 | 77.42 |
| พ. ค. | 100 | 5,000 | 50.00 | 81.17 |
| มิ. ย. | 120 | 5,000 | 41.67 | 85.71 |
| รวม | 30,000 | 350.00 | 85.71 | |
ราคาเฉลี่ย = (100+80+60+80+100+120)/6 = 90 บาท แต่ต้นทุนเฉลี่ย DCA = 85.71 บาท ต่ำกว่าราคาเฉลี่ย 4.76%
วิธีทำ DCA
# === DCA Calculator ===
from dataclasses import dataclass
@dataclass
class DCAInvestment:
month: str
price: float
amount: float
units: float = 0.0
avg_cost: float = 0.0
def calculate_dca(investments):
total_amount = 0.0
total_units = 0.0
for inv in investments:
inv.units = inv.amount / inv.price
total_amount += inv.amount
total_units += inv.units
inv.avg_cost = total_amount / total_units
return total_amount, total_units
# ตัวอย่าง DCA ลงทุน 5000 บาท/เดือน ใน SET50 ETF
monthly = [
DCAInvestment("Jan", 100, 5000),
DCAInvestment("Feb", 80, 5000),
DCAInvestment("Mar", 60, 5000),
DCAInvestment("Apr", 80, 5000),
DCAInvestment("May", 100, 5000),
DCAInvestment("Jun", 120, 5000),
DCAInvestment("Jul", 110, 5000),
DCAInvestment("Aug", 90, 5000),
DCAInvestment("Sep", 95, 5000),
DCAInvestment("Oct", 105, 5000),
DCAInvestment("Nov", 115, 5000),
DCAInvestment("Dec", 125, 5000),
]
total_amt, total_units = calculate_dca(monthly)
avg_price = sum(m.price for m in monthly) / len(monthly)
print("=== DCA Results ===")
print(f" Total Invested: {total_amt:,.0f} THB")
print(f" Total Units: {total_units:,.2f}")
print(f" Avg Cost (DCA): {total_amt/total_units:,.2f} THB")
print(f" Avg Price: {avg_price:,.2f} THB")
print(f" DCA Advantage: {(1 - (total_amt/total_units)/avg_price)*100:.2f}%")
print(f" Current Value: {total_units * monthly[-1].price:,.0f} THB")
print(f" Profit: {total_units * monthly[-1].price - total_amt:,.0f} THB")
print("\n=== Monthly Detail ===")
for m in monthly:
print(f" {m.month}: Price={m.price} Units={m.units:.2f} AvgCost={m.avg_cost:.2f}")
DCA vs Lump Sum
# === DCA vs Lump Sum Comparison ===
@dataclass
class Comparison:
scenario: str
lump_sum_result: str
dca_result: str
winner: str
reason: str
comparisons = [
Comparison("ตลาดขึ้นต่อเนื่อง",
"กำไร 20% (ลงทุนก่อน ได้ราคาถูกกว่า)",
"กำไร 12% (ซื้อแพงขึ้นเรื่อยๆ)",
"Lump Sum",
"ตลาดขึ้น Lump Sum ได้ราคาต่ำสุดตั้งแต่แรก"),
Comparison("ตลาดลงก่อนแล้วขึ้น (V-Shape)",
"ขาดทุน 5% → กลับมา Break Even",
"กำไร 8% (ซื้อถูกตอนตลาดตก)",
"DCA",
"DCA สะสมหน่วยถูกตอนตลาดตก"),
Comparison("ตลาด Sideways (ขึ้นลงสลับ)",
"กำไร 2% (ราคาเกือบเท่าเดิม)",
"กำไร 5% (ต้นทุนเฉลี่ยต่ำกว่า)",
"DCA",
"DCA ได้ประโยชน์จาก Volatility"),
Comparison("ตลาดลงอย่างเดียว (Bear)",
"ขาดทุน 30%",
"ขาดทุน 15% (ซื้อถูกลงเรื่อยๆ)",
"DCA (ขาดทุนน้อยกว่า)",
"DCA ลด Drawdown แต่ยังขาดทุน"),
Comparison("สถิติ 20 ปี S&P 500",
"ชนะ 68% ของ Rolling 12-month",
"ชนะ 32% ของ Rolling 12-month",
"Lump Sum (สถิติ)",
"ตลาดหุ้นขึ้นระยะยาว ~70% ของเวลา"),
]
print("=== DCA vs Lump Sum ===")
for c in comparisons:
print(f"\n [{c.scenario}]")
print(f" Lump Sum: {c.lump_sum_result}")
print(f" DCA: {c.dca_result}")
print(f" Winner: {c.winner}")
print(f" Reason: {c.reason}")
Platform และสินทรัพย์
# === DCA Platforms & Assets for Thai Investors ===
@dataclass
class DCAOption:
asset: str
platform: str
min_amount: str
fee: str
auto_invest: str
options = [
DCAOption("กองทุน SET50 / SET100 ETF",
"Finnomena, Jitta Wealth, SCBS, KBank",
"100-1000 บาท/ครั้ง",
"0-1.5% ต่อปี (Management Fee)",
"Yes (ตั้ง Auto ได้ทุก Platform)"),
DCAOption("S&P 500 ETF (ต่างประเทศ)",
"Finnomena, Jitta Wealth, IBKR",
"500-1000 บาท/ครั้ง",
"0.03-0.5% (ETF Expense Ratio)",
"Yes"),
DCAOption("หุ้นไทยรายตัว",
"Settrade, Streaming, SCBS",
"ขั้นต่ำ 100 หุ้น (Board Lot)",
"0.1-0.25% ค่า Commission",
"บางโบรกเกอร์มี DCA Plan"),
DCAOption("Bitcoin / Crypto",
"Bitkub, Satang Pro, Binance",
"1-100 บาท/ครั้ง",
"0.25% ค่า Trading Fee",
"Bitkub Auto Invest"),
DCAOption("ทองคำ",
"GoldSpot, Hua Seng Heng, MTS Gold",
"100-1000 บาท/ครั้ง",
"Spread + Premium",
"บาง Platform มี Auto"),
]
print("=== DCA Options ===")
for o in options:
print(f"\n [{o.asset}]")
print(f" Platform: {o.platform}")
print(f" Min: {o.min_amount}")
print(f" Fee: {o.fee}")
print(f" Auto: {o.auto_invest}")
เคล็ดลับ
- Auto: ตั้ง Auto Invest อัตโนมัติ ลดอารมณ์ ลดการลืม
- ระยะยาว: DCA ผลดีที่สุดเมื่อลงทุน 5+ ปี อย่าหยุดเร็ว
- ตลาดตก: อย่าหยุด DCA เมื่อตลาดตก ตอนนี้คือจังหวะดีที่สุด
- กระจาย: DCA ในหลายสินทรัพย์ ลดความเสี่ยง
- Fee: เลือก Platform ค่าธรรมเนียมต่ำ ETF ถูกกว่า Active Fund
การนำความรู้ไปประยุกต์ใช้งานจริง
แหล่งเรียนรู้ที่แนะนำ ได้แก่ Official Documentation ที่อัพเดทล่าสุดเสมอ Online Course จาก Coursera Udemy edX ช่อง YouTube คุณภาพทั้งไทยและอังกฤษ และ Community อย่าง Discord Reddit Stack Overflow ที่ช่วยแลกเปลี่ยนประสบการณ์กับนักพัฒนาทั่วโลก
เปรียบเทียบข้อดีและข้อเสีย
จากตารางเปรียบเทียบจะเห็นว่าข้อดีมีมากกว่าข้อเสียอย่างชัดเจน โดยเฉพาะในแง่ของประสิทธิภาพและความสามารถในการ Scale สำหรับข้อเสียส่วนใหญ่สามารถแก้ไขได้ด้วยการเรียนรู้อย่างเป็นระบบและวางแผนทรัพยากรให้เหมาะสม
สรุปประเด็นสำคัญ
สิ่งที่ควรทำต่อหลังอ่านบทความนี้จบ คือ ลองตั้ง Lab Environment ทดสอบด้วยตัวเอง อ่าน Official Documentation เพิ่มเติม เข้าร่วม Community เช่น Discord หรือ Facebook Group ที่เกี่ยวข้อง และลองทำ Side Project เล็กๆ เพื่อฝึกฝน หากมีคำถามเพิ่มเติม สามารถติดตามเนื้อหาได้ที่ SiamCafe.net ซึ่งอัพเดทบทความใหม่ทุกสัปดาห์
DCA คืออะไร
ลงทุนสม่ำเสมอเท่ากันทุกงวด ต้นทุนเฉลี่ยต่ำกว่าราคาเฉลี่ย ลด Market Timing วินัยการออม หุ้น กองทุน ETF คริปโต ทองคำ ระยะยาว
ทำ DCA อย่างไร
เลือกสินทรัพย์ กำหนดเงิน/งวด ตั้ง Auto Invest Finnomena Jitta Bitkub ไม่ต้องดูราคา Review 6-12 เดือน ลงทุน 5+ ปี เงินเย็น
เปรียบเทียบกับ Lump Sum อย่างไร
Lump Sum ชนะ 68% สถิติ DCA ลด Drawdown ลดเครียด ตลาดขึ้น Lump Sum ดี ตลาดลงก่อนขึ้น DCA ดี มนุษย์เงินเดือน DCA เหมาะกว่า
ข้อควรระวังคืออะไร
ไม่การันตีกำไร เลือกสินทรัพย์ขึ้นระยะยาว กระจายความเสี่ยง ค่าธรรมเนียมต่ำ อย่าหยุดตอนตลาดตก Review Rebalance เงินเย็น 5+ ปี
สรุป
DCA Dollar-Cost Averaging ลงทุนสม่ำเสมอ ต้นทุนเฉลี่ยต่ำ วินัย ลด Market Timing Auto Invest กองทุน ETF คริปโต ระยะยาว 5+ ปี
