มือใหม่หัดสร้าง Signal Trading Strategy
บันทึกการทดลองสร้าง Trading Strategy
มือใหม่หัดสร้าง Signal Trading Strategy
บันทึกการทดลองสร้าง Trading Strategy

📌 Connect with me and follow our journey: Linkedin, Facebook
หนึ่งใน 2025 New Year Resolution ที่ผมตั้งไว้ในปีนี้ มี 3 เรื่องหลัก:
- หาแหล่งรายได้ใหม่จากช่องทางอื่น
- ทำ Data Project ให้ได้ 2–3 โปรเจกต์
- อยากลองทำอะไรที่สามารถต่อยอดไปเป็น Solopreneur (ผู้ประกอบการเดี่ยวที่ใช้เครื่องมือและเทคโนโลยีช่วยสร้างรายได้) หวังว่าผมจะออกมาดี ^__^
ไอเดียที่ตอบโจทย์ทั้งสามข้อได้ในคราวเดียว ก็คือ “Signal Trading” หรือการสร้างระบบวิเคราะห์หุ้นเพื่อหาจังหวะซื้อขายแบบอัตโนมัติ โดยใช้ข้อมูลในอดีตและเทคนิคทางสถิติ ดังนั้นบทความนี้จะเป็นการบันทึกแนวคิดที่ผมทำนะครับ ^__^
💬 ก่อนอื่น ขอออกตัวก่อน… ผมไม่ได้เป็นนักวิเคราะห์มืออาชีพ และยังใหม่มากกับการทำ Signal Trading
Blog นี้เลยอยากแชร์แนวคิด วิธีคิด และกลยุทธ์ที่ผมใช้ เผื่อใครสนใจสามารถนำไปต่อยอดหรือปรับใช้ได้ครับ
1️⃣ Config Setup — ตั้งค่าพื้นฐานก่อนเริ่ม
- START_DATE: ผมกำหนดเป็น 1 มกราคม 2017 เพื่อให้ครอบคลุมช่วงเหตุการณ์สำคัญอย่าง COVID-19
- Asset: เลือก “หุ้นไทย” เป็นหลัก และเริ่มจากหุ้นพื้นฐานดีที่มีสภาพคล่องเหมาะแก่การทดลอง

Figure: ตัวอย่างข้อมูลที่ดึงออกมา
💡 Tips:
- ผมใช้
yfinanceดึงข้อมูลหุ้นต่างประเทศ (หรือแหล่งข้อมูลอื่นสำหรับหุ้นไทย) ถ้าดึงหลายตัวพร้อมกัน ระวังเรื่อง Rate Limit แนะนำให้ batch โหลด + ใส่ delay - ผมสังเกตว่า ราคาที่ดึงมาบางครั้งมีทศนิยมเยอะเกินปกติ อาจเกี่ยวกับอัตราแลกเปลี่ยนหรือค่าความละเอียดของ API ดังนั้นผมแนะนำให้ปรับให้เหลือ 2 ตำแหน่งเพื่อให้ผลลัพธ์คงที่
2️⃣ Visualization — เข้าใจตลาดก่อนออกสัญญาณ
ก่อนที่จะเริ่มสร้างกลยุทธ์ ผมให้ความสำคัญกับการทำความเข้าใจข้อมูลผ่านการสร้าง Visualization ก่อนเสมอครับ การมองเห็นภาพรวมของข้อมูลจะช่วยให้เราเข้าใจโครงสร้างของตลาด และเห็นรูปแบบ (Pattern) ที่ซ่อนอยู่
ตลาดหุ้นไทยอยู่ในสภาวะ “Sideway” มาหลายปี ดังนั้นหุ้นหลายๆตัว มีราคาที่ไม่ต่างไปจากเดิมมากนัก Y__Y

