Trong thế giới đầu tư chứng khoán đầy biến động, việc dự đoán giá cổ phiếu luôn là một thách thức lớn nhưng cũng đầy hấp dẫn. Với sự phát triển của công nghệ, học máy (Machine Learning) đã trở thành một công cụ mạnh mẽ, giúp nhà đầu tư phân tích dữ liệu và đưa ra các dự báo có cơ sở hơn. Bạn không cần phải là một nhà khoa học dữ liệu chuyên nghiệp để bắt đầu. Bài viết này sẽ cung cấp một hướng dẫn xây dựng mô hình học máy (Machine Learning) đơn giản để dự đoán giá cổ phiếu, giúp bạn làm quen với quy trình và những khái niệm cơ bản.
Chúng ta sẽ đi qua từng bước, từ việc thu thập dữ liệu, tiền xử lý, lựa chọn mô hình, huấn luyện, đánh giá và cuối cùng là đưa ra dự đoán. Mặc dù đây là một mô hình đơn giản, nó sẽ đặt nền tảng vững chắc cho việc bạn tiếp tục khám phá sâu hơn về ứng dụng của AI trong thị trường tài chính.
Học máy là một nhánh của Trí tuệ nhân tạo (AI) cho phép hệ thống máy tính học hỏi từ dữ liệu, nhận diện các mẫu hình và đưa ra quyết định hoặc dự đoán mà không cần được lập trình tường minh. Trong bối cảnh dự đoán giá cổ phiếu, học máy sẽ “học” từ dữ liệu lịch sử của giá, khối lượng giao dịch, các chỉ số và các yếu tố liên quan để tìm ra mối quan hệ giữa chúng và xu hướng giá tương lai.
Có thể bạn quan tâm Công cụ hỗ trợ giao dịch hợp đồng tương lai chỉ số VN30
Chúng ta sẽ sử dụng ngôn ngữ lập trình Python và một số thư viện phổ biến để xây dựng mô hình.
Dữ liệu là “nhiên liệu” cho mô hình học máy. Đối với dự đoán giá cổ phiếu, bạn cần dữ liệu lịch sử về giá của cổ phiếu đó.
yfinance
, pandas_datareader
.yfinance
: import yfinance as yf
import pandas as pd
# Tải dữ liệu lịch sử của cổ phiếu Apple (AAPL)
ticker = "AAPL"
start_date = "2010-01-01"
end_date = "2023-12-31"
data = yf.download(ticker, start=start_date, end=end_date)
print(data.head())
Có thể bạn quan tâm Công cụ AI Chứng Khoán
Dữ liệu thô thường không phù hợp để đưa trực tiếp vào mô hình. Bước này giúp làm sạch và chuẩn bị dữ liệu.
data.dropna(inplace=True) # Xóa các hàng có giá trị thiếu
data['Tomorrow_Close'] = data['Close'].shift(-1) # Dịch chuyển giá đóng cửa 1 ngày về trước
data.dropna(inplace=True) # Xóa dòng cuối cùng có giá trị NaN
data['MA_5'] = data['Close'].rolling(window=5).mean() # Trung bình động 5 ngày
data['MA_20'] = data['Close'].rolling(window=20).mean() # Trung bình động 20 ngày
data['RSI'] = # Tính toán RSI (cần một thư viện như TA-Lib hoặc tự viết hàm)
data.dropna(inplace=True)
from sklearn.model_selection import train_test_split
features = ['Open', 'High', 'Low', 'Close', 'Volume', 'MA_5', 'MA_20'] # Các biến đầu vào
target = 'Tomorrow_Close' # Biến mục tiêu
X = data[features]
y = data[target]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
Có nhiều thuật toán học máy phù hợp để dự đoán giá liên tục (regression tasks). Chúng ta sẽ sử dụng một mô hình hồi quy tuyến tính đơn giản làm ví dụ.
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train_scaled, y_train)
Xem thông tin Giá vàng hôm nay
Sau khi huấn luyện, bạn cần đánh giá xem mô hình hoạt động tốt như thế nào trên dữ liệu mà nó chưa từng thấy (tập kiểm tra).
y_pred = model.predict(X_test_scaled)
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
import numpy as np
mae = mean_absolute_error(y_test, y_pred)
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mse)
r2 = r2_score(y_test, y_pred)
print(f"MAE: {mae}")
print(f"RMSE: {rmse}")
print(f"R2 Score: {r2}")
import matplotlib.pyplot as plt
plt.figure(figsize=(12, 6))
plt.plot(y_test.index, y_test, label='Giá thực tế')
plt.plot(y_test.index, y_pred, label='Giá dự đoán', alpha=0.7)
plt.title(f'Dự đoán giá cổ phiếu {ticker} (Linear Regression)')
plt.xlabel('Ngày')
plt.ylabel('Giá đóng cửa')
plt.legend()
plt.show()
Một mô hình đơn giản thường có thể được cải thiện.
Việc xây dựng mô hình học máy (Machine Learning) đơn giản để dự đoán giá cổ phiếu là một hành trình thú vị và đầy thử thách. Bằng cách thực hiện từng bước từ thu thập, tiền xử lý dữ liệu, huấn luyện, đánh giá và cải thiện mô hình, bạn sẽ dần nắm vững các kiến thức cơ bản về Machine Learning trong lĩnh vực tài chính. Hãy nhớ rằng, AI là một công cụ mạnh mẽ, nhưng nó cần được sử dụng một cách thông minh, kết hợp với kiến thức và kinh nghiệm của nhà đầu tư để đạt được thành công bền vững trên thị trường chứng khoán.
Trong thế giới tài chính hiện đại, nơi tốc độ và thông tin là yếu…
Thị trường chứng khoán Việt Nam khép lại phiên giao dịch ngày 26/09 trong trạng…
Thị trường chứng khoán phái sinh trong phiên giao dịch hôm nay 26/09/2025 đã ghi…
Thị trường chứng khoán vốn dĩ là một hệ thống phức tạp, phi tuyến tính…
Phiên giao dịch thị trường chứng khoán hôm nay 25/09 khép lại với diễn biến…
Ngày 25/09/2025, thị trường chứng khoán phái sinh ghi nhận một phiên giao dịch khá…