• 25ºC, Clear
  • Wednesday, 21st January, 2026
  • Trang Chủ
  • Bộ Lọc
  • Nhận Định Thị Trường
  • Phân Tích Doanh Nghiệp
  • Amibroker
    • Code AFL
    • Tự học Amibroker
  • Kiến Thức Đầu Tư
    • Chỉ Báo Kỹ Thuật
    • Phân Tích Cơ Bản
    • Phương Pháp Sóng Elliot
    • Phương Pháp Wyckoff/VSA
    • Vĩ Mô Liên Thị Trường
  • Liên hệ
  • Giới Thiệu
Mới Nhất
  • Phân tích VN-Index ngày 11/08
  • Phân tích HAH
  • Bài 46: Trở thành nhà giao dịch chuyên nghiệp
  • Bài 45: GFX Functions – Bảng trạng thái giao dịch Amibroker
  1. Trang chủ
  2. Amibroker
  3. Tự học Amibroker
  4. Bài 14: Exploration, Scanning & Optimization – Optimization Amibroker
Bài 14: Exploration, Scanning & Optimization – Optimization Amibroker

Xem nhanh:

  • Khám Phá Chức Năng “Optimization” Trong Amibroker: Tối Ưu Hóa Hệ Thống Giao Dịch
  • Tối Ưu Hóa Là Gì và Tại Sao Nó Quan Trọng?
  • Hàm Optimize(): Định Nghĩa Tham Số Tối Ưu
  • Các Loại Tối Ưu Hóa Trong Amibroker
  • 1. Exhaustive Optimization (Tối Ưu Hóa Toàn Diện)
  • 2. Smart Optimization (Tối Ưu Hóa Thông Minh)
  • Cẩn Thận Với Overfitting (Quá Tối Ưu Hóa)

Khám Phá Chức Năng “Optimization” Trong Amibroker: Tối Ưu Hóa Hệ Thống Giao Dịch

Chào mừng các bạn! Sau khi đã tìm hiểu sâu về Exploration và Scanning, chúng ta sẽ đi vào một chức năng mạnh mẽ khác trong Amibroker: Optimization (Tối ưu hóa). Tối ưu hóa là công cụ giúp bạn tìm ra bộ thông số tốt nhất cho hệ thống giao dịch (Trading System) của mình, nhằm cải thiện hiệu suất, giảm thiểu rủi ro và tăng lợi nhuận.


Tối Ưu Hóa Là Gì và Tại Sao Nó Quan Trọng?

Khi bạn xây dựng một hệ thống giao dịch, nó thường có các tham số (parameters) có thể điều chỉnh được (ví dụ: chu kỳ của đường trung bình động, ngưỡng RSI, v.v.). Một bộ tham số khác nhau có thể mang lại kết quả khác nhau. Tối ưu hóa là quá trình tự động thử nghiệm hàng ngàn (hoặc thậm chí hàng triệu) các tổ hợp tham số khác nhau để tìm ra bộ nào mang lại hiệu suất tốt nhất dựa trên các tiêu chí bạn đặt ra (ví dụ: lợi nhuận ròng cao nhất, drawdown thấp nhất, hệ số Karma Ratio tốt nhất).

Mục đích của tối ưu hóa:

  • Cải thiện hiệu suất: Tăng lợi nhuận, giảm sụt giảm vốn (drawdown).
  • Nâng cao tỷ lệ Risk/Reward: Đảm bảo lợi nhuận xứng đáng với rủi ro.
  • Tăng tính ổn định: Tìm ra các tham số có hiệu suất ổn định qua các giai đoạn thị trường khác nhau.

Hàm Optimize(): Định Nghĩa Tham Số Tối Ưu

Để tối ưu hóa một tham số trong AFL (Amibroker Formula Language), bạn sử dụng hàm Optimize().

Cú pháp cơ bản của hàm Optimize():

Code snippet

Optimize(ParamName, DefaultValue, InitialValue, FinalValue, Increment);

