Alternative bars อีกทางเลือกของการวิเคราะห์ข้อมูลเพื่อการลงทุน

เคยคิดกันมั้ย ว่าข้อมูลหุ้นที่เรานำมาวิเคราะห์กันในทุกๆ วันนี้ ข้อมูลที่มีหน้าตาที่คุ้นเคย อย่างราคาของวันนั้นๆ OHLC (Open-High-Low-Close) และ Volume ที่เกิดขึ้นในวันๆ หนึ่ง มันเหมาะสมเพียงใด ที่เราจะนำมาใช้ในการ วัดความเป็นความตาย (นี่ก็เวอร์ไป) ….. ในการตัดสินใจว่า จะลงทุนในหุ้นตัวใด เมื่อไหร่ เป็นจำนวนเท่าใด เคยนั่งคิดกันมั้ยว่า เจ้าข้อมูลตัวนี้มันสมเหตุสมผลหรือไม่ หรือ มีข้อมูลอื่นๆ ที่อาจจะนำมาลองใช้ได้หรือไม่ วันนี้ เราเลยนำบทความเกี่ยวกับ “ข้อมูลหุ้นทางเลือก” หรือ “Aternative bars” มาเล่าสู่กันฟังค่ะ โดยบทความนี้เราได้เอามาจาก คุณ Harkishan Singh Baniya ที่เค้าเอาไอเดียมาจาก Advances in Financial Machine Learning. ของคุณ marcos lopez de prado อีกทีหนึงนะคะ link บทความต้นฉบับ ที่นี่ บทความเก่าของเราเองที่เคยเขียนในเรื่องนี้ สามารถอ่านได้ที่นี่ อะไรคือ…

ปรากฏการณ์ 26 กุมภาพันธ์ 2020 หุ้นไทยตก 72 จุดในวันเดียว!!! ใช้ Value-at-Risk ประเมินกันดีกว่า (แจก code Python)

วันที่ 26 ก.พ. 2020 ตลาดหลักทรัพย์แห่งประเทศไทยเกิดอาการ “เทกระจาด” หล่นลงวันเดียว ถึง 72.69 จุดนับเป็น นับเป็นหล่นลงวันเดียวถึง 5.05% นับเป็นความเสี่ยงอย่างหนึ่งที่นักลงทุนต้องแบกรับ แต่โชคดีที่เราที่มีวิธีการประเมินความเสี่ยงในการลงทุนเพื่อวิเคราะห์ความเสี่ยงล่วงหน้าทำให้เราสามารถวางแผนรับมือกับความเสี่ยงนี้ได้อยู่แล้ว คือ การใช้ทฎษี Value at Risk เข้ามาช่วย ดังที่เราได้เคยนำเสนอไปแล้วในบทความสองพาร์ทแรกซึ่งหาอ่านได้ที่ Value at Risk (VaR) Part 1: VaR แต่ละแบบมีข้อดีข้อเสียอย่างไร Value-at-Risk Part 2: Cornish-Fisher Expansion – Deal with Fat-tailed ในบทความนี้เราจะนำตัวอย่าง index ตลาดหลักทรัพย์ไทยมาวิเคราะห์ด้วย value at risk ทั้งสองแบบมาวิเคราะห์ให้ดูว่าเราสามารถคาดการณ์ความเสี่ยงในครั้งนี้ล่วงหน้าได้อย่างไร พร้อมทั้งแจกโค้ด python ไปให้เพื่อนๆลองทดลองดูได้อีกด้วย ก่อนอื่นเราจะอธิบายขั้นตอนคร่าวๆก่อนว่าแต่ละโค้ดแต่ล่ะส่วนที่สำคัญทำงานอย่างไรเพื่ออธิบายหลักการทำงานก่อน จากนั้นเราจะนำโค้ดทั้งหมดมาแจกในตอนท้ายของบทความ อธิบายส่วนสำคัญของโค้ด Python เริ่มต้นเราต้อง Import library…

ว่าด้วย Recurrent Neural Networks: Part 1

ไม่ได้เขียนบล็อคซะนานเนื่องจากป่วยไปพักใหญ่ ตอนนี้กลับมา จะเริ่มกลับมาเขียนแล้วครับ โดยเรื่องที่ผมคิดไว้คราวนี้จะเป็น “การทำนายอนาคตของข้อมูล Time series” ครับ เพราะเป็นช่วงเวลาที่พอดีกับที่ผมต้องสรุปผลการทดลองส่งแลปพอดีครับ เลยจะขีด ๆ เขียน ๆ ตามไปด้วยเลยก็แล้วกัน ในยุคที่ Deep Learning กำลังครองโลกอยู่นี้ก็คงหลีกเลี่ยงไม่ได้ที่จะต้องกล่าวถึง Recurrent Neural Network (RNN) แต่ก่อนจะไปถึงจุดนั้นเราจะเริ่มจากอะไรที่เบสิก ๆ ก่อน โดยบทความแรกจะเริ่มตั้งแต่เรื่องพื้นฐาน ว่าด้วย Neural Network จาก Linear regression ไปจนถึง Simple Recurrent Neural Network (Simple RNN) Time series และ Simple Neural Network ข้อมูลของเราจะเป็น “Time series” หรือ “อนุกรมเวลา” ได้ ก็ต่อเมื่อ “มีอินเด็กซ์เวลา” มาเกี่ยวข้องนั่นแหละครับ ตัวอย่างเช่น…

