[P2] Ứng dụng Python vào xây dựng chiến lược đầu tư giá trị định lượng

23/02/2024

12,583 lượt đọc

Ứng dụng Python vào xây dựng chiến lược đầu tư giá trị định lượng - Phần II

Đầu tư giá trị định lượng đang ngày càng cho thấy là một phương pháp tiếp cận khoa học và có hệ thống trong việc xác định và đầu tư vào các tài sản bị định giá thấp. Sự phát triển của công nghệ thông tin và dữ liệu lớn đã mở ra cánh cửa mới cho các nhà đầu tư để áp dụng phân tích định lượng một cách hiệu quả, giảm thiểu sự chủ quan và tối ưu hóa quyết định đầu tư dựa trên bằng chứng cụ thể. Các loại dữ liệu chính như báo cáo tài chính, tỷ số tài chính, dữ liệu thị trường, và thông tin ngành đều là những yếu tố quan trọng trong việc đánh giá giá trị nội tại của doanh nghiệp. Sự kết hợp giữa các phương pháp phân tích truyền thống và công nghệ, Python đã cho phép nhà đầu tư phát triển những chiến lược đầu tư giá trị định lượng mạnh mẽ, cung cấp một lợi thế cho các nhà đầu tư trên thị trường.

1. Các loại dữ liệu được sử dụng trong đầu tư giá trị định lượng

Trong đầu tư giá trị định lượng, việc sử dụng và phân tích dữ liệu chính xác là cực kỳ quan trọng để đánh giá giá trị thực của cổ phiếu và doanh nghiệp. Dữ liệu này thường bao gồm một loạt các thông tin tài chính, thị trường và kinh tế mà từ đó, các nhà đầu tư có thể rút ra những nhận định và quyết định đầu tư có thông tin. Dưới đây là một số loại dữ liệu chính thường được sử dụng trong đầu tư giá trị định lượng:

Báo cáo tài chính: Bao gồm bảng cân đối kế toán, báo cáo kết quả kinh doanh, và báo cáo lưu chuyển tiền tệ. Các báo cáo này cung cấp cái nhìn tổng quan về tình hình tài chính, hiệu suất kinh doanh, và khả năng sinh lời của công ty.

Tỷ số tài chính: Các tỷ số như P/E (Giá trên Thu nhập), P/B (Giá trên Giá trị Sổ sách), ROE (Tỷ suất sinh lời trên vốn chủ sở hữu), ROA (Tỷ suất sinh lời trên tổng tài sản), và D/E (Tỷ lệ nợ trên vốn chủ sở hữu) giúp nhà đầu tư đánh giá giá trị, hiệu suất, và rủi ro của cổ phiếu.

Dữ liệu thị trường: Bao gồm giá cổ phiếu, khối lượng giao dịch, và biến động giá trong quá khứ. Dữ liệu này giúp nhà đầu tư hiểu rõ hơn về hành vi thị trường và tâm lý của các nhà đầu tư khác đối với cổ phiếu cụ thể.

Dữ liệu ngành: Thông tin về ngành công nghiệp mà công ty hoạt động, bao gồm triển vọng tăng trưởng, cạnh tranh, và các yếu tố vĩ mô có ảnh hưởng đến ngành. Dữ liệu này giúp nhà đầu tư đánh giá tiềm năng tăng trưởng và rủi ro của doanh nghiệp

Dữ liệu về lãi suất và tiền tệ: Lãi suất ảnh hưởng đến chi phí vay và giá trị của dòng tiền tương lai, trong khi tỷ giá hối đoái có thể ảnh hưởng đến doanh nghiệp xuất nhập khẩu và công ty đa quốc gia.

2. Làm cách nào để xây dựng chiến lược đầu tư giá trị định lượng bằng Python

2.1. Các bước xây dựng chiến lược đầu tư giá trị định lượng

Hình 1.1. Các xây dựng chiến lược đầu tư giá trị định lượng bằng Python

Bước 1: Chọn số liệu

Nhà đầu tư bắt đầu bằng cách chọn số liệu cơ bản như tỷ lệ. Giá trên Thu nhập (P/E). Số liệu này so sánh giá cổ phiếu của công ty với thu nhập trên mỗi cổ phiếu (EPS) và có thể cho biết cổ phiếu đó tương đối rẻ hay đắt.

Bước 2: Đặt ngưỡng

