Yahoo Finance ครูคนแรกหากต้องการเขียน Python เพื่อการลงทุน
Yahoo Finance คือ ?
Yahoo Finance คือแพลตฟอร์มสื่อที่ให้ข้อมูลข่าวสารเกี่ยวกับหุ้นและข่าวสารทางการเงินต่าง รวมไปถึงข้อมูลของหุ้นแต่ละตัว
หากถามว่านักลงทุนส่วนใหญ่ใช้ข้อมูลจากไหนในการฝึกซ้อมเพื่อเขียนโค๊ดบอกเลยว่าร้อยละ 90% ต้องมี Yahoo Finance อยู่ในใจแน่นอนเนื่องจากตัวข้อมูลมีหลากหลายแทบจะทุกตลาดบนโลกใบนี้ และการเข้าถึงข้อมูลเป็นการเข้าถึงที่ง่ายมากๆ ทำให้เป็นที่นิยม
ซึ่งข้อดีสำหรับคนเขียนโปรแกรมเป็นอย่างเราๆคือมี Library อย่าง yfinance ที่สามารถเขียนโปรแกรมไปดึงข้อมูลออกมาได้ แถมมีสอนตาม Tutorial เต็มไปหมด ดังนั้น Yahoo Finance ไม่ต่างอะไรจากครูคนแรกๆที่หากเราเข้ามาอยู่ในโลกของการเขียน Python เพื่อการลงทุนแล้วต้องไม่พลาดแหล่งข้อมูลนี้ อีกทั้งยัง Support ทั้งข้อมูลในรูปแบบของ Excel CSV ก็มาเลือก Download กันได้
ถ้าเราดึงผ่าน API ลักษณะข้อมูลจะออกมาเป็น DataFrame สวยๆ ซึ่งเป็นที่นิยมอยู่แล้วสำหรับนักลงทุนหรือคนที่ชอบใช้ Excel แถมตัวข้อมูลยังสามารถเอาไปใช้ต่อได้ง่ายมาก จะไปคำนวณต่อหรือ Plot กราฟก็สบายหายห่วง
ตัวอย่าง code วิธีดึงข้อมูลผ่าน Yahoo Finance
import library ที่จำเป็น
import yfinance as yf
import pandas as pd
สำหรับดึงหุ้น 1 ตัว
df = yf.download('AAPL', start='2020-01-01', end='2021-12-01')
df
ข้อดีของ Yahoo Finance คือหลังจากดึงข้อมูลมาแล้วจะได้ออกมาเป็น DataFrame สวยๆแบบนี้เลย และเอาไปใช้งานต่อได้ง่าย
สำหรับต้องการดึงหุ้นมากกว่า 1 ตัว
df = yf.download(‘AAPL MSFT SPY’ , start=’2020–01–01’, end=’2021–12–01’)
ตัวข้อมูลจะอยู่ใน DataFrame เหมือนกันแต่ มันจะรวมข้อมูลทั้งสามตัวเอาไว้เลย ซึ่งเราจะต้องเลือกดึงเองว่าจะเอาข้อมูลส่วนไหน
ยกตัวอย่างการเลือกข้อมูล หากต้องการข้อมูลเฉพาะราคาปิด คือ Close วิธีการดึงก็ใช้ Code ด้านล่าง
data[‘Close’] หรือ data.Close
หน้าตาข้อมูลก็จะประมาณนี้
หลังจากที่เราดึงข้อมูลจาก Yahoo Finance ได้เรียบร้อยแล้วเราก็สามารถนำข้อมูลในรูปแบบของ DataFrame ไปใช้งานต่อได้ จะไป Visualize หรือเอาไปจัดเตรียมเพื่อเข้า Model ก็ได้
ตัวอย่างการทำ Visualize
data.Close.plot(figsize=(12,10))
Investic
สนใจคอร์สเขียน Python เพื่อการลงทุน และสร้างบอทเทรดในตลาดหุ้น forex หรือ Crypto สามารถดูรายละเอียดเพิ่มเติมได้ที่ https://www.facebook.com/investicbkk/posts/537412977833386