Headline CPI คืออะไร
Headline CPI (Consumer Price Index) หรือดัชนีราคาผู้บริโภคทั่วไป คือตัวเลขที่วัดการเปลี่ยนแปลงราคาสินค้าและบริการทั้งหมดที่ผู้บริโภคซื้อ รวมทั้งอาหาร พลังงาน สินค้าอุปโภคบริโภค ที่อยู่อาศัย การขนส่ง สุขภาพ และอื่นๆ Headline CPI เป็นตัวชี้วัดเงินเฟ้อที่สำคัญที่สุด ธนาคารกลางทั่วโลก (Fed, ECB, BOT) ใช้ CPI ในการตัดสินใจนโยบายดอกเบี้ย นักลงทุนติดตาม CPI เพื่อคาดการณ์ทิศทางตลาดการเงิน Headline CPI ต่างจาก Core CPI ที่ Core CPI ตัดอาหารและพลังงานออก
CPI Components และการคำนวณ
# cpi_basics.py — CPI fundamentals
import json
class CPIBasics:
TYPES = {
"headline": {
"name": "Headline CPI (ดัชนีราคาผู้บริโภคทั่วไป)",
"includes": "ทุกหมวดสินค้า: อาหาร, พลังงาน, ที่อยู่อาศัย, ขนส่ง, สุขภาพ",
"volatility": "สูง — ได้รับผลกระทบจากราคาอาหารและน้ำมัน",
"use": "วัดเงินเฟ้อในชีวิตจริงของผู้บริโภค",
},
"core": {
"name": "Core CPI (ดัชนีราคาผู้บริโภคพื้นฐาน)",
"includes": "ทุกหมวด ยกเว้น อาหารสดและพลังงาน",
"volatility": "ต่ำกว่า — เสถียรกว่า สะท้อน trend เงินเฟ้อจริง",
"use": "ธนาคารกลางใช้ตัดสินใจนโยบาย (Fed ดู Core PCE)",
},
}
THAILAND_CPI = {
"publisher": "กระทรวงพาณิชย์ (สำนักดัชนีเศรษฐกิจการค้า)",
"frequency": "รายเดือน (ประกาศต้นเดือนถัดไป)",
"base_year": "ปี 2562 (2019) = 100",
"categories": {
"food_bev": {"name": "อาหารและเครื่องดื่ม", "weight": "33.01%"},
"housing": {"name": "เคหสถาน", "weight": "23.28%"},
"transport": {"name": "พาหนะ การขนส่ง และการสื่อสาร", "weight": "22.38%"},
"recreation": {"name": "การบันเทิง การอ่าน การศึกษา", "weight": "5.56%"},
"clothing": {"name": "เครื่องนุ่งห่มและรองเท้า", "weight": "2.78%"},
"medical": {"name": "การตรวจรักษาและบริการส่วนบุคคล", "weight": "7.24%"},
"tobacco": {"name": "ยาสูบและเครื่องดื่มมีแอลกอฮอล์", "weight": "1.52%"},
"other": {"name": "อื่นๆ", "weight": "4.23%"},
},
}
US_CPI = {
"publisher": "Bureau of Labor Statistics (BLS)",
"frequency": "รายเดือน (ประกาศกลางเดือนถัดไป)",
"base_year": "1982-1984 = 100",
"major_categories": {
"shelter": {"name": "Shelter (ที่อยู่อาศัย)", "weight": "~36%"},
"food": {"name": "Food", "weight": "~13%"},
"energy": {"name": "Energy", "weight": "~7%"},
"transportation": {"name": "Transportation", "weight": "~16%"},
"medical": {"name": "Medical Care", "weight": "~8%"},
},
}
def show_types(self):
print("=== CPI Types ===\n")
for key, cpi in self.TYPES.items():
print(f"[{cpi['name']}]")
print(f" Includes: {cpi['includes']}")
print(f" Volatility: {cpi['volatility']}")
print(f" Use: {cpi['use']}")
print()
def show_thailand(self):
print("=== Thailand CPI ===")
print(f" Publisher: {self.THAILAND_CPI['publisher']}")
print(f" Base year: {self.THAILAND_CPI['base_year']}")
print(f"\n Categories:")
for key, cat in self.THAILAND_CPI["categories"].items():
print(f" {cat['name']}: {cat['weight']}")
def show_us(self):
print(f"\n=== US CPI ===")
print(f" Publisher: {self.US_CPI['publisher']}")
for key, cat in self.US_CPI["major_categories"].items():
print(f" {cat['name']}: {cat['weight']}")
cpi = CPIBasics()
cpi.show_types()
cpi.show_thailand()
cpi.show_us()
Headline CPI กับนโยบายการเงิน
# monetary_policy.py — CPI and monetary policy
import json
class MonetaryPolicy:
CENTRAL_BANKS = {
"fed": {
"name": "Federal Reserve (Fed) — สหรัฐ",
"target": "2% (PCE inflation, ไม่ใช่ CPI โดยตรง)",
"tool": "Federal Funds Rate",
"cpi_impact": "CPI สูง → Fed ขึ้นดอกเบี้ย | CPI ต่ำ → Fed ลดดอกเบี้ย",
},
"bot": {
"name": "ธนาคารแห่งประเทศไทย (ธปท./BOT)",
"target": "1-3% (Headline CPI)",
"tool": "อัตราดอกเบี้ยนโยบาย (Repo Rate)",
"cpi_impact": "CPI > 3% → กนง. อาจขึ้นดอกเบี้ย | CPI < 1% → อาจลดดอกเบี้ย",
},
"ecb": {
"name": "European Central Bank (ECB)",
"target": "2% (HICP — Harmonised Index of Consumer Prices)",
"tool": "Main Refinancing Rate",
"cpi_impact": "CPI สูง → ECB ขึ้นดอกเบี้ย | CPI ต่ำ → QE/ลดดอกเบี้ย",
},
}
RATE_CYCLE = """
Interest Rate Cycle:
[CPI สูง (เงินเฟ้อ)]
↓
[ธนาคารกลางขึ้นดอกเบี้ย]
↓
[ต้นทุนกู้เงินสูงขึ้น]
↓
[การใช้จ่ายลดลง]
↓
[เงินเฟ้อลดลง]
↓
[CPI กลับสู่เป้าหมาย]
↓
[ธนาคารกลางคงหรือลดดอกเบี้ย]
"""
def show_banks(self):
print("=== Central Banks & CPI Targets ===\n")
for key, bank in self.CENTRAL_BANKS.items():
print(f"[{bank['name']}]")
print(f" Target: {bank['target']}")
print(f" Impact: {bank['cpi_impact']}")
print()
def show_cycle(self):
print("=== Rate Cycle ===")
print(self.RATE_CYCLE)
policy = MonetaryPolicy()
policy.show_banks()
policy.show_cycle()
CPI กับตลาดการเงิน
# market_impact.py — CPI impact on financial markets
import json
import random
class CPIMarketImpact:
IMPACTS = {
"forex": {
"name": "Forex (ค่าเงิน)",
"high_cpi": "สกุลเงินแข็ง (คาดว่าขึ้นดอกเบี้ย → เงินทุนไหลเข้า)",
"low_cpi": "สกุลเงินอ่อน (คาดว่าลดดอกเบี้ย → เงินทุนไหลออก)",
"key_pair": "USD/THB — CPI US สูง → USD แข็ง → USD/THB ขึ้น",
},
"stocks": {
"name": "หุ้น (Equities)",
"high_cpi": "หุ้นลง (ต้นทุนสูง, ดอกเบี้ยขึ้น, PE compression)",
"low_cpi": "หุ้นขึ้น (ดอกเบี้ยต่ำ, liquidity สูง)",
"sector": "High CPI: หุ้น commodities ดี | Low CPI: หุ้น growth/tech ดี",
},
"bonds": {
"name": "พันธบัตร (Bonds)",
"high_cpi": "ราคาพันธบัตรลง (yield ขึ้น) — inflation erodes returns",
"low_cpi": "ราคาพันธบัตรขึ้น (yield ลง) — safe haven demand",
"note": "TIPS (Treasury Inflation-Protected Securities) ป้องกันเงินเฟ้อ",
},
"gold": {
"name": "ทองคำ (Gold)",
"high_cpi": "ทองขึ้น (inflation hedge) แต่ถ้า Fed hawkish → ทองอาจลง",
"low_cpi": "ทองลง (ไม่ต้อง hedge inflation)",
"note": "Real interest rate (nominal - inflation) คือ key driver",
},
"crypto": {
"name": "Cryptocurrency",
"high_cpi": "ผันผวน — บาง narrative ว่า inflation hedge, แต่ correlate กับ risk assets",
"low_cpi": "Crypto ขึ้น (risk-on environment, liquidity สูง)",
"note": "Bitcoin มักเคลื่อนไหวตาม NASDAQ มากกว่าตาม CPI",
},
}
def show_impacts(self):
print("=== CPI Impact on Markets ===\n")
for key, impact in self.IMPACTS.items():
print(f"[{impact['name']}]")
print(f" High CPI: {impact['high_cpi']}")
print(f" Low CPI: {impact['low_cpi']}")
print()
def cpi_scenarios(self):
print("=== CPI Release Scenarios ===")
scenarios = [
{"actual": "3.5%", "forecast": "3.2%", "market": "USD ↑, Stocks ↓, Gold ↑, Bonds ↓", "reason": "สูงกว่าคาด → Fed hawkish"},
{"actual": "3.2%", "forecast": "3.2%", "market": "ไม่ค่อยมี reaction", "reason": "ตรงคาด → priced in"},
{"actual": "2.8%", "forecast": "3.2%", "market": "USD ↓, Stocks ↑, Gold ↓, Bonds ↑", "reason": "ต่ำกว่าคาด → Fed dovish"},
]
for s in scenarios:
print(f" CPI: {s['actual']} (Forecast: {s['forecast']})")
print(f" Market: {s['market']}")
print(f" Reason: {s['reason']}")
print()
mkt = CPIMarketImpact()
mkt.show_impacts()
mkt.cpi_scenarios()
Python CPI Analysis
# cpi_analysis.py — Python CPI data analysis
import json
import random
class CPIAnalysis:
CODE = """
# cpi_tracker.py — Track and analyze CPI data
import pandas as pd
import requests
class CPITracker:
def __init__(self, fred_api_key=None):
self.api_key = fred_api_key
self.base_url = "https://api.stlouisfed.org/fred/series/observations"
def get_us_cpi(self, start="2020-01-01"):
# CPIAUCSL = Headline CPI (All Items)
# CPILFESL = Core CPI (Less Food and Energy)
series = {"headline": "CPIAUCSL", "core": "CPILFESL"}
results = {}
for name, sid in series.items():
params = {
"series_id": sid,
"api_key": self.api_key,
"file_type": "json",
"observation_start": start,
}
resp = requests.get(self.base_url, params=params)
data = resp.json().get("observations", [])
df = pd.DataFrame(data)
df["value"] = pd.to_numeric(df["value"], errors="coerce")
df["date"] = pd.to_datetime(df["date"])
# Calculate YoY change
df["yoy_change"] = df["value"].pct_change(periods=12) * 100
results[name] = df
return results
def compare_headline_core(self, results):
headline = results["headline"]
core = results["core"]
print("Headline vs Core CPI (YoY%):")
latest_h = headline["yoy_change"].iloc[-1]
latest_c = core["yoy_change"].iloc[-1]
print(f" Headline CPI: {latest_h:.1f}%")
print(f" Core CPI: {latest_c:.1f}%")
print(f" Gap: {latest_h - latest_c:.1f}% (food & energy impact)")
# Usage (ต้องมี FRED API key)
# tracker = CPITracker("your-api-key")
# results = tracker.get_us_cpi()
# tracker.compare_headline_core(results)
"""
def show_code(self):
print("=== Python CPI Tracker ===")
print(self.CODE[:500])
def thai_cpi_trend(self):
print(f"\n=== Thai CPI Trend (Simulated) ===")
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
for m in months:
headline = random.uniform(0.5, 3.5)
core = random.uniform(0.3, 2.0)
print(f" {m}: Headline {headline:.1f}% | Core {core:.1f}% | Gap {headline-core:.1f}%")
analysis = CPIAnalysis()
analysis.show_code()
analysis.thai_cpi_trend()
CPI สำหรับนักลงทุนไทย
# thai_investor.py — CPI guide for Thai investors
import json
class ThaiInvestorCPI:
SCHEDULE = {
"thai_cpi": {
"name": "CPI ไทย",
"publisher": "กระทรวงพาณิชย์",
"date": "ต้นเดือน (วันทำการแรกๆ ของเดือน)",
"where": "price.moc.go.th",
},
"us_cpi": {
"name": "CPI สหรัฐ",
"publisher": "Bureau of Labor Statistics (BLS)",
"date": "กลางเดือน (ประมาณวันที่ 10-14)",
"where": "bls.gov/cpi/",
"thai_time": "ประกาศ 19:30 น. เวลาไทย",
},
"mpc": {
"name": "กนง. (คณะกรรมการนโยบายการเงิน)",
"publisher": "ธนาคารแห่งประเทศไทย",
"date": "ประชุม 6 ครั้ง/ปี",
"where": "bot.or.th",
},
}
STRATEGIES = {
"high_cpi": {
"name": "CPI สูง (เงินเฟ้อสูง)",
"stocks": "หุ้น: เน้น commodity stocks (PTT, PTTEP), banks (interest income ดี)",
"bonds": "พันธบัตร: หลีกเลี่ยง long-term bonds, เน้น short-term / inflation-linked",
"gold": "ทองคำ: เพิ่มสัดส่วน (inflation hedge)",
"property": "อสังหาริมทรัพย์: ดี (real asset, ราคาขึ้นตามเงินเฟ้อ)",
},
"low_cpi": {
"name": "CPI ต่ำ (เงินเฟ้อต่ำ/เงินฝืด)",
"stocks": "หุ้น: เน้น growth/tech stocks, high dividend yield",
"bonds": "พันธบัตร: long-term bonds ดี (yield ลง, ราคาขึ้น)",
"gold": "ทองคำ: ลดสัดส่วน (ไม่ต้อง hedge)",
"property": "อสังหาริมทรัพย์: ระวัง — demand อาจลดลง",
},
}
def show_schedule(self):
print("=== CPI Schedule ===\n")
for key, sched in self.SCHEDULE.items():
print(f"[{sched['name']}]")
print(f" Publisher: {sched['publisher']}")
print(f" Date: {sched['date']}")
print()
def show_strategies(self):
print("=== Investment Strategies by CPI ===")
for key, strat in self.STRATEGIES.items():
print(f"\n[{strat['name']}]")
for k, v in strat.items():
if k != "name":
print(f" {v}")
investor = ThaiInvestorCPI()
investor.show_schedule()
investor.show_strategies()
FAQ - คำถามที่พบบ่อย
Q: Headline CPI กับ Core CPI ต่างกันอย่างไร?
A: Headline CPI: รวมทุกหมวดสินค้า (รวมอาหาร + พลังงาน) — ผันผวนสูง สะท้อนค่าครองชีพจริง Core CPI: ตัดอาหารสดและพลังงานออก — เสถียรกว่า สะท้อน trend เงินเฟ้อ ธนาคารกลางดู Core มากกว่า Headline เพราะอาหาร/พลังงานผันผวนตาม seasonal แต่ Headline สำคัญเพราะเป็นค่าใช้จ่ายจริงของประชาชน
Q: CPI สูงดีหรือไม่ดี?
A: เงินเฟ้อปานกลาง (2-3%) ดี: เศรษฐกิจเติบโต, ค่าจ้างขึ้น, ธุรกิจทำกำไร เงินเฟ้อสูง (> 5%): ไม่ดี: ค่าครองชีพสูง, กำลังซื้อลดลง, ดอกเบี้ยขึ้น เงินฝืด (CPI ติดลบ): อันตราย: คนชะลอใช้จ่าย, เศรษฐกิจหดตัว เป้าหมาย BOT: 1-3% | เป้าหมาย Fed: 2%
Q: CPI ไทยดูได้ที่ไหน?
A: กระทรวงพาณิชย์: price.moc.go.th (ข้อมูลรายเดือน) ธปท.: bot.or.th → สถิติเศรษฐกิจ Investing.com: Economic Calendar filter Thailand Trading Economics: tradingeconomics.com/thailand/inflation-cpi ประกาศต้นเดือน — ดูทั้ง Headline CPI YoY% และ Core CPI YoY%
Q: นักลงทุนควรทำอย่างไรเมื่อ CPI ประกาศ?
A: ก่อนประกาศ: ดู forecast เทียบกับ previous ช่วงประกาศ: อย่าเทรดถ้าไม่มีประสบการณ์ (ผันผวนสูง) หลังประกาศ: วิเคราะห์ Actual vs Forecast → ปรับ portfolio ตาม Actual > Forecast (สูงกว่าคาด): เตรียมรับดอกเบี้ยขึ้น Actual < Forecast (ต่ำกว่าคาด): risk assets อาจ rally ดูรายละเอียด: headline vs core, MoM vs YoY, components ที่เปลี่ยนแปลง
