การวิเคราะห์ Market Trend ของหุ้น โดยใช้ปัจจัยพื้นฐานด้านข่าว

ผมชอบอ่านงานวิจัยของต่างประเทศ ที่เกี่ยวข้องกับ Machine Learning หรือ AI เนื่องจากเคยผ่านงานด้านนี้มาบ้างดังที่ได้เคยเขียน blog Support Vector Machine กับการวิเคราะห์มะเร็งเต้านม  ซึ่ง AI น่าจะมีบทบาทมาก ๆ ในหลายๆ  ธุรกิจในอนาคตอันใกล้นี้

ซึ่ง Machine Learning นั้นก็ต้องส่วนหนึ่งของการพัฒนา AI ในปัจจุบัน ที่พัฒนาความสามารถให้มีความฉลาดเพิ่มมากยิ่งขึ้นจากการเรียนรู้ข้อมูล ที่มีจำนวนมหาศาลในปัจจุบัน ในวงการ trading ก็เป็นวงการหนึ่งที่คิดว่า AI น่าจะมีบทบาทสำคัญมาซักพักหนึ่งแล้ว ซึ่งหลาย ๆ คนอาจจะยังไม่ทราบว่าทุกวันนี้ เราไม่ได้ trade แข่งกับมนุษย์เท่านั้น เรายังต่อสู้กับ AI อีกจำนวนมาก ซึ่งทำให้เราเสียเปรียบเป็นอย่างมาก

งานวิจัยหลาย ๆ ปีก่อนหน้านี้นั้น เน้นไปที่การนำ Technical indicator ต่าง ๆ มาประมวลผล โดยใช้ Machine learning และทำการ prediction อนาคต  ซึ่ง หลาย ๆ งาน  ก็ได้ผลที่น่าสนใจเป็นอย่างยิ่ง แต่ความแม่นยำนั้นต้องบอกว่าถ้านำไปเทียบกับอย่างอื่น ถือว่าความแม่นยำนั้นยังน้อยอยู่มาก เนื่องจาก ภาวะตลาดมีความผันผวนสูง มีผู้เล่นมากหน้าหลายตา ทั้งกองทุนต่าง ๆ รวมถึงรายย่อย ทำให้ AI ไม่สามารถสร้างความแม่นยำในการ trade ได้

แต่ช่วง 2-3 ปีมานี้ เริ่มมีการวิจัยโดยใช้ทฤษฎีใหม่ ซึ่งนำเรื่องของการวิเคราะห์ข่าวสารมาเป็นปัจจัยหลักแทน เพราะ ข่าวสารนั้นมีผลกระทบต่อจิตวิทยาการเทรดของนักลงทุน โดยตรง นัก trade หลาย ๆ คนซื้อตามข่าว ขายตามข่าว ทำให้ข่าวค่อนข้างมีปัจจัยสำคัญต่อราคาหุ้น เป็นอย่างมาก

แต่การวิเคราะห์เรื่องข่าวนั้น ไม่ได้เป็นสิ่งที่ง่ายเลย เผอิญ ผมได้ไปเจองานที่น่าสนใจ คือ Stock Trend Prediction Using News Sentiment Analysis  ซึ่งเป็นการศึกษาที่ใช้รูปแบบของ News Sentiment Analysis หรือการวิเคราะห์ข่าวเป็นปัจจัยที่จะส่งผลต่อการทำนายราคาขึ้นลงของหุ้นในวันถัดไป ซึ่งปัจจุบันนั้น นักลงทุนมีรูปแบบการทำนาย Market Trends ของตลาดในสองรูปแบบหลักคือ การวิเคราะห์ทางด้านเทคนิคอล โดยใช้ indicator ข้อมูลต่าง ๆ ส่วนอีกรูปแบบคือ การวิเคราะห์ปัจจัยพื้นฐานของหุ้น

