okama 2.0 ra mắt với chiến lược rút tiền mới và tối ưu hóa hiệu quả nhanh hơn

07 tháng 4, 2026·5 phút đọc

Phiên bản okama 2.0 đánh dấu bước chuyển từ các ví dụ học thuật sang các ứng dụng đầu tư thực tiễn, tích hợp các chiến lược rút tiền nâng cao và quy trình tối ưu hóa danh mục đầu tư đa kỳ với tái cân bằng nhanh hơn, phù hợp cho nhà đầu tư và phát triển ứng dụng web.

okama 2.0 ra mắt với chiến lược rút tiền mới và tối ưu hóa hiệu quả nhanh hơn

okama 2.0 ra mắt với chiến lược rút tiền mới và tối ưu hóa hiệu quả nhanh hơn

Phiên bản "anniversary" okama 2.0 vừa được phát hành, mang đến nhiều thay đổi quan trọng tập trung vào các chiến lược rút tiền danh mục nâng cao và quy trình tối ưu hóa danh mục hiệu quả (Efficient Frontier) mới nhanh hơn và thực tế hơn. Bên cạnh đó, okama 2.0 cải thiện khả năng sử dụng trong ứng dụng web với tốc độ tính toán được tối ưu đáng kể.

Xu hướng phát triển và những điểm mới của okama 2.0

Nhóm phát triển đã chuyển trọng tâm từ các ví dụ mang tính giáo dục, học thuật sang những trường hợp sử dụng thực tế hơn, đặc biệt hướng đến xây dựng các chiến lược đầu tư hưu trí với rút tiền định kỳ. Ngoài ra, logic của Efficient Frontier cũng được thay đổi với tối ưu hóa nhiều kỳ kèm theo tái cân bằng làm mặc định, giúp đẩy nhanh tốc độ xử lý đáng kể. Bạn có thể cập nhật thư viện okama ngay qua lệnh:

pip install okama -U

Chiến lược rút tiền tiên tiến trong okama 2.0

Các phương pháp rút tiền mới được tích hợp vào kiến trúc phân tích dòng tiền chiết khấu (discounted cash flow) trong lớp PortfolioDCF. Nhà đầu tư có thể dễ dàng tách biệt cấu trúc danh mục, quy tắc tái cân bằng và logic rút tiền để thử nghiệm độc lập.

Vanguard Dynamic Spending (VDS)

Mô hình rút tiền dựa trên phần trăm danh mục vốn có từ phiên bản 1.5.0 được mở rộng với lớp VanguardDynamicSpending. Điểm khác biệt chính là thông số floor_ceiling giới hạn mức tăng giảm tiền rút so với năm trước, giúp tránh dao động mạnh do biến động thị trường.

Ví dụ, floor_ceiling=(-0.025, 0.05) nghĩa là tiền rút không được vượt quá 5% tăng hoặc 2.5% giảm so với năm trước. Chiến lược này mang lại sự ổn định hơn trong kế hoạch chi tiêu hưu trí thực tế.

vds = ok.VanguardDynamicSpending(
    parent=pf,
    initial_investment=1_000_000,
    percentage=-0.08,
    floor_ceiling=(-0.025, 0.05),
)
pf.dcf.cashflow_parameters = vds

Cut Withdrawals If Drawdown (CWD)

Đây là chiến lược rút tiền linh hoạt theo nhu cầu thực tế, giảm chi tiêu khi danh mục bị sụt giảm mạnh. CutWithdrawalsIfDrawdown giảm rút tiền dựa trên độ sâu giảm điểm của danh mục (drawdown), qua đó bảo vệ vốn tránh bị rút ở thời điểm thị trường lao dốc.

Tham số crash_threshold_reduction định nghĩa các mức ngưỡng và mức giảm rút tương ứng, ví dụ:

  • Giảm 40% khi drawdown vượt quá 20%
  • Tạm ngưng rút khi drawdown vượt quá 35%
cwd = ok.CutWithdrawalsIfDrawdown(
    parent=pf,
    initial_investment=1_000_000,
    frequency="year",
    amount=-60_000,
    indexation="inflation",
    crash_threshold_reduction=[(.10, .25), (.20, .50), (.35, 1)],
)
pf.dcf.cashflow_parameters = cwd

