ทดสอบ LLM อ่านกราฟ XAUUSD 65 เคส

สัปดาห์ที่แล้วผมให้ทีมลองให้ LLM วิเคราะห์กราฟ XAUUSD แบบตรงไปตรงมา ส่งภาพกราฟ 1 ชั่วโมงให้ดูแล้วถามว่าราคาจะขึ้นหรือลง ผลออกมาคือตอบถูก 38 จาก 65 เคส หรือ 58% ฟังดูพอใช้ได้ แต่ถ้าเทียบกับ baseline ที่สุ่มตอบขึ้น-ลง 50/50 โดยไม่ดูกราฟเลย LLM ดีกว่าแค่ 8% เท่านั้น ตัวเลข 8% นี้น้อยกว่าค่าความคลาดเคลื่อนทางสถิติที่เรารับได้ แสดงว่า LLM ยังอ่านกราฟได้ไม่ดีเท่าที่คิด

LLM มองกราฟเป็นภาพ ไม่ใช่ข้อมูล

ปัญหาอยู่ที่ LLM มองกราฟเป็น "ภาพ" ไม่ใช่ "ข้อมูล" มันเห็นเส้นสีเขียวแดง แต่ไม่เข้าใจว่า volume อยู่ที่ระดับใด หรือ spread เปิดกว้างแค่ไหน เราทดลองเพิ่มข้อมูลตัวเลข RSI(14) และ MACD(12,26,9) ลงใน prompt ผลลัพธ์ดีขึ้นเป็น 63% ซึ่งยังต่ำกว่าโมเดล technical analysis แบบ rule-based ที่ทำได้ 71%

ข้อค้นพบนี้สำคัญเพราะบอกเราว่า LLM ไม่ได้ "เข้าใจ" ตลาด แต่กำลัง pattern-match จากข้อมูลที่ถูก train มา ถ้าข้อมูล train มีภาพกราฟ financial น้อย ผลลัพธ์ก็จะอ่อนตาม

ทดสอบ 65 เคสบนเครื่องเรา

ชุดข้อมูลที่เราใช้คือ XAUUSD price action ช่วง 2024-2026 แบ่งเป็น 65 window ขนาด 1 ชั่วโมง แต่ละ window มีกราฟ candlestick 60 แท่ง เราส่งภาพกราฟพร้อมคำถาม "ราคาจะปิดเหนือหรือต่ำกว่าแท่งปัจจุบัน?" ให้ Llama 3.1 8B ที่รันบน GPU 16GB VRAM ผ่าน Ollama API ที่พอร์ต 8188 บนเครื่องหลักของเรา

เวลาประมวลผลเฉลี่ยอยู่ที่ 4.2 วินาทีต่อเคส ใช้ VRAM ประมาณ 12.3GB เหลือ buffer 3.7GB สำหรับ context เพิ่มเติม ความแม่นยำโดยรวม 58% แต่เมื่อแยกดูตามสภาพตลาด พบว่า LLM ทำได้ดีกว่าใน trending market (64%) และแย่ลงมากใน ranging market (51%)

LLM อ่านกราฟได้จริงหรือแค่เดาจากสี

เพื่อทดสอบว่า LLM จริงๆ แล้วอ่านกราฟหรือแค่เดา เราทดลองส่งภาพกราฟที่กลับสี (invert color) ให้ LLM วิเคราะห์ ผลลัพธ์น่าตกใจคือความแม่นยำลดลงเหลือ 49% ซึ่งต่ำกว่า random baseline แสดงว่า LLM กำลังใช้ "สีเขียว=ขึ้น สีแดง=ลง" เป็น heuristic หลัก

เมื่อเราเพิ่มคำอธิบายใน prompt ว่า "เส้นสีเขียวคือแท่งปิดสูงกว่าเปิด เส้นสีแดงคือแท่งปิดต่ำกว่าเปิด" แม้ภาพจะกลับสี ความแม่นยำก็กลับมาที่ 57% ซึ่งใกล้เคียงกับกรณีปกติ ผลนี้ยืนยันว่า LLM ไม่ได้เข้าใจโครงสร้างกราฟอย่างแท้จริง แต่กำลัง pattern-match จากสีและรูปร่างที่เห็น

เสริมข้อมูล RSI+MACD เข้า prompt