Giải thích các tham số:

  • ParamName: Tên hiển thị của tham số trong quá trình tối ưu hóa (ví dụ: "Fast EMA Period").
  • DefaultValue: Giá trị mặc định của tham số khi không chạy tối ưu hóa (ví dụ: khi chỉ xem biểu đồ hoặc chạy Backtest/Explore thông thường).
  • InitialValue: Giá trị khởi điểm mà Amibroker sẽ bắt đầu thử nghiệm.
  • FinalValue: Giá trị kết thúc mà Amibroker sẽ thử nghiệm.
  • Increment: Bước nhảy giữa các giá trị (ví dụ: 1 để thử nghiệm 1, 2, 3…; 5 để thử nghiệm 5, 10, 15…).

Ví dụ:

// Tối ưu hóa chu kỳ Fast EMA từ 1 đến 20, bước nhảy 1, mặc định là 5
FastEMAPeriod = Optimize("Fast EMA Period", 5, 1, 20, 1);

// Tối ưu hóa chu kỳ Slow EMA từ 5 đến 40, bước nhảy 1, mặc định là 20
SlowEMAPeriod = Optimize("Slow EMA Period", 20, 5, 40, 1);

Khi bạn chạy Optimization, Amibroker sẽ thử tất cả các tổ hợp của FastEMAPeriod (từ 1-20) và SlowEMAPeriod (từ 5-40). Ví dụ này có thể tạo ra (20-1+1) * (40-5+1) = 20 * 36 = 720 tổ hợp khác nhau để kiểm tra.

Ví dụ

Ví dụ

Kết quả

Kết quả

Coppy ra file excel:

excel

Excel

Chọn cột CAR/MDD -> vẽ đồ thị ta được:

Đồ thị Tỷ lệ Calmar

Đồ thị Tỷ lệ Calmar

Phân Tích Kết Quả Tối Ưu Hóa: Vượt Qua Lợi Nhuận Ròng Tốt Nhất

Sau khi chạy quá trình tối ưu hóa, chúng ta sẽ thu được một loạt các kết hợp tham số và hiệu suất tương ứng của chúng. Điều quan trọng là không chỉ nhìn vào “lợi nhuận ròng tốt nhất” (best net profit). Ví dụ, một hệ thống có thể đạt lợi nhuận ròng cao nhất là 302%, nhưng điều này thường dẫn đến một hệ thống được “over-optimized” (tối ưu hóa quá mức) dựa trên dữ liệu quá khứ. Việc tạo ra một hệ thống dựa trên dữ liệu quá khứ không khó, nhưng chúng ta không giao dịch trong quá khứ mà trong tương lai.

Thay vào đó, chúng ta cần tìm kiếm sự ổn định tốt nhất của hệ thống. Từ nhóm các kết hợp, chúng ta cần xác định đâu là kết hợp đáng tin cậy nhất.

Tỷ Lệ Calmar: Thước Đo Quan Trọng cho Sự Ổn Định

Để đánh giá sự ổn định, chúng ta có thể sao chép tất cả dữ liệu kết quả tối ưu hóa vào một bảng tính (ví dụ: Excel) và phân tích các tỷ lệ quan trọng. Một trong những tỷ lệ quan trọng nhất mà mọi nhà giao dịch nên biết là Tỷ lệ Calmar (Calmar Ratio), còn được gọi là Tỷ lệ MDD (Max Drawdown).

Tỷ lệ Calmar được tính bằng: Lợi nhuận hàng năm tích lũy (Compounded Annual Return) / Mức sụt giảm tối đa (Maximum Drawdown).

Ví dụ, nếu bạn có lợi nhuận hàng năm là 20% và mức sụt giảm tối đa trong quá khứ là 20%, thì tỷ lệ Calmar của bạn sẽ là 1. Người ta gợi ý rằng tỷ lệ Calmar nên ít nhất là lớn hơn 1, lớn hơn 2 là tốt và lớn hơn 3 là rất tốt.

Phân Tích Biểu Đồ và Sự Ổn Định

