8.4. Volume Indicators (Chỉ báo khối lượng)
8.4.1. MFI (Money Flow Index)
MFI là chỉ số phản ánh sức mạnh dòng tiền của một cổ phiếu trong một khoản thời gian nhất định, được phân tích dựa vào khối lượng giao dịch. Khoảng thời gian được xem xét theo ngày, tuần tháng, và thường tính toán theo giá trị 14 giai đoạn.
def mfi(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, volume: pandas.core.series.Series, window: int = 14)
Tham số
high
Cột dữ liệu chứa các giá trị cột giá cao nhất để tính toán MFI.
pandas.Series
low
Cột dữ liệu chứa các giá trị cột giá thấp nhất để tính toán MFI.
pandas.Series
close
Cột dữ liệu chứa các giá trị cột giá đóng cửa để tính toán MFI.
pandas.Series
volume
Cột dữ liệu chứa các giá trị cột khối lượng giao dịch để tính toán MFI.
pandas.Series
window
Số lượng điểm dữ liệu sử dụng trong phép tính MFI.
int
14
Ví dụ:
fi = client.FiinIndicator()
df['mfi'] = fi.mfi(df['high'], df['low'], df['close'], df['volume'], window=14)
print(df)
8.4.2. OBV (On Balance Volume)
OBV là chỉ báo khối lượng có chức năng đo lường khối lượng giao dịch tích lũy qua các phiên, từ đó cho thấy cổ phiếu đang có xu hướng được mua hay bán. Nếu phiên hôm nay là một phiên tăng giá thì khối lượng sẽ được cộng thêm vào chỉ số OBV. Ngược lại, khối lượng sẽ được trừ ra khi hôm nay là một phiên giao dịch giảm điểm.
def obv(column: pandas.core.series.Series, volume: pandas.core.series.Series)
Tham số
column
Cột dữ liệu (series) chứa các giá trị về giá để tính toán OBV.
pandas.Series
volume
Cột dữ liệu chứa các giá trị cột khối lượng giao dịch để tính toán OBV.
pandas.Series
Ví dụ:
fi = client.FiinIndicator()
df['obv'] = fi.obv(df['close'], df['volume'])
print(df)
8.4.3. VWAP (Volume Weighted Adjusted Price)
VWAP là giá trung bình theo trọng số khối lượng, giá trung bình của một cổ phiếu tính theo tổng khối lượng giao dịch. VWAP được sử dụng để tính giá trung bình của một cổ phiếu trong một khoảng thời gian.
Giá bình quân gia quyền theo khối lượng giúp so sánh giá hiện tại của cổ phiếu với giá chuẩn, giúp nhà đầu tư dễ dàng quyết định thời điểm tham gia và thoát khỏi thị trường. Ngoài ra, VWAP có thể hỗ trợ các nhà đầu tư xác định cách đầu tư của họ đối với một cổ phiếu và thực hiện chiến lược giao dịch phù hợp vào đúng thời điểm.
def vwap(high: pandas.core.series.Series, low: pandas.core.series.Series, close: pandas.core.series.Series, volume: pandas.core.series.Series, window: int = 14)
Tham số:
high
Cột dữ liệu chứa các giá trị cột giá cao nhất để tính toán VWAP.
pandas.Series
low
Cột dữ liệu chứa các giá trị cột giá thấp nhất để tính toán VWAP.
pandas.Series
close
Cột dữ liệu chứa các giá trị cột giá đóng cửa để tính toán VWAP.
pandas.Series
volume
Cột dữ liệu chứa các giá trị cột khối lượng giao dịch để tính toán VWAP.
pandas.Series
window
Số lượng điểm dữ liệu sử dụng trong phép tính VWAP.
int
14
Ví dụ:
fi = client.FiinIndicator()
df['vwap'] = fi.vwap(df['high'], df['low'], df['close'], df['volume'], window=14)
print(df)
8.4.4. Volume Profile
Volume Profile là công cụ phân tích kỹ thuật hiển thị phân bố khối lượng giao dịch tại các mức giá khác nhau trong một giai đoạn cụ thể.
Chỉ báo giúp nhà đầu tư nhận biết các vùng giá có khối lượng giao dịch lớn (vùng giá quan trọng, hỗ trợ/kháng cự) và vùng giá ít quan tâm trên biểu đồ.
def VolumeProfile(close: pandas.Series, volume: pandas.Series, high: pandas.Series = None, low: pandas.Series = None, bins: int = 20, use_typical: bool = False)
Tham số:
close
Cột giá đóng cửa dùng để xác định mức giá giao dịch.
pandas.Series
volume
Cột khối lượng giao dịch tương ứng với từng mức giá.
pandas.Series
high
Cột giá cao nhất (sử dụng khi dùng Typical Price).
pandas.Series
low
Cột giá thấp nhất (sử dụng khi dùng Typical Price).
pandas.Series
bins
Số lượng khoảng giá để chia biểu đồ Volume Profile.
int
20
use_typical
Nếu True, dùng giá Typical = (High + Low + Close)/3 thay cho Close.
bool
False
Ví dụ:
fi = client.FiinIndicator()
vp = VolumeProfile(close=data["close"], volume=data["volume"], high=data["high"], low=data["low"], bins=20, use_typical=True)
print(vp.sort_values("volume", ascending=False))
8.4.5. Accumulation Distribution Line (Chaikin)
Accumulation/Distribution Line (A/D Line), hay còn gọi là Đường Tích lũy/Phân phối, là một chỉ báo kỹ thuật dựa trên khối lượng được phát triển bởi Marc Chaikin.
Chỉ báo này đo lường dòng chảy tiền tệ (Money Flow) vào hay ra khỏi một tài sản bằng cách so sánh giá đóng cửa của một kỳ so với phạm vi giá của kỳ đó, sau đó nhân với khối lượng giao dịch. Nó dựa trên nguyên tắc: khối lượng đi trước giá.
def adl(high: pandas.Series, low: pandas.Series, close: pandas.Series, volume: pandas.Series)
Tham số:
high
Cột giá cao nhất của mỗi phiên.
pandas.Series
low
Cột giá thấp nhất của mỗi phiên.
pandas.Series
close
Cột giá đóng cửa, dùng để xác định vị trí giá trong phiên.
pandas.Series
volume
Cột khối lượng giao dịch trong mỗi phiên.
pandas.Series
Ví dụ:
fi = client.FiinIndicator()
df['adl'] = fi.adl(df["high"], df["low"], df["close"], df["volume"])
print(df)
8.4.6. Price Volume Trend
Price Volume Trend (PVT), hay còn gọi là Xu hướng Giá Khối lượng, là một chỉ báo phân tích kỹ thuật dựa trên khối lượng. Nó được thiết kế để đo lường áp lực mua và bán bằng cách kết hợp cả sự thay đổi giá và khối lượng giao dịch.
PVT là một chỉ báo tích lũy (cumulative), tương tự như On-Balance Volume (OBV), nhưng nó được xem là chính xác hơn OBV vì nó điều chỉnh khối lượng được cộng hoặc trừ vào tổng tích lũy dựa trên phần trăm thay đổi của giá.
def pvt(close: pandas.Series, volume: pandas.Series)
Tham số:
close
Cột giá đóng cửa của mỗi phiên.
pandas.Series
volume
Cột khối lượng giao dịch tương ứng.
pandas.Series
Ví dụ:
fi = client.FiinIndicator()
df['pvt'] = fi.pvt(df["close"], df["volume"])
print(vp.sort_values("volume", ascending=False))
Last updated