Hướng dẫn cách Backtest Amibroker AFL Code từ A – Z

Trong Amibroker có một chức năng giúp nhà đầu tư kiểm thử code Amibroker xem có chính xác và có mang lại những hiệu quả mong muốn hay không. Thuật ngữ trong tiếng anh của công cụ này là Backtest Amibroker AFL code, trong bài viết này tôi sẽ hướng dẫn cách Backtest Amibroker AFL code như thế nào, một cách chi tiết và đầy đủ nhất.

I. Backtest Amibroker AFL Code là gì?

Backtest Amibroker AFL Code là một hoạt động nhằm đánh giá và kiểm tra lại code Amibroker khi hoạt động trong thực tế với một cổ phiếu hoặc với toàn bộ cổ phiếu trên thị trường xem nó có đáp ứng được các yêu cầu như độ chính xác, lợi nhuận mang lại cao nhất,… 

Đặc biệt nhà đầu tư chơi chứng khoán phái sinh, Forex, Bitcoin thì chức năng này càng quan trọng, nó sẽ giúp nhà đầu tư tránh được những thua lỗ không đáng có nếu chúng ta mang thẳng vào trade.

Videos hướng dẫn cách Backtest Amibroker AFL Code

II. Cách Backtest Amibroker AFL Code như thế nào?

1. Code Amibroker AFL sử dụng vào Backtest

Ở đây tôi sử dụng code AFL đường SMA 20 cắt SMA 50 để sử dụng vào backtest trong bài hướng dẫn này tại đây: Download Backtest Amibroker AFL Code

Nhà đầu tư có thể tham khảo thêm các code AFL cho Amibroker có thể tham khảo thêm tại đây: Code Amibroker AFL

Nếu nhà đầu tư chưa biết cách thêm code vào Amibroker có thể tham khảo thêm videos chúng tôi đã hướng dẫn:

Videos hướng dẫn cách thêm code vào Amibroker

2. Cách thiết lập Backtest Amibroker AFL code

Như những bài viết chia sẻ về cách lọc trong Amibroker tôi cũng đã nói về Amibroker có 2 kiểu lọc cổ phiếu là “Old Automatic Analysis…” và cách lọc “New Analysis”. Tương tự như vậy Backtest cũng sử dụng theo 2 kiểu lọc trên, nhưng trong bài viết này tôi sẽ hướng dẫn Backtest sử dụng New Analysis, sử dụng theo cách này sẽ trực quan và dễ nhìn hơn so với cách lọc Old Automatic Analysis.

Bước 1: Nhà đầu tư mở Amibroker lên, chọn Analysis =>> chọn New Analysis

Hình 1: Cách mở Backtest Amibroker AFL Code trong Amibroker
Hình 1: Cách mở Backtest Amibroker AFL Code trong Amibroker

Giao diện của New Analysis sẽ hiển thị ra như thế này:

Hình 2: Thiết lập settings backtest trong Amibroker
Hình 2: Thiết lập settings backtest trong Amibroker

Bước 2: chọn code cần Backtest như hình 2. Ví dụ tôi để code cần backtest ở ổ:

F:\AmiBroker\Formulas\Custom\LOC – Y THIEN KIEM – EXPLOER – DONG TIEN MANH.

Bước 3: Click vào settings như trên hình 2 hoặc bấm tổ hợp phím alt + enter để mở tổ hợp settings.

Nhà đầu tư có thể chưa biết rằng IFT LIVE DATA là phần mềm cập nhật dữ liệu cho Amibroker Realtime có giá thành rẻ và chất lượng ổn định, đầy đủ dữ liệu EOD và INTRADAY, nhà đầu tư có thể tham khảo tại đây: dữ liệu Amibroker Realtime

Với nhà đầu tư chơi Forex, Bitcoin, Phái sinh hàng hóa,… mà muốn có dữ liệu Forex, Bitcoin cho Amibroker có thể tham khảo phần mềm lấy dữ liệu Forex Bitcoin cho Amibroker từ Metatrader có thể tham khảo thêm tại đây: Phần mềm cập nhật dữ liệu Forex Bitcoin cho Amibroker

Bước 4: Initial equity là vốn giả định ban đầu (vốn đầu tư) ví dụ tôi có 1 triệu, tôi điền vào đó 1000000 vào ô Initial equity.

Hình 3: Cách thiết lập settings backtest Amibroker
Hình 3: Cách thiết lập settings backtest Amibroker