โดยในงานวิจัยนี้ จะ follow ตามรูปแบบของการวิเคราะห์ปัจจัยพื้นฐาน ในการทำนาย future trend ของหุ้นนั้น ๆ โดยจะพิจารณาจาก ข่าวที่มีผลกระทบต่อหุ้นตัวนั้น ๆ เป็นหลัก และ ใช้ computer algorithm ในการแบ่งประเภทของข่าว ว่าเป็นข่าวที่ดี หรือ ข่าวที่แย่ ต่อหุ้นนั้น ๆ โดยนำเสนอว่า หาก เป็นข่าวดี ก็จะมีโอกาสทำให้หุ้นตัวนั้นขึ้น แต่หากในทางตรงกันข้ามที่เป็นข่าวแย่ ๆ ก็จะทำให้หุ้นตัวนั้นลง ตรงนี้ฟังดูเหมือนจะง่าย แต่การทำจริงนั้นยาก ๆ มาก ๆ เพราะ ข่าวมาจากหลายแหล่งหลายข่าวสาร รวมถึง วิธีการวิเคราะห์เนื้อหาของข่าวนั้นก็เป็นปัจจัยหลักที่จะแบ่งแยกว่าเป็นข่าวดีหรือข่าวร้าย ซึ่งการใช้คนอ่านนั้น ก็อาจจะไม่ยากเท่าไหร่ แต่สำหรับ AI นั้นเราจะทำอย่างไรในการแยกข้อมูลเหล่านี้ที่มีอยู่จำนวนมหาศาล

 

System Design

งานวิจัยได้แบ่งการ design เป็น 3 phases โดยใน phase แรกนั้นจะเป็นส่วนของการวิเคราะห์ข่าว เพื่อหา Polarity Score เพื่อเป็น input ให้กับ phase 2 โดยที่ ใน phase 2 นั้นจะนำ document มา converted เป็น tf-idf vector space เพื่อให้สามารถทำการจำแนกข้อมูลได้   โดยจะใช้ เทคนิคในการทำจำแนกข้อมูล 3 แบบคือ Random Forest , Naive Bayes  และ SVM หรือ Support Vectore Machine ที่ผมเคยกล่าวถึงใน blog ก่อนหน้านั่นเอง การใช้ถึง 3 เทคนิค นั้นก็เพื่อวัด performance ว่าเทคนิคไหนจะให้ความแม่นยำสูงสุด

ส่วน phase สุดท้ายนั้น จะทำการเช็คความสัมพันธ์ระหว่าง ข่าว และ ราคาหุ้น โดยจะใช้การ plot ข้อมูลทั้งสองโดยจะใช้ภาษา R

News Collection

ผู้วิจัยได้ใช้ข้อมูลของ บริษัท Apple โดยจะเก็บข้อมูลย้อนหลัง 3 ปี ตั้งแต่ 1 กุมภาพันธ์ ปี 2013 ถึง 2 เมษายน ปี 2016  โดยข้อมูลนั้นจะรวมถึง ข่าวจาก events หลัก ๆ ทั้งหมดของ apple รวมถึงราคาหุ้นของ AAPL ในช่วงเวลาเดียวกัน  โดยข้อมูลของหุ้นนั้นจะประกอบด้วย 6 ข้อมูลหลัก คือ Open , High , Low , Close , Adjusted Close และ Volume  โดยข้อมูลของข่าวหลัก ๆ นั้นจะมาจากหลาย ๆ สื่อที่เป็นข้อมูล online เช่น  news.google.com , reuters.com finance.yahoo.com

Pre Processing

ซึ่งจากข้อมูลของข่าว ที่เป็น text data นั้นจะเป็นข้อมูลที่ไม่มีโครงสร้าง จึงไม่สามารถที่จะนำเอาข้อมูลดิบเหล่านี้ไปทำการจำแนกได้  ซึ่งข้อมูลดิบเหล่านี้นั้นจะประกอบไปด้วยข้อความขยะเป็นจำนวนมาก งานวิจัยนี้จึงต้องทำการตัดข้อความที่เป็นขยะเหล่านี้ออก เพราะจะไม่มีผลต่อการจำแนก โดยงานวิจัยจะนำเฉพาะส่วนของข้อความจากข่าวที่มีความเกี่ยวข้องกับข้อมูลทางด้านการเงิน

