ตัวอย่างการใช้ ARIMA ในการทำนายค่า GDP ของประเทศไทย พร้อม source code (1)

จากบทความที่แล้ว ตามลิงก์ด้านล่าง link เราได้พูดถึง Basic of ARIMA เอาไว้ ซึ่งถึงแม้ว่าตัวโมเดลจะไม่ได้ถูกออกแบบมาโดยเฉพาะสำหรับการทำนายมากนัก แต่ก็เป็นโมเดล Time-series ที่สามารถนำมาประยุกต์ใช้ในการทำนายข้อมูลได้ ดังนั้น วันนี้เราจึงได้นำตัวอย่างการประยุกต์ใช้ ARIMA พื้นฐานในการทำนายอย่างง่ายมาให้ดูกัน โดยตัวอย่างนี้ใช้ จะเป็นข้อมูล GDP ของประเทศไทย ดังนี้ Data: GDP of Thailand during (1960 – 2017) File name: GDP_Thailand.csv 1) มาดูข้อมูลดิบกันก่อน ก่อนอื่นมาโหลดข้อมูล และ เนื่องจากข้อมูลของเราเรียงจากปีปัจจุบันไปยังอดีต แต่เพื่อให้ง่ายต่อความเข้าใจ จากนั้น เราจะได้พล็อตดูแนวโน้มข้อมูลกันต่อไป 1.1) Import libraries ที่จำเป็น import pandas as pdimport matplotlib.pyplot as pltimport numpy as np 1.2) อ่านข้อมูล และ ตั้งชื่อ คอลัมน์ว่า…

หลักการทำงานของ ARIMA ในการทำนายค่าของ Time Series

ARIMA model หรือ ชื่อเต็มๆ ก็คือ “(AutoRegressive Integrated Moving Average)” คิดว่าหลายท่านที่ทำงานคุ้นเคยกับข้อมูลที่มีลักษณะเป็นอนุกรมเวลา (Time Series) คงจะเคยได้ยินกันนะครับ โมเดลนี้ สำหรับตัวผมเอง ก็เป็นโมเดลที่ศึกษาเป็นโมเดลแรกๆ เลยก็ว่าได้ ตั้งแต่ก้าวเข้ามาทำงานกันข้อมูลหุ้น วันนี้ ผมจะมาเล่าให้ฟังเท่าที่เข้าใจนะครับ ว่าเจ้า ARIMA นี่มันมีหลักการทำงานอย่างไร ARIMA(AutoRegressive Integrated Moving Average) ประกอบไปด้วย Combination ของ Time Series 3 เทคนิค คือ AR (Autoregressive), I (Integrated), MA (Moving average) โดยผมจะค่อยๆ อธิบายให้ฟังทีละตัวนะครับ แต่โดยหลักๆ แล้วทุกเทคนิค คือการร่วมกันกำจัด “Noise” ออกจากข้อมูลเพื่อพยายามลด Error term ให้ได้มากสุดจนสามารถมั่นใจได้ว่า ข้อมูลนั้น Reliable หรือ เชื่อถือได้ ซึ่งจะทำให้การทำนาย (Forecast) ในขั้นตอนต่อไปมีประสิทธิภาพมากขึ้นนั่นเองครับ…

ทำไมต้อง Uncorrelated

ก่อนอื่นต้องมาพูดเรื่อง Correlation คร่าวๆก่อนไอเดียของมันถ้าจะให้พูดอย่างง่ายๆก็คือการที่สิ่งของสองสิ่งขึ้น ลง พร้อมๆกันนั่นแหละครับ เหมือนหุ้นในกลุ่ม Tech ด้วยกันอาจจะขึ้นและลง โดยภาพรวมจะคล้ายกันมากกว่า หุ้นในกลุ่ม Tech และกลุ่ม Food ทำนองนั้น ส่วนไอเดียของ Modern Portfolio Theory คือ พยายามสร้าง Portfolio ที่ถือ Asset ที่ Uncorrelated ต่อกันใน หมายความว่าถ้า Asset A ลง เราก็จะคาดหวังให้ Asset B ขึ้นมา Average กัน แต่ในระยะยาวมันจะช่วยให้ Portfolio ของเราลดความผันผวน(Volatility aka Risk)ไปลงได้ จากรูป ถ้าเราถือ แค่ Asset A อาจจะทำกำไรให้เราได้มากที่สุดในระยะเวลาที่ถือมันแต่ในการลงทุนเชิง Quantitative เราไม่ได้มองแค่ Profit แต่เราต้องมองความเสี่ยงไปด้วยครับ เนื่องด้วยการคอนโทรล Profit ว่าจะไป xx%…

Geometric Return vs Arithmetic Return: คิดกำไรผิดชีวิตเปลี่ยน