หลังจากพบว่า LLM อ่านกราฟได้จำกัด เราทดลองเปลี่ยน strategy โดยส่งข้อมูลตัวเลขแทนภาพ เราใช้ Python script ดึง price data จาก port 8188 บนเครื่องหลักของเรา คำนวณ RSI(14) และ MACD(12,26,9) แล้ว format เป็น text prompt

ตัวอย่าง prompt ที่ใช้คือ "XAUUSD 1H: close=3245.60, RSI14=62.3, MACD=+1.2, signal=+0.8, histogram=+0.4. Previous 5 closes: 3243.10, 3244.50, 3245.20, 3244.80, 3245.60. Will next close be higher or lower?"

ผลลัพธ์คือความแม่นยำเพิ่มจาก 58% เป็น 63% ซึ่งดีขึ้น 5% แต่ยังไม่ถึงระดับที่น่าเชื่อถือสำหรับการเทรดจริง เวลาประมวลผลลดลงเหลือ 2.1 วินาทีต่อเคส เพราะไม่ต้อง encode ภาพ ข้อค้นพบคือ LLM ทำหน้าที่ "synthesizer" ได้ดีกว่า "vision model" เมื่อมี structured data ให้ทำงานด้วย

บทเรียนจากความล้มเหลวที่เสียเวลา 3 วัน

สัปดาห์แรกของการทดสอบ เราพยายาม fine-tune Llama 3.1 8B ด้วยข้อมูล XAUUSD 10,000 แท่ง ใช้เวลา train 18 ชั่วโมงบน GPU 16GB VRAM ผลลัพธ์ที่ได้คือความแม่นยำเพิ่มขึ้นแค่ 1% จาก 58% เป็น 59% ซึ่งไม่คุ้มกับทรัพยากรที่ใช้

ปัญหาหลักคือข้อมูล 10,000 แท่งน้อยเกินไปสำหรับ fine-tune transformer 8B parameters เราควรใช้ข้อมูลอย่างน้อย 100,000 แท่งหรือใช้ LoRA adapter แทน ซึ่งเราไม่ได้ทำเพราะเข้าใจผิดว่าข้อมูลคุณภาพสูงจำนวนน้อยจะเพียงพอ

บทเรียนที่ได้คืออย่า fine-tune LLM ขนาดใหญ่สำหรับ task เฉพาะทางถ้าข้อมูลมีน้อยกว่า 50,000 ตัวอย่าง ให้ใช้ RAG หรือ prompt engineering แทน ซึ่งใช้เวลาน้อยกว่าและได้ผลลัพธ์ใกล้เคียงกัน เราเสียเวลา 3 วันเต็มกับการทดลองที่ไม่ควรทำ

แล้วเราควรใช้ LLM วิเคราะห์ XAUUSD หรือไม่

คำตอบคือ "ได้ แต่ไม่ใช่ในฐานะ primary signal" LLM เหมาะที่จะเป็น secondary tool สำหรับ synthesizing multiple data sources เช่น อ่าน news sentiment, summarize technical indicators, และ generate trade rationale แต่ไม่ควรใช้ LLM เป็น sole decision maker สำหรับ entry/exit

เราแนะนำให้ใช้ architecture แบบ hybrid: rule-based system คำนวณ signal หลัก (เช่น MACD crossover, RSI divergence) แล้วใช้ LLM เป็น "analyst layer" ที่อธิบายเหตุผลและประเมิน risk จาก context เพิ่มเติม เช่น news events, correlation กับ DXY, หรือ volatility regime

สำหรับ XAUUSD โดยเฉพาะ LLM ทำได้ดีในการวิเคราะห์ safe-haven flows และ geopolitical risk ซึ่ง technical indicators จับไม่ได้ แต่สำหรับ pure price action LLM ยังแพ้โมเดลเฉพาะทางอย่างชัดเจน

การทดสอบครั้งนี้ทำให้ผมเห็นว่า local AI มีขีดจำกัดที่ชัดเจน และเราต้องเข้าใจขีดจำกัดนั้นก่อนจะนำไปใช้จริง ความแม่นยำ 63% อาจฟังดูดี แต่ถ้าเทียบกับโมเดลเฉพาะทางแล้วมันยังห่างไกลมาก เราต้องยอมรับว่า AI ไม่ใช่ magic bullet ที่แก้ปัญหาทุกอย่างได้ แต่เป็นเครื่องมือที่ต้องใช้ให้ถูกที่