Thursday, September 24, 2026

[OpenCode] ใส่ Model ID ผิด ชีวิตเปลี่ยน! เช็กวิธีหาโค้ดโมเดลที่ถูกต้องใน OpenCode ผ่าน Terminal

การค้นหารหัสโมเดล (Model ID) เพื่อนำไปใช้งานกับเอเจนต์ใน OpenCode สามารถทำได้อย่างรวดเร็วผ่าน OpenCode Terminal / CLI โดยตรง ด้วย 2 ขั้นตอนดังนี้


ขั้นตอนที่ 1: ค้นหาชื่อโมเดลผ่าน Terminal

คุณสามารถพิมพ์คำสั่ง /models ขณะใช้งาน OpenCode TUI หรือรันคำสั่งผ่าน Terminal โดยตรง:

opencode models

ระบบจะแสดงรายชื่อโมเดลทั้งหมดที่พร้อมใช้งาน พร้อมรูปแบบ Provider ID เช่น anthropic/claude-sonnet-4-5, openai/gpt-4o หรือโมเดล Local อย่าง ollama/gemma3:4b

Wednesday, September 23, 2026

[Kubernetes] วิธีบริหารจัดการคอนฟิกฉบับมือโปร: แยก Code และ Configuration บน Kubernetes ด้วย Deployment, ConfigMap และ Secret

หลังจากที่เราเรียนรู้วิธีเปิดใช้งาน Kubernetes บน Docker Desktop ไปแล้ว ในบทเรียนนี้เราจะมาดูวิธีการปรับแต่งและควบคุมแอปพลิเคชันอย่างเป็นระบบด้วย Deployment (YAML) ร่วมกับการจัดการคอนฟิกผ่าน ConfigMap และข้อมูลลับด้วย Secret ผ่านการ Mount Volume แบบไม่ต้องพึ่งพา Environment Variables ครับ


ทำความรู้จัก ConfigMap และ Secret

เพื่อแยกส่วนประกอบของการตั้งค่าออกจากตัว Container Image เราจึงใช้วัตถุ 2 ตัวนี้เข้ามาช่วยบริหารจัดการข้อมูล:

  • ConfigMap: สำหรับเก็บข้อมูลการตั้งค่าทั่วไป เช่น ไฟล์ Config, พอร์ต หรือ URL ระบบ
  • Secret: สำหรับเก็บข้อมูลสำคัญ เช่น Password, API Tokens หรือข้อมูลฐานข้อมูล

[Kubernetes] วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop

สำหรับบทเรียนนี้ เราจะมาเรียนรู้วิธีการเปิดใช้งานและทดลองใช้ Kubernetes (Kube) บน Docker Desktop แบบมือจับทำทีละขั้นตอนครับ เหมาะมากสำหรับผู้เริ่มต้นที่ต้องการสภาพแวดล้อมทดสอบ Local Cluster โดยไม่ต้องติดตั้งเครื่องมือซับซ้อนเพิ่มเติม


ขั้นตอนที่ 1: เปิดใช้งาน Kubernetes ใน Docker Desktop

ปกติแล้ว Docker Desktop จะมาพร้อมกับ Kubernetes ในตัว แต่ถูกปิดไว้อยู่ ให้เปิดใช้งานตามนี้ครับ:

  1. เปิดโปรแกรม Docker Desktop ขึ้นมา
  2. กดที่ไอคอนรูปเฟือง ⚙️ (Settings) บริเวณมุมขวาบน
  3. เลือกแถบเมนู Kubernetes จากรายการด้านซ้าย
  4. ติ๊กถูกที่ช่อง Enable Kubernetes
  5. กดปุ่ม Apply & restart ด้านล่างขวา
  6. รอระบบดาวน์โหลดและเริ่มต้นบริการ (อาจใช้เวลา 3–5 นาที สังเกตไอคอนมุมซ้ายล่างจะเปลี่ยนเป็นสีเขียว)

Monday, September 21, 2026

[ExpressJS] Express.js trust proxy: ตั้งค่าผิดนิดเดียว เสี่ยงโดน IP Spoofing ไม่รู้ตัว