โดยใช้ข้อมูลอ้างอิงจาก  McDonald’s research  ซึ่งได้ทำการวิจัยข้อมูลที่เกี่ยวข้องกับ finance ไว้เป็นทีเรียบร้อยแล้ว ซึ่งจะตัดเหลือข้อมูลที่เกี่ยวข้องกับหุ้นจริง ๆ เช่น  วันที่ ตัวเลข ต่าง ๆ รวมถึง สกุลเงิน  และเพื่อหลีกเลี่ยง คำบางคำ ที่มีความหมายเดียวแต่ใช้ในหลายเหตุการณ์ เช่น คำว่า ‘developed’ , ‘development’ , ‘developing’ นั้นจะถูกทำให้กลายเป็นคำ ๆ เดียวคือ ‘develop’

Sentiment Detection Algorithm

สำหรับการวิเคราะห์ว่าข่าวใดจะเป็นข่าวดี หรือ ข่าวร้าย ให้ได้แบบอัตโนมัติ หรือ sentiment detection นั้น ทางงานวิจัยนั้นใช้ dictionary จากงานวิจัยของ J.Bean ที่เคยทำการวิเคราะห์โดยนำข้อมูลจาก twitter มาใช้ในการวิเคราะห์ทรรศนะคติที่มีต่อสายการบินผ่านข้อมูลจาก feed ใน twitter

ซึ่งการที่จะวิเคราะห์ว่าข่าวจาก article ไหนเป็นข่าวดีหรือข่าวร้ายนั้น ต้องแบ่งคำเป็น 2 ประเภท คือ positive words และ negative words  และทำการนับรวมคำทั้งสองประเภท เพื่อทำการคำนวณ score จากข่าวนั้น ๆ ซึ่งจากข้อมูลของ McDonald’s research ทางผู้วิจัยได้สร้าง dictionary ที่มีคำที่เป็น positive words จำนวน 2360 คำ และ คำที่เป็น negative words จำนวน 7383 คำ โดยการคำนวน score นั้นก็จะนำเอา ผลรวมของ positive words ลบด้วย ผลรวมของ negatives words ในข่าวนั้น ๆ ซึ่ง หาก score มากกว่า 0 นั้น ก็สามารถ assume ได้ว่าข่าวนั้นเป็นข่าวดี  แต่หาก score น้อยกว่า 0 ก็สามารถ assume ได้ว่า ข่าวนั้น ๆ เป็นข่าวร้ายหุ้นที่เราทดสอบ (AAPL)

Classifier Learning

งานวิจัยนี้ได้ใช้ 3 เทคนิค ตามที่ได้กล่าวข้างต้นคือ Support Vector Machine , Random Forest และ Naive Bayes เป็นเทคนิคในการใช้จำแนก ซึ่ง การใช้ 3 เทคนิค ก็เพื่อทำการวัด performance ว่าเทคนิคไหนได้ความแม่นยำสูงที่สุด เมื่อทำการทดสอบกับข้อมูลใหม่

EVALUATION

งานวิจัยนี้ได้ทำการทดสอบ model ด้วยเทคนิคการทดสอบหลาย ๆ แบบ และในหลายเงื่อนไข เพื่อเปรียบเทียบผล โดยประกอบไปด้วย

  • 5-fold cross validation
  • 10-fold cross validation
  • 15-fold cross validation
  • 70% Data split
  • 80% Data split
  • New testing data

 

Figure1 three classifiers against different test options

Figure2 result with new data

 

Figure3 news sentiment score vs stock price

CONCLUSION

