Làm thế nào để tôi tính toán một thời gian sửa đổi bằng cách sử dụng Matlab?

Thiết kế bộ ĐK PID dùng Matlab Simulink (Tháng Chín 2024)

Thiết kế bộ ĐK PID dùng Matlab Simulink (Tháng Chín 2024)
Làm thế nào để tôi tính toán một thời gian sửa đổi bằng cách sử dụng Matlab?
Anonim
a:

Thời hạn sửa đổi đo độ nhạy của chứng khoán có thu nhập cố định với sự thay đổi lãi suất. Để tính toán thời gian sửa đổi trong Matlab, hãy xác định tỷ lệ lãi suất trái phiếu, ngày thanh toán, ngày đáo hạn và sản lượng đến ngày đáo hạn trên cơ sở một năm một lần. Chức năng tính thời gian sửa đổi trong Matlab cho một sản lượng nhất định được gọi là "bnddury" và lệnh là "result = bnddury (Yield, CouponRate, Settle, Maturity)". Nếu bạn muốn tính thời gian sửa đổi dựa trên giá hiện tại của trái phiếu chứ không phải là sản lượng cho đến khi đáo hạn, hãy làm như vậy bằng cách sử dụng chức năng "bnddurp" và chạy lệnh "result = bnddurp (Giá, CouponRate, Settle, Trưởng thành)". Kết quả trong cả hai trường hợp là một ma trận với ba mảng có chứa thời gian sửa đổi, thời gian Macaulay trong năm và Macaulay thời gian trên cơ sở bán séc.

Thời hạn sửa đổi là một khái niệm cho biết rằng giá trái phiếu và lãi suất liên quan đến nhau. Thời gian sửa đổi được tính bằng thời gian Macaulay / (1 + năng suất / n), trong đó n là tần số ghép mỗi năm. Thời gian Macaulay thể hiện một thời gian trung bình có trọng số cho đến khi hoàn trả trái phiếu và nó được tính trong nhiều năm. Thời hạn sửa đổi đo độ nhạy của giá trái phiếu với sự thay đổi về năng suất và được tính bằng phần trăm.

Xem xét một nhà đầu tư quan tâm đến việc tính toán thời gian sửa đổi cho trái phiếu của mình với ngày quyết định là ngày 2 tháng 8 năm 1999, ngày đáo hạn ngày 15 tháng 6 năm 2004, tỷ lệ 5,5% coupon, hai thanh toán coupon mỗi năm và ngày đếm cơ sở thực tế / thực tế. Nhà đầu tư quan tâm đến việc biết thời gian sửa đổi khi lợi suất thị trường đối với trái phiếu này là 4%.

Thứ nhất, nhà đầu tư cần tạo ra các biến cho sản lượng với lệnh "Yield = 0. 04", lãi suất coupon với lệnh "CouponRate = 0. 055", ngày thanh toán với lệnh "Settle = '02 -Aug-1999 '" , ngày đến hạn thanh toán với lệnh Maturity = '15-Jun-2004 '", tần suất thanh toán coupon với lệnh" Period = 2 "và ngày đếm cơ sở với lệnh" Basis = 0 ". Lưu ý rằng các biến cho ngày thanh toán và ngày đáo hạn phải là số thứ tự ngày tháng hoặc ngày tháng.

Lệnh "result = bnddury (Yield, CouponRate, Settle, Maturity)" tạo ra một kết quả ma trận có chứa ba con số, đại diện cho thời gian sửa đổi là 4. 24, Macaulay thời gian trên cơ sở hàng năm 4. 33 và thời gian Macaulay trên cơ sở bán niên là 8. 66.

Nếu nhà đầu tư không có lãi suất đến hạn, nhưng có giá trái phiếu, dựa vào đó ông muốn tính toán thời gian sửa đổi, ông có thể làm như vậy bằng cách sử dụng chức năng "bnddurp". Giả sử cùng một trái phiếu có giá 106. Nhà đầu tư cần xác định một biến giá với lệnh "Price = 106".Lệnh "result = bnddurp (Giá, CouponRate, Settle, Maturity)" tạo ra các kết quả tương tự như chức năng "bnddury".

Nhà đầu tư cũng có thể chỉ ra cơ sở đếm ngày khác nhau bằng cách xác định các giá trị số khác nhau từ 0 đến 13 cho biến "Cơ sở". Ví dụ: giá trị 1 là 30/360 cơ sở, 2 đối với cơ sở thực tế / 360 và 3 giá trị thực / 365 cơ sở. Ngoài ra, nhà đầu tư có thể chỉ định các thông số khác, chẳng hạn như ngày coupon đầu tiên, ngày coupon cuối cùng và quy tắc tháng kết thúc.