ทำไม Express.js ถึงอ่าน IP ฝั่ง Client ผิดพลาดเมื่ออยู่หลัง Proxy?

เมื่อเรานำ Express.js แอปพลิเคชันไปรันอยู่หลัง Reverse Proxy หรือ Load Balancer (เช่น Nginx, HAProxy, AWS ALB หรือ Cloudflare) Connection ที่วิ่งเข้าหา Node.js โดยตรงจะมาจาก IP ของ Proxy เอง ไม่ใช่ IP ของผู้ใช้งานจริง (Client) ส่งผลให้ค่า req.ip คืนค่าเป็น IP ของ Proxy เสมอ

เพื่อแก้ปัญหานี้ Reverse Proxy จะแนบ HTTP Header เพิ่มเติมเพื่อบอก IP ต้นทาง ได้แก่:

  • X-Forwarded-For: รายการ IP Address ที่ส่งต่อกันมาเป็นทอดๆ (รูปแบบ: client, proxy1, proxy2)
  • X-Forwarded-Proto: โปรโตคอลที่ Client ใช้เชื่อมต่อเข้ามาจริง (http หรือ https)
  • X-Forwarded-Host: Host Header ดั้งเดิมที่ Client เรียกใช้

การตั้งค่า app.set('trust proxy', value) คือการบอกให้ Express ทราบว่าจะยอมรับและนำค่าจาก Header เหล่านี้มาใช้อัปเดต Property เช่น req.ip, req.ips, req.protocol และ req.secure หรือไม่

Tuesday, September 15, 2026

[Playwright] สรุปภาพรวม Playwright (Node.js): เครื่องมือทำ Automated Testing ยุคใหม่ที่เร็วกว่า Selenium

หากคุณกำลังมองหาเครื่องมือสำหรับทำ Automated Testing หรือ Web Scraping ที่รวดเร็วและเสถียรในยุคนี้ Playwright จาก Microsoft คือหนึ่งในตัวเลือกอันดับต้นๆ ที่นักพัฒนาและ QA สาย Node.js ไม่ควรมองข้าม บทความนี้จะสรุปภาพรวม หลักการทำงาน เปรียบเทียบกับ Selenium พร้อมตัวอย่างการใช้งานจริงครับ


1. Playwright คืออะไร และทำงานอย่างไร?

Playwright คือไลบรารี Open-Source จาก Microsoft ที่รองรับการทดสอบบนเบราว์เซอร์หลักครบถ้วน ทั้ง Chromium, Firefox และ WebKit (Safari) โดยมีจุดเด่นและสถาปัตยกรรมสำคัญดังนี้:

  • Direct Protocol Connection: สื่อสารกับเบราว์เซอร์ผ่าน WebSocket / Browser Debugging Protocol โดยตรง ทำให้การสั่งงานรวดเร็วและมีความเสถียรกว่าเครื่องมือรุ่นเก่า
  • Auto-Waiting: มีระบบรอให้ Element พร้อมใช้งานจริง (Visible, Enabled, Stable) ก่อนส่งคำสั่งโดยอัตโนมัติ ช่วยลดปัญหา Flaky Tests หรือการทดสอบล้มเหลวแบบสุ่ม
  • Browser Context Isolation: สามารถแยกสภาวะการทำงาน (Context) ของเบราว์เซอร์ออกจากกันได้เหมือนการเปิด Incognito Mode ทำให้ทดสอบหลายเคสพร้อมกันแบบ Parallel ได้รวดเร็วโดยไม่ดึงทรัพยากรเครื่อง

Sunday, September 13, 2026

[OpenCode] opencode/big-pickle คือโมเดลอะไร? ความลับของ Stealth Model ที่ Dev ต้องรู้!

ช่วงนี้ผู้ใช้งาน OpenCode หลายคนอาจเริ่มสังเกตเห็นชื่อโมเดลแปลกๆ อย่าง opencode/big-pickle โผล่เข้ามาในระบบ บทความนี้จะสรุปให้ฟังว่าโมเดลนี้คืออะไร ทำไมถึงใช้ชื่อนี้ สิ่งที่มือใหม่ต้องระวัง และควรเลือกใช้โมเดลไหนแทนหากชื่อนี้หายไปครับ