Khi biểu đồ tỷ lệ Calmar cho 720 sự kết hợp của chúng ta, chúng ta có thể thấy một vấn đề lớn. Các điểm dữ liệu (đại diện cho tỷ lệ Calmar của mỗi sự kết hợp) nằm rải rác một cách ngẫu nhiên theo chiều dọc, từ 0.1 đến 0.6. Điều này cho thấy không có tính chất tương đồng giữa các kết hợp. Ví dụ, trong khoảng từ 600 đến 700, chúng ta có thể thấy tỷ lệ Calmar đôi khi là 0.2 và đôi khi là 0.5. Sự phân tán lớn này cho thấy hệ thống không ổn định.

Nếu các điểm dữ liệu phân tán trong một phạm vi hẹp hơn, ví dụ, từ 500 đến 600, thì chúng ta có thể chọn một trong số chúng vì đó là sự ổn định mà chúng ta đang tìm kiếm. Nhưng trong trường hợp này, không có sự ổn định nào cả. Do đó, một hệ thống như vậy không nên được giao dịch.


Các Loại Tối Ưu Hóa Trong Amibroker

Amibroker hỗ trợ hai loại tối ưu hóa chính:

1. Exhaustive Optimization (Tối Ưu Hóa Toàn Diện)

  • Cách hoạt động: Kiểm tra MỌI tổ hợp tham số có thể có trong phạm vi bạn đã định nghĩa.
  • Ưu điểm: Đảm bảo tìm thấy giải pháp tốt nhất trong phạm vi đã cho.
  • Nhược điểm: Cực kỳ tốn thời gian và tài nguyên hệ thống nếu có nhiều tham số hoặc phạm vi giá trị lớn. Ví dụ: 2 tham số từ 1-100 tạo ra 10.000 tổ hợp; 3 tham số từ 1-100 tạo ra 1.000.000 tổ hợp.
  • Khi sử dụng: Chỉ nên dùng khi bạn có số lượng tham số ít và phạm vi giá trị nhỏ.

2. Smart Optimization (Tối Ưu Hóa Thông Minh)

  • Cách hoạt động: Không kiểm tra mọi tổ hợp. Thay vào đó, nó sử dụng các thuật toán tối ưu hóa tiên tiến để tìm ra các giá trị tối ưu một cách hiệu quả hơn bằng cách chỉ kiểm tra những tổ hợp có tiềm năng nhất.
  • Ưu điểm: Nhanh hơn đáng kể so với Exhaustive Optimization, đặc biệt hữu ích khi có nhiều tham số.
  • Nhược điểm: Có thể không tìm thấy giải pháp tối ưu “tuyệt đối” như Exhaustive Optimization nếu thuật toán bỏ qua một số khu vực trong không gian tham số.
  • Các thuật toán hỗ trợ: Amibroker hỗ trợ các thuật toán như SPSO (Standard Particle Swarm Optimization), CMA-ES (Covariance Matrix Adaptation Evolution Strategy), và Trivial.
  • Cách kích hoạt: Bạn cần thêm một dòng lệnh vào đầu code AFL của mình:
    // Chọn thuật toán tối ưu hóa thông minh
    // OptimizeSetEngine( "SPSO" );
    // OptimizeSetEngine( "CMA" );
    // OptimizeSetEngine( "Trivial" );
    

    Lưu ý: Để hiểu sâu hơn về các thuật toán này, bạn nên tham khảo tài liệu chi tiết của Amibroker.


Cẩn Thận Với Overfitting (Quá Tối Ưu Hóa)

Overfitting là một rủi ro lớn trong quá trình tối ưu hóa. Đó là khi bạn tạo ra một hệ thống giao dịch hoạt động “hoàn hảo” trên dữ liệu lịch sử (quá khứ) nhưng lại hoạt động kém hiệu quả hoặc thất bại hoàn toàn trên dữ liệu mới (tương lai). Điều này xảy ra khi hệ thống của bạn được “khớp” quá mức với các biến động ngẫu nhiên hoặc đặc thù của dữ liệu quá khứ, thay vì nắm bắt được logic giao dịch vững chắc.