การที่จะทำนาย Market Trend ของราคาหุ้นนั้น เป็นสิ่งที่ยากมาก ๆ เพราะขึ้นอยู่กับหลายปัจจัย ซึ่งงานวิจัยนี้ได้สำเสนอในส่วนของปัจจัยพื้นฐานด้านข่าวที่มีผลกระทบต่อราคาหุ้น  ซึ่งจากผลการทดสอบนั้นจะพบว่าปัจจัยเรื่องข่าวนั้นเป็นปัจจัยที่สำคัญอย่างนึง ในการขึ้นลงของหุ้น  ซึ่งข่าวที่ดี หรือ แย่ นั้น การใช้ AI ในการแยกแบบ Automatic นั้นสามารถทำได้ โดยใช้เทคนิค ตามที่กล่าวข้างต้น  ข่าวที่ดีนั้นมีโอกาสสูงที่จะทำให้หุ้นราคาขึ้น ซึ่งตรงข้ามหากเป็นข่าวที่แย่ นั้นก็มีโอกาสสูงเช่นกันที่จะทำให้หุ้นราคาตก

สิ่งสำคัญอีกอย่างนึงที่จะวัดว่าเป็นข่าวดีหรือข่าวแย่ นั้น ข้อมูลจาก dictionary ตามงานวิจัยข้างต้นนั้นก็เป็นสิ่งสำคัญ การใช้ reference ของงานวิจัยที่ผ่านการทดสอบมาแล้วนั้น ทำให้ผลการทดสอบนี้มีประสิทธิภาพมากยิ่งขึ้น รวมถึงการลบข้อความที่เป็นขยะ ออกจากข่าว ซึ่ง มีผลกระทบต่อความแม่นยำในการจำแนกให้มีประสิทธิภาพ เพราะฉะนั้น ต้องใช้หลาย ๆ งานวิจัยที่เกี่ยวข้องร่วมกันเพื่อให้ผลการจำแนกดีที่สุด และผลจากการทดลองการจำแนกโดยใช้ 3 เทคนิค นั้น เทคนิค Random Forest สามารถจำแนกได้ผลแม่นยำสูงสุดในทุก test case โดยมีความแม่นยำสูงถึงระดับ 88% – 92%  โดยอันดับ 2 คือ Support Vector Machine ที่ให้ความแม่นยำประมาณ 86%  ส่วนเทคนิค Naive Bayes นั้นให้ความแม่นยำอยู่ที่ประมาณ 83%

แต่พอมาลอง test กับข้อมูลชุดใหม่นั้น จะพบว่า Support Vector Machine นั้นให้ความแม่นยำสูงถึง 90%  ตามมาด้วย Random Forest ที่ 80% และรั้งท้ายที่ Naive Bayes ที่ 75%  ซึ่ง โดยสรุปนั้นเราก็สามารถสรุปได้ว่า ข่าว เป็นปัจจัยหลัก ปัจจัยนึง ที่มีผลกระทบต่อราคาหุ้น อย่างแน่นอน ซึ่งเราสามารถนำข้อมูลเหล่านี้มาทำการวิเคราะห์และทำนาย Trend ที่จะเกิดขึ้นกับราคาหุ้น ๆ ที่เราสนใจได้ ซึ่งหากเราจะนำมาปรับใช้กับหุ้นไทยนั้น ก็คงจะต้องปรับกันพอสมควรโดยเฉพาะหากข่าวที่เป็นภาษาไทย ซึ่งไม่สามารถที่จะใช้การทดลองแบบนี้ได้แน่นอน แต่หากข่าวที่เป็นภาษาอังกฤษ นั้น คิดว่าผลน่าจะได้ใกล้ ๆ เคียงกัน ซึ่งก็เป็นสิ่งที่น่าสนใจที่จะมาทดสอบกับหุ้นไทยเหมือนกัน เพราะ เทคนิคต่าง ๆ ที่กล่าวในงานวิจัยนั้น สามารถนำมาใช้ได้ เพราะมีการ open ทั้งหมด ทั้ง เทคนิคการจำแนกอย่าง Support Vector Machine ก็สามารถโหลดมาใช้ได้ รวมถึง การใช้ Sentiment Detection Algorithm นั้นเราก็สามารถนำมันมา implement กับหุ้นไทยเพื่อทดสอบ model ข้างต้นได้

 