1. opencode/big-pickle คืออะไร?

opencode/big-pickle เป็น Alias หรือชื่อเรียกชั่วคราวของโมเดล AI สายเขียนโค้ดและประมวลผลเชิงลึก (Coding & Reasoning Model) บนบริการ OpenCode (OpenCode Zen)

  • จุดเด่น: เน้นการวิเคราะห์ แก้โจทย์ซับซ้อนหลายขั้นตอน และรองรับการทำงานร่วมกับ Tool/Agent ในการเขียนโปรแกรม
  • สเปก: รองรับ Context Window สูงสุด 200,000 Tokens และจ่าย Output ได้สูงสุด 32,000 Tokens
  • สถานะ: เปิดให้ทดลองใช้งานฟรีผ่าน API และบริการ Zen

[OpenCode] คู่มือตั้งค่า MCP Server ใน OpenCode ฉบับเข้าใจง่าย

สำหรับสาย Developer ที่เริ่มย้ายมาใช้ OpenCode (AI Coding Assistant ตัวแรง) แล้วอยากเพิ่มเครื่องมือเสริมผ่าน MCP (Model Context Protocol) อาจจะเคยเจอการสั่งงานล้มเหลวเพราะ Copy ค่า Config มาจากตัวอื่น เช่น Claude Code หรือ Cursor ตรงๆ ไม่ได้

สาเหตุเพราะ OpenCode มีรูปแบบการตั้งค่า MCP เฉพาะตัวที่ต่างจากเจ้าอื่น วันนี้เราจะพามาดูจุดแตกต่าง พร้อมโครงสร้างแบบครบๆ ทั้ง Local และ Remote ครับ!


ความแตกต่าง: Standard Format vs OpenCode Format

บอทและ CLI ส่วนใหญ่ (เช่น Claude Code, Cursor) จะใช้ key คำว่า mcpServers และแยกคำสั่งหลักกับ Parameter ออกจากกันใน args:

แบบ Standard (ที่ใช้ใน Cursor / Claude Code):

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

แบบ OpenCode (Local MCP Server):

ใน OpenCode จะเปลี่ยน Key หลักเป็น mcp รวมเอาทั้ง command กับ args มาไว้ใน Array เดียวกัน และต้องระบุประเภทเป็น "type": "local":

{
  "mcp": {
    "playwright": {
      "type": "local",
      "command": ["npx", "-y", "@playwright/mcp@latest"],
      "enabled": true
    }
  }
}

Friday, September 11, 2026

[OpenCode] คู่มือตั้งค่า OpenCode: ความแตกต่างระหว่าง Project Config และ Global Config

การจัดโครงสร้างระบบสำหรับ OpenCode ถือเป็นหัวใจสำคัญที่ช่วยให้ AI Agent ทำงานร่วมกันได้อย่างเป็นระบบ ชัดเจน และยืดหยุ่นสูง บทความนี้สรุปโครงสร้างไฟล์ทั้งหมด ทั้งระดับ Global, Project การตั้งค่า MCP รวมถึงเปรียบเทียบการสร้าง Subagent ด้วยไฟล์ Markdown และ JSON

[AI] รวมไฟล์ตั้งค่า AI Agent ควรรู้จัก: วิธีคุมกฎ เพิ่มความจำ และสร้าง Workflow ใน Repo

ในการพัฒนาซอฟต์แวร์ร่วมกับ AI Agent ยุคใหม่ สิ่งสำคัญที่จะช่วยให้ AI เข้าใจโครงสร้างโปรเจกต์ กติกาการเขียนโค้ด และขอบเขตการทำงานได้ตรงใจ คือไฟล์กำหนดบริบท (Context Files) ที่ถูกวางไว้ใน Repository บทความนี้ได้รวบรวมไฟล์สำคัญที่คุณควรรู้จักเพื่อปรับแต่ง AI Agent ให้ทำงานได้อย่างมีประสิทธิภาพสูงสุด


