หุ้นจะขึ้นหลังการแตกหุ้นหรือไม่
วิเคราะห์ผลตอบแทนหลังการแตกหุ้นแบบ forward split ตั้งแต่ปี 2016 พบว่าราคาหุ้นมักพุ่งสูงขึ้นก่อนการแตกหุ้น แต่ให้ผลตอบแทนต่ำกว่าตลาดในช่วง 3 เดือนหลังจากนั้น
การแตกหุ้น (stock split) คือการเพิ่มจำนวนหุ้นของบริษัทและหารราคาหุ้นด้วยสัดส่วนเดียวกัน ตัวอย่างเช่น หุ้นราคา 600 ดอลลาร์ที่แตกหุ้นในสัดส่วน 3-for-1 จะกลายเป็นหุ้น 3 ตัว ตัวละ 200 ดอลลาร์ ซึ่งมีมูลค่ารวมเท่าเดิม แล้วหลังจากนั้นราคาหุ้นจะขึ้นหรือไม่? จากค่ามัธยฐานพบว่าราคาปรับตัวขึ้นเล็กน้อย แต่ปรับตัวขึ้นน้อยกว่าตลาด จากการศึกษาการแตกหุ้นแบบ forward split หลายร้อยครั้งตั้งแต่ปี 2016 ถึง 2025 พบว่าหุ้นโดยทั่วไปให้ผลตอบแทนต่ำกว่า S&P 500 ในช่วง 3 เดือนหลังการแตกหุ้นในทุกช่วงเวลาที่ทำการวัดผล การเคลื่อนไหวของราคาที่มากกว่าเกิดขึ้นก่อนการแตกหุ้น ไม่ใช่หลังจากนั้น
สิ่งที่การแตกหุ้นทำ และสิ่งที่การแตกหุ้นไม่ได้ทำ
กลไกนี้ไม่มีผลต่อมูลค่า การแตกหุ้นแบบ forward split จะลดราคาหุ้นและเพิ่มจำนวนหุ้นในสัดส่วนที่เท่ากัน โดยไม่มีสิ่งใดในธุรกิจเปลี่ยนแปลงไปในชั่วข้ามคืน แนวคิดเรื่อง "split pop" ประกอบด้วยสองส่วนที่แยกจากกัน คือราคาที่พุ่งสูงขึ้นก่อนการแตกหุ้น และการเคลื่อนไหวของหุ้นหลังจากนั้น การศึกษานี้วัดผลอย่างที่สองโดยตรงโดยเริ่มจากวันที่ดำเนินการแตกหุ้น และแยกออกจากส่วนแรกอย่างชัดเจน ส่วนวันที่ประกาศ ซึ่งงานวิจัยทางวิชาการพบว่ามีการตอบสนองเพียงเล็กน้อยนั้น เกิดขึ้นก่อนหน้าหลายสัปดาห์ และราคาได้สะท้อนปัจจัยนั้นไปแล้ว ณ วันที่ดำเนินการที่ใช้ในการวัดผลนี้
ราคาที่พุ่งสูงขึ้นเกิดขึ้นก่อนการแตกหุ้น
การแตกหุ้นที่โดดเด่นในช่วงที่ผ่านมาแสดงให้เห็นถึงรูปแบบดังกล่าว โดยแต่ละตัวถูกวัดผลในช่วง 6 เดือนก่อนการแตกหุ้น และ 3 เดือนหลังการแตกหุ้น
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
cohort AS (
SELECT ticker, max(execution_date) AS ex,
argMax(concat(toString(split_to), '-for-', toString(split_from)), execution_date) AS ratio
FROM global_markets.stocks_splits
WHERE ticker IN ('NVDA', 'AVGO', 'NFLX', 'AMZN', 'GOOGL', 'AAPL', 'TSLA')
AND split_to >= 2 * split_from
AND adjustment_type IN ('forward_split', 'stock_dividend')
AND execution_date >= '2020-01-01' AND execution_date <= '2026-01-31'
GROUP BY ticker
),
bars AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE (ticker IN (SELECT ticker FROM cohort) OR ticker = 'SPY')
AND window_start >= '2019-06-01 00:00:00' AND window_start < '2026-07-14 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, d
),
series AS (
SELECT ticker,
arrayMap(x -> x.1, arraySort(x -> x.1, groupArray((d, px)))) AS days,
arrayMap(x -> x.2, arraySort(x -> x.1, groupArray((d, px)))) AS prices
FROM bars GROUP BY ticker
),
spy AS (SELECT days AS sd, prices AS sp FROM series WHERE ticker = 'SPY')
SELECT c.ticker AS ticker,
c.ratio AS ratio,
toString(c.ex) AS ex_date,
round((s.prices[indexOf(s.days, c.ex) - 1] / s.prices[indexOf(s.days, c.ex) - 1 - 126] - 1) * 100, 1) AS run_up_before_pct,
round((s.prices[indexOf(s.days, c.ex) + 63] / s.prices[indexOf(s.days, c.ex)] - 1) * 100, 1) AS after_3mo_pct,
round((spy.sp[indexOf(spy.sd, c.ex) + 63] / spy.sp[indexOf(spy.sd, c.ex)] - 1) * 100, 1) AS spy_3mo_pct
FROM cohort c INNER JOIN series s ON s.ticker = c.ticker CROSS JOIN spy
WHERE indexOf(s.days, c.ex) > 130 AND length(s.prices) >= indexOf(s.days, c.ex) + 63
ORDER BY run_up_before_pct DESCNVDA ปรับตัวขึ้น 165.6% ในช่วง 6 เดือนก่อนการแตกหุ้นแบบ 10-for-1 และ AAPL ปรับตัวขึ้น 67% การพุ่งขึ้นของราคาไม่ได้เกิดขึ้นกับทุกหุ้น เช่น AMZN, GOOGL และ NFLX ที่เข้าสู่การแตกหุ้นด้วยผลตอบแทนในช่วง 6 เดือนที่ -28.8%, -21% และ -6.6% ตามลำดับ สิ่งที่หุ้นเกือบทั้งหมดในกลุ่มนี้ไม่ได้ทำคือการให้ผลตอบแทนชนะตลาดหลังจากนั้น โดย NVDA ให้ผลตอบแทน -11.2% ในช่วง 3 เดือนหลังการแตกหุ้น เมื่อเทียบกับ 2.5% ของ S&P 500 และหุ้นส่วนใหญ่ในกลุ่มนี้ให้ผลตอบแทนต่ำกว่าดัชนีในช่วงเวลาเดียวกัน
หุ้นจะขึ้นหลังการแตกหุ้นหรือไม่? ข้อมูลระบุว่าขึ้นน้อยกว่าตลาด
เนื่องจากชื่อหุ้นเพียง 7 ตัวไม่สามารถใช้เป็นข้อสรุปได้ ข้อมูลนี้จึงรวบรวมการแตกหุ้นแบบ forward split ที่มีสภาพคล่องสูงทั้งหมดตั้งแต่ปี 2016 ถึง 2025 (การแตกหุ้นในสัดส่วน 2-for-1 หรือมากกว่า โดยมีราคาหุ้นก่อนแตกสูงกว่า 30 ดอลลาร์) โดยแบ่งเป็น 3 ช่วงเวลา สำหรับแต่ละช่วง ผลตอบแทนมัธยฐานของหุ้นในช่วง 3 เดือนหลังการแตกหุ้นจะแสดงเปรียบเทียบกับ S&P 500 ในช่วงเวลาเดียวกัน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
cohort AS (
SELECT ticker, min(execution_date) AS ex
FROM global_markets.stocks_splits
WHERE adjustment_type IN ('forward_split', 'stock_dividend') AND split_to >= 2 * split_from
AND execution_date >= '2016-01-01' AND execution_date <= '2025-12-31' AND ticker != 'SPCX'
GROUP BY ticker, execution_date
),
bars AS (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE (ticker IN (SELECT ticker FROM cohort) OR ticker = 'SPY')
AND window_start >= '2015-06-01 00:00:00' AND window_start < '2026-02-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, d
),
series AS (
SELECT ticker,
arrayMap(x -> x.1, arraySort(x -> x.1, groupArray((d, px)))) AS days,
arrayMap(x -> x.2, arraySort(x -> x.1, groupArray((d, px)))) AS prices
FROM bars GROUP BY ticker
),
spy AS (SELECT days AS sd, prices AS sp FROM series WHERE ticker = 'SPY'),
fwd AS (
SELECT ex,
(prices[i0 - 1] / prices[i0 - 1 - 126] - 1) * 100 AS run_up,
(prices[i0 + 63] / prices[i0] - 1) * 100 AS ret,
(sp[j0 + 63] / sp[j0] - 1) * 100 AS spy_ret
FROM (
SELECT c.ex AS ex, indexOf(s.days, c.ex) AS i0, indexOf(spy.sd, c.ex) AS j0,
s.prices AS prices, spy.sp AS sp
FROM cohort c INNER JOIN series s ON s.ticker = c.ticker CROSS JOIN spy
)
WHERE i0 > 130 AND length(prices) >= i0 + 63 AND prices[i0] > 0 AND prices[i0 - 1] >= 30
)
SELECT multiIf(toYear(ex) <= 2019, '2016-2019', toYear(ex) <= 2023, '2020-2023', '2024-2025') AS period,
count() AS splits,
round(median(run_up), 1) AS median_runup_before_pct,
round(median(ret), 1) AS median_after_3mo_pct,
round(median(spy_ret), 1) AS median_spy_3mo_pct,
round(median(ret - spy_ret), 1) AS median_gap_vs_spy_pct,
round(100.0 * countIf(ret > spy_ret) / count(), 0) AS pct_beat_spy
FROM fwd GROUP BY period ORDER BY periodทั้ง 3 ช่วงเวลาชี้ไปในทิศทางเดียวกัน ในช่วงปี 2016-2019 หุ้นที่แตกหุ้นค่ามัธยฐานให้ผลตอบแทน 1.8% ในช่วง 3 เดือนหลังการดำเนินการ เทียบกับ 3.8% ของ S&P 500 ในช่วง 2020-2023 ให้ผลตอบแทน 1% เทียบกับ 4.9% และในช่วง 2024-2025 ให้ผลตอบแทน 0% เทียบกับ 3.3% ผลตอบแทนมีลักษณะคงที่หรือเพิ่มขึ้นเพียงเล็กน้อยในแต่ละครั้ง และต่ำกว่าดัชนีในทุกครั้ง มีการแตกหุ้นน้อยกว่าครึ่งหนึ่งที่สามารถชนะตลาดได้ในทุกช่วงเวลาระหว่าง 37% ถึง 41% การพุ่งขึ้นของราคาก่อนการแตกหุ้นคือการเคลื่อนไหวที่ใหญ่กว่า โดยมีค่ามัธยฐานอยู่ที่ 10.6% ถึง 17.1%
ทำไมความเชื่อที่ว่า "หุ้นมักจะขึ้นหลังการแตกหุ้นเสมอ" จึงไม่เป็นความจริง
การแตกหุ้นเปลี่ยนเพียงจำนวนหุ้นและราคาด้วยสัดส่วนที่เท่ากันเท่านั้น ดังนั้นความได้เปรียบใดๆ ที่เกิดขึ้นหลังจากนั้นต้องมาจากลักษณะของบริษัทที่เลือกแตกหุ้น ไม่ใช่มาจากการแตกหุ้นเอง บริษัทที่แตกหุ้นมักเป็นบริษัทที่ประสบความสำเร็จมาก่อน (winners) และจากข้อมูลพบว่ากลุ่มนี้ไม่ได้รักษาความได้เปรียบนั้นไว้หลังจากแตกหุ้น โดยในทุกช่วงเวลาตั้งแต่ปี 2016 ค่ามัธยฐานของหุ้นกลุ่มนี้ให้ผลตอบแทนต่ำกว่าตลาดในไตรมาสถัดมา ส่วน การรวมหุ้น (reverse split) ซึ่งมักเกิดขึ้นกับหุ้นที่ราคาตกลงมา มักจะตามมาด้วยความอ่อนแอของราคาที่มากขึ้นโดยเฉลี่ย ทั้งสองกรณีชี้ไปในทิศทางเดียวกัน คือสิ่งที่หุ้นทำก่อนการแตกหุ้นไม่ได้ส่งผลให้เกิดผลตอบแทนที่ชนะตลาดหลังจากนั้น
คำถามที่พบบ่อย (FAQ)
หุ้นจะขึ้นหลังการแตกหุ้นหรือไม่?
โดยค่ามัธยฐานพบว่าราคาปรับตัวขึ้นเล็กน้อย แต่ปรับตัวขึ้นน้อยกว่าตลาด จากการศึกษาหุ้นที่มีการแตกหุ้นแบบ forward split ที่มีสภาพคล่องสูงตั้งแต่ปี 2016 ถึง 2025 พบว่าค่ามัธยฐานของหุ้นให้ผลตอบแทนระหว่าง 0% ถึง 1.8% ในช่วง 3 เดือนถัดไป โดยให้ผลตอบแทนต่ำกว่า S&P 500 ในทุกช่วงเวลา และมีหุ้นน้อยกว่าครึ่งหนึ่งที่ชนะดัชนีได้
ควรซื้อหุ้นก่อนหรือหลังการแตกหุ้น?
การแตกหุ้นเองไม่ได้สร้างความได้เปรียบ การเคลื่อนไหวของราคาที่ใหญ่กว่าเกิดขึ้นก่อนการแตกหุ้น โดยมีค่ามัธยฐานของการพุ่งขึ้นของราคาอยู่ที่ประมาณ 17.1% และผลตอบแทนหลังจากนั้นต่ำกว่าตลาดในทุกช่วงเวลาตั้งแต่ปี 2016 การแตกหุ้นไม่ได้เปลี่ยนมูลค่าที่แท้จริงของหุ้นหนึ่งหน่วย
ทำไมหุ้นมักจะปรับตัวขึ้นก่อนการแตกหุ้น?
หุ้นจะมีราคาที่สูงพอจนต้องพิจารณาการแตกหุ้นก็ต่อเมื่อราคาได้ปรับตัวขึ้นมาแล้ว ดังนั้นการพุ่งขึ้นของราคาจึงมักเกิดขึ้นก่อนการแตกหุ้นโดยธรรมชาติ คณะกรรมการบริษัทมักประกาศการแตกหุ้นหลังจากราคาพุ่งสูงขึ้นอย่างต่อเนื่อง เพื่อลดราคาต่อหุ้นลง
การแตกหุ้นช่วยสร้างมูลค่าเพิ่มขึ้นหรือไม่?
ไม่ การแตกหุ้นแบบ forward split เป็นเพียงการเพิ่มจำนวนหุ้นและหารราคาด้วยสัดส่วนที่เท่ากัน ซึ่งไม่ทำให้มูลค่าตลาดของบริษัทหรือสัดส่วนการถือครองของผู้ถือหุ้นเปลี่ยนแปลงไป เป็นเพียงการเปลี่ยนหน่วยนับ ไม่ใช่การเปลี่ยนมูลค่า
หุ้นขนาดใหญ่ตัวใดที่มีการแตกหุ้นเมื่อเร็วๆ นี้?
NVDA (10-for-1), AAPL และชื่ออื่นๆ ในตารางข้างต้นต่างมีการแตกหุ้นในช่วงไม่กี่ปีที่ผ่านมา หุ้นส่วนใหญ่มีการปรับตัวขึ้นก่อนการแตกหุ้น และส่วนใหญ่ให้ผลตอบแทนต่ำกว่า S&P 500 ในช่วง 3 เดือนหลังการแตกหุ้น
ตารางทั้งหมดด้านบนคือคำสั่ง SQL ที่สามารถตรวจสอบได้ สามารถเปิดดู SQL ภายใต้แผนภูมิใดก็ได้เพื่อตรวจสอบความถูกต้อง หรือรันการทดสอบก่อนและหลังแบบเดียวกันกับหุ้นตัวใดก็ได้ที่มีการแตกหุ้นในบันทึกบนเทอร์มินัลของ Strasmore