Bước 5: Tín hiệu để backtest:

  • Chế độ long tức là bên trong code của bạn sử dụng tín hiệu Buy và Sell hay còn hiểu rằng mua giá thấp bán giá cao (được duy nhất một chế độ mua xong bán thôi chứ không theo Bán trước Mua sau kiểu phái sinh) do đó chọn Long nhà đầu tư áp dụng cho chứng khoán cơ sở nhiều hơn Ví dụ tôi hướng dẫn trong bài này sử dụng Long nhé, còn Short and Long và chế độ Short tôi sẽ hướng dẫn trong videos.
  • Chế độ Short thì ngược lại với chế độ Long và trong code chúng ta có lệnh cover và short.
  • Chế độ Long and Short thì backtest cả 2 chế độ trên thường chúng ta sẽ backtest cho chứng khoán phái sinh, Forex, Bitcoin…

Bước 6: lựa chọn khung thời gian backtest, trong đó có các khung ngày, tuần, tháng,… tùy nhà đầu tư lựa chọn khung thời gian backtest, như trong hướng dẫn bài viết này tôi chọn khung thời gian Daily (khung ngày).

Hình 4: Thiết lập thông số để backtest Amibroker AFL Code
Hình 4: Thiết lập thông số để backtest Amibroker AFL Code

Bước 7: Apply to sẽ có 3 chế độ thiết lập là All Symbols backtest tất cả các mã, Current backtest một mã cụ thể, như trên hình của tôi đang backtest mã HPG, Filter backtest một danh sách cụ thể với cái này sau này tôi sẽ hướng dẫn ở trong bài viết hoặc videos backtest nâng cao. Ở trong bài viết này tôi sử dụng Current backtest một mã cụ thể để độ chính xác nó cao hơn.

Bước 8: Lựa chọn thời gian backtest, trong này nó bao gồm:

  • All quotes sẽ backtest trong tất cả thời gian. Ví dụ CTG lên sàn 2009 thì nó sẽ backtest từ năm 2009 đến nay.
  • 1 Recent bar sẽ backtest trong 1 cây nến trước đó, với cách này chắc ít người sẽ dùng.
  • 1 Recent day sẽ backtest trong 1 ngày trước đó.
  • From – to dates sẽ backtest trong 1 khoảng thời gian chúng ta lựa trọn, ví dụ trong bài viết này tôi chọn khoảng thời gian backtest 01/01/2011 – 31/12/2020.

Bước 9: Click vào Backtest, sau đó Amibroker sẽ show ra kết quả backtest, trong phần III chúng tôi sẽ hướng dẫn cách đọc kết quả backtest.

III. Cách đọc thông số sau khi Backtest Amirboker AFL Code?

Bước 10: sau khi có kết quả backtest, nhà đầu tư có thể xem kết quả ngay trên Amibroker, nhưng để nhà đầu tư tiện theo dõi chúng tôi sẽ xuất ra HTML để nhà đầu tư tiện theo dõi hơn. Chúng ta vào File => chọn Export HTML\CSV… => lưu kết quả dưới dạng HTML như trong hình 5 dưới đây:

Hình 5: Export kết quả backtest dưới dạng HTML
Hình 5: Export kết quả backtest dưới dạng HTML

Bước 11: mở files kết quả backtest như hướng dẫn của tôi tôi lưu là “Ket qua backtest.html” sẽ được kết quả như hình 6:

Hình 6: Bảng kết quả Backtest Amibroker AFL code
Hình 6: Bảng kết quả Backtest Amibroker AFL Code

Thông số của bảng kết quả Backtest Amibroker AFL Code:

  • Symbol: tên mã cổ phiếu.
  • Trade: loại tín hiệu backtest.
  • Date: thời gian mua vào mã đó.
  • Price: giá mua vào.
  • Ex. Date: thời gian bán mã đó.
  • Ex. Price: Giá bán mã đó.
  • % Chag: là chênh lệnh giá bán ra trừ giá mua vào, tức là (Ex. Price – Price)/ Price.
  • Profit: lợi nhuận đạt được của mã đó, sau khi chốt lời/chốt lỗ.
  • % Profit: % lợi nhuận đạt được, nó trùng với % Chag.
  • Shares: số lượng cổ phiếu mua được dựa trên nguồn vốn, ví dụ ban đầu tôi có 1 triệu thì tôi mua dc 124,455 cổ phiếu BTG.
  • Position value: vốn đầu tư cộng dồn, ví dụ ban đầu tôi có 999,999 sau khi đầu tư BTG tôi đã bị lỗ và còn 53,961…
  • Cum. Profit: lãi lỗ tích lũy cộng dồn, ví dụ sau khi đầu tư BTG tôi lỗ 696,950 tiếp theo tôi lại đầu tư CDC và tôi lãi 732 đồng (thông số đã được làm tròn) sau khi cộng dồn 696,217.
  • #bars: số bars nắm giữ (không tính theo ngày nhé vì còn có ngày nghỉ, ngày lễ…) ví dụ mã BTG tôi nắm giữ trong 43 thanh bars (nến nhật).
  • Profit/bar: lợi nhuận chia cho số thanh Bars.
  • MAE: lỗ lớn nhất từng đạt được. Ví dụ lỗ cao nhất của BTG từng diễn ra là 69,70%.
  • MFE: lãi lớn nhất từng đạt được. Nó ngược lại với MAE.