1. AGENTS.md (มาตรฐานกลางสำหรับ AI Agents)

ไฟล์มาตรฐานที่กำลังได้รับความนิยมอย่างมากในสายพัฒนา Multi-Agent สรุปกติกาการทำงานของ Agent ทุกตัวในโปรเจกต์

  • หน้าที่หลัก: กำหนดโครงสร้างโปรเจกต์ (Project Overview), ข้อตกลงการเขียนโค้ด (Coding Standards), ขั้นตอนการรัน Test/Build และบทบาทของ Subagents แต่ละตัว
  • จุดเด่น: ถูกออกแบบให้เป็นคู่มือกลางเพื่อให้ AI Agent ไม่ว่าจะเป็นตัวหลักหรือตัวย่อย อ่านเข้าบริบทของโปรเจกต์ได้ทันทีโดยไม่ต้องถามซ้ำ

[OpenCode] สร้างทีม AI ส่วนตัวด้วย OpenCode Multi-Agent: เขียนโค้ด ไวขึ้น ปลอดภัย และประหยัด Token

ในการพัฒนาระบบซอฟต์แวร์ยุคใหม่ การพึ่งพา AI โมเดลเดียว (Single-Agent) ให้เขียนโค้ด ตรวจ bugs วางโครงสร้าง และทำ Test cases ทั้งหมดพร้อมกัน มักนำไปสู่ปัญหา Context Overload และความผิดพลาดที่สูงขึ้น OpenCode จึงออกแบบสถาปัตยกรรม Multi-Agent Systems ขึ้นมาเพื่อแก้ไขปัญหานี้โดยเฉพาะ


ทำไมต้อง Multi-Agent ใน OpenCode? (WHY)

การกระจายงานให้ AI หลายตัวที่มีหน้าที่เฉพาะทาง มีข้อดีเหนือกว่าการใช้ AI ตัวเดียวดังนี้:

  • ลด Context Drift & Token Pollution: เอเจนต์ย่อยรับฟังเฉพาะคำสั่งที่เกี่ยวข้อง ทำให้ Context Window ไม่แออัดจนหลงลืมข้อกำหนดหลัก
  • ประหยัดต้นทุน (Cost Efficiency): ให้ Primary Agent ตัวหลักวางแผน แล้วส่งงานย่อยให้โมเดลราคาถูก/ความเร็วสูง ทำแทน
  • แยกความรับผิดชอบชัดเจน (Separation of Concerns): เอเจนต์สำหรับเขียนโค้ดจะไม่ยุ่งกับการแก้โครงสร้างไฟล์ ขณะที่เอเจนต์ตรวจทาน (Reviewer) จะได้รับสิทธิ์แบบ Read-only เพื่อความปลอดภัย

Thursday, September 10, 2026

[Ollama] รัน Local LLM บนเครื่องตัวเองง่ายๆ ด้วย Ollama: ปลอดภัย ไม่เสียค่า API

หากคุณกำลังมองหาวิธีการรัน Local LLM (Large Language Model) บนเครื่องตัวเองเพื่อความเป็นส่วนตัว ไม่ต้องพึ่งพาสายแลน และประหยัดค่า API Ollama คือเครื่องมือยอดนิยมอันดับต้นๆ ในปัจจุบันที่ช่วยให้การติดตั้งและใช้งาน LLM กลายเป็นเรื่องง่ายเพียงไม่กี่คลิก


ทำไมต้องรัน LLM บนเครื่องตัวเองด้วย Ollama?

