Tính Trung Bình Động Đơn Giản (SMA) Trong Google Sheets

Bạn có đang sử dụng hàm GoogleFinance để lấy dữ liệu lịch sử từ Google Finance không? Vậy thì bạn có thể muốn biết cách tính trung bình động đơn giản (SMA) trong Google Sheets.

Nhưng điều đó không có nghĩa rằng công thức của tôi chỉ hoạt động với thông tin chứng khoán được trả về từ trang web Google Finance. Tôi đã sử dụng hàm tương ứng (GoogleFinance) để nhập một số dữ liệu lịch sử cho bài kiểm tra của chúng ta.

Công thức chỉ đòi hỏi các điểm dữ liệu (số) trong một cột để hoạt động.

Trong bài hướng dẫn này, bạn sẽ được cung cấp công thức kết hợp Điều tra và GoogleFinance để tính toán trung bình động đơn giản trong Google Sheets.

Đừng lo lắng về độ phức tạp của công thức. Bạn có thể sử dụng nó mà không cần chỉnh sửa.

SMA: Hiểu Thuật Ngữ

Trung Bình Động Đơn Giản (SMA) là trung bình của một tập hợp các số đã cho. Khác với cách tính trung bình thông thường, trong SMA, tập hợp các số đã cho di chuyển với dữ liệu mới.

Chúng ta tính SMA bằng cách cộng tổng giá đóng cửa của n ngày CUỐI CÙNG (nếu chúng ta xem xét dữ liệu chứng khoán) và chia số đó cho n.

Chúng ta sẽ sử dụng hàm GoogleFinance để lấy giá đóng cửa của một mã chứng khoán cụ thể cho một khoảng thời gian nhất định và tính trung bình động đơn giản.

Hãy quên đi về dữ liệu chứng khoán và hiểu về SMA bằng một ví dụ cơ bản.

Dưới đây là một ví dụ về cách tính trung bình động đơn giản của ba điểm dữ liệu cuối cùng trong một phạm vi trong Google Sheets.

Trên ô C3, tôi đã tính trung bình của ba điểm dữ liệu CUỐI CÙNG trong cột A bằng công thức Trung bình sau đây.

=average(A6:A8)

Sau đó, một giá trị mới xuất hiện trong ô A9. Vì vậy, chúng ta phải bỏ đi một điểm dữ liệu cũ nhất (ô A6) và thêm điểm dữ liệu mới (A9). Đó là công thức thứ hai trong hình ảnh ở trên.

=average(A7:A9)

Trên đây là một ví dụ về cách tính trung bình động đơn giản trong Google Sheets.

Nhưng làm sao chúng ta tự động hóa công thức tương tự? Tôi có nghĩa là, tránh việc chỉnh sửa phạm vi bằng tay trong công thức.

Cách Tính Trung Bình Động Đơn Giản Một Cách Linh Hoạt Trong Google Sheets

Như tôi đã đề cập ở trên, để tính trung bình động đơn giản trong Google Sheets, bạn cần một công thức, có thể trích xuất ra được N giá trị cuối cùng trong một cột hoặc hàng.

Chúng ta có thể sử dụng công thức sau đây cho việc đó.

=ArrayFormula(iferror(average(query(if(len(A1:A),{ROW(A1:A),A1:A},),"Select Col2 where Col2>0 order by Col1 Desc limit 3"))))

Trong công thức này, N bằng 3. Hãy xem phần được tô đậm ở cuối câu lệnh Query.

Để biết chi tiết, vui lòng kiểm tra hướng dẫn: Tìm trung bình cộng của N giá trị cuối cùng trong Google Sheets.

Vậy là bạn đã học cách tính trung bình động đơn giản trong Google Sheets.

Bây giờ hãy nhập một số dữ liệu lịch sử từ Google Finance và tính động đơn giản trung bình trong Google Sheets.

Bởi vì SMA là một phần của chiến lược giao dịch và giúp xác định xem giá tài sản có tiếp tục theo xu hướng tăng hay giảm hoặc đảo ngược. Nó giúp các nhà giao dịch lờ đi những biến động giá hàng ngày.

Trung Bình Động Đơn Giản Kết Hợp Query và GoogleFinance Trong Google Sheets

Ở đây, tôi sẽ tính toán SMA bằng cách thêm giá đóng cửa của chứng khoán, mã HDFC, trong 10 ngày qua.

Cú pháp của GoogleFinance: GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval])

ticker: “HDFC”
attribute: close
start_date: today()-10
end_date: today()
interval: “daily”

Công thức (để lấy dữ liệu chứng khoán) trong ô A1:

=GOOGLEFINANCE("HDFC","close",today()-10,today(),"daily")

Kết quả:

Bạn sẽ thấy một kết quả khác nhau, ngay cả khi ký hiệu mã chứng khoán là giống nhau vì start_dateend_date sẽ không giống nhau khi bạn thực hiện bài kiểm tra này.

Calculating Simple Moving Average Using Google Finance Data

Lưu ý:
Để đáp lại sự ngạc nhiên của bạn, bạn có thể thấy rằng chỉ có một số điểm dữ liệu ít hơn! Điều này là do công thức GoogleFinance bỏ qua các ngày nghỉ giao dịch. Tôi sẽ đề xuất một phương pháp xử lý sau đây.

Bây giờ, sử dụng Query, chúng ta có thể tính trung bình động đơn giản của các điểm dữ liệu trong cột B, vì nó có thể loại bỏ cột “Ngày” A và tổng hợp cột “Đóng” B.

Công thức (để tính toán trung bình động đơn giản từ dữ liệu chứng khoán):

Đóng gói công thức trên với Query như dưới đây.

=query(GOOGLEFINANCE("HDFC","close",today()-10,today(),"daily"),"Select Avg(Col2) label Avg(Col2)''")

Giải pháp khi GoogleFinance trả về ít điểm dữ liệu

Như bạn có thể thấy trong ví dụ trên, hàm GoogleFinance trả về ít điểm dữ liệu hơn.

Nếu bạn quan tâm đến số lượng điểm dữ liệu, bạn phải chỉnh sửa phần today()-10 của công thức.

Thay thế 10 bằng 30, tức là today()-30 hoặc một số lớn hơn. Điều đó sẽ giúp GoogleFinance nhập dữ liệu chứng khoán trong hơn mười ngày.

Ở đây, chúng ta cần thực hiện hai bước để tính trung bình động đơn giản trong Google Sheets.

Bước 1:

Vui lòng chèn công thức sau đây vào ô A1 để có được dữ liệu chứng khoán trong 30 ngày qua (mặc dù chúng ta chỉ muốn 10 ngày).

=GOOGLEFINANCE("HDFC","close",today()-30,today(),"daily")

Bước 2:

Chúng ta sẽ sử dụng một biến thể của công thức trong phần tiêu đề “Cách Tính Trung Bình Động Đơn Giản Một Cách Linh Hoạt Trong Google Sheets” như dưới đây.

=ArrayFormula(iferror(average(query(if(len(A1:A),{ROW(A1:A),B1:B},),"Select Col2 where Col2>0 order by Col1 Desc limit 10"))))

Getting Fewer Data Points in Moving Average when Using GoogleFinance Function: Solution

Tôi đã đề cập rõ nơi bạn có thể tìm hiểu cách giải thích công thức này. Đó là tất cả về cách tính trung bình động đơn giản trong Google Sheets.

Related posts