Ngoài ra Amibroker Backtest còn cho phép nhà đầu tư Report, phần này tôi sẽ hướng dẫn ở các bài viết backtest Amibroker nâng cao.

IV. Cách backtest Amibroker danh sách cổ phiếu yêu thích và backtest loại bỏ danh sách không yêu thích

Để backtest Amibroker Code theo danh sách cổ phiếu yêu thích là việc nhà đầu tư sẽ backtest thử code AFL đó có phù hợp hoặc sử dụng tốt với nhóm danh sách cổ phiếu đó không. Ví dụ tôi tạo một danh sách cổ phiếu yêu thích là nhóm ngân hàng, tôi sẽ backtest code AFL của tôi với nhóm đó xem sử dụng có hiệu quả không.

Để thực hiện được việc này nhà đầu tư làm theo các bước sau đây hoặc Videos chúng tôi hướng dẫn tại đây:

Videos hướng dẫn cách Backtest Amibroker AFL Code theo danh sách yêu thích

Bước 1: Tạo danh sách cổ phiếu yêu thích (Watch List).

Nhà đầu tư mở Amibroker lên => trên tab thanh công cụ chọn Symbol => chọn Watch List => New Watch List => đặt tên cho Watch List => Xem danh sách Watch List ở cột bên trái nhé. Nếu không thấy cột Symbols ở bên góc trái của Amibroker nhà đầu tư chọn Window trên thanh công cụ của Amibroker, rồi chọn Symbols. Nếu nhà đầu tư vẫn chưa làm được thì có thể xem hình 7 dưới đây hoặc xem videos chúng tôi hướng dẫn.

Hình 7: Cách tạo Wach List trong Amibroker
Hình 7: Cách tạo Watch List trong Amibroker

Videos hướng dẫn cách tạo danh sách cổ phiếu yêu thích trong Amibroker:

Videos hướng dẫn cách tạo Watch List cổ phiếu trong Amibroker

Bước 2: thiết lập Backtest Amibroker theo Watch List (danh sách yêu thích).

Nhà đầu tư mở thiết lập Backtest Amibroker AFL như ở phần II chúng tôi hướng dẫn, thiết lập như phần II nhưng lưu ý phần Apply to chọn Filter => chọn phễu màu xanh ngay cạnh chữ Filter (Define Filter) => chọn Include => rồi lựa chọn Watch List cần Backtest Amibroker AFL Code => sau đó Click vào Backtest.

Hình 8: Cách thiết lập Backtest Amibroker AFL Code theo danh sách yêu thích
Hình 8: Cách thiết lập Backtest Amibroker AFL Code theo danh sách yêu thích

Như vậy chúng ta đã Backtest cổ phiếu theo danh sách yêu thích, riêng với cách backtest danh sách không yêu thích chúng ta làm tương tự nhưng phần Filter Settings ta chọn Exclude rồi chọn danh sách không yêu thích.

Trên đây tôi đã hướng dẫn cách sử dụng Amibroker Backtest Amibroker AFL Code, hy vọng bài viết mang lại những thông tin hữu ích cho nhà đầu tư. Ngoài ra nhà đầu tư quan tâm tới các dịch vụ chứng khoán như mở tài khoản chứng khoán, khóa học chứng khoán, sách chứng khoán liên hệ với chúng tôi qua hotline 0372.095.129.

Bài viết liên quan
Huong dan cach them sua xoa code AFL trong Amibroker
cach them sheet tab trong amibroker va them khoang trong le phai cho thanh bars
Cách cài đặt dữ liệu chứng khoán INTRADAY và EOD trên cùng Amibroker
Hướng dẫn lọc cổ phiếu bằng Amibroker theo 2 cách
Lỗi Amibroker không cập nhật dữ liệu nguyên nhân và cách khắc phục như thế nào
Hướng dẫn cách cập nhật dữ liệu cho Amibroker miễn phí
>