การใช้งาน Ollama มีจุดเด่นหลักๆ ที่ตอบโจทย์ทั้ง Developer และผู้ใช้งานทั่วไป ดังนี้:

  • Data Privacy & Security: ข้อมูลทั้งหมดถูกประมวลผลภายในเครื่อง ไม่ถูกส่งออกไปยัง Server ข้างนอก ปลอดภัยสำหรับข้อมูลสำคัญ
  • ใช้งานง่าย (Docker-like CLI): สั่งดาวน์โหลดและรันโมเดลผ่าน Terminal ได้ง่ายๆ ด้วยคำสั่งไม่กี่บรรทัด
  • รองรับ Ecosystem หลากหลาย: มี REST API ในตัว สามารถเชื่อมต่อกับ UI ตัวอื่น เช่น Open WebUI หรือต่อกับเอเจนต์อย่าง LangChain, AutoGen และ OpenCode ได้ทันที
  • ประหยัดทรัพยากร: มีระบบ Quantization ช่วยบีบอัดขนาดโมเดล ทำให้รันบน GPU หรือ Apple Silicon (M-Series) ได้อย่างลื่นไหล

Tuesday, September 8, 2026

[OpenCode] รู้จัก OpenCode Zen: ลองใช้ AI Coding Agent ฟรี ไม่ต้องสมัคร ไม่ต้องง้อ API Key

สำหรับ Developer ที่อยากเริ่มใช้งาน AI Coding Agent แต่ไม่อยากเสียเวลาตั้งค่า Local LLMs ให้กินสเปกเครื่อง หรือไม่อยากวุ่นวายกับการสมัคร API Key และผูกบัตรเครดิต ทาง OpenCode มีอีกหนึ่งฟีเจอร์เด็ดที่เรียกว่า OpenCode Zen มาให้ใช้งานกันครับ

วันนี้เราจะมาเจาะลึกกันว่า OpenCode Zen คืออะไร มี Free Models เวอร์ชันไหนให้เลือกใช้บ้าง และมีข้อดี-ข้อจำกัดอะไรที่สาย Dev ต้องรู้ก่อนนำไปใช้งานจริงครับ!

[OpenCode] คู่มือใช้ OpenCode ร่วมกับ Ollama: ปลดล็อก AI Coding Agent สาย Local ปลอดภัย 100% ไม่พึ่ง Cloud

หลังจากที่บทความก่อนหน้านี้เราได้วิเคราะห์ประเด็นเรื่อง Privacy ของ OpenCode (opencode.ai) และได้แนะนำวิธีติดตั้งตัวโปรแกรมไปแล้วว่า หากใช้ Cloud LLMs ข้อมูลโค้ดของเราก็ยังถูกส่งออกไปหา Third-party API อยู่ดี

ทางออกเดียวที่จะทำให้การใช้ OpenCode ปลดล็อกความปลอดภัยแบบ 100% Offline & Private คือการรันโมเดลประมวลผลบนเครื่องตัวเอง และเครื่องมือที่ตอบโจทย์และนิยมที่สุดในขณะนี้คือ Ollama วันนี้เราจะมาดูขั้นตอนการตั้งค่าให้ OpenCode เรียกใช้ Local LLMs ผ่าน Ollama แบบจับมือทำกันครับ!

[OpenCode] ทำความรู้จัก OpenCode (opencode.ai): AI Coding Agent สาย Open Source ที่ Dev ทุกคนควรลอง (พร้อมเจาะลึกเรื่อง Privacy)

ในยุคที่ AI Coding Tools กลายเป็นอวัยวะที่ 33 ของนักพัฒนา ไม่ว่าจะเป็น Cursor, GitHub Copilot หรือ Windsurf แต่ปัญหาที่สาย Dev มักจะเจอกันบ่อยๆ คือเรื่องของค่าบริการรายเดือนแบบ Subscription และข้อจำกัดในการเลือกใช้ AI Model รวมถึงความกังวลเรื่องความเป็นส่วนตัวของซอร์สโค้ดในองค์กร

วันนี้เราจะพาทุกคนมาทำความรู้จักกับ OpenCode (opencode.ai) อีกหนึ่งทางเลือกสาย Open Source ที่กำลังได้รับความสนใจอย่างมากในชุมชน Developer พร้อมวิเคราะห์เจาะลึกว่าคำเคลมเรื่อง Privacy ของเครื่องมือนี้ สรุปแล้วปลอดภัยจริงอย่างที่พูดหรือไม่!

Monday, September 7, 2026

