Thư viện AFL
Thư viện AFL
Mã AFL của Amibroker để tính toán lợi nhuận luân phiên 10 năm

Mã AFL của Amibroker để tính toán lợi nhuận luân phiên 10 năm

Lợi nhuận luân chuyển, còn được gọi là lợi nhuận di chuyển, là lợi nhuận trong một khoảng thời gian được tính toán lại mỗi khi một điểm dữ liệu mới được thêm vào tập dữ liệu. Ví dụ: trong lợi nhuận luân phiên 10 năm, lợi nhuận trong 10 năm qua sẽ được tính toán và cập nhật hàng năm, dựa trên dữ liệu mới nhất hiện có.

Đây là mã AFL đơn giản để tính lợi nhuận luân phiên trong 10 năm cho bất kỳ tập lệnh nào. Nói chung, Lợi nhuận luân chuyển được tính trong khoảng thời gian 3 năm, 5 năm, 10 năm. Lợi nhuận luân chuyển về cơ bản là thước đo hiệu suất của quỹ/chỉ số/cổ phiếu trong một khoảng thời gian. Biểu đồ trên cho thấy lợi nhuận luân chuyển 10 năm hiện tại của Nifty ở mức 7,47%.

Lợi nhuận luân chuyển không là gì ngoài việc tính toán CAGR lịch sử. Công thức tính CAGR được hiển thị dưới đây.

CAGR = [(Giá cuối kỳ → Giá đầu kỳ)^1/n] – 1

trong đó CAGR – Tỷ lệ tăng trưởng kép hàng năm

trong đó “n” là số khoảng thời gian (ví dụ này là 10 năm)

Lưu ý: Để tính toán Lợi nhuận luân phiên trong 10 năm, dữ liệu lịch sử của hơn 10 năm được điều chỉnh để chia tách/tiền thưởng là bắt buộc đối với cổ phiếu.

Đây là mã AFL để tính Lợi nhuận luân chuyển 10 năm. Mã được thiết kế để thích ứng với nhiều khung thời gian như Hàng ngày, Hàng tuần và Hàng tháng, tuy nhiên, bạn nên sử dụng hàng tuần/hàng tháng để có độ chính xác cao hơn.

Mã AFL của Amibroker – Lợi nhuận luân phiên 10 năm

Liên quan

Mã nguồn (.afl)
//AFL Code to Compute Rolling Returns
//Recommended to use it on Weekly/Monthly Charts with Historical Data more than 10 Years
//Minor Variations in the Rolling Returns might be there because of timeframe selection.
//Coded by Rajandran R - Author www.marketcalls.in

_SECTION_BEGIN("Rolling Returns");
SetChartOptions(0,chartShowArrows|chartShowDates);

Years = Param("Years", 10, 1, 50, 1 );

if(Interval() == inDaily)
{

// 250x10 == 2500 Days Rolling Returns Calculated. i.e 10 Years Rolling Returns calculated by default.
Plot( ((C/Ref(C,-Years*250))^(1/Years)-1)*100, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style")  );

}


if(Interval() == inWeekly)
{

// 52x10 == 52 Weeks Rolling Returns Calculated. i.e 10 Years Rolling Returns calculated by default.
Plot( ((C/Ref(C,-Years*52))^(1/Years)-1)*100, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style")  );

}

if(Interval() == inMonthly)
{

// 12x10 == 120 Months Rolling Returns Calculated. i.e 10 Years Rolling Returns calculated by default.
Plot( ((C/Ref(C,-Years*12))^(1/Years)-1)*100, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style")  );

}

_SECTION_END();

Hướng dẫn: Copy đoạn mã trên, mở AmiBroker Formula Editor, dán vào và lưu lại với tên tương ứng.