Basis phái sinh là gì? Chênh lệch VN30F1M và VN30 cho người mới

· · Kiến thức quant

Basis phái sinh là gì? Chênh lệch VN30F1M và VN30 cho người mới

> Tóm tắt nhanh: Basis phái sinh là phần chênh lệch giữa giá hợp đồng tương lai VN30F1M và giá trị chỉ số VN30 tại cùng một thời điểm. Về lý thuyết, độ lệch này đến từ chi phí nắm giữ (cost of carry: lãi suất trừ cổ tức) cộng với cung cầu và tâm lý thị trường, và nó thu hẹp dần về gần 0 khi hợp đồng tiến tới ngày đáo hạn. Khi giao dịch hoặc backtest, basis ảnh hưởng trực tiếp tới tín hiệu, cách nối hợp đồng và chi phí roll.

Nếu bạn theo dõi VN30F1M hằng ngày, bạn sẽ thấy giá hợp đồng hiếm khi trùng với chỉ số VN30: có hôm cao hơn vài điểm, có hôm thấp hơn. Nhiều người mới coi đó là nhiễu, nhưng với người làm quant, basis là một biến số cần hiểu rõ trước khi viết bất kỳ chiến lược nào. Bài này giải thích basis theo ngôn ngữ đơn giản, đi qua cơ chế lý thuyết, hiện tượng hội tụ ngày đáo hạn và các bẫy thường gặp khi backtest. Nếu bạn chưa quen với hợp đồng tương lai chỉ số, hãy đọc trước bài chứng khoán phái sinh VN30F1M và dữ liệu nói gì.

Lưu ý: bài viết mang tính giáo dục, không phải khuyến nghị mua bán. Các con số trong ví dụ đều là giả định để minh họa, không phải dữ liệu thị trường thật.

Basis phái sinh là gì? Định nghĩa một câu và công thức

Basis là chênh lệch giữa giá hợp đồng tương lai và giá tài sản cơ sở tại cùng một thời điểm. Với VN30F1M, tài sản cơ sở là chỉ số VN30, nên:

Basis = Giá VN30F1M − Giá trị chỉ số VN30

Ví dụ giả định: VN30F1M đang ở 1.305 điểm, VN30 ở 1.300 điểm thì basis là +5 điểm.

Cần biết một chi tiết về quy ước: trong nhiều giáo trình tài chính quốc tế, basis được định nghĩa ngược lại là giá giao ngay trừ giá tương lai. Bài này dùng quy ước giá phái sinh trừ giá cơ sở như công thức trên, là cách nhiều trader thường dùng. Khi đọc tài liệu khác, hãy kiểm tra họ dùng chiều nào để không hiểu nhầm dấu.

Ngoài basis tính bằng điểm, nhiều người dùng basis tương đối (basis chia cho chỉ số) để so sánh giữa các giai đoạn chỉ số ở mức khác nhau.

Vì sao VN30F1M lệch so với VN30: cost of carry, lãi suất và cổ tức

Câu trả lời lý thuyết là chi phí nắm giữ, hay cost of carry. Hãy tưởng tượng hai cách để có cùng mức tiếp xúc với rổ VN30 trong một tháng:

  1. Mua toàn bộ rổ cổ phiếu ngay hôm nay: bạn phải bỏ toàn bộ tiền ra, mất phần lãi suất lẽ ra kiếm được nếu gửi số tiền đó, nhưng được nhận cổ tức nếu cổ phiếu chốt quyền trong kỳ.
  2. Mua hợp đồng tương lai: bạn chỉ ký quỹ một phần, phần tiền còn lại vẫn sinh lãi, nhưng không nhận cổ tức của cổ phiếu.

Để hai cách này không tạo ra lợi nhuận phi rủi ro, giá tương lai về lý thuyết phải bằng giá cơ sở cộng chi phí vốn trừ cổ tức dự kiến. Mô hình phổ biến trong sách giáo khoa về phái sinh viết dưới dạng lãi kép liên tục:

F_lý thuyết = S × e^((r − q) × t)

Trong đó S là giá trị chỉ số, r là lãi suất phi rủi ro, q là tỷ suất cổ tức dự kiến của rổ, t là thời gian còn lại đến đáo hạn (tính theo năm). Từ công thức có thể suy ra trực giác:

  • Lãi suất càng cao so với cổ tức thì giá lý thuyết càng cao hơn chỉ số.
  • Giai đoạn nhiều cổ phiếu trong rổ chốt quyền cổ tức tiền mặt, q tăng lên, kéo giá lý thuyết xuống. Điều này chỉ đúng nếu chỉ số tính theo giá và không cộng lại cổ tức; chúng tôi chưa xác minh điều này, bạn cần đối chiếu quy tắc tính chỉ số do HOSE công bố.
  • Thời gian đến đáo hạn càng ngắn thì phần chênh lệch lý thuyết càng nhỏ.