[OpenCode] OpenCode สามารถรัน Web Interface ได้ แต่ไม่ควร!!!

หลายวันก่อนคุยกับเด็กๆ เด็กบอกว่า Codex สั่งจากมือถือไปรันในคอมได้ ด้วยความสงสัยว่า OpenCode มันทำแบบนั้นได้มั้ยนะ และนี่คือ คำตอบ!!! ทำได้ แต่ไม่ควร ขั้นตอนมีดังนี้

  1. เริ่มจากตั้งค่า OPENCODE_SERVER_PASSWORD ให้มันเรียกได้จาก Teerminal อาจจะลองไปตั้งค่าใน System Environment ก่อนก็ได้
  2. รันคำสั่งตามคำสั่งด้านล่างนี้ได้เลย
    opencode web --port 3000 --hostname 0.0.0.0
  3. หลังจากรัน มันจะเปิดหน้าเว็บให้อัตโนมัติ พร้อมให้กรอก username: opencode และ password ตามที่เราตั้งไว้ใน OPENCODE_SERVER_PASSWORD
  4. หลังจากนั้นเราก็เพิ่มโปรเจคของเราลงไป แล้วสั่งงานผ่าน chat ได้เลย
ข้อควรระวัง Project ที่สามารถกดเพิ่มได้ คือ ทุก path ที่เราเข้าถึงได้ เช่น C:/Windows เป็นต้น ซึ่งค่อนข้างอันตรายมาก เพราะฉะนั้นไม่ควร public ออก internet เด็ดขาด ถึงแม้คิดว่า ตั้ง password ได้ปลอดภัยแล้ว

หมายเหตุ หลังจากที่ลองใช้งานแบบ Local การสั่งงานผ่าน Web Interface จะทำงานช้ากว่าแบบ CLI ค่อนข้างมาก เพราะฉะนั้นกลับใช้แบบ CLI ดีกว่า 

Thursday, September 3, 2026

[Fund] ทำไม Yahoo! Finance ถึงใช้ดูกราฟหุ้น/กองทุนได้ดีกว่า Trading View

 ก่อนอื่นเราให้ชมหน้าจอของเครื่องมือทั้ง 2 ตัวก่อน ซึ่งเราจะเห็นองค์ประกอบของหน้าจอเหมือนกัน คือ

Trading View
Yahoo! finance

  • ส่วนตรงกลางข้างบน - แสดงกราฟ
  • ส่วนข้างซ้าย - แสดง drawing tools (Yahoo! Finance สามารถ toggle เปิดได้เหมือนกัน)
  • ส่วนตรงกลางข้างใต้ - แสดง indicator ต่างๆที่เราใช้งาน
  • ส่วนข้างขวา - แสดงรายการ Watchlist ของหุ้นหรือกองทุนที่เราสนใจ

Tuesday, August 18, 2026

[Fund] วิธีการดูแนวโน้ม Nav ล่วงหน้าของกองทุนไทยที่มี Feeder fund เป็นกองทุนต่างประเทศ

เนื่องจากกองทุนไทยที่มี Feeder fund เป็นกองทุนต่างประเทศจะมีการอัพเดตราคา Nav ที่ค่อนข้างช้า (2-5 วันทำการ) ทำให้ผู้ลงทุนไม่สามารถตั้งรับได้ทันหรือสูญเสียโอกาสในการลงทุน โดยเฉพาะกองทุนที่มีความเสี่ยงสูง

หมายเหตุ กองทุนที่มีความเสี่ยงสูง อาจจะมีการเปลี่ยนแปลงมากกว่า 3% ต่อวัน ดังนั้นกว่า Nav จะอัพเดต กองทุนนี้อาจจะขาดทุนไปถึง 15% แล้ว โดยที่เราไม่รู้ตัวเลย

