File Excel Cập Nhật Giá Cổ Phiếu: Hướng Dẫn Toàn Diện Từ A Đến Z

Mục lục bài viết

1. Giới thiệu chung về việc theo dõi giá cổ phiếu bằng file Excel

Trong thời đại số hoá, việc quản lý danh mục đầu tư và theo dõi biến động giá cổ phiếu trở nên dễ dàng hơn bao giờ hết nhờ vào các công cụ phần mềm. Trong số những công cụ phổ biến, Microsoft Excel vẫn giữ vị trí quan trọng nhờ tính linh hoạt, khả năng tùy biến cao và tích hợp các hàm mạnh mẽ.

Việc tạo một file Excel cập nhật giá cổ phiếu không chỉ giúp nhà đầu tư nắm bắt thông tin nhanh chóng mà còn cho phép thực hiện các phân tích kỹ thuật, tính toán lợi nhuận, rủi ro và dự báo xu hướng trong tương lai. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ việc chuẩn bị dữ liệu, thiết lập các công thức, kết nối API để tự động cập nhật, cho tới các mẹo tối ưu hoá file để làm việc hiệu quả hơn.

2. Lý do nên sử dụng Excel để theo dõi giá cổ phiếu

2.1. Tính linh hoạt và tùy biến

  • Thêm/ bớt cột, hàng: Bạn có thể tự do thêm các cột như “Khối lượng giao dịch”, “P/E Ratio”, “EPS”, “Dividend Yield” tùy theo nhu cầu.
  • Tạo biểu đồ tùy chỉnh: Excel hỗ trợ đa dạng loại biểu đồ (line, bar, candlestick…) giúp trực quan hoá dữ liệu.
  • Áp dụng các hàm tính toán: SUM, AVERAGE, XIRR, XNPV, VLOOKUP, INDEX/MATCH, OFFSET… giúp xây dựng các mô hình tài chính phức tạp.

2.2. Khả năng tự động cập nhật dữ liệu

Nhờ tính năng Power Query (hoặc Get & Transform) và Web Queries, bạn có thể kéo dữ liệu giá cổ phiếu trực tiếp từ các nguồn tài chính như Yahoo Finance, Google Finance, Bloomberg, hoặc các API của sàn chứng khoán. Khi dữ liệu nguồn thay đổi, chỉ cần refresh, file Excel sẽ tự động cập nhật.

2.3. Dễ dàng chia sẻ và tích hợp

File Excel có thể được lưu trên OneDrive, Google Drive, SharePoint để đồng bộ, chia sẻ với đồng nghiệp hoặc cố vấn tài chính. Ngoài ra, Excel còn hỗ trợ Power BI để tạo dashboard tương tác mạnh mẽ.

3. Chuẩn bị môi trường làm việc

3.1. Cài đặt phần mềm

  • Microsoft Excel 2026 trở lên (hoặc Office 365) – hỗ trợ Power Query, Power Pivot.
  • Power Query Add‑in (nếu dùng Excel 2026/2026).
  • Các tiện ích bổ sung:
  • XLTools (đối với version cũ).
  • Kutools for Excel (hỗ trợ thao tác nhanh).

3.2. Đăng ký API tài chính

Để tự động lấy dữ liệu, bạn cần một nguồn cung cấp API. Một số lựa chọn phổ biến:

Nhà cung cấpĐặc điểmChi phí
Alpha Vantage5 yêu cầu/ phút miễn phí, hỗ trợ CSV/JSONMiễn phí (gói cao cấp có hạn chế)
IEX CloudDữ liệu thời gian thực, lịch sửGói miễn phí 10k requests/tháng
Yahoo Finance (unofficial)Không chính thức, nhưng dễ dùng qua URLMiễn phí
FinnhubDữ liệu thời gian thực, tin tứcMiễn phí gói cơ bản
Bloomberg APIDữ liệu chuyên nghiệp, phí caoĐộc quyền

Bạn chỉ cần đăng ký để lấy API Key (mã khóa) và ghi nhớ để dùng trong Excel.

4. Xây dựng cấu trúc file Excel cơ bản

4.1. Bảng danh mục cổ phiếu

STTMã CKTên công tySố lượngGiá muaGiá hiện tạiGiá trị hiện tạiLợi nhuận/ Lỗ
  • STT: số thứ tự.
  • Mã CK: ví dụ “AAA”, “VNM”.
  • Số lượng: số cổ phiếu đang nắm giữ.
  • Giá mua: giá mua trung bình.
  • Giá hiện tại: sẽ được cập nhật tự động.
  • Giá trị hiện tại = Số lượng Giá hiện tại.
  • Lợi nhuận/Lỗ = Giá trị hiện tại - (Số lượng Giá mua).

4.2. Bảng lịch sử giá

NgàyMã CKGiá mở cửaGiá cao nhấtGiá thấp nhấtGiá đóng cửaKhối lượng

Bạn có thể lưu lịch sử trong một sheet riêng, dùng để phân tích xu hướng, tính trung bình động (MA), RSI,…

