ราคาของคริปโตเคอเรนซี่นั้นมีการเปลี่ยนแปลงอยู่เสมอ ซึ่งเกิดได้หลากหลายสาเหตุนอกจากการซื้อขาย ไม่ว่าจะเป็นกระแสข่าวต่างๆหรือความนิยมของสกุลเงินคริปโตนั้นๆ ทำให้คาดเดาทิศทางราคาได้ค่อนข้างยาก การใช้ Machine Learning นั้นจะทำการศึกษาข้อมูลการซื้อขายในอดีตเพื่อช่วยทำนายแนวโน้มทิศทางของราคาคริปโตเคอเรนซี่ได้ ดังนั้นผมจะนำเสนอขั้นตอนและวิธีการต่างๆให้เห็นว่าการใช้AIเข้าช่วยจะเป็นอย่างไรบ้าง โดยใช้สกุลเงินอย่าง bitcoin เป็นตัวอย่าง
ขั้นตอนที่1 : รวบรวมข้อมูลราคาของbitcoin มาวิเคราะห์
ในการจะทำระบบ Machine Learning นั้นจำเป็นต้องที่จะมีข้อมูลในการศึกษาก่อน โดยนำข้อมูลราคาคริปโตจาก Yahoo Finance โดยใช้ yfinance API ในการรันโค้ด ซึ่งจะแสดงราคา bitcoin ในช่วง 730 วันที่ผ่านมา
หมายเหตุ : yfinance API เป็น API ที่ให้บริการโดย Yahoo Finance ซึ่งข้อดีคือข้อมูลจะถูกอัปเดตเป็นราคาล่าสุดอยู่เสมอ
import pandas as pd
import yfinance as yf
import datetime
from datetime import date, timedelta
today = date.today()
d1 = today.strftime("%Y-%m-%d")
end_date = d1
d2 = date.today() - timedelta(days=730)
d2 = d2.strftime("%Y-%m-%d")
start_date = d2
data = yf.download('BTC-USD',
start=start_date,
end=end_date,
progress=False)
data["Date"] = data.index
data = data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())
data.shape
จากตารางข้อมูลจะเห็นได้ว่ามีเพียง5แถวหรือ5วันซึ่งไม่ตรงกับที่เรากำหนดไว้ ดังนั้นเราจึงต้องตรวจสอบข้อมูลว่าตรงหรือไม่ผ่านการรันโค้ดตัวนี้
data.shape
(730, 7)
หลังจากตรวจสอบเรียบร้อยแล้ว เราจะแสดงให้เห็นการเปลี่ยนแปลงราคาเป็นกราฟรูปแบบแท่งเทียนกัน
import plotly.graph_objects as go
figure = go.Figure(data=[go.Candlestick(x=data["Date"],
open=data["Open"],
high=data["High"],
low=data["Low"],
close=data["Close"])])
figure.update_layout(title = "Bitcoin Price Analysis",
xaxis_rangeslider_visible=False)
figure.show()
ขั้นตอนที่ 2 : ออกแบบ AI ในการทำนายราคา
ในการทำงานของAIนั้นจะใช้เทคนิค Time series analysis ซึ่งเป็นการวิเคราะห์ข้อมูลที่มีลักษณะเป็นชุดข้อมูลเชิงเวลา โดย AutoTS library เป็นหนึ่งในไลบรารี่ที่ดีที่สุดสำหรับการวิเคราะห์ ดังนั้นเราจะนำมาใช้ในการทำนายราคา Bitcoin ในช่วง 30 วันข้างหน้า
from autots import AutoTS
model = AutoTS(forecast_length=30, frequency='infer', ensemble='simple')
model = model.fit(data, date_col='Date', value_col='Close', id_col=None)
prediction = model.predict()
forecast = prediction.forecast
print(forecast)
บทสรุป
จากการใช้ AI ช่วยนั้นสามารถช่วยในการคาดเดาราคาที่เรากำหนดได้ แต่ยังมีข้อจำกัดอยู่มากมายเช่นความผันผวนของราคาซึ่งอาจเกิดขึ้นได้ตลอดเวลาทำให้การทำนายอาจมีการคลาดเคลื่อนอีกทั้ง AI จะทำงานก็ต่อเมื่อมีการซื้อขายจากข้อมูลที่ได้หากไม่มีสิ่งนี้ AI จะไม่สามารถทำงานได้เลย
Top comments (0)