วันนี้เราจะมาพูดเรื่องการคำนวณ Return กันซักหน่อยนะครับ ว่าสมมุติว่าเราจะดูประสิทธิภาพระบบเทรดซักหน่อย โอเคเราอาจจะต้องมองค่าอื่นๆมากมาย แต่ที่ขาดไม่ได้คือ Return ใช่ไหมครับ ในวันนี้เราจะพูดเรื่องนี้กัน ก่อนอื่นเลยครับ ระบบเทรด ทำกำไร(Return)เฉลี่ย ได้ต่อปีเท่าไหร่ ก่อนอื่นการคำนวณค่าเฉลี่ยมีที่ต้องควรจักกัน 2 แบบ คือ Arithmetic Mean และ Geometric mean ว่ามันต่างกันยังไงและแบบไหนควรใช้กับการคำนวนส่วนไหนกันแน่ลองมาดูกันครับ Arithmetic Mean มาเริ่มกันที่ค่าเฉลี่ยข้อมูลแบบธรรมดาก่อนเลยครับ กล่าวคือ มันคือการหาค่าเฉลี่ยทั้งหมดของข้อมูลหารด้วยจำนวนทั้งหมดของข้อมูล อันนี้เป็นอะไรที่ใช้ประจำในเชิง quant มันถูกนำมาใช้อย่างกว้างขวาง เช่น การคำนวนเส้นค่าเฉลี่ยเคลื่อนที่ การหาค่าเฉลี่ยผลตอบแทนของกลยุทธ์ เป็นต้น โดยที่ X คือ ค่าของข้อมูล และ n คือจำนวนข้อมูลทั้งหมด Geometric mean อันนี้น่าสนใจครับ เพราะในการคำนวณ Return โดยใช้ Arithmetic Mean นั้นมีปัญหาอยู่โดยที่ ตัวอย่าง ถ้าเรามีกลยุทธ์ที่ ทำกำไรได้ในปีแรก 100%…

Simple Return VS Log Return ความแตกต่างที่ไม่ควรมองข้าม!

ใครที่เคยทำระบบเทรดหุ้น หรือ ทำงานกับข้อมูลทางไฟแนนซ์มาบ้าง ถ้าใช้โปรแกรมสำเร็จรูป เช่น Amibroker หรือ Metastock ก็แล้วไปครับ เราอาจจะไม่ต้องเข้าใจในส่วนของ Return มากนัก เพราะโปรแกรมสำเร็จรูปเค้าจัดการตรงส่วนนี้ให้เราแล้ว แต่ถ้าเรามีความสนใจที่จะวิเคราะห์ข้อมูลพวกนี้ให้ลึกซึ้งขึ้น โดยจะวิเคราะห์ข้อมูลทางสถิติ หรือ จะสร้างโมเดล Machine Learning เราต้องให้ความสำคัญกับการใช้ Return ให้มากๆครับ เพราะ ถ้าเราใช้ผิด การวิเคราะห์ของเราอาจจะผิดไปทั้งหมดได้เลย Return คืออะไร? Return ก็คือผลตอบแทนหุ้นในแต่ละวันนั้นแหละครับ ถ้าหุ้นวันนี้ 100 บาท พรุ่งนี้ ขึ้นไป 110 บาท Return ของหุ้น ณ วันพรุ่งนี้ก็คือ 10% นั่นเอง แต่ 10%นี่มันเป็นเพียงแค่ Return แบบหนึ่งครับ ซึ่ง Return แบบนี้ เราเรียกว่า “Simple Return” จริงๆ แล้วในการทำงานกับข้อมูล Time Series มันจะมี…

Math 101 : Covariance Correlation