4.3. Bảng biểu đồ và phân tích

  • Biểu đồ đường: biến động giá trong 30 ngày.
  • Candlestick: biểu đồ nến Nhật.
  • PivotTable: tổng hợp lợi nhuận theo ngành, thời gian.

5. Cách lấy dữ liệu giá cổ phiếu tự động bằng Power Query

5.1. Sử dụng Yahoo Finance (URL trực tiếp)

  1. Mở Excel → Data → Get Data → From Web.
  2. Nhập URL: https://query1.finance.yahoo.com/v7/finance/download/AAA?period1=START&period2=END&interval=1d&events=history
  3. Thay AAA bằng mã cổ phiếu.
  4. START và END là timestamp Unix (ví dụ: 1609459200 cho 01/01/2026).
  5. Chọn Import → Transform Data. Power Query sẽ hiển thị bảng giá lịch sử.
  6. Đổi tên các cột, định dạng kiểu dữ liệu (Date, Decimal).
  7. Nhấn Close & Load → dữ liệu sẽ xuất hiện trong một sheet mới.

5.2. Sử dụng Alpha Vantage (JSON)

  1. Đăng ký và lấy API Key.
  2. URL mẫu: https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=AAA&apikey=YOUR_KEY&outputsize=compact&datatype=json
  3. Data → Get Data → From Web → dán URL.
  4. Power Query sẽ trả về JSON. Chọn Record → List → Table để chuyển thành bảng.
  5. Mở rộng các cột (open, high, low, close, volume).
  6. Đặt lại tên cột, định dạng.
  7. Close & Load.

5.3. Tự động refresh

  • Data → Queries & Connections → Properties → Tick Refresh every 60 minutes (hoặc tùy ý).
  • Đánh dấu Refresh data when opening the file để mỗi lần mở file sẽ tự động cập nhật.

6. Tính toán tự động trong Excel

6.1. Công thức lấy giá hiện tại

Giả sử sheet “Giá lịch sử” có cột Close (đóng) và Date. Để lấy giá mới nhất:

=LOOKUP(2,1/(GiáLịchSử!$A$2:$A$1000=MAX(GiáLịchSử!$A$2:$A$1000)),GiáLịchSử!$B$2:$B$1000)

Hoặc dùng XLOOKUP (Office 365):

=XLOOKUP(MAX(GiáLịchSử!$A$2:$A$1000),GiáLịchSử!$A$2:$A$1000,GiáLịchSử!$B$2:$B$1000)

6.2. Tính lợi nhuận %

=IF(@GiáMua=0,0,(@GiáHiệnTại-@GiáMua) / @GiáMua)

Định dạng ô dưới dạng Percentage.

6.3. Trung bình động (MA) 20 ngày

Trong sheet “Lịch sử”, cột MA20:

=AVERAGE(OFFSET(@Close,-19,0,20,1))

Kéo công thức xuống để tính cho các ngày tiếp theo.

6.4. RSI 14 ngày

File Excel Cập Nhật Giá Cổ Phiếu
File Excel Cập Nhật Giá Cổ Phiếu

Công thức phức tạp, có thể dùng Add‑in hoặc viết macro VBA. Một cách nhanh:

  1. Tạo cột Change = Close - OFFSET(Close,-1,0).
  2. Tạo cột Gain = MAX(Change,0), Loss = ABS(MIN(Change,0)).
  3. Tính AvgGain và AvgLoss bằng công thức trung bình trượt 14 ngày.
  4. RSI = 100 - (100/(1 + AvgGain/AvgLoss)).

7. Tạo Dashboard tổng quan

7.1. Sử dụng PivotTable

  • Rows: Mã CK, Tên công ty.
  • Values: Tổng số lượng, Tổng giá trị hiện tại, Lợi nhuận.
  • Filters: Ngày cập nhật, Ngành.

7.2. Thêm slicer

Chèn Slicer cho “Ngành” hoặc “Thị trường” để người dùng lọc nhanh.

7.3. Biểu đồ

  • Line chart: Giá đóng cửa 30 ngày gần nhất.
  • Bar chart: Lợi nhuận theo cổ phiếu.
  • Donut chart: Tỷ trọng danh mục theo ngành.

7.4. Định dạng có điều kiện

  • Lợi nhuận >0 → màu xanh, <0 → màu đỏ.
  • Giá hiện tại > MA20 → highlight.

8. Mẹo tối ưu hoá file Excel

8.1. Giảm kích thước file

  • Xóa các cột/ hàng không cần.
  • Sử dụng Table thay vì dải ô lớn.
  • Turn off Auto‑Calculate trong Formulas → Calculation Options → Manual nếu dữ liệu quá lớn, rồi F9 để tính khi cần.

8.2. Bảo mật dữ liệu

  • Protect Sheet: ngăn người dùng thay đổi công thức.
  • Encrypt with password: bảo vệ toàn bộ file.
  • Hide API Key: lưu vào một sheet ẩn, dùng công thức =SheetHidden!A1 để gọi.