Trên thực tế, basis của VN30F1M không bám sát giá trị lý thuyết. Basis thường chịu tác động của cung cầu, tâm lý ngắn hạn, nhu cầu phòng hộ và các rào cản đối với arbitrage, nên có thể lệch khỏi giá trị lý thuyết.

Basis dương, basis âm (contango, backwardation) nghĩa là gì trên thị trường Việt Nam

Basis dương nghĩa là VN30F1M cao hơn VN30, basis âm nghĩa là VN30F1M thấp hơn VN30. Hai thuật ngữ đi kèm thường gặp:

| Trạng thái | Định nghĩa | Cách đọc thường gặp | |---|---|---| | Basis dương (contango) | Giá phái sinh > chỉ số | Thị trường chấp nhận trả cao hơn để nắm vị thế mua, thường được đọc là kỳ vọng tích cực hoặc nhu cầu long lớn | | Basis âm (backwardation) | Giá phái sinh < chỉ số | Áp lực bán hoặc nhu cầu phòng hộ giảm giá lớn, thường được đọc là kỳ vọng tiêu cực | | Basis xấp xỉ 0 | Hai giá gần nhau | Thường gặp sát ngày đáo hạn |

Trên thị trường Việt Nam, nhiều trader dùng basis như một chỉ báo tâm lý. Tuy vậy, cách đọc này chỉ là quan sát thực hành, không phải quy luật. Basis âm có thể đến từ mùa cổ tức chứ không nhất thiết phản ánh bi quan, và basis dương lớn có thể biến mất rất nhanh khi thị trường đảo chiều. Nếu muốn dùng basis làm tín hiệu, bạn cần kiểm định bằng dữ liệu thay vì tin vào cảm nhận.

Hội tụ basis ngày đáo hạn: giá thanh toán cuối cùng được xác định thế nào

Basis có xu hướng thu hẹp về gần 0 vào ngày đáo hạn, vì hợp đồng được thanh toán bằng giá thanh toán cuối cùng gắn với chỉ số cơ sở (chúng tôi chưa xác minh cách tính chính xác từ văn bản của HNX). Khi hợp đồng sắp hết hạn, không ai muốn mua phái sinh đắt hơn nhiều so với giá mà nó chắc chắn sẽ được thanh toán, nên hai giá kéo về gần nhau. Hiện tượng này gọi là hội tụ basis.

Theo trang mô tả sản phẩm của VNDIRECT, ngày giao dịch cuối cùng của hợp đồng tương lai chỉ số VN30 là ngày Thứ Năm thứ ba của tháng đáo hạn; nếu trùng ngày nghỉ thì lùi về ngày giao dịch liền trước. Đây là thông tin từ một công ty chứng khoán, chưa được đối chiếu với nguồn chính thức, nên bạn cần kiểm tra đặc tả hợp đồng trên trang của HNX.

Về cách tính chính xác giá thanh toán cuối cùng, chúng tôi chưa kiểm chứng được công thức từ văn bản gốc của HNX hoặc VSDC, nên không nêu chi tiết ở đây. Nếu chiến lược của bạn giữ vị thế đến lúc đáo hạn, hãy đọc trực tiếp quy chế của sở giao dịch. Bài ngày đáo hạn phái sinh VN30F1M phân tích kỹ hơn những gì thường xảy ra trong tuần đáo hạn.

Hệ quả thực tế của hội tụ:

  • Người mua khi basis dương lớn sẽ bị basis thu hẹp dần, kể cả khi chỉ số đứng yên.
  • Người mua khi basis âm sâu được hưởng lợi từ quá trình hội tụ nếu chỉ số không giảm.
  • Biến động basis trong những phiên cuối trước đáo hạn có thể bất thường do các bên đóng hoặc chuyển vị thế.

Ví dụ tính basis và fair value của VN30F1M bằng Python

Đoạn code dưới đây tính basis, basis tương đối, fair value lý thuyết và ngày giao dịch cuối cùng theo quy tắc Thứ Năm thứ ba. Tất cả giá trị đầu vào là giả định, bạn thay bằng dữ liệu thật của mình.

import numpy as np
import pandas as pd
from datetime import date, timedelta

def third_thursday(year, month):
    d = date(year, month, 1)
    # weekday(): Thứ Hai = 0, Thứ Năm = 3
    offset = (3 - d.weekday()) % 7
    return d + timedelta(days=offset + 14)
    # Chưa xử lý ngày nghỉ lễ: cần lùi về ngày giao dịch liền trước nếu trùng