nhà đầu tư quyết định rằng tỷ lệ P/E dưới 15 là ngưỡng để xem xét một cổ phiếu bị định giá thấp.

Bước 3: Nghiên cứu

Nhà đầu tư sử dụng công cụ sàng lọc chứng khoán trực tuyến hoặc trang web tài chính để tìm danh sách các công ty có tỷ lệ P/E dưới 15. Bước này lọc ra những công ty đáp ứng tiêu chí định lượng của nhà đầu tư

Bước 4: Điều tra thêm

Bây giờ, nhà đầu tư có một danh sách các cổ phiếu có khả năng bị định giá thấp dựa trên tỷ lệ P/E của chúng và quyết định tìm hiểu sâu hơn về những công ty này để đảm bảo rằng chúng đáng để đầu tư. Nhà đầu tư sẽ xem xét báo cáo tài chính của họ, đánh giá vị thế cạnh tranh của họ và xem xét triển vọng tương lai của họ. Phần này bao gồm sự kết hợp giữa phân tích định lượng và định tính.

Bước 5: Đa dạng hóa danh mục đầu tư

Để quản lý rủi ro, nhà đầu tư chọn kết hợp các cổ phiếu bị định giá thấp này từ các ngành khác nhau để tạo ra danh mục đầu tư đa dạng. Đa dạng hóa giúp phân tán rủi ro trong trường hợp một ngành hoặc công ty gặp phải thách thức.

Bước 6: Theo dõi hiệu suất

Nhà đầu tư đầu tư vào các cổ phiếu đã chọn và theo dõi hiệu suất của chúng theo thời gian. Định kỳ xem xét tỷ lệ P/E và các số liệu liên quan khác để đảm bảo chúng phù hợp với chiến lược đầu tư

2.2. Ví dụ về xây dựng chiến lược đầu tư giá trị định lượng với Python

Bước 1: Nhập các thư viện cần thiết

!pip install yfinance
 # Nhập các thư viện cần thiết
import pandas as pd
import yfinance as yf
import warnings
warnings.filterwarnings("ignore")

Bước 2: Xác định cổ phiếu, truy xuất dữ liệu và tính toán tỷ lệ