8.3. Sử dụng Power Pivot

Nếu danh mục có hàng ngàn cổ phiếu và dữ liệu lịch sử dài năm, Power Pivot cho phép model dữ liệu lớn hơn 1M hàng, tính toán nhanh bằng DAX (Data Analysis Expressions).

9. Ví dụ thực tế: Xây dựng file cập nhật 5 cổ phiếu VN‑INDEX

9.1. Danh sách cổ phiếu

Mã CKTên công ty
VNMVinamilk
VCBVietcombank
VICVingroup
FPTFPT Corp
HPGHòa Phát

9.2. Kết nối API VN‑Direct (hoặc Bloomberg)

  • URL mẫu: https://api.vndirect.com.vn/v1/quotes?symbol=VNM,VCB,VIC,FPT,HPG&apikey=YOUR_KEY
  • Dữ liệu trả về JSON: { "symbol":"VNM","price":95.3,"open":94.5,… }

9.3. Power Query

  1. Data → From Web → dán URL.
  2. Chọn List → To Table.
  3. Expand các trường: Symbol, Price, Open, High, Low, Volume.
  4. Đổi tên cột: “Giá hiện tại”, “Giá mở cửa”, “Khối lượng”.
  5. Load vào sheet “Giá hiện tại”.

9.4. Công thức tính lợi nhuận

Trong sheet “Danh mục”:

  • Giá hiện tại = VLOOKUP(@MãCK,GiáHiệnTại!$A$2:$D$100,2,FALSE)
  • Lợi nhuận = (@GiáHiệnTại - @GiáMua) @Số lượng.

9.5. Dashboard

  • PivotTable tổng lợi nhuận.
  • Bar chart hiển thị lợi nhuận từng mã.
  • Slicer cho “Ngành” (nếu có).

Kết quả: Khi mở file, dữ liệu tự động cập nhật, bạn ngay lập tức nhìn được tổng giá trị danh mục, cổ phiếu nào đang tăng, nào giảm.

10. Xử lý lỗi thường gặp

LỗiNguyên nhânGiải pháp
#N/A khi VLOOKUPMã CK không tồn tại trong bảng giáKiểm tra chính tả, dùng TRIM để loại bỏ khoảng trắng.
#VALUE! trong công thức MADữ liệu không liên tục (ô trống)Dùng IFERROR hoặc IF(ISNUMBER(…),…,0) để bỏ qua ô trống.
Không thể refresh APIHết quota hoặc key saiKiểm tra giới hạn API, đổi key, hoặc chuyển sang gói cao hơn.
File chậm khi mởNhiều công thức mảng, dữ liệu lớnChuyển sang Power Pivot, tắt Auto‑Calculate, dùng VBA để batch refresh.

11. Tự động gửi báo cáo qua email

Bạn có thể dùng VBA để gửi file Excel hoặc báo cáo tóm tắt mỗi ngày:

Sub SendReport() Dim OutApp As Object, OutMail As Object Dim rng As Range, body As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) 'Lấy nội dung từ sheet báo cáo Set rng = Sheets("Dashboard").Range("A1:G20") body = RangetoHTML(rng) With OutMail .To = "nhanvien@example.com" .Subject = "Báo cáo giá cổ phiếu ngày " & Format(Date, "dd/mm/yyyy") .HTMLBody = body .Display 'hoặc .Send End With Set OutMail = Nothing Set OutApp = Nothing
End Sub

Hàm RangetoHTML là hàm chuẩn để chuyển vùng Excel thành HTML.

12. Lưu trữ và sao lưu

  • OneDrive/SharePoint: tự động versioning, khôi phục phiên bản cũ.
  • Google Drive: dùng Excel Online để chỉnh sửa đồng thời.
  • Backup: Lưu bản sao mỗi tuần trên ổ cứng ngoài hoặc dịch vụ cloud khác.

13. Kết luận

Việc tạo và duy trì một file Excel cập nhật giá cổ phiếu là một trong những công cụ mạnh mẽ và tiết kiệm chi phí nhất cho nhà đầu tư cá nhân và doanh nghiệp. Nhờ vào:

  1. Khả năng tự động lấy dữ liệu qua Power Query hoặc API,
  2. Các hàm tài chính tích hợp sẵn trong Excel,
  3. Độ linh hoạt trong việc thiết kế bảng, biểu đồ, dashboard,
  4. Khả năng chia sẻ và bảo mật thông qua các nền tảng đám mây,

bạn có thể nhanh chóng nắm bắt thị trường, đưa ra quyết định đầu tư chính xác và quản lý rủi ro hiệu quả.

Hãy bắt đầu với những bước cơ bản đã nêu ở trên, sau đó dần dần mở rộng tính năng (Power Pivot, DAX, VBA) để xây dựng một hệ thống theo dõi danh mục đầu tư chuyên nghiệp. Chúc bạn thành công và luôn đạt được lợi nhuận bền vững trên thị trường chứng khoán!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận