ใช้ AI เล่นหุ้น

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

สำหรับเนื้อหานั้นไปอ่านมาจากบล็อคของต่างชาติบล็อคหนึ่งซึ่งพยายามหาลิงก์แล้วแต่ก็หาไม่เจอ ทำให้เนื้อหาอาจจะไม่ครบถูกต้องหรือมีใจความเหมือนกับต้นฉบับเท่าไหร่ โดยเริ่มต้นจากการนำกราฟของหุ้นสักตัว (ในที่นี้ใช้หุ้น ABICO ปี 1990 – 1998) จากนั้นลองให้โปรแกรมสุ่มซื้อขายแบบทุกการกระทำมีความน่าจะเป็นเท่ากัน จากนั้นดูค่าเฉลี่ยของมูลค่าเงินที่เหลืออยู่ เมื่อสิ้นการทำงาน

Distribution Money of Random Action

โดยเราจะมองเป็นการเล่นเกมนะครับ โดยให้เงินเริ่มต้น 5000 สามารถทำได้สี่อย่างคือ ซื้อ ขาย รอซื้อ และรอขาย ซึ่งถ้าซื้อคือซื้อทั้งหมดเงินที่มีเลย ขายก็ขายหมดหน่วยที่มีเลยเช่นกัน ซึ่งจะเห็นว่ากราฟค่อนข้างเป็นขาลง เราสุ่มทั้งหมด 50,000 รอบ ซึ่งค่าเฉลี่ยของการสุ่มเล่นออกมาประมาณ 2,500 ซึ่งน้อยกว่าเงินตั้งต้น นั่นคือ ทางที่รักษาเงินได้ดีคือไม่ซื้อเลยเราจะมีเงิน 5000 ชนะค่าเฉลี่ยการเล่นซะอีก เพราะฉะนั้นอย่าเล่นเลยครับหุ้น (ไม่ใช่อย่างนั้นสิ เราอยากสร้าง AI ที่ชนะค่าเฉลี่ยสิถึงจะถูก)

ในที่นี้เราจะใช้อัลกอริทึมตามงานวิจัยนี้ โดยเค้าใช้ Neural Network ผสมกับ Reinforcement Learning ในการวิเคราะห์หาค่ารางวัลของการกระทำต่างๆ เราจะมาลงรายละเอียดของการทำงานกันวันหลังนะครับ วันนี้จะมาแนะนำไอเดีย คร่าวๆก่อน ในงานวิจัยใช้ Machine learning ในการเรียนรู้การเล่นเกม Atari โดยใช้คะแนนของการเล่นเกมเป็นการตัดสิน

ส่วนของเราจะเปลี่ยนค่า reward function ให้เข้ากับเกมของเราซึ่งในที่นี้คือกำไรจากการขายหุ้นโดยคิดเป็นเปอร์เซนต์ ถ้าขาดทุนก็จะได้คะแนนติดลบ โดยนับการขายหุ้นเป็น terminal state และจากการทดลองได้ผลว่าตัว AI สามารถทำเงินได้มากกว่าค่าเฉลี่ยนั่นคือประมาณ 5000 ซึ่งเรียกได้ว่าเท่ากับไม่ซื้อเลย แต่ AI ที่ทดลองได้เป็นการซื้อขายแบบสลับกัน อาจจะมีการรอซื้อหรือขายอยู่บ้างแต่น้อย แต่ก็ทำให้เห็นว่า AI มีความฉลาดในระดับหนึ่ง ซึ่งสามารถไปทดลองเล่นได้ ที่ repository นี้ครับ (Branch : stock_trading)

บทสรุปคือ AI ที่ได้จากการทดลองยังไม่สามารถนำไปใช้จริงได้แต่ก็เป็นจุดเริ่มต้นให้หลายๆคนได้นำไปประยุกต์ใช้และศึกษาเพื่อร่วมกันพัฒนาให้ AI ฉลาดกว่านี้ได้ ในการทดลองนี้ยังไม่เคยนำไปใช้กับกราฟแบบอื่นทั้งยังไม่ได้นับรวมข้อมูลข่าวสาร ข้อมูลพื้นฐานของหุ้นลงไป ต้องขอขอบคุณบล็อคของต่างชาติคนนั้นด้วย ถ้าหาเจอจะนำมาแปะไว้เป็น reference นะครับ หวังว่าจะจุดประกายคนที่อยากพัฒนา AI กันมากขึ้น สำหรับใครมีความคิดเห็นหรือแนวทางใดๆสามารถมาแสดงความคิดเห็นไว้ได้นะครับ ลาไปก่อนพบกันใหม่ครับ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s