ก่อนอื่นต้องทำความเข้าใจก่อนว่า เวลาเราส่งคำสั่งซื้อขายกองทุนไทย เราจะได้ราคา Nav ที่คำนวณจากราคาปิดของกองทุน Feeder fund ณ วันนั้น เช่น 

  • ถ้าเราซื้อกองทุน K-USXNDQ-A ซึ่งมี Feeder fund เป็น Invesco NASDAQ 100 ETF ในตลาดสหรัฐ เราจะซื้อได้ในราคา Nav ที่คำนวณจากราคาปิดของ Feeder fund นี้หลังตลาดสหรัฐปิดทำการตอนตีสาม หรือ ตีสามครึ่งของวันรุ่งขึ้นตามเวลาประเทศไทย
  • ถ้าเราขายกองทุน LHASIASEMICON ซึ่งมี Feeder fund เป็น GLOBAL X ASIA SEMICONDUCTOR ETF ในตลาดฮ่องกง เราจะขายได้ในราคา Nav ที่คำนวณจากราคาปิดของ Feeder fund นี้หลังตลาดฮ่องกงปิดทำการ ตอนบ่ายสามโมงของวันนั้นตามเวลาประเทศไทย

ซึ่งหลังจากตลาดหลักทรัพย์ต่างประเทศปิดทำการ ราคา Nav ของกองทุนไทยจะยังไม่ถูกคำนวณตามราคาปิดของ Feeder fund โดยทันที (อาจจะต้องรอประมวลผลอะไรบางอย่าง เช่น อัตราแลกเปลี่ยน ค่าธรรมเนียม เป็นต้น)

Monday, August 17, 2026

[Fund] การหา Ticker/Symbol ของ Feeder Fund เพื่อใช้ดึงราคาจาก Yahoo finance

  1. เข้าไปที่หนังสือชี้ชวนของกองทุนที่เราต้องการ
  2. หาส่วนที่เป็น ISIN code ซึ่งปกติจะอยู่ในส่วนของ  การลงทุนในกองทุนอื่น เกินกว่า 20%
  3. นำ ISIN code ไปค้นหาใน https://finance.yahoo.com/
  4. คัดลอก Symbol/Ticker ที่แสดงใน URL หรือในวงเล็บหลังชื่อกอง ตามกล่องสีแดงในรูปด้านล่างไปใช้งาน

[Fund] สาเหตุที่ควรใช้ Yahoo Finance มากกว่า Massive สำหรับดึงราคากองทุนหรือหุ้น

เริ่มต้นจากเราต้องการหา API ที่ใช้ดึงราคากองทุนหรือหุ้นแบบ End-of-day เพื่อแจ้งเตือนราคาที่เปลี่ยนของแต่ละวัน เลยถาม Gemini ซึ่งมันก็แนะนำมา 2 ตัว คือ Massive กับ Yahoo finance แต่มันแนะนำฝั่ง Massive มากกว่าด้วยเหตุผลต่างๆ แต่พอลองเอาใช้แล้วติดข้อจำกัดเยอะมาก 

Massive API (Basic Plan)

ข้อดี

  • เป็น Restful API ที่ทำการ authentication ด้วย API key

ข้อเสีย

  • จำกัดข้อมูลเฉพาะตลาดในสหรัฐ 
  • ไม่ได้รองรับทุกตลาดในสหรัฐ
  • ต้องทดสอบ ticker ผ่าน API call เพราะไม่มีหน้าเว็บให้ลอง 
  • Rate limit ต่ำมาก (5 calls/min)

Yahoo finance

ข้อดี

  • มี Unofficial library ให้ใช้งาน เช่น yahoo-finance2
  • รองรับตลาดทั่วโลก 
  • มีหน้าเว็บในการค้นหากองทุนหรือหุ้น ทำให้ตรวจสอบ ticker ได้ง่าย
  • สามารถนำ ISIN code จากหนังสือชี้ชวนการลงทุนมาใช้ค้นหากองทุนได้โดยตรง
  • Rate limit สูงกว่า massive มาก (ยังไม่เคยติด limit)

ข้อเสีย 

  • ไม่ได้เป็น Restful API

หมายเหตุ สำหรับกองทุนบางกองที่ไม่สามารถดูผ่าน Trading view ได้ อาจจะสามารถดูผ่าน Yahoo finance ได้