tickers = ['TCB.VN', 'VCB.VN', 'CTG.VN', 'ACB.VN','AGR.VN', 'SHB.VN', 'VPB.VN', 'TCB.VN', 'MBB.VN', 'STB.VN']
# Tạo DataFrame trống để lưu trữ dữ liệu tài chính
data = pd.DataFrame(columns=['Ticker', 'P/E Ratio', 'P/B Ratio'])
# Lấy dữ liệu lịch sử giá cổ phiếu và tính toán tỷ lệ
or ticker in tickers:
    try:
        stock_data = yf.Ticker(ticker)
        historical_data = stock_data.history(period='6y'# Giai đoạn dữ liệu mở rộng
        # Kiểm tra nếu có dữ liệu sẵn có
        if len(historical_data) > 0:
            # Truy cập tỷ lệ P/E và P/B từ dữ liệu
            pe_ratio = stock_data.info['trailingPE']
            pb_ratio = stock_data.info['priceToBook']
            # Thêm dữ liệu vào DataFrame
            data = pd.concat([data, pd.DataFrame({'Ticker': [ticker], 'P/E Ratio': [pe_ratio], 'P/B Ratio': [pb_ratio]})], ignore_index=True)
        else:
            print(f"Không có dữ liệu cho {ticker}.")
    except Exception as e:
        print(f"Lỗi xảy ra với mã cổ phiếu {ticker}: {str(e)}")

Bước 3: In dữ liệu cho các cổ phiếu bị định giá thấp và cao

# Xác định tiêu chí cho cổ phiếu có khả năng bị định giá thấp
undervalued_stocks = data[(data['P/E Ratio'] < 15) & (data['P/B Ratio'] < 1)]
print("Cổ phiếu bị định giá thấp:")
print(undervalued_stocks)
# Xác định tiêu chí cho cổ phiếu có khả năng bị định giá cao
max_pe_ratio = 20  # Đặt ngưỡng cho tỷ lệ P/E
max_pb_ratio = 3  # Đặt ngưỡng cho tỷ lệ P/B
# Lọc ra cổ phiếu bị định giá cao dựa trên tỷ lệ P/E và P/B
overvalued_stocks = data[(data['P/E Ratio'] > max_pe_ratio) | (data['P/B Ratio'] > max_pb_ratio)]
print("Cổ phiếu bị định giá cao:")
print(overvalued_stocks)

Output:

Cổ phiếu bị định giá thấp:

   Ticker  P/E Ratio  P/B Ratio

   SHB.VN   5.85096   0.867007

Cổ phiếu bị định giá cao:

   Ticker  P/E Ratio  P/B Ratio

   VCB.VN  16.049383   3.150340

   AGR.VN  24.421381   1.520071


Việc áp dụng Python trong việc xây dựng chiến lược đầu tư giá trị định lượng không chỉ cải thiện đáng kể khả năng phân tích và xử lý dữ liệu mà còn mang lại cho nhà đầu tư cái nhìn sâu và đa chiều về giá trị nội tại của doanh nghiệp. Qua quá trình lựa chọn  các chỉ số tài chính, đặt ra ngưỡng và tiến hành nghiên cứu sâu rộng, nhà đầu tư có thể đưa ra quyết định dựa trên các cơ sở và giảm thiểu sự chủ quan. Đa dạng hóa danh mục đầu tư và theo dõi hiệu suất cổ phiếu thường xuyên giúp tối ưu hóa lợi nhuận và quản lý rủi ro một cách hiệu quả. 

Kết luận, việc áp dụng Python vào chiến lược đầu tư giá trị định lượng giữa phân tích định lượng và định tính, cùng với việc sử dụng dữ liệu tài chính, thị trường và kinh tế, không những giúp nhà đầu tư xác định được giá trị nội tại của doanh nghiệp một cách chính xác hơn mà còn tối ưu hóa quá trình quản lý rủi ro và đa dạng hóa danh mục đầu tư. Bằng cách áp dụng những phương pháp này, các nhà đầu tư có thể nâng cao khả năng đạt được lợi nhuận bền vững. Tuy nhiên, cũng cần nhận thức được rằng không có chiến lược đầu tư nào là hoàn hảo, việc liên tục cập nhật kiến thức, kỹ năng và thích ứng với sự thay đổi là yếu tố then chốt để thành công trong đầu tư giá trị định lượng.


Tài liệu tham khảo:

QuantInsti. (2023). "Quantitative Value Investing Strategy in Python.". https://blog.quantinsti.com/quantitative-value-investing-strategy-python/

IBKR Campus. (2024). "Quantitative Value Investing Strategy in Python - Part I. https://ibkrcampus.com/ibkr-quant-news/quantitative-value-investing-strategy-in-python-part-i/







Chia sẻ bài viết

Đánh giá

Hãy là người đầu tiên nhận xét bài viết này!

Đăng ký nhận tin

Nhập Email để nhận được bản tin mới nhất từ QM Capital.

Bài viết liên quan

Vectorized backtesting có ích gì trong thực tế?
06/04/2026
96 lượt đọc

Vectorized backtesting có ích gì trong thực tế? C

Trong thực tế, rất nhiều ý tưởng giao dịch nghe qua đều có vẻ hợp lý. Ví dụ như mua khi giá vượt MA dài hạn, mua khi cổ phiếu breakout kèm thanh khoản tăng, hoặc đứng ngoài khi thị trường chung nằm dưới đường trung bình dài hạn. Nếu chỉ nhìn chart bằng mắt, rất dễ cảm thấy những ý tưởng như vậy “có vẻ đúng”. Vấn đề là cảm giác đó không đủ để dùng tiền thật. Với QM Capital, giá trị đầu tiên và lớn nhất của vectorized backtesting không phải là để khoe một equity curve đẹp, mà là để biến một ý tưởng mơ hồ thành một bộ quy tắc kiểm tra được.

Vì sao thực thi quan trọng hơn dự báo trong quant trading
05/04/2026
90 lượt đọc

Vì sao thực thi quan trọng hơn dự báo trong quant trading C

Khi mới học quant trading, nhiều người thường tập trung gần như toàn bộ vào phần mô hình. Họ nghĩ rằng nếu dự báo đúng hơn một chút, hoặc nếu tìm được một tín hiệu chính xác hơn phần còn lại của thị trường, thì kết quả giao dịch chắc chắn sẽ tốt. Cách nghĩ này không sai hoàn toàn, nhưng mới đúng một nửa. Trong giao dịch thực tế, dự báo chỉ là điểm bắt đầu. Sau đó còn một bước quan trọng hơn nhiều: biến tín hiệu đó thành vị thế thật, giao dịch thật, lợi nhuận thật.

Overfitting là “kẻ thù số 1” trong quant trading
02/04/2026
147 lượt đọc

Overfitting là “kẻ thù số 1” trong quant trading C

Nếu phải chọn một rủi ro làm hỏng nhiều chiến lược định lượng nhất, thì đó thường không phải là thiếu mô hình hiện đại, mà là overfitting. Nói đơn giản, overfitting xảy ra khi mô hình học quá kỹ dữ liệu quá khứ đến mức nó không chỉ học tín hiệu thật, mà còn học luôn cả nhiễu. Khi nhìn lại lịch sử, mọi thứ trông rất đẹp: độ chính xác cao, equity curve mượt, drawdown dễ chịu, Sharpe ratio hấp dẫn. Nhưng đến khi đem sang giai đoạn mới, hoặc live trading, mô hình bắt đầu hỏng rất nhanh.

Vì sao các quỹ quant lớn vẫn kiếm tiền bằng những mô hình rất đơn giản?
31/03/2026
264 lượt đọc

Vì sao các quỹ quant lớn vẫn kiếm tiền bằng những mô hình rất đơn giản? C

Có một hiểu lầm rất phổ biến khi mới bước vào quant trading: cứ nghe đến “quant” là nghĩ ngay đến deep learning, transformers, reinforcement learning, foundation models, hay ít nhất cũng phải có một thứ gì đó đủ phức tạp để nghe giống phòng lab hơn là bàn giao dịch. Nhưng nếu nhìn vào cách nhiều tổ chức thật đang vận hành, bức tranh lại bớt hào nhoáng hơn nhiều.

Ngày đáo hạn phái sinh có tạo ra một “anomaly” đủ rõ để đưa vào hệ thống giao dịch hay không?
31/03/2026
123 lượt đọc

Ngày đáo hạn phái sinh có tạo ra một “anomaly” đủ rõ để đưa vào hệ thống giao dịch hay không? C

Nếu nhìn theo kiểu tin tức, ngày đáo hạn phái sinh thường bị gắn với những cụm như rung lắc, kéo trụ, ép ATC. Nhưng với quant trading, cách hỏi như vậy vẫn còn cảm tính. Câu hỏi đúng hơn là: ngày đáo hạn có tạo ra một mẫu biến động lặp lại, đủ ổn định, đủ rõ, để mình đưa vào bộ lọc của hệ thống hay không. Đây là một câu hỏi rất hợp với thị trường Việt Nam, vì hợp đồng tương lai VN30 có lịch đáo hạn cố định vào thứ Năm lần thứ ba của tháng đáo hạn, nên bản thân nó đã là một event định kỳ, rất phù hợp để làm event study. Ngoài ra, hợp đồng VN30 hiện có hệ số nhân 100.000 đồng mỗi điểm chỉ số, nên đây không phải một sản phẩm quá nhỏ để bỏ qua khi nhìn hành vi của nhóm cổ phiếu trụ.

Làm sao biết một chart có đáng mua hay không chỉ trong vài giây?
29/03/2026
279 lượt đọc

Làm sao biết một chart có đáng mua hay không chỉ trong vài giây? C

Một trong những lỗi phổ biến nhất của nhà đầu tư cá nhân ở Việt Nam là quyết định mua trước, rồi mới mở chart ra sau để tìm lý do xác nhận. Có thể là một mã được nhắc nhiều trong room chat, một câu chuyện đầu tư công đang nóng, một cổ phiếu bất động sản “đã giảm quá sâu”, hay một mã ngân hàng “nghe nói sắp vào sóng”. Cách ra quyết định như vậy nghe quen vì nó rất đời thường, nhưng chính nó làm nhiều người kẹt hàng hàng tháng trời. Mua xong thì chart không chạy. Hoặc tệ hơn, chart vẫn tiếp tục bleed xuống nhưng người cầm hàng cứ bấu víu vào câu chuyện vì không biết nhìn chart thế nào để thừa nhận rằng mình đang đứng sai phía.

video-image

Truy Cập Miễn Phí Thư Viện Bot Tín Hiệu Giao Dịch Tự Động

Được nghiên cứu và phát triển bởi các chuyên gia từ QMTrade và cộng đồng nhà đầu tư chuyên nghiệp.

Truy cập ngay!