# Dữ liệu giả định
df = pd.DataFrame({
    'date': pd.to_datetime(['2025-06-02', '2025-06-03', '2025-06-04']),
    'vn30': [1300.0, 1310.0, 1295.0],
    'f1m':  [1305.0, 1308.0, 1290.0],
})

expiry = pd.Timestamp(third_thursday(2025, 6))
r = 0.04   # lãi suất giả định
q = 0.02   # tỷ suất cổ tức giả định

df['basis'] = df['f1m'] - df['vn30']
df['basis_pct'] = df['basis'] / df['vn30'] * 100
df['t'] = (expiry - df['date']).dt.days / 365
df['fair'] = df['vn30'] * np.exp((r - q) * df['t'])
df['lech_fair'] = df['f1m'] - df['fair']
print(df.round(2))

Cột lech_fair cho biết giá thị trường đang cao hay thấp hơn giá lý thuyết. Hai lưu ý khi dùng: thứ nhất, r và q bạn chọn quyết định toàn bộ kết quả, nên hãy ghi rõ nguồn lãi suất và cổ tức mình dùng; thứ hai, dữ liệu VN30 và VN30F1M phải khớp đúng thời điểm (cùng phút hoặc cùng giá đóng cửa), nếu không basis tính ra chỉ là sai lệch thời gian.

Basis ảnh hưởng gì đến backtest: nối hợp đồng, roll và tín hiệu dựa trên chỉ số

Basis là một nguồn sai lệch đáng kể khi backtest chiến lược VN30F1M, nhất là ở ba điểm sau.

1. Nối hợp đồng (continuous contract). VN30F1M là mã đại diện cho hợp đồng gần nhất, nên mỗi tháng dữ liệu chuyển sang một hợp đồng mới. Tại điểm chuyển, giá có thể nhảy một khoảng bằng chênh lệch giữa hai hợp đồng, mà không phản ánh biến động thật. Có hai cách xử lý phổ biến:

| Cách nối | Ưu điểm | Nhược điểm | |---|---|---| | Nối thô (raw) | Giá đúng như thị trường tại từng thời điểm | Có bước nhảy giả tại ngày chuyển hợp đồng, làm sai chỉ báo và lợi nhuận | | Điều chỉnh lùi (back-adjusted) | Chuỗi liền mạch, chỉ báo kỹ thuật ổn định hơn | Giá quá khứ không còn là giá thật, không dùng để tính mức giá tuyệt đối |

2. Chi phí roll. Nếu chiến lược giữ vị thế qua kỳ đáo hạn, bạn phải đóng hợp đồng cũ và mở hợp đồng mới. Mỗi lần roll phát sinh phí, thuế, trượt giá và chịu chênh lệch giữa hai hợp đồng. Backtest bỏ qua bước này thường cho kết quả đẹp hơn thực tế. Xem cách đưa các chi phí này vào code trong bài phí, thuế và trượt giá khi backtest VN30F1M bằng Python.

3. Tín hiệu dựa trên chỉ số nhưng giao dịch phái sinh. Nhiều người tính tín hiệu trên VN30 rồi giả định khớp lệnh ở giá chỉ số. Thực tế bạn khớp ở giá VN30F1M, nên lợi nhuận thật bằng lợi nhuận của chỉ số cộng thay đổi của basis trong thời gian giữ lệnh. Nếu basis thay đổi mạnh, kết quả có thể khác xa backtest.

Check-list trước khi tin vào một backtest VN30F1M:

  • [ ] Đã xác định rõ dùng chuỗi nối thô hay điều chỉnh lùi, và vì sao.
  • [ ] Giá vào lệnh, thoát lệnh là giá phái sinh, không phải giá chỉ số.
  • [ ] Có mô phỏng roll và chi phí roll nếu giữ qua đáo hạn.
  • [ ] Đã kiểm tra hành vi chiến lược trong tuần đáo hạn.
  • [ ] Dữ liệu chỉ số và phái sinh được căn chỉnh cùng mốc thời gian.

Bạn có thể thử các phương án này trên dữ liệu VN30F1M tại trình tạo và backtest bot của QuantVN.

Basis trading và arbitrage: lý thuyết so với rào cản thực tế tại Việt Nam

Về lý thuyết, khi basis lệch xa fair value, nhà đầu tư có thể kiếm lợi nhuận gần như phi rủi ro bằng cách mua bên rẻ và bán bên đắt, rồi chờ hội tụ ngày đáo hạn. Đây gọi là cash-and-carry arbitrage hay basis trading:

  • Basis quá dương: bán phái sinh, mua rổ cổ phiếu VN30.
  • Basis quá âm: mua phái sinh, bán rổ cổ phiếu VN30.