References :   arxiv.orgmotherboard.vice.com

กำไรที่แท้จริงของ Amazon.com

ต้องบอกว่า bill gate นั้นเป็นบุคคลที่ร่ำรวยที่สุดในโลก ที่มีสถิติยาวนานที่สุดเลยก็ว่าได้ คือรวยมาตั้งแต่เปิดบริษัท Microsoft ได้ไม่นาน เค้าก็ก้าวขึ้นสู่บุคคลที่ร่ำรวยที่สุดในโลกเนื่องจาก Windows นั้นเป็นระบบปฏิบัติการหลักของคอมพิวเตอร์ทั่วโลก ซึ่ง ในช่วงแรกนั้นกิน Market Share กว่า 90%

แม้จะวางมือมานาน แต่เนื่องจากปริมาณหุ้นที่ Bill Gate ถือค่อนข้างมาก ซึ่งช่วงแรก ๆ นั้น Bill Gate ไม่ได้แบ่งหุ้นไปให้นักลงทุน เหมือนกิจการใหม่ ๆ อย่าง facebook , google  ที่หุ้นได้ถูกกระจายไปยังนักลงทุนมากมาย เพื่อให้กิจการสามารถเติบโตได้ ซึ่งต่างจาก Bill Gate ที่มีมูลค่าหุ้นจำนวนสูงมากอยู่ก็ทำให้เค้าสามารถครองตำแหน่งผู้ที่ร่ำรวยที่สุดในโลกในหลาย ๆ ปีทีผ่านมา

ส่วน Jeff Bezos นั้นมาจากไหน ทุก ๆ คนน่าจะรู้จัก Amazon.com เป็นอย่างดีที่สามารถครองใจขาช็อป ออนไลน์ ชาวอเมริกัน ได้อย่างเบ็ดเสร็จ

Jeff Bezos นั้นเริ่มต้น amazon.com ในช่วงยุค ปี 1997 ซึ่งถือเป็นคลื่น internet ยุคแรก ๆ ที่สามารถสร้างบริษัท ให้ยืนยงต่อเนื่องมาจนถึงปัจจุบันได้ ซึ่งตอนแรกนั้น Bezos ตั้งใจทำแค่ร้านหนังสือ online เท่านั้น แต่เนื่องจาก model ดังกล่าวสามารถทำซ้ำกำสินค้าชนิดใดก็ได้ จึงเป็นที่มาของ Amazon.com ที่ขายสินค้าแบบสากเบือ ยัน เรือรบ  หาทุกอย่างได้จาก Amazon.com แม้กระทั่งสินค้าในตลาดสด ก็สามารถซื้อได้จาก Amazon

แต่ช่วงแรก ๆ ของ Amazon ก็ยังไม่สามารถทำกำไรได้ อาศัยเงินจากนักลงทุนเพื่อมาอัด แคมเปญ กระตุ้นยอดขาย และสร้าง Promotion ให้กับลูกค้าจนติดใจ ซึ่งถือว่าเป็นการสร้างพฤติกรรมให้กับลูกค้า ที่แต่เดิมนั้นต้องไปซื้อของตามห้าง สรรพสินค้า

ซึ่งตอนนี้ บรรดาห้างร้านต่างๆ  ของอเมริกา ก็เริ่มจะอยู่ไม่ได้กันแล้วเนื่องจากโดน amazon กิน market share ไปหมด เพราะได้ของที่ราคาถูกกว่า และไม่ต้องเดินทางให้เปลืองค่าใช้จ่าย สั่ง online ของมาส่งตรงถึงหน้าบ้าน ซึ่งพฤติกรรมนี้ คนไทยก็น่าจะเริ่มปรับเปลี่ยนหลังจากการเข้ามาของ Lazada.com ที่แทบจะเลียนแบบ model เดียวกับ Amazon.com มาใช้ในตลาดเอเชียตะวันออกเฉียงใต้

