DEV Community

thebiewza
thebiewza

Posted on

การทำนายราคาหุ้นของ Tesla โดยใช้เทคโนโลยี Machine Learning

Tesla เป็นบริษัทรถยนต์ไฟฟ้าของสหรัฐอเมริกาที่มีเป้าหมายเพื่อการผลักดันโลกในการเปลี่ยนแปลงไปสู่การใช้พลังงานทางเลือกที่ยั่งยืน นั่นทำให้ Tesla ได้เป็นที่น่าจับตาไปทั่วโลกมาอย่างยาวนานเนื่องจากรัฐบาลของหลาย ๆ ประเทศทั่วโลกได้สนับสนุนวิสัยทัศน์ในการใช้พลังงานทางเลือกกับระบบยานยนต์ของ ไม่กี่ปีหลังจากนั้น ราคาหุ้นที่เพิ่มขึ้นของบริษัท Tesla ทำให้ Elon Musk CEO ของบริษัทได้เป็นคนรวยที่สุดในโลก นั่นทำให้การทำนายราคาหุ้นโดยการใช้ Machine Learning ถือว่าเป็นตัวอย่างที่ดี ดังนั้นในบทความนี้เราจะมาทำนายราคาหุ้นของ Tesla ด้วย Machine Learning โดยใช้ภาษา Python กัน

โดยจะทำการทำนายราคาหุ้นด้วยการใช้ Machine Learning ในการวิเคราะห์ทั้งด้านการเงินและการวิเคราะห์ชุดข้อมูลแบบ time series analysis ในบทความนี้เราจะใช้โมเดล Facebook Prophet สำหรับการทำนายราคาหุ้นของ Tesla.

Method

ชุดข้อมูล Dataset ที่เราจะใช้กันนั้นสามารถ download ได้ที่ yahoo finance แล้วค้นหา TLSA. หรือคลิกที่ลิ้งค์นี้ --> TSLA. download

Image description

เลือกช่วงเวลาที่ต้องการได้จากนั้นกด Apply จากนั้นกด Download เราจะได้ไฟล์ข้อมูล "TLSA.csv" มา

ข้อมูลที่ใช้จะประกอบไปด้วย 250 แถว คือราคาหุ้นที่เปลี่ยนแปลงในแต่ละวัน (ข้อมูลระหว่างวันที่ 27 มีนาคม 2563 - 27 มีนาคม 2564) และข้อมูลประกอบด้วย 7 columns ดังนี้

[1] Date : วันที่
[2] Open (Opening Price) : ราคาเปิด
[3] High : ราคาสูงสุดที่มีการซื้อขายในวันนั้น
[4] Low : ราคาต่ำสุดที่มีการซื้อขายในวันนั้น
[5] Close (Closing Price) : ราคาปิดของวันทำการซื้อขายก่อนหน้า
[6] Adj Close : ราคาที่ปรับไปตามผลกระทบที่ได้รับจาก Corporate Action ทำให้ราคาปิดของวันก่อนขึ้นเครื่องหมาย Corporate Actions เปลี่ยนแปลงไป
[7] Volume : ปริมาณการซื้อรวมของหุ้น ณ เวลานั้น

ตัวอย่างของข้อมูล

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from fbprophet import Prophet

data = pd.read_csv("TSLA.csv")
data.head()
Enter fullscreen mode Exit fullscreen mode

ตารางการแสดงผล TSLA.csv 5 ลำดับแรก
Image description

ลองเปรียบเทียบ Close กับ Date ในแต่ละวัน

close = data['Close']
ax = close.plot(title='Tesla')
ax.set_xlabel('Date')
ax.set_ylabel('Close')
plt.show()
Enter fullscreen mode Exit fullscreen mode

การแสดงผลของราคา Close กับ time series
Image description

เราจะใช้ข้อมูลเพียงสองคอลัมน์จากชุดข้อมูลนี้คือ "Date" และ "Close" ดังนั้นเราจะสร้าง DataFrame ใหม่ที่มีเพียงสองคอลัมน์นี้เท่านั้น โดยใช้ไลบรารี Pandas ของ Python ได้ดังนี้ -->

data["Date"] = pd.to_datetime(data["Date"], infer_datetime_format=True)
data = data[["Date", "Close"]]

จากนั้นเราจะใช้ Facebook prophet model เพื่อทำนายราคาหุ้นของ Tesla แต่ต้องเปลี่ยนชื่อก่อน

data = data.rename(columns={"Date" : "ds", "Close" : "y" })

ดังนั้นเราได้เตรียมชุดข้อมูลใหม่สำหรับโมเดล Facebook Prophet แล้ว ตอนนี้เราจะทำนายราคาหุ้นของ Tesla ด้วยโค้ดนี้ต่อไปนี้

ตัวอย่างโค้ดการทำนายราคาหุ้น

model = Prophet()
model.fit(data)
predict = model.make_future_dataframe(periods=365)
forcast = model.predict(predict)
forcast[["ds", "yhat", "yhat_lower", "yhat_upper"]].tail()
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างข้อมูลชุดใหม่ส่วนท้าย [.tail()]
Image description

จากนั้นนำข้อมูลที่ได้มา plot ด้วยข้อมูล Date และ Price ในอนาคต
graph = model.plot(forcast, xlabel="Date", ylabel="Price")

Image description

Conclude

จากข้อมูลที่มีนั้นเป็นเพียงข้อมูลเก่าในปี 2020 เท่านั้น แต่จากการทำนายที่ได้มาเหมือนว่าราคาหุ้นของ Tesla จะลดลงในอนาคตที่กำลังจะถึง ถ้าพวกเขาไม่คิดค้นไอเดียใหม่ในการสร้างความน่าสนใจให้กับบริษัท มีความเป็นไปได้ที่บริษัทอื่น ๆ ที่เริ่มผลิตรถยนต์ไฟฟ้าในราคาที่ต่ำกว่า Tesla จะดึงดูดความสนใจของลูกค้าไป ฉะนั้น Tesla อาจต้องหาทางเรียกความสนใจจากคนให้ได้มากขึ้น และนี่คือการทำนายราคาหุ้นด้วยเครื่องมือเรียนรู้ด้วย Machine Learning ด้วย Python

อ้างอิงข้อมูลจาก click here!

Top comments (0)