Cách tránh Overfitting:

  • Không tối ưu hóa quá sâu: Tránh thử nghiệm hàng triệu tổ hợp tham số một cách mù quáng. Cố gắng giữ số lượng tham số và phạm vi giá trị ở mức hợp lý.
  • Ưu tiên sự ổn định hơn lợi nhuận cao nhất: Thay vì chỉ tìm bộ tham số cho “lợi nhuận ròng cao nhất”, hãy tìm những bộ tham số mang lại sự ổn định (ví dụ: lợi nhuận tốt với drawdown thấp, Karma Ratio cao) và có sự tương đồng về hành vi trong nhóm các tham số lân cận.
  • Sử dụng các chỉ số đáng tin cậy: Thay vì chỉ dựa vào lợi nhuận ròng, hãy xem xét các chỉ số như Karma Ratio (lợi nhuận hàng năm chia cho Maximum Drawdown), Profit Factor, Recovery Factor, v.v. để đánh giá chất lượng của hệ thống.
    • Karma Ratio (CAR/MDD): Rất quan trọng. Một Karma Ratio lớn hơn 1 là chấp nhận được, lớn hơn 2 là tốt, và lớn hơn 3 là rất tốt.
  • Kiểm tra độ ổn định (Stability): Trong kết quả tối ưu hóa của Amibroker, bạn có thể xuất dữ liệu sang Excel và vẽ biểu đồ để xem liệu các bộ tham số tốt có nằm gần nhau và có hành vi tương tự không. Nếu các điểm “tốt nhất” nằm rải rác và không có sự nhất quán, đó có thể là dấu hiệu của overfitting.
  • Giao dịch giấy (Paper Trading): Sau khi tối ưu hóa, ĐỪNG vội vàng đưa tiền thật vào thị trường. Hãy giao dịch giấy (paper trading) hoặc chạy hệ thống trong môi trường giả lập (simulation) với dữ liệu mới để xác nhận hiệu quả của nó trước khi mạo hiểm tiền thật.

Optimization là một công cụ cực kỳ mạnh mẽ để tinh chỉnh hệ thống giao dịch của bạn trong Amibroker. Tuy nhiên, điều quan trọng là phải sử dụng nó một cách khôn ngoan, tập trung vào sự ổn định và tránh nguy cơ overfitting để xây dựng một chiến lược giao dịch thực sự hiệu quả trong tương lai.

  • trancotam
❮ Prev Next ❯
Chia sẻ: Facebook WhatsApp Twitter
Chia sẻ với ứng dụng khác

Tin Xem Nhiều

Bài 1: Chiến Lược Bảo Vệ Vốn Hiệu Quả Khi Đầu Tư (Phần 1)
Chỉ Báo Kỹ Thuật
Bài 1: Chiến Lược Bảo Vệ Vốn Hiệu Quả Khi Đầu Tư…
21 Tháng 5, 2025
Phân tích BFC
Phân Tích Doanh Nghiệp
Phân tích BFC
14 Tháng 7, 2025
Bài 46: Trở thành nhà giao dịch chuyên nghiệp
Tự học Amibroker
Bài 46: Trở thành nhà giao dịch chuyên nghiệp
22 Tháng 6, 2025
Phân tích HAH
Phân Tích Doanh Nghiệp
Phân tích HAH
15 Tháng 7, 2025
Bảng công cụ phân tích thị trường
Chưa phân loại
Bảng công cụ phân tích thị trường
13 Tháng 5, 2025
Donation
Phóng to ảnh

TADOSO là nền tảng chia sẻ kiến thức và kinh nghiệm đầu tư tài chính, đặc biệt trong lĩnh vực chứng khoán, nhằm kết nối và nâng cao tư duy cho nhà đầu tư cá nhân tại Việt Nam. Với triết lý "Tạo dựng – Đồng hành – Sở hữu", TADOSO hướng đến xây dựng cộng đồng học hỏi minh bạch, trung lập, không bị chi phối bởi tổ chức tài chính nào.

Newsletter

Hãy để lại mail để chúng tôi có thể phục vụ bạn tốt hơn

Donation - Buy me a coffee

Donation

Copyright © All rights reserved | This template is made with by Tran Co Tam

  • Terms of use
  • Privacy Policy
  • Contact
Zalo Messenger
×

Liên hệ