แต่ทว่า แม้ Amazon จะดำเนินกิจการมาถึง 20 ปี ตั้งแต่ช่วงแรก ๆ ที่ขายเฉพาะหนังสือ ตั้งแต่ ปี 1997 นั้น ส่วนของ Ecommerce ของ Amazon.com นั้นไม่สามารถทำกำไรได้เลย   โดยเพิ่งจะสามารถทำกำไรในช่วงไม่กี่ปีหลังเท่านั้น เนื่องจากสงคราม Ecommerce ที่ร้อนระอุ ต้องใช้เงินทุกมหาศาลเป็นจำนวนมากในการ Subsidize ราคา เพื่อให้ถูกกว่าคู่แข่ง แลกกับจำนวนฐานลูกค้าในมือ ที่เพิ่มขึ้น อย่างรวดเร็ว รวมถึงการเติบโตของรายได้ที่เพิ่มขึ้นอย่างมหาศาลกลายเป็นบริษัท top ของโลก ที่มีหลายได้มากกว่าแสนล้านเหรียญต่อปี

แต่หากมามองที่กำไรกันแล้วนั้น เราจะเห็นได้อย่างชัดเจนว่า Amazon มีกำไรจากการทำ Ecommerce น้อยมาก ๆ กำไรแทบจะปริ่ม ๆ แม้กระทั่งในอเมริกาเองที่บริษัทสามารถผูกขาดได้แล้ว ก็ยังไม่สามารถทำกำไรได้อย่างมากมายอย่างที่คิด แต่กลับกลายเป็นว่า หน่วยธุรกิจ ที่ไม่ใช่ธุรกิจหลัก อย่าง AWS นั้น ที่ทำ Cloud Data Center รวมถึง Cloud Service ที่มี Developer ใช้งานอยู่ทั่วโลกนั้น เป็นตัวทำกำไรให้กับ Amazon มากกว่าธุรกิจหลักอย่าง Ecommerce

จากผลประกอบการในปี 2016 นั้นจะเห็นได้ชัดเจนว่า AWS ทำกำไรได้ถึง สามพันกว่าล้านเหรียญ จากรายได้ที่มีเพียง หมื่นสองพันล้านเหรียญ เท่านั้น ต่างจาก ธุรกิจหลักอย่าง Ecommerce ถ้ารวมถึงในระดับ International ด้วยนั้น จะเห็นได้ว่า รวมแล้วสามารถทำกำไรได้เพียง หนึ่งพันกว่าล้านเหรียญเท่านั้น ทั้งที่มีรายได้กว่าแสนล้านเหรียญ ส่วนนี้เป็นจุดที่น่าสนใจอย่างยิ่งว่า amazon จะทำกำไรเพิ่มจาก ธุรกิจ Ecommerce ได้อย่างไร

แม้ว่าตลาดอเมริกานั้นจะครองตลาดแบบเบ็ดเสร็จ แต่ก็ยังไม่สามารถทำกำไร ได้เท่าที่ควร คิดว่าคงเป็น model ระยะยาว จากฐานลูกค้าที่มีมหาศาลมากกว่า ที่อาจจะสร้างรายได้ รวมถึงกำไรในระยะยาวให้กับ Amazon ได้ จึงเป็นที่ตอบรับจากนักลงทุนเป็นจำนวนมาก จากผลประกอบการล่าสุด ที่สามารถทำกำไรเพิ่มขึ้นได้จากปีที่แล้ว ทำให้หุ้นขึ้นมาจนทำให้มูลค่าหุ้นของ Jeff Bezos นั้นกลายเป็นเศรษฐีอันดับหนึ่งของโลกแทน Bill Gate ไปในที่สุด

ติดตาม ด.ดล Blog เพิ่มเติมได้ที่
Fanpage :facebook.com/tharadhol.blog
Blockdit :blockdit.com/tharadhol.blog
Twitter :twitter.com/tharadhol
Instragram :instragram.com/tharadhol