Basic Pair Trading with cointegration

สืบเนื่องจากที่แอดได้ไปเข้าร่วมประชุมกับทีมงาน Quantopian ที่ลอนดอน เมื่อปีที่แล้ว หัวข้อที่ทำ workshop กันในงานประชุมก็คือ การพัฒนาเทคนิคการ Hedging ด้วยการทำ Pair Trading ด้วย การใช้ค่าทางสถิติ Cointegration เข้ามาช่วย ซึ่งเป็นหัวข้อที่น่าสนใจมากอีกหัวข้อนึง  หลังกลับมาจากงานประชุม แอดจึงได้เขียนบทความขึ้นมา 2 บทความ เพื่ออธิบายทฤษฏี และ แนวทางการประยุกต์ใช้ Cointegration ในการทำ Pair Trading ซึ่งสามารถหาอ่านได้ใน blog (เดี๋ยวจะลงลิงก์ด้านล่างให้นะคะ) หลังจากลงบทความไปแล้ว ได้รับความสนใจอย่างมากหลังไมค์ มีแฟนเพจหลายท่านต้องการนำไอเดียไปพัฒนาต่อ ทางเราจึงนำทฤษฏีนี้เข้ามาในคอร์สใหม่ เพื่อ ทำการพัฒนา และ Backtest อย่างละเอียด ซึ่งตอนนี้กำลังอยู่ระหว่างการจัดทำ ระหว่างนี้ เลยนำไฟล์ Source code มาฝากหลายๆ ท่านที่สนใจกันก่อนค่ะ เผื่อใครอยากนำไปพัฒนาต่อ และ Backtest ด้วยตัวเอง ไม่ต้องรอเรียนก็จะได้สามารถทำได้  (สำหรับการสอนอย่างละเอียดรวมถึงการ Backtest เพื่อใช้งานจริง…

“การตั้งเวลาทำงาน” เรื่องเล็กๆ ที่ประโยชน์ไม่เล็ก!

Python “time” library เรื่องง่ายๆ ที่คนไม่ค่อยใส่ใจกัน แต่ต่อไปจะมีประโยชน์มากมายในการ feed ข้อมูล live stream จาก Brokers หรือ ผู้ให้บริการข้อมูล real-time ต่างๆ มาทำความรู้จักมันกันดีกว่า ง่ายๆ ไม่เกิน 10 นาที รู้เรื่อง!!! https://www.youtube.com/watch?v=GwPK-EgrM6Y&t=5s

ดึงข้อมูล Intraday stock data ฟรี ง่ายๆ ด้วย Python (Alpha Vantage API)

โดยปกติ AlgoAddict จะทำงานกับข้อมูลรายวัน (Daily) เป็นหลัก แต่บทความนี้ขอเอาใจผู้อ่านที่สนใจข้อมูลระหว่างวัน (Intraday) กันหน่อยค่ะ ด้วยกันแนะนำ Website ที่มีการให้บริการข้อมูล Intraday แบบไม่เสียเงิน! Website ที่ว่านี้ก็คือ “www.alphavantage.co” นั่นเองค่ะ ก่อนอื่น ลองเข้าไปดูหน้าตาเว็บกันก่อนเลยค่ะ Alpha Vantage ทำอะไร? Alpha Vantage เป็นกลุ่มของนักวิจัย วิศวกร และ นักลงทุน ที่รวมตัวกันเพื่อทำวิจัยด้านเทคโนโลยี และ ให้บริการ Free API (application program interface) สำหรับข้อมูล Stock, Forex และ Digital/Crypto currencies Alpha Vantage ไม่ได้พัฒนาด้วย Python! ถึงแม้ Alpha Vantage จะให้บริการข้อมูลฟรี ที่เราต้องการ แต่ …. ถ้าเราตามไปอ่าน “Alpha…

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

ทความนี้เราจะมาว่ากันต่อในเรื่องของการทำนายข้อมูล Time Series ด้วย ARIMA กันค่ะ โดยบทความนี้เป็นบทความที่ 3 ของบทความชุด “ARIMA เท่าที่เข้าใจ” ซึ่งได้เขียนไปแล้ว 2 ตอนด้วยกัน สามารถอ่านได้ตามลิงก์ด้านล่าง เมื่ออ่านครบทั้ง 3 บทความนี้ ก็น่าจะสามารถนำ ARIMA ไปประยุกต์ใช้ในการทำนายข้อมูลประเภทต่างๆ ได้อย่างไม่ยากแล้วค่ะ บทความชุด “ARIMA เท่าที่เข้าใจ” 1) ARIMA เท่าที่เข้าใจ อธิบายการทำงานของ ARIMA model จากประสบการณ์ใช้งานของเรา link 2) ตัวอย่างการใช้ ARIMA ในการทำนายค่า GDP ของประเทศไทย พร้อม source code ตอนที่ 1 link ต่อกันเลยนะคะ หลังจากบทความที่แล้ว เราได้เตรียมข้อมูลที่เป็น “Stationary” ไว้เรียบร้อย พร้อมสำหรับ “การทำนาย” แล้ว ในบทความนี้ เราจะนำเอาข้อมูลนั้นมาเริ่มทำการทำนาย…

ตัวอย่างการใช้ 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) อ่านข้อมูล และ ตั้งชื่อ คอลัมน์ว่า…