Chiến lược này phù hợp với những nhà đầu tư muốn giữ mức chi tiêu cơ bản, đồng thời tích hợp xử lý khủng hoảng.

Hiệu quả tối ưu hóa danh mục đầu tư vượt trội với EfficientFrontier

Phiên bản 2.0 hợp nhất các lớp EfficientFrontierEfficientFrontierReb thành một lớp duy nhất, tự động chạy tối ưu đa kỳ với tái cân bằng. Nhờ sử dụng caching, đa luồng tính toán và cải tiến thuật toán, việc tối ưu danh mục nhanh hơn nhiều so với trước.

Thêm vào đó, hỗ trợ giới hạn tỷ trọng tài sản (bounds) giúp mô hình phản ánh sát với thực tế, ví dụ giới hạn vàng trong danh mục tối đa 20%.

Ví dụ thiết lập:

ef = ok.EfficientFrontier(
    assets=["SPY.US", "GLD.US"],
    first_date="2004-12",
    last_date="2020-10",
    ccy="USD",
    rebalancing_strategy=ok.Rebalance(period="year"),
    n_points=40,
    ticker_names=True,
    bounds=((0.0, 1.0), (0.0, 0.20)),  # giới hạn vàng tối đa 20%
)

Tối ưu rủi ro cho mức lợi suất mục tiêu nhanh chóng:

ef.minimize_risk(target_value=0.11)

Linh hoạt với các dòng tiền rút và đóng góp tùy ý

Mọi chiến lược rút tiền hay đóng góp hiện cho phép truyền tham số time_series_dic định nghĩa dòng tiền theo ngày/tháng năm cụ thể, phù hợp với các kế hoạch tài chính cá nhân phức tạp.

Ví dụ:

time_series_dic = {
    "2027-02": 2_000,    # đóng góp tháng 2/2027
    "2030-03": -4_000    # rút tiền tháng 3/2030
}

Kiểm định phân phối dữ liệu nâng cao

Okama 2.0 bổ sung phương pháp tự động lựa chọn phân phối phù hợp nhất dựa trên kiểm định Kolmogorov–Smirnov (kstest_for_all_distributions), giúp nâng cao độ chính xác khi dự báo tài chính.

Ngoài ra, người dùng có thể chủ động tùy chỉnh hoặc tối ưu tham số phân phối, đặc biệt hữu ích cho phân phối Student’s t – thường dùng mô hình đuôi dày trong dự báo rủi ro cực đoan.

Tính năng kiểm tra chất lượng phù hợp của phân phối qua biểu đồ Q-Q (Quantile–Quantile) cũng đã được thêm vào, giúp trực quan đánh giá mức độ khớp của mô hình với dữ liệu lịch sử.

Tài liệu và hướng dẫn chi tiết

Phần tài liệu okama được làm mới, chi tiết hơn với nhiều ví dụ thực tế trên GitHub. Một số ví dụ nổi bật bao gồm:

  • Chiến lược rút tiền VDS và CWD trong các danh mục đầu tư
  • Mô hình tối ưu hóa danh mục đa kỳ
  • Dự báo Monte Carlo và phương pháp hiệu chỉnh phân phối

Kế hoạch phát triển tương lai cho okama

Trong thời gian tới, những cải tiến quan trọng của okama sẽ sớm được áp dụng lên nền tảng web okama.io. Phiên bản mới cũng sẽ hỗ trợ các bản cập nhật của Pandas 3 và Python 3.14.

Mục tiêu xa hơn là phát triển một kế hoạch tài chính cá nhân hoàn chỉnh qua chuỗi chiến lược đầu tư liên tục: từ danh mục tăng trưởng cho giai đoạn tích luỹ đến danh mục bảo toàn chi tiêu khi về hưu, được kiểm thử bằng dự báo Monte Carlo toàn diện.


Nguồn tham khảo:

  1. Diễn đàn dự án okama
  2. Mã nguồn okama trên GitHub
  3. Tài liệu okama
  4. Ví dụ Jupyter Notebook

Bạn có thể hỗ trợ dự án bằng cách đánh dấu sao trên GitHub nếu thấy hữu ích.

Q-Q Plot minh họa chất lượng kiểm định phân phốiQ-Q Plot minh họa chất lượng kiểm định phân phối

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