Figure: ตัวอย่างราคาหุ้น TU
3️⃣ Signal Strategies ที่ผมลองใช้
ผมเชื่อว่า “ไม่มีกลยุทธ์เดียวที่ใช้ได้กับทุกหุ้น” เลยทดลองหลายสิบแบบ (เอาจริงๆผมทำไปเกือบ 100 อัน ^__^) แล้วดูว่าแบบไหนเหมาะกับหุ้นแบบไหน
💡 Tips:
- Popular Strategy มักให้ผลไม่ดี ผมเข้าใจว่าอะไรที่คนใช้เยอะๆ มันก็จะได้ผลไม่ดีนะ เพราะเจ้ามือหรือผู้ที่เข้าใจระบบนี้ ก็จะผลิกแผลงและเอาชนะมันได้
- ถ้าใครมี indicator ดีๆ ก็อย่าลืมมาบอกกันนะครับ
4️⃣ Run Strategy — สร้าง Simulation และวัดผล Backtest
เมื่อวางกลยุทธ์เสร็จแล้ว ผมเริ่มทำ Backtest Simulation โดยตั้งต้นด้วยเงินทุนจำลองที่ 100,000 บาท เพื่อความง่ายในการคำนวณ (คิดเป็น % ก็แค่หาร 1,000)
สิ่งที่ผมเก็บจากแต่ละรอบการซื้อขาย ได้แก่:
- สัญญาณ
Signal (Buy/Sell) - เงินสดคงเหลือ
Cash - ปริมาณหุ้นที่ถือ
Stock Volume - เปอร์เซ็นต์กำไร/ขาดทุน
%Win_Loss - ผลกำไรสุทธิ
Win/Loss - จำนวนรอบแนวโน้ม
Trend_Number
5️⃣ วัดผลกลยุทธ์ด้วย Performance Metrics
เพื่อประเมินว่ากลยุทธ์ไหนดีหรือไม่ดี ผมใช้ชุดตัวชี้วัด (Metrics) ทั้งหมด 4 กลุ่ม ดังนี้:
📈 1. ผลตอบแทน (Return)
Final_Equity: มูลค่าท้ายสุดหลังจากเทรด%Return: เปอร์เซ็นต์กำไร-ขาดทุนAlpha vs Buy & Hold: ผลต่างเมื่อเทียบกับการถือยาวCAGR: อัตราผลตอบแทนทบต้นต่อปี
📉 2. ความเสี่ยง (Risk)
Max Drawdown: การขาดทุนสูงสุดในช่วงหนึ่งVolatility: ความผันผวนของพอร์ตSharpe / Sortino / Calmar Ratio: อัตราส่วนผลตอบแทนเทียบความเสี่ยง
🎯 3. คุณภาพของกลยุทธ์ (Quality)
%Win: อัตราการเทรดที่จบด้วยกำไรWin/Loss Ratio: เปรียบเทียบขนาดของ Win กับ LossProfit Factor: ผลรวมกำไร / ผลรวมขาดทุนMax Consecutive Loss: จำนวนครั้งขาดทุนติดกันสูงสุด
📆 4. การนำไปใช้จริง (Practicality)
Trend Frequency: จำนวนรอบเทรนด์ที่เกิดDay/Trend: ความยาวเฉลี่ยของแต่ละเทรนด์