หลังจากดูเรื่อง Variance และ Standard Deviation ไปแล้ววันนี้เรามาต่อกันสำหรับคณิตศาสตร์ที่สำคัญมากๆในโลกของ Finance และ Data Science วันนี้เราจะมาต่อกันด้วยคอนเสปสำคัญอย่างคือ Covariance Correlation มันคือการตอบคำถามที่ว่า ข้อมูลสองข้อมูลนั้น มีความเหมือนกันแค่ไหน ไปด้วยกันแค่ไหน Covariance คืออะไร คือการหาว่าข้อมูลนั้นๆแปรผันไปตามทิศทางเดียวกันกันแค่ไหน เอาเป็นว่าดูตัวอย่างไปพูดไปดีกว่าครับ จะได้เข้าใจง่ายๆ เชื่อว่าหลายๆท่านคงเคยเล่นเกมส์ Fifa กันมาบ้างเดี๋ยวผมจะเอาข้อมูลจากเกมส์ฟุตบอลยอดนิยมนี่มาอธิบายคอนเสปเรื่องนี้แล้วกันนะครับ แล้วทำไมไม่ยกตัวอย่างเป็นข้อมูลทางการลงทุนเลยล่ะ มันเป็นสิ่งที่ยกตัวอย่างได้สนุกกว่า เลขไม่ซับซ้อน ผมเป็นแฟนบอล (ฮา) เอาล่ะมาดูข้อมูลตัวอย่างกันดี กว่าในที่นี้ขอยกตัวอย่างเป็น Status นักเตะของทีมรักผมแล้วกันนะครับ เห็นไหมครับทั้งสองค่านี้มันก็บอกอย่างเดียวกันแต่ต่างฟอร์มกันเท่านั้น อนึ่งค่าส Correlation ก็มีอีกหลากหลายทั้ง Pearson Spearman Kendall หลักๆแล้วมันก็เอาไว้วัดความเหมือนความต่างนี่แหละครับ แค่ถูกคิดค้นมาต่างกรรมต่างวาระกันเท่านั้น เรื่องนี้สำคัญต้องรู้ไว้เพราะการลงทุนโดยการหาสินทรัพย์ที่ Uncorrelated นั้นมีความสำคัญมากทีเดียวไว้โอกาสต่อไปจะนำมาให้ดูครับ ตอนลงบทความนี้รอบแรกมีคนมาแซวว่าน่าจะทำอัตราการเปลี่ยนกุนซือของเชลซีด้วยนะ ตอนนี้กุนซือในรูปก็โดนไล่ออกไปแล้ว (ฮา)

Math 101 : Variance และ Standard Deviation

ถ้าจะกล่างถึงว่าอะไรเป็นสิ่งที่สำคัญที่สุดในการวิเคราะห์หาระบบลงทุนซักระบบหนึง คำตอบคงไม่ใช่แค่ Return อย่างเดียวแน่นครับสำหรับนักวิจัย/นักลงทุนด้วยระบบเราสิ่งที่สำคัญที่สุดคืออัตรา Return ต่อ Risk ต่างหาก หมาถึงเราต้องการกำไรที่ไม่ใช่ว่ามากที่สุด แต่เป็นกำไรระดับหนึงในระดับความเสี่ยงที่เรารับได้ วันนี้เราจะมารู้จักกับตัววัด Risk กันครับ ถ้างั้น Risk คืออะไร วันนี้เรามาเริ่มกันตั้งแต่เบสิกที่สุดกันเลยครับ ถ้ามีระบบลงทุน สองระบบ ได้ผลตอบแทนเฉลี่ยเท่ากันที่ 20% ต่อปี เราควรจะเลือกระบบไหน เพราะอะไร ระบบ A ปีที่ 1 21% ปีที่ 2 19% ปีที่ 3 22% ปีที่ 4 18% ปีที่ 5 20% ระบบ B ปีที่ 1 55% ปีที่ 2 -15% ปีที่ 3 -25% ปีที่ 4 55%…

Correlation ค่ามหัศจรรย์ กับ การลงทุน

เราจะมาหาคำตอบกันว่าค่า “Correlation” หรือ ที่บางครั้งอาจจะเรียกกันว่า Cross-Correlation นี้คือค่าอะไร ? และ จะสามารถนำมาใช้ประโยชน์ในการเทรดได้มากน้อยแค่ไหน? Correlation คือค่าอะไร? “Correlation” เป็นอีกค่าพื้นฐานที่มีความพิเศษ และ มีประโยชน์เป็นอย่างมากในการเทรด เนื่องจาก เป็นค่าที่สามารถบอก “ความสัมพันธ์ของข้อมูล” ซึ่งแน่นอนว่าความสัมพันธ์นี้จะสามารถนำไปสู่การทำนายข้อมูลในอนาคตได้นั่นเอง ดังนั้น การทำความเข้าใจ Correlation จะเป็นประโยชน์อย่างมากในกับงานด้าน Quantitative Analysis สำคัญถึงขนาดที่ว่า Investing back ยักษ์ใหญ่อย่าง Goldmad Sachs หยิบยกมาใช้ถามผู้สมัครในการคัดเลือก Quants กันเลยทีเดียว! เพราะฉนั้น เราคงจะวิ่งหนีค่าพื้นฐานค่านี้ ไม่ได้จริงๆ มาเรียนรู้กันดีกว่า ว่ามันคืออะไร และ จะสามารถนำไปใช้ช่วยในการเทรดได้อย่างไร ค่า Correlation กล่าวอย่างง่ายๆ ก็คือ ค่าที่บอกว่า ข้อมูล 2 ชุด นั้น correlate (มีความสัมพันธ์กัน) กัน หรือไม่ อย่างไร…