Trong thực tế tại Việt Nam, chiến lược này khó thực hiện trọn vẹn với nhà đầu tư cá nhân. Các rào cản thường được nhắc đến gồm: cần vốn lớn để mua đủ rổ theo đúng tỷ trọng, chi phí giao dịch và thuế ở cả hai chân, độ trễ khi khớp nhiều lệnh cổ phiếu cùng lúc, và chiều basis âm đòi hỏi bán khống cổ phiếu cơ sở. Khả năng bán khống và các quy định liên quan cần được kiểm tra trực tiếp trong văn bản của Ủy ban Chứng khoán Nhà nước, vì chúng tôi chưa xác minh được hiện trạng quy định để nêu chi tiết trong bài này.

Vì vậy, nhiều trader quant tiếp cận basis theo hướng thống kê: theo dõi basis như một chuỗi có xu hướng quay về trung bình, thay vì arbitrage thuần túy. Cách nghĩ này gần với statistical arbitrage, với rủi ro là basis có thể lệch xa hơn và lâu hơn bạn dự kiến trước khi hội tụ.

Những sai lầm thường gặp khi đọc basis

Sai lầm phổ biến nhất là coi basis như tín hiệu dự báo chắc chắn, trong khi nó chỉ là một biến số chịu nhiều tác động. Một số lỗi khác:

  1. Nhầm chiều công thức: đọc tài liệu dùng quy ước giá giao ngay trừ giá tương lai rồi diễn giải ngược dấu.
  2. So basis giữa các thời điểm khác nhau của chu kỳ đáo hạn: basis đầu kỳ và cuối kỳ tự nhiên có độ lớn khác nhau do yếu tố thời gian, nên cần chuẩn hóa hoặc so cùng số ngày còn lại.
  3. Bỏ qua mùa cổ tức: basis âm trong giai đoạn nhiều cổ phiếu chốt quyền có thể là hiện tượng cơ học, không phải tâm lý.
  4. Dùng dữ liệu lệch thời gian: giá đóng cửa phái sinh và chỉ số có thể không cùng thời điểm, tạo ra basis giả.
  5. Quên rằng mã F1M đổi hợp đồng mỗi tháng: một chuỗi basis dài nhiều năm thực chất là ghép từ nhiều hợp đồng khác nhau.

Câu hỏi thường gặp

Basis VN30F1M bằng bao nhiêu là bình thường?

Không có một con số chuẩn áp dụng cho mọi thời điểm, vì basis phụ thuộc lãi suất, cổ tức dự kiến, thời gian đến đáo hạn và tâm lý thị trường. Cách thực tế là tự tính phân phối basis từ dữ liệu lịch sử của bạn, chia theo số ngày còn lại đến đáo hạn, rồi xem mức hiện tại nằm ở đâu trong phân phối đó.

Basis âm có phải là dấu hiệu thị trường sắp giảm không?

Không nhất thiết. Basis âm có thể phản ánh nhu cầu phòng hộ, áp lực bán ngắn hạn hoặc ảnh hưởng của cổ tức. Muốn dùng nó làm tín hiệu, bạn cần backtest có kiểm soát thay vì dựa vào cảm nhận.

Cost of carry là gì nói ngắn gọn?

Cost of carry là chi phí ròng của việc nắm giữ tài sản cơ sở cho đến ngày đáo hạn, gồm chi phí vốn (lãi suất) trừ đi thu nhập nhận được (cổ tức). Đây là lý do về mặt lý thuyết giá tương lai khác giá giao ngay.

Vì sao basis thường về gần 0 vào ngày đáo hạn?

Vì hợp đồng được thanh toán theo giá thanh toán cuối cùng gắn với chỉ số cơ sở, nên sát đáo hạn không còn lý do để giá phái sinh lệch nhiều khỏi chỉ số. Theo VNDIRECT, ngày giao dịch cuối cùng là Thứ Năm thứ ba của tháng đáo hạn; hãy đối chiếu thêm đặc tả chính thức của HNX.

Khi backtest nên dùng giá VN30 hay giá VN30F1M?

Nếu chiến lược giao dịch hợp đồng tương lai, giá vào và thoát lệnh phải là giá VN30F1M. Bạn vẫn có thể tính tín hiệu trên VN30, nhưng phải chấp nhận rằng lợi nhuận thật chịu thêm tác động của thay đổi basis và chi phí roll.

Hiểu basis là bước nền để đọc đúng biến động VN30F1M và tránh những backtest đẹp trên giấy. Bước tiếp theo hợp lý là lấy dữ liệu VN30 và VN30F1M, chạy lại đoạn code ở trên để quan sát basis qua vài kỳ đáo hạn, sau đó thử một chiến lược có mô phỏng roll và chi phí đầy đủ trên nền tảng backtest của QuantVN.