Figure: ตัวอย่างการวัดผล
6️⃣ ผลลัพธ์และสิ่งที่เรียนรู้
หลังจากลอง Backtest กลยุทธ์ต่างๆ และวัดผลด้วย Performance Metrics ทำให้ผมได้ข้อสรุปว่า:
- หุ้นแต่ละตัวมีลักษณะเฉพาะ → กลยุทธ์ที่ได้ผลกับตัวหนึ่ง อาจใช้ไม่ได้กับอีกตัวหนึ่ง
- การเลือกกลยุทธ์ที่ “เหมาะ” กับหุ้นนั้นๆ ช่วยเพิ่มโอกาสทำกำไร และลดความเสี่ยงได้อย่างมาก
ข้อสังเกต:
- Data Leakage: การเอาข้อมูลในอนาคตมาใช้ระหว่าง simulation ในที่นี้รวมถึงการสร้าง signal ย้อนหลังจากวันที่ Run จริง ซึ่งเป็นข้อผิดพลาดที่ต้องระวังในการสร้าง Signal Trading Strategy
- Action ต้องเกิดหลัง Signal เสมอ: ในกรณีของผม ผมใช้การ Run Signal เมื่อจบวัน ดังนั้นเราจะรู้ Signal ซื้อ/ขาย ตอนจบวัน ผมจึง Action Buy/Sell โดยอาศัยราคาเปิดของวันรุ่งขึ้น
- สัญญาณหลอก (False Signal): “สัญญาณหลอก” เป็นปัญหาที่พบบ่อยในการสร้าง Signal Trading Strategy ซึ่งทำให้ผลตอบแทนไม่ดี โดยเฉพาะในกรณี “ซื้อวันนี้ ขายพรุ่งนี้ ขาดทุน”
Idea การแก้ไข False Signal :
- ใช้หลายอินดิเคเตอร์ร่วมกัน:
- RSI Signal + MACD Signal
- ใช้ Candlestick Pattern หรือ Trend Detection ประกอบ - ตั้ง Holding Period ขั้นต่ำ (เช่น ต้องถืออย่างน้อย 3 วันก่อนขาย)
- ปรับ Threshold เช่น RSI จาก <30 เป็น <20 เพื่อกรองสัญญาณหลอก
7️⃣ ทดลองสร้าง Composite Strategies
เพื่อแก้ปัญหา False Signal ผมเริ่มพัฒนา Composite Signal โดยผสมอินดิเคเตอร์หลายตัวเข้าด้วยกัน โดยมีแนวทางหลักๆ ดังนี้:
7.1 แนวทางการ Looped Composite Signal
ผมเลือก Looped Composite Signalโดยใช้ logic:
- ซื้อ (Buy): ใช้
AND— ต้องมี 2 อินดิเคเตอร์ขึ้นไปให้สัญญาณใกล้กัน → ค่อยซื้อ - ขาย (Sell): ใช้
OR— แค่มีตัวเดียวส่งสัญญาณขาย → ขายเลยเพื่อลดความเสี่ยง
7.2) กลยุทธ์สัญญาณซื้อขาย (Composite Signal Strategies) มีหลายแบบอาทิ
หลังจากได้ Composite Strategies แล้ว ก็นำไปเข้าข้อ 4️⃣ Run Strategy, 5️⃣ วัดผลกลยุทธ์ด้วย Performance Metrics เราก็จะได้ผลลัพธ์ทั้งหมดออกมา
8️⃣ Visualization Result
เนื่องจากผลลัพธ์จากกลยุทธ์มีจำนวนมาก การใช้กราฟช่วยให้เราเข้าใจภาพรวมได้ง่ายและเห็น insight ที่ซ่อนอยู่ชัดเจนขึ้น ตัวอย่างที่ผมใช้คือการแปลงตารางสรุปผลเป็น Scatter Plot ซึ่งสามารถแสดงให้เห็นได้ทันทีว่าแต่ละกลยุทธ์ให้ผลลัพธ์ดีกว่าหรือแย่กว่าแนวทาง Buy & Hold หรือไม่ และสามารถดู Strategy ที่มี %Win Rate สูงๆได้ในเวลาเดียวกัน

Figure: ตัวอย่างการเอาตารางสรุปผล มาทำเป็น Scatter plot
- จุดที่ 1 บอกว่าเส้นปะคือเส้นที่บอกว่า Trading Strategy นั้นชนะ ซื้อแล้วถือ (ฺBuy and Hold) Strategy หรือไม่ ซึ่งก็ควรชนะ
- จุดที่ 2 ตัวนี้น่าสนใจเพราะชนะ Buy and Hold ถึง 50% แถม Win rate ยังได้ 100 ด้วย
- จุดที่ 3 ตัวนี้น่าสนใจเพราะชนะ Buy and Hold มากกว่า 10% แถม Win rate ยังได้มากกว่า 80
ในทางกลับกัน กลยุทธ์บางตัวให้ผลลัพธ์ต่ำกว่า Buy & Hold และกลยุทธ์บางตัวมี Win Rate ต่ำกว่า 50% ซึ่งหากนำไปใช้จริง อาจนำไปสู่การขาดทุนได้
หากเจอกลยุทธ์ที่น่าสนใจเป็นพิเศษ เราสามารถเจาะลึกเพิ่มเติมด้วยการดู Historical Trade รายตัว เพื่อวิเคราะห์แต่ละจังหวะเข้าออกของระบบได้ชัดเจน

Figure: ตัวอย่างการดู Historical Trading รายตัวของผม
9️⃣ เลือกกลยุทธ์ที่ใช่ และทำระบบส่งสัญญาณเข้า LINE
เพื่อให้ใช้งานได้สะดวก ผมได้ทดลองสร้างระบบที่สามารถรันกลยุทธ์ที่เลือก และ ส่งผลลัพธ์เข้า LINE ซึ่งผลลัพธ์เป็นที่น่าพอใจ ^__^

ผมตั้งไว้ว่า ควรบอกผลการซื้อ/ขายครั้งก่อนด้วย จะได้รู้ว่าครั้งล่าสุด เราซื้อขายกันไปที่กี่บาท เพื่อเป็นข้อมูลในการตัดสินใจเพิ่มเติม ถ้าอิงผลลัพธ์ที่ส่งเข้า line กับกราฟ Trading Historical จะได้ดังภาพด้านล่างครับ

Figure: 3 จุดการซื้อขายล่าสุด ที่แสดงผลบน LINE
🧠สิ่งที่สามารถพัฒนาต่อได้
เพื่อให้ระบบ Signal Trading มีความสมจริงมากขึ้นและสามารถนำไปใช้งานจริงได้ในระยะยาว ยังมีหลายประเด็นที่สามารถต่อยอดได้ เช่น:
- เพิ่มการคำนวณ ค่าธรรมเนียม (Fee) ต่อคำสั่งซื้อขาย
- ใส่ Stop Loss / Take Profit เพื่อจำกัดความเสี่ยงและล็อกกำไร
- พัฒนาเป็น Auto-Trading Bot เพื่อให้ระบบสามารถทำงานอัตโนมัติแบบครบวงจร
- เปลี่ยนจากกลยุทธ์แบบ All-in → เป็นการ ซื้อขายแบบแบ่งไม้ (Position Management) เพื่อให้มีความยืดหยุ่นมากขึ้น
อย่างไรก็ตาม ก่อนจะพัฒนาไปสู่ขั้น Auto-Trading ผมแนะนำให้เริ่มจากการใช้งานเองก่อนจนมั่นใจ เพื่อให้เราเข้าใจพฤติกรรมของกลยุทธ์ และสามารถตัดสินใจ Stop Loss หรือแบ่งไม้ได้ด้วยตนเอง พร้อมกับมีระบบจดบันทึกที่ดี เมื่อระบบเริ่มนิ่ง ค่อยนำไปสู่การทำให้เป็นอัตโนมัติ
สิ่งที่ผมได้เรียนรู้จากโปรเจกต์นี้คือ กลยุทธ์ที่ดีไม่สามารถใช้ได้กับทุกหุ้น เราจำเป็นต้องเลือกกลยุทธ์ให้เหมาะกับพฤติกรรมของหุ้นแต่ละตัว ถ้าเลือกผิดหรือใช้ signal trading แบบไม่ test จะทำให้ขาดทุนได้ครับ ส่วน Signal Trading Strategy ที่ผมสร้างขึ้นนั้น จะลองใช้ซัก 3–4 เดือน ได้ผลยังไงจะมา update ให้ฟังนะครับ ^__^
หวังว่าบทความนี้จะเป็นแนวทางให้ทุกท่านนำไปต่อยอด และออกแบบ Signal Trading Strategy ของตัวเองได้ครับ 😊 หากคุณสนใจแนวนี้ ฝากกดติดตามไว้ด้วยนะครับ แล้วพบกันในบทความถัดไป ซึ่งผมจะพาไปดูการเปรียบเทียบผลลัพธ์ของทุกกลยุทธ์แบบละเอียด พร้อมสรุปกลยุทธ์ที่น่าลองที่สุด และวิธีเลือก “กลยุทธ์ที่เหมาะกับคุณ” 🙏
Data Science Explore the world of data science with Donato_Story
Dashboard Discover the power of data visualization with Donato_Story
Donato_Journey Join me on my journey (Thai version)
Course_Review Discover the training courses with Donato_Story (Thai version)
Let’s Connect!
Your thoughts and feedback are invaluable. Feel free to share them in the comments or connect with me on
- 🌐 Medium: medium.com/donato-story
- 📘Facebook: web.facebook.com/DonatoStory
- 💼 Linkedin: linkedin.com/in/nattapong-thanngam
Originally published on Medium
Related
A Practical Guide to Building Agents
คู่มือปฏิบัติ: การสร้าง Agent ด้วย LLM โดย OpenAI
AI in the Enterprise โดย OpenAI
ถอดรหัสเคล็ดลับองค์กรระดับโลก ปลดล็อกศักยภาพ AI สร้างความได้เปรียบทางธุรกิจ
Best Practices for Bar Charts
Visualization Series — Episode 2
Best Practices for Line Charts
Visualization Series — Episode 3