ứng dụng tối ưu hóa toán học giải bài toán markowitz tối ưu hóa danh mục đầu tư chứng khoán
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - CƠ - TIN HỌC
Trần Thị Như Hoa
ỨNG DỤNG TỐI ƯU HÓA TOÁN HỌC
GIẢI BÀI TOÁN MARKOWITZ TỐI ƯU HÓA DANH MỤC ĐẦU TƯ CHỨNG KHOÁN
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Toán - Tin ứng dụng
Người hướng dẫn: PGS.TS Nguyễn Hữu Điển
Hà Nội - 2010
Trang 2LỜI CẢM ƠN
Trước khi trình bày nội dung chính của khóa luận, em xin bày tỏ lòng biết
ơn sâu sắc tới PGS.TS Nguyễn Hữu Điển người đã tận tình hướng dẫn để em
có thể hoàn thành khóa luận này
Em cũng xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy cô giáotrong khoa Toán - Cơ - Tin học, Đại học Khoa Học Tự Nhiên, Đại Học QuốcGia Hà Nội đã dạy bảo em tận tình trong suốt quá trình học tập tại khoa.Nhân dịp này em cũng xin được gửi lời cảm ơn chân thành tới gia đình, bạn
bè đã luôn bên em, cổ vũ, động viên, giúp đỡ em trong suốt quá trình học tập
và thực hiện khóa luận tốt nghiệp
Hà Nội, ngày 19 tháng 05 năm 2010
Sinh viên
Trần Thị Như Hoa
Trang 3Mục lục
Lời mở đầu 4
Chương 1 Một số kiến thức liên quan 6
1.1.Bài toán quy hoạch tuyến tính gốc và đối ngẫu 6
1.2.Phương pháp đơn hình giải bài toán QHTT 8
Chương 2 Bài toán quy hoạch toàn phương 13
2.1.Đặt vấn đề 13
2.2.Bài toán quy hoạch toàn phương dạng chuẩn 13
2.2.1 Điều kiện tối ưu Karush-Kuhn-Tucker (KT) 14
2.3.Phương pháp điểm trong 14
2.3.1 Hướng đi sử dụng phương pháp Newton-Raphson 15
2.3.2 Tính toán chiều dài mỗi bước lặp 15
2.3.3 Tiêu chuẩn hội tụ 16
2.3.4 Thuật toán điểm trong 16
2.4.Phương pháp gradient 17
2.4.1 Ý tưởng 17
2.4.2 Thuật toán gradient 17
2.5.Phương pháp sử dụng các mở rộng của phương pháp đơn hình
18 2.5.1 Phát biểu bài toán và điều kiện tối ưu 18
2.5.2 Hướng giải quyết vấn đề 19
Chương 3 Giải bài toán Markowitz - tối ưu hóa danh mục đầu tư 21
3.1.Tổng quan về bài toán Markowitz 21
3.1.1 Phát biểu bài toán Markowitz cơ bản và các tính chất 23
3.1.2 Các khái niệm và thông số 25
3.1.3 Thuộc tính của bài toán 25
3.1.4 Một số kết quả nghiên cứu 26
3.2.Phương pháp giải bài toán Markowitz gốc 27
3.2.1 Mô hình cơ bản 28
3.2.2 Điều kiện Kuhn-Tucker 28
3.2.3 Trường hợp đặc biệt 32
3.2.4 Tìm nghiệm cơ sở của bài toán 33
3.2.5 Ví dụ minh họa thuật giải 33
Trang 43.3.Thuật giải Markowitz tổng quát 39
3.3.1 Mô hình bài toán tối ưu 40
3.3.2 Điều kiện tối ưu 42
3.3.3 Tìm nghiệm cơ sở của bài toán 43
3.3.4 Ví dụ minh họa 45
Phụ lục 54
Kết luận 59
Tài liệu tham khảo 60
Trang 5Lời mở đầu
Ngày nay, tối ưu hóa đã trở thành một lĩnh vực rất phát triển, góp phần quantrọng trong việc ứng dụng khoa học công nghệ vào cuộc sống và sản xuất Quyhoạch toàn phương (QHTP) là một lĩnh vực của tối ưu hóa đã được phát triển
từ đầu của thế kỷ 20, đến nay toàn bộ lý thuyết toán học cho lĩnh vực này cóthể nói là đã rất hoàn thiện Chúng ta có hai lý do chính để yêu thích QHTP.Đầu tiên là về mặt thực tiễn, một mô hình rất quan trọng trong vấn đề tối ưuhóa đầu tư tài chính yêu cầu giải bài toán quy hoạch toàn phương Lý do thứhai cho sự yêu thích của chúng ta đó là dạng bài toán và cách giải QHTP làcầu nối tới một lĩnh vực mang tính rộng lớn hơn rất nhiều đó là quy hoạch lồi.Chúng ta sẽ đi vào vấn đề ứng dụng thực tiễn của QHTP, một vấn đề mà rấtnhiều người quan tâm, không chỉ các nhà toán học mà các nhà kinh tế cũngđang nghiên cứu tỉ mỉ mô hình này
Khóa luận tập trung làm rõ một số vấn đề sau: Trình bày bài toán quy hoạchtoàn phương tổng quát, các phương pháp chủ yếu để giải bài toán Sau đó đivào bài toán Markowitz: tối ưu hóa danh mục đầu tư chứng khoán Bài toánMarkowitz được trình bày dưới 2 dạng, dạng gốc và dạng tổng quát Và cuốicùng là các ví dụ cũng như kết quả tính toán bằng số để minh họa cho bài toán
Bố cục của khóa luận bao gồm 3 chương và 1 phụ lục:
• Chương 1 của khóa luận trình bày tóm tắt về bài toán quy hoạch tuyếntính gốc và đối ngẫu, thuật toán đơn hình để giải bài toán quy hoạch tuyếntính, các định lý và kết quả cơ bản liên quan đến khóa luận
• Chương 2 của khóa luận đi vào trình bày tổng quan về bài toán quy hoạchtoàn phương, một số phương pháp chủ yếu để giải bài toán như phươngpháp điểm trong, phương pháp gradient, phương pháp sử dụng những mởrộng của phương pháp đơn hình
• Chương 3 trình bày các kiến thức về kinh tế liên quan, đặt bài toánMarkowitz, các điều kiện để bài toán tối ưu, sau đó đi vào trình bàyphương pháp giải bài toán Markowitz gốc với các ràng buộc dạng đẳng
Trang 6thức và bài toán Markowitz tổng quát với số ràng buộc lớn hơn, có thêmcác ràng buộc dạng bất đẳng thức.
• Phụ lục sử dụng bảng tính excel làm việc với bài toán trong thực tế
Do thời gian thực hiện khóa luận không nhiều, kiến thức còn hạn chế nênkhi làm khóa luận không tránh khỏi những hạn chế và sai sót Tác giả mongnhận được sự góp ý và những ý kiến phản biện của quý thầy cô và bạn đọc.Xin chân thành cảm ơn!
Hà Nội, ngày 19 tháng 05 năm 2010
Sinh viên
Trần Thị Như Hoa
Trang 7Chương 1
Một số kiến thức liên quan
1.1 Bài toán quy hoạch tuyến tính gốc và đối ngẫu
Bài toán quy hoạch tuyến tính[1] (QHTT) tổng quát có thể được phát biểudưới dạng:
trong đó x j gọi là các biến, c j gọi là thành phần của véctơ hệ số hàm mục
tiêu (hàm giá), a i j gọi là hệ số ràng buộc, b i gọi là hệ số vế phải, l j < u j lần lượt gọi là các cận dưới và cận trên (giới hạn dưới và trên) của biến x j (i = 1, ,m, j = 1, ,n).
Để nghiên cứu tính chất và các phương pháp giải bài toán quy hoạch tuyếntính (1.1) người ta thường chuyển bài toán này về một trong hai dạng chính tắc
và chuẩn tắc Trong khóa luận này chỉ để cập đến bài toán quy hoạch tuyếntính dạng chính tắc như sau:
Trong đó x = (x1, , xn) T gọi là các biến cần tối ưu, c = (c1, , cn) T là
véctơ hàm mục tiêu, ma trận A = (ai j)m ×n là ma trận hệ số ràng buộc và
b = (b1, , bm) T gọi là véctơ vế phải Hàm f gọi là hàm mục tiêu, tập D pgọi
Trang 8là tập ràng buộc Ma trận A được giả thiết là có hạng đủ, rank A = m ≤ n và
bài toán gọi là bài toán QHTT gốc, ký hiệu là (P)
Một điểm x ∈ D p gọi là một điểm (hay phương án) chấp nhận được Điểm
x∗ ∈ Dp gọi là nghiệm (hay phương án tối ưu) của bài toán (1.2) nếu f (x∗) ≤
f (x) với mọi x ∈ D p Vì D p là tập lồi đa diện, nên x ∈ D p là đỉnh của D p thì x gọi là phương án cực biên (phương án cơ sở) Nếu x∗ là điểm cực biên (đỉnh)
của D p và tối ưu thì x∗ gọi là phương án cực biên tối ưu
Cho một phương án cơ sở (hay một đỉnh) x, ký hiệu J+(x) = { j ∈ {1, , n} :
x j > 0} gọi là tập chỉ số cơ sở của x Nếu |J+(x)| = m thì x gọi là phương án không suy biến, còn nếu |J+(x)| < m thì x gọi là phương án suy biến Ta công
nhận kết quả sau: tập hợp các véctơ
Lập hàm Lagrange cho bài toán QHTT gốc (P) như sau:
L (x, y, s) = c T x + y T (b − Ax) + s T x (1.4)
trong đó y và s ≥ 0 là các nhân tử Lagrange Khi đó bài toán đối ngẫu (dạng
Lagrange) của bài toán gốc (P) sẽ có dạng (sẽ ký hiệu là (D)):
Biến s gọi là biến bù, g gọi là hàm mục tiêu đối ngẫu và D d gọi là miền ràng
buộc đối ngẫu Hiển nhiên D d cũng là tập lồi đa diện và bài toán (1.5) cũng làbài toán QHTT
Với mọi bộ ba (x,y,s) sao cho x ∈ D p và (y,s) ∈ D d ta đặt
τ(x, y, s) = f (x) − g(y, s) = s T x, (1.6)gọi là khoảng trống đối ngẫu Theo định lý đối ngẫu yếu thì τ(x, y, s) ≥ 0, và
nếu τ(x, y, s) = 0 thì (x, y, s) sẽ là nghiệm của cặp bài toán gốc đối ngẫu (D) Còn theo định lý đối ngẫu mạnh thì nếu x∗ là nghiệm tối ưu của bài toán
(P)-gốc (P) thì sẽ tồn tại nghiệm tối ưu (y∗, s∗) của bài toán đối ngẫu (D) sao cho
τ∗=τ(x∗, y∗, s∗) = 0 và ngược lại
Trang 91.2 Phương pháp đơn hình giải bài toán QHTT.
Một trong những phương pháp nổi tiếng và hiệu quả là phương pháp đơnhình, được G B Dantzig phát minh ra năm 1947 Phần này sẽ trình bày tómtắt lại tư tưởng cơ bản và nội dung của phương pháp đơn hình, phương phápnày sẽ được sử dụng để tính toán nhiều trong khóa luận
Trước hết ta chỉ ra một tính chất quan trọng của bài toán quy hoạch tuyếntính là nghiệm sẽ nằm ở điểm cực biên
Bổ đề 1.2.1 Giả sử bài toán QHTT gốc (1.2) có nghiệm tối ưu thì nó sẽ có
nghiệm tối ưu x∗ nằm ở đỉnh.
Do tính chất đặc biệt của bài toán QHTT nên thuật toán đơn hình đã tậndụng rất hiệu quả các tính chất này để tạo ra một thuật toán rất hiệu quả Đặcbiệt là các tính chất:
• Miền ràng buộc của bài toán QHTT là một tập lồi đa diện với số điểm cựcbiên là hữu hạn
• Nếu bài toán QHTT có nghiệm tối ưu thì sẽ có nghiệm tối ưu nằm ở đỉnh
Ý tưởng của thuật toán
Bước 1: Xuất phát từ một đỉnh x0 của miền ràng buộc
Bước 2: Nếu x0 là nghiệm tối ưu, dừng thuật toán Nếu không chuyểnsang bước 3
Bước 3: Từ x0 tìm cách di chuyển đến đỉnh kề tiếp theo của miền ràng
buộc tốt hơn đỉnh x0 (theo nghĩa giá trị hàm mục tiêu nhỏ hơn)
Bước 4: Lặp lại Bước 2, 3 với x0thay bằng x1
Do số đỉnh của miền ràng buộc là hữu hạn, nên nếu bài toán có nghiệm, sauhữu hạn bước ta sẽ tìm được đỉnh tối ưu Có nhiều vấn đề cần giải quyết trongphương pháp đơn hình, bao gồm:
• Tìm đỉnh xuất phát, vấn đề này thường được giải quyết dựa vào phươngpháp hai pha hoặc đánh thuế (hai phương pháp này cũng cho biết miềnràng buộc có rỗng hay không)
• Kiểm tra bài toán có nghiệm hay vô nghiệm (có bị chặn dưới hay không)
• Kiểm tra đỉnh x0 có là tối ưu hay không?
• Từ đỉnh x0 làm thế nào di chuyển đến đỉnh x1 tốt hơn x0?
Trang 10Thuật toán đơn hình.
• Đầu vào: Ma trận A = (ai j)m ×n , véctơ b, véctơ c Phương án cơ sở x0 và
cơ sở tương ứng J(x0)
• Đầu ra: Phương án cơ sở tối ưu x∗ và giá trị mục tiêu tối ưu f (x∗) hoặcchỉ ra bài toán không có nghiệm tối ưu (tức là hàm mục tiêu không bịchặn dưới)
• Thuật toán:
Bước khởi tạo:
1 Tìm một phương án cơ sở xuất phát x0 ứng với cơ sở xuất phát
Bước 1: Kiểm tra tiêu chuẩn tối ưu.
1 Nếu ∆k ≤ 0 với mọi k / ∈ J0 thì x0 là phương án tối ưu Kết thúcthuật toán
2 Nếu ∃∆k > 0, chuyển sang bước 2
Bước 2: Kiểm tra tính bị chặn của hàm mục tiêu.
Với mỗi k /∈ J0mà ∆k > 0 ta kiểm tra các hệ số khai triển Z k = (z jk)
1 Nếu có một∆k > 0 mà tất cả các hệ số khai triển z jk ≤ 0, (∀ j ∈ J0)thì kết luận hàm mục tiêu không bị chặn dưới Bài toán không cóphương án hữu hạn Kết thúc thuật toán
2 Nếu với mọi k /∈ J0mà tồn tại ít nhất một hệ số z jk> 0 thì tiến hành
tìm phương án mới x1tốt hơn x0bằng cách chuyển sang bước 3
Bước 3: Tìm phương án mới
1 Chọn véctơ As đưa vào cơ sở: Có thể bất kỳ s /∈ J) sao cho∆s> 0
Thông thường chọn s sao cho∆s lớn nhất
2 Chọn véctơ A r đưa ra khỏi cơ sở theo quy tắc:
Trang 113 Tính phương án mới x1 và giá trị hàm mục tiêu mới theo côngthức:
• Các cột ứng với các j ∈ J0 sẽ là các véctơ đơn vị với hệ số 1 nằm trên
dòng với chỉ số j.
• Với k /∈ J0 thì cột k của bàng đơn hình là hệ số khai triển của A k của ma
trận A theo cơ sở J0 Ta ký hiệu cột này là Z k nghĩa là A k = BJ0Z k hay
Z k = (BJ0)−1A k , ở đây B J0 là ma trận cơ sở (B J0 = A j | j ∈ J0
Đặc biệt khi ta chọn được một ma trận BJ0 có dạng ma trận đơn vị thì hệ
số khai triển trên các cột j với j ∈ J0sẽ chính là cột véctơ đơn vị z jk = e j,
còn các hệ số khai triển trên các cột k /∈ J0 chính là z jk = A k
Trang 12• Dòng ước lượng là dòng cuối cùng của bảng và được tính bởi∆k = c T
J0Z k−
c k và∆j = 0, (∀ j ∈ J0)
• Giá trị hàm mục tiêu chính là f (x) = c T
J0x J)
Một trong những chi tiết quan trọng trong phương pháp đơn hình là: Từ
nghiệm x∗ của bài toán gốc (P), ta có xây dựng lại được nghiệm đối ngẫu hay không? Phương pháp đơn hình gốc - đối ngẫu sẽ cho phép thu được bộ ba
nghiệm (x∗, y∗, s∗) cho cặp bài toán gốc, đối ngẫu Trên thực tế, ta có thể xuất
phát từ nghiệm của bài toán gốc (P) là x∗ với cơ sở AJ∗, ta có thể thu đượcnghiệm của bài toán đối ngẫu (D) như sau:
• Giả sử x∗ là nghiệm của bài toán gốc (P) ứng với cơ sở tối ưu A J∗ Khi đó
• Khi đó AJ∗ cũng sẽ là cơ sở đối ngẫu của bài toán đối ngẫu (D) và nghiệm
đối ngẫu (y∗, s∗) được tính theo công thức:
Trong thực tế, bài toán QHTT thường không phải là bài toán dạng chuẩn tắc
với véctơ vế phải b không âm, nên ta không thể có ngay được phương án xuất phát x0 để thực hiện phương pháp đơn hình Do vậy người ta thường sử dụngmột trong hai phương pháp: Phương pháp đơn hình hai pha và phương phápđánh thuế Trong khóa luận này sẽ sử dụng phương pháp đơn hình hai pha vớinội dung được tóm tắt như sau:
Trước hết, đối với bài toán gốc (P), không mất tính tổng quát ta có thể xem
các b i ≥ 0 với mọi i = 1, m Nếu trái lại ta nhân hai vế của ràng buộc thứ i với
−1 Ta lập bài toán phụ sau
Trang 13Các biến u n +i với (i = 1,m) gọi là các biến giả.
Nếu ta ký hiệu e = (1,1, ,1) T là véctơ gồm m thành phần là 1, u = (un+1, un+2, , un +m)T và E là ma trận đơn vị cấp m thì ta có thể viết bài
toán trên dưới dạng
Khi đó, quan hệ giữa hai bài toán (1.7) và (1.8) được chỉ ra như sau:
• Bài toán (1.8) có một phương án cơ sở xuất phát là (x,u) T := (0, b) T
• Bài toán (1.2) có phương án chấp nhận được khi và chỉ khi bài toán phụ
(1.8) có phương án tối ưu (x,u) T với tất cả các biến giả u n +i = 0, (i = 1, m.
Do đó phương pháp đơn hình hai pha được thực hiện như sau:
Pha 1: Lập bài toán phụ cho bài toán (P), giải bài toán phụ bằng phươngpháp đơn hình Nếu bài toán phụ vô nghiệm hoặc có nghiệm không lànghiệm chấp nhận của bài toán (P), dừng thuật toán Ngược lại, chuyểnsang pha 2
Pha 2: Sử dụng thuật toán đơn hình giải bài toán (P) với phương án xuấtphát thu được từ pha 1
Trang 14là tuyến tính thì bài toán có dạng quy hoạch toàn phương (QHTP).
Với bài toán dạng này thì các phương pháp giải có mối quan hệ tới các
mở rộng của bài toán quy hoạch tuyến tính Trong phần đầu tiên sẽ giới thiệu
về bài toán quy hoạch toàn phương dạng chuẩn và điều kiện tối ưu KarushKunh Tucker Phần 2, 3 và 4 sẽ đề cập tới phương pháp điểm trong, phươngpháp active-set, phương pháp gradient để giải quyết bài toán Trong phần cuốichương sẽ đề cập đến phương pháp sử dụng các mở rộng của phương pháp đơnhình để giải bài toán QHTP
2.2 Bài toán quy hoạch toàn phương dạng chuẩn
Bài toán quy hoạch toàn phương dạng chuẩn phát biểu dưới dạng:
Trong đó x n×1 là biến tối ưu, A m ×n là ma trận ràng buộc b m×1 là véctơ của
các ràng buộc vế phải, c n×1 là véctơ của hàm mục tiêu, Q n ×nlà ma trận trong
hàm mục tiêu Dễ thấy rằng bài toán quy hoạch toàn phương là lồi khi Q n ×n là
ma trận vuông xác định dương
Trang 152.2.1 Điều kiện tối ưu Karush-Kuhn-Tucker (KT)
Điều kiện KT [4] này là điều kiện cần và đủ để bài toán có nghiệm Các điềukiện tối ưu này gắn với việc chuyển bài toán QHTP về dạng bài toán khôngràng buộc bằng cách xét hàm Lagrange Hàm Lagrange[4] gắn với bài toán(1.1) có dạng như sau:
L (x, u, v, s) = c T x+1
2x
T Qx + u T (−x + s2) + v T (−Ax + b) Trong đó u ≥ 0 là nhân tử Lagrange liên kết với ràng buộc bất đẳng thức x ≥ 0 , s là biến phụ liên kết với ràng buộc x ≥ 0, v m×1 là nhân tử Lagrange liên kết
với ràng buộc Ax = b (hay −Ax + b = 0)
Lấy vi phân hàm Lagrange theo từng biến ta được:
(b) − Qx + A T v + u = c (Điều kiện đối ngẫu)
(c) ui x i= 0 i = 1 n (Điều kiện phụ bổ sung)
Điều kiện phụ bổ sung (2.3 c) được viết lại như sau: XUe = 0.
2.3 Phương pháp điểm trong
Phương pháp điểm trong (interior point method) cơ bản đi giải quyết hệphương trình (2.3) Hệ (2.3) là phi tuyến bởi điều kiện (2.3 c) Chúng ta sẽ sửdụng một phương pháp lặp như Newton-Raphson để giải hệ phương trình này
Trang 16Các phương trình tuyến tính sẽ thỏa mãn ở mỗi bước lặp, với phương trình (2.3c) không thỏa mãn ở mỗi bước, ta sử dụng một tham số µ > 0 để chỉ thị lỗinày Điều kiện (2.3 c) được viết lại như sau:
XU e= µe
2.3.1 Hướng đi sử dụng phương pháp Newton-Raphson
Ở mỗi lần lặp ta cần tính toán giá trị mới của (2n + m) biến (x,u,v) Sử
dụng phương pháp Newton-Raphson giá trị mới của các biến đạt được bằngcách giải hệ sau:
Biến đổi hệ này ta tính được dv:
A [XQ +U]−1X A T d v = rp + A[XQ +U]−1(Xr d − rc) Biết d v ta tính được d x , d u:
d x = [XQ +U]−1(XA T d v − Xrd + rc)
d u = X−1(rc −Udx)
2.3.2 Tính toán chiều dài mỗi bước lặp
Kí hiệu α là chiều dài mỗi bước lặp, ta có công thức tính phần tử thứ (k +1) qua phần tử thứ k như sau:
0≤β ≤ 1, β thường lấy bằng 0,999
(2.5)
Trang 172.3.3 Tiêu chuẩn hội tụ
Vớiε1,ε2,ε3 là các số dương nhỏ Sử dụng tính chất tối ưu:
Với ý tưởng như trên, thuật toán điểm trong[4] được mô tả như sau:
2.3.4 Thuật toán điểm trong.
Bước khởi tạo: Đầu tiên khởi tạo k = 0, giá trị tùy ý (≥ 0) của x,u,v ví
dụ x k = u k = e = (1 1) và v k= 0
Điểm kế tiếp x k+1 được tính như sau:
Bước 1: Kiểm tra tiêu chuẩn hội tụ Đặt µk=
Bước 5: Tính toán bước tăng αp,αd
Bước 6: Tính giá trị điểm kế tiếp x k+1, u k+1, v k+1
Trang 182.4.2 Thuật toán gradient
• Đầu vào: Ma trận A = (ai j)m ×n , véctơ b, véctơ c Phương án cơ sở x0 và
cơ sở tương ứng J(x0)
• Đầu ra: Phương án cơ sở tối ưu x∗ và giá trị mục tiêu tối ưu f (x∗) hoặcchỉ ra bài toán không có nghiệm tối ưu (tức là hàm mục tiêu không bịchặn dưới)
• Thuật toán:
Bước 1: Tìm phương án x0 thuộc miền ràng buộc M, cho k = 0.
Bước 2: Đã có x k (k ≥ 0) ta xác định độ dài bước: Việc dịch chuyển từ
t k theo hướng −∇f (x k ) tới điểm x k+ [−∇f (x k)]λ kéo theo biến đổi hàm
fmột số gia:
∆f = − f [x k−∇f (x k)λ] + f (x k)Giá trịλ mà với nó số gia∆f đạt giá trị lớn nhất (tức là hàm f giảm được
nhiều nhất) có thể xác định tại điểm dừng của hàm ∆f:
∆f
dλ = 0 ≈ −∇f [x k−∇f (x k)λ](−∇f (x k) = 0 (*)
Từ phương trình (*) ta tìm được điểm dừngλ∗
Nếu tại điểm dừng λ∗ta có d2∆f
dλ2 < 0 thì ta có điểm cực đạiλ∗ của∆f
Do đó:
x k+1= x k+ [−∇f (x k)]λ∗
Trang 19Bước 3: Thử xem x k+1 có thuộc M? Nếu điểm x k+1 vượt ra khỏi miềnràng buộc thì ta phải rút ngắn bước λ sao cho được một điểm trên biêntheo hướng đã chọn.
Bước 4: Kiểm tra x k+1 là điểm tối ưu hay không?
1 Nếu∇f (x k+1) = 0 thì x k+1 là điểm tối ưu
2 Nếu∇f (x k+1) 6= 0 thì x k+1chưa là điểm tối ưu, ta tăng k lên 1 và quay
trở lại bước 2
2.5 Phương pháp sử dụng các mở rộng của phương pháp đơn hình
Trong chương thứ nhất chúng ta đã đi tìm hiểu phương pháp đơn hình vàứng dụng để giải các bài toán quy hoạch tuyến tính, trong phần này ta sẽ xẽxem xét những mở rộng của phương pháp này[6] để giải bài toán quy hoạchtoàn phương Đầu tiên ta kiểm tra điều kiện Karush Kuhn-Tucker (KKT) chobài toán quy hoạch toàn phương và nhận thấy từ điều kiện này trả về một hệcác phương trình tuyến tính và các ràng buộc bổ sung, để giải được hệ này cần
sử dụng tới các mở rộng của phương pháp đơn hình
2.5.1 Phát biểu bài toán và điều kiện tối ưu
Dạng của bài toán quy hoạch toàn phương với các ràng buộc bất đẳng thức
Trang 20Trong đó µm×1 là nhân tử Lagrange liên kết với ràng buộc Ax ≤ b.Điều kiện
KKT cho tối ưu cục bộ của bài toán là:
Biến đổi các phương trình (2.10 a) - (2.10 e) về dạng bài toán giải dễ dàng
hơn bằng cách thêm biến phụ không âm y ∈ R n vào bất đẳng thức (2.10 a) và
2.5.2 Hướng giải quyết vấn đề
Ta chuyển bài toán (2.11 a) - (2.11 d) về dạng của bài toán quy hoạch tuyếntính, khi đó ta sẽ áp dụng được thuật toán đơn hình với bài toán này Để chuyểnbài toán về dạng tuyến tính thì cần biến đổi dạng của phương trình (2.11 d)
• Nếu các giá trị vế phải là âm thì nhân phương trình với (-1)
• Thêm các biến giả vào mỗi phương trình
• Ta lập bài toán phụ với hàm mục tiêu là tổng của các biến giả trên Bàitoán phụ sẽ giải theo phương pháp đơn hình (cụ thể là thuật toán đơn hìnhhai pha đề cập ở chương một)
Để minh họa cho phương pháp này chúng ta xét ví dụ sau:
Ví dụ:
min f (x) = −8x1− 16x2+ x21+ 4x22thỏa mãn: x1+ x2≤ 5, x1≤ 3, x1≥ 0, x2 ≥ 0 (2.12)
Trang 21Lời giải: Chuyển bài toán về dạng bài toán QHTP
c T = −8
−16
, Q=2 0
0 8
, A=1 1
1 0
, b =5
3
x = (x1, x2), y = (y1, y2), µ = (µ1,µ2), v= (ν1,ν2)
(2.13)Ràng buộc tuyến tính (2.11 a) và (2.11 b) được chuyển về dạng sau:
Sử dụng thuật toán đơn hình hai pha, các giá trị tính theo các bước lặp như
bảng sau ta thu được nghiệm tối ưu của bài toán ban đầu là: (x∗
1, x∗2) = (3, 2)Bảng : Giá trị tại các bước lặp của thuật toán đơn hình hai pha giải bài toánQHTP
Bước
lặp
Biến sử dụng Giá trị biến Giá trị
hàm mụctiêu
Biếnthêmvào
Biếnloạibỏ
Trang 22Chương 3
Giải bài toán Markowitz - tối ưu hóa
danh mục đầu tư
3.1 Tổng quan về bài toán Markowitz
Quy hoạch toàn phương có rất nhiều ứng dụng trong thực tế, nhất là tronglĩnh vực kinh tế Một ứng dụng điển hình đó là bài toán Markowitz HarrryMarkowitz là nhà toán học và nhà kinh tế học, ông đã nghiên cứu quá trìnhđầu tư trong kinh tế và đề xuất lên bài toán Markowitz về tối ưu hóa danh mụcđầu tư Với công trình này ông đã đạt giải Nobel về kinh tế Bài toán này được
mô hình hóa dưới dạng quy hoạch toàn phương, thông qua việc giải bài toáncác nhà đầu tư sẽ có thêm phương hướng để lựa chọn danh mục đầu tư củamình
Để hiểu được bài toán này, trước hết chúng ta cần có một chút kiến thức vềlĩnh vực kinh tế [2] Đầu tiên chúng ta cùng tìm hiểu một vài khái niệm và cácđại lượng ngẫu nhiên có tính quy luật trong kinh tế:
+ Lợi suất đầu tư vào một tài sản
Lợi suất đầu tư trên một tài sản tài chính là thu nhập mà tài sản này manglại và sự tăng vốn (tăng giá trị tài sản) của chính tài sản đó Như vậy lợi suấttăng vốn bao gồm cả hiệu suất sinh lợi do thu nhập từ tài sản mang lại và giátrị vốn tăng thêm so với giá mua ban đầu của tài sản Công thức đánh giá lợisuất của một tài sản là:
R t = D t + P t − P t−1
P t−1
Trong đó:
• R t là lợi suất của tài sản đầu tư trong thời kỳ t
• D t là thu nhập từ tài sản mà nhà đầu tư nhận được trong thời kỳ t
Trang 23• P t là giá trị của tài sản ở cuối kỳ t.
• P t−1là giá trị của tài sản ở cuối kỳ t − 1.
Công thức trên cũng được dùng để đánh giá hiệu quả của các tài sản đầu tưtrong quá khứ Để đánh giá hiệu quả đầu tư trong tương lai nhà đầu tư phảitính đến sự không chắc chắn của lợi suất Công thức tính lợi suất kỳ vọng:
xu hướng thì có thể đánh giá lợi suất kỳ vọng bằng trung bình cộng của các lợi
suất thực hiện trong N thời kỳ, tương đương với:
+ Lợi suất của một danh mục đầu tư
Công thức trên để đánh giá hiệu quả của một tài sản Nếu nhà đầu tư khôngchỉ đầu tư vào một tài sản mà đầu tư vào nhiều loại tài sản thì phải có nhữngphương pháp đánh giá hiệu quả đầu tư cho một danh mục tài sản Một danhmục đầu tư chứng khoán bao gồm nhiều loại chứng khoán khác nhau Mỗiloại chứng khoán lại có lợi suất đầu tư riêng Vì thế lợi suất ước tính của mộtdanh mục đầu tư chứng khoán là bình quân của lợi suất thu được từ mỗi chứngkhoán trong danh mục đầu tư đó Công thức tính:
Trong đó w1, w2, , wn là tỷ trọng vốn đầu tư vào từng loại tài sản, E(r i) là
lợi suất đầu tư tương ứng
+ Rủi ro danh mục đầu tư
Rủi ro của từng chứng khoán là sự biến thiên của kết quả đó từ một nguyênnhân ban đầu, được lượng hóa bằng độ lệch chuẩn của lợi suất thu được Cũnggiống như từng chứng khoán riêng lẻ, rủi ro tổng thể của danh mục chứngkhoán là khả năng biến động trong tương lai về kết quả thu được từ danh mụcđầu tư Vì thế khi phân tích rủi ro của một danh mục đầu tư chứng khoán nguời
ta phải quan tâm đến rủi ro của cả danh mục chứ không phải rủi ro của mộtloại chứng khoán nào
Trang 24Trong một danh mục đầu tư mỗi loại chứng khoán có mức rủi ro khác nhau.
Vì thế đa dạng hóa đầu tư (không bỏ tất cả trứng vào một rổ) trở thành mộtnguyên tắc trong đầu tư chứng khoán và là giải pháp quan trọng để giảm thiểurủi ro cho toàn danh mục
Thực tế cũng chứng minh rằng, nhiều khi bổ sung vào một danh mục đầu
tư các chứng khoán có tính rủi ro lại là yếu tố quan trọng góp phần giảm thiểurủi ro cho toàn danh mục đầu tư Bởi vì một khi danh mục đầu tư có nhiều loạichứng khoán khác nhau thì giữa chúng sẽ có tác động tương tác, bù trừ rủi rolẫn nhau và tạo ra một kết quả đầu tư chung cho toàn danh mục Để xác định
hệ số rủi ro giữa hai chứng khoán và giữa chứng khoán với từng danh mụcngười ta cần xem xét hệ số covariance (tích sai - đồng phương sai) và hệ sốtương quan (correlation coefficient) của danh mục đầu tư Công thức tính hệ
số covariance giữa hai chứng khoán như sau:
Cov (r a , r b) =σA ,B=∑P i [r a − E(r a )][r b − E(r b)]
Công thức covariance chỉ cho thấy mối tương tác giữa hai chứng khoáncùng chiều hay ngược chiều mà chưa chỉ ra mức độ biến động của chúng Đểđịnh lượng mức độ biến động này ta sử dụng đến hệ số tương quan để giới hạncovariance trong khoảng từ −1 đến +1, công thức tính:
Cor (ra, rb) = Cov(ra, rb)/σaσb
+ Lý thuyết danh mục đầu tư hiện đại
Những người theo lý thuyết danh mục đầu tư hiện đại cho rằng thị trườngchứng khoán là một thị trường hiệu quả, có nghĩa là giá cả chứng khoán phảnứng tức thì với hầu hết các thông tin về đầu tư nên không nhà phân tích nàođược coi là sáng suốt trên khía cạnh tổng thể của thị trường Trọng tâm chínhcủa nhà quản lý danh mục đầu tư là lựa chọn một tập hợp các khoản mục đầu
tư có thể mang lại cho nhà đầu tư thu nhập mong đợi cao nhất theo từng mứcrủi ro nhất định
Ta vừa xem xét một vài khái niệm về lĩnh vực kinh tế, Markowitz dựa vàocác lý thuyết trên và đưa ra mô hình Markowitz [5] về cách lựa chọn danh mụcđầu tư hiệu quả nhất Nào chúng ta hãy cùng tìm hiểu mô hình[10] này trong
sự tác động giữa các biến ngẫu nhiên
3.1.1 Phát biểu bài toán Markowitz cơ bản và các tính chất
Mục tiêu của bài toán Markowitz là tìm tỷ trọng của các chứng khoán trongdanh mục đầu tư sao cho giảm tới mức tối thiểu phương sai (rủi ro) của toàn
Trang 25danh mục mà đạt được một mức thu nhập nhất định Giải bài toán với các mứcthu nhập mục tiêu nguời ta xác định được một tập hợp các danh mục đầu tưhiệu quả Từ đây nhà đầu tư có thêm một phương hướng đầu tư dựa trên quanđiểm của mình về việc đánh đổi thu nhập và rủi ro.
Trong phần này bài toán chỉ tập trung vào mô tả kỹ bài toán trong sự tácđộng của các biến ngẫu nhiên, các tính chất cơ bản nhất
Phát biểu bài toán:
Min : rủi ro của toàn danh mục đầu tư
• R j lợi nhuận trả về của chứng khoán j (biến ngẫu nhiên)
• m j giá trị lợi nhuận kỳ vọng của biến ngẫu nhiên R j
• M giá trị lợi nhuận tối thiểu (giá trị mục tiêu đề ra) của toàn danh mụcđầu tư trả về
Biến: x j tỷ trọng đầu tư vào chứng khoán j
Trong bài toán này, hàm mục tiêu là hàm của biến ngẫu nhiên R j Ta có thể
viết lại hàm mục tiêu theo hệ số covariance:
Trang 263.1.2 Các khái niệm và thông số
Hàm mục tiêu là hàm bậc hai của biến x Hệ số Cov[R j , Rk] là dữ liệu vào (input) của bài toán Biến ngẫu nhiên R thể hiện tỷ lệ hoàn vốn hay tỷ lệ lợi nhuận trả về của danh mục đầu tư sau một năm, R có tập giá trị là I và được biểu thị bởi r i , đi cùng là xác suất p i , ∀i ∈ I thỏa mãn:∑i p i= 1
Giá trị kỳ vọng của biến ngẫu nhiên R:
Hệ số covariance của biến ngẫu nhiên R:
Var [R] = E[(R − E[R])2]
Sử dụng kết quả phía trên ta có:
Var [R] =∑
i (ri − E[R])2p i
Hệ số covariance là độ đo của rủi ro Ngoài ra ta có công thức về độ lệch chuẩn
của biến ngẫu nhiên R sau:
= E[(∑jk x j(R j − E[R j])xk(Rk − E[Rk]))]
3.1.3 Thuộc tính của bài toán
Lời giải tối ưu của bài toán là tối ưu toàn cục bởi theo lý thuyết tối ưu môhình có các ràng buộc là tuyến tính và hàm mục tiêu là hàm lồi Sử dụng địnhnghĩa hàm lồi:
f(αx1+ (1 −α)x2) ≤αf (x1) + (1 −α) f (x2) ∀α ∈ [0, 1]
Trang 27Xét hàm mục tiêu f (x) =∑jk x j Cov [R j, R k ]x k là hàm bậc hai khi và chỉ khi ma
trận của hệ số tương quan Cov[R j, R k] là ma trận đối xứng xác định dương
Ma trận là đối xứng xác định dương khi và chỉ khi ∑jk x j Cov [R j, R k ]x k ≥
0, ∀x j, xk ∈ R hay Var[∑j R j x j] ≥ 0 luôn đúng theo định nghĩa.
3.1.4 Một số kết quả nghiên cứu
Ở phần này ta công nhận một số kết quả nghiên cứu làm tiền đề cho phầntiếp theo Để tìm hiểu sâu hơn các bạn có thể tham khảo Rudolf [7] Đầu tiên
ta viết lại bài toán dưới dạng các ràng buộc là đẳng thức tuyến tính Tập các
biến x được thay bằng biến ω và ω0 là véctơ chuyển vị của véctơω
r1
Chúng ta cùng tìm hiểu phần tiếp theo đó là một vài tiếp cận về mặt toán học
để xác định danh mục đầu tư chứng khoán tối ưu Đối với bài toán Markowitz
Trang 28Hình 3.1: Đường cong hiệu quả của danh mục đầu tư và các tiệm cận
Hình 3.2: Đường cong hiệu quả và đường phân bổ vốn
này thì có nhiều cách tiếp cận khác nhau, chúng ta có thể giải bài toán bằngcách sử dụng các phương pháp giải quy hoạch toàn phương như phương phápgradient, phương pháp điểm trong, đã trình bày trong chương hai Tuy nhiêncác phương pháp này quá phức tạp, thời gian thực hiện lâu do các bài toánMarkowitz trong thực tế phải phân tích với số liệu đầu vào lớn, cài đặt lại khókhăn Phương pháp giải [7] sau đây dựa trên các đề nghị của Markowitz sẽ cho
ta một tiếp cận khác đối với bài toán, tiếp cận này dễ dàng hơn, và thuận tiện
để lập trình, cài đặt trên máy tính
3.2 Phương pháp giải bài toán Markowitz gốc
Phần trên có giới thiệu sơ qua về bài toán Markowitz ở dạng cơ bản nhất,trong phần tiếp theo này chúng ta tiếp tục tiếp cận sâu hơn về khía cạnh toánhọc của bài toán Mục đích của phần này là chỉ ra bài toán Markowitz làm việcnhư thế nào và ý nghĩa của việc ứng dụng các biến ngẫu nhiên trong bài toán.Nội dung của phần này lại được chia thành các phần nhỏ như sau Phần một
Trang 29đề cập tới mô hình toán học và hàm Lagrange tương ứng với bài toán Phầnhai đề cập tới điều kiện Kuhn-Tucker[4] cho bài toán và các kết luận về điềukiện để bài toán tối ưu Một trường hợp đặc biệt được xem xét ở phần ba Mộtchú ý quan trọng là tìm được nghiệm cơ sở của bài toán sẽ được nêu ở phầnbốn và cuối cùng ví dụ minh họa cho thuật toán sẽ được thể hiện ở phần năm.
3.2.1 Mô hình cơ bản
So với mô hình trong phần giới thiệu, mô hình này được thêm vào các ràngbuộc đẳng thức mới
• A ∈ R m ×n biểu thị ma trận của m ràng buộc lên n danh mục đầu tư, b là
véctơ ở vế phải của hạn chế
• Các tỷ trọng đầu tư ω của mỗi chứng khoán phải không âm
• E là giá trị kỳ vọng lợi nhuận trả về hay lợi nhuận ước tính
• n là số chứng khoán đầu tư
(a) min
ω σ2 =ω0Vω
(b) µ0ω = E (c) Aω = b
(d) ω ≥ 0
(3.4)
Kí hiệu λ0 = (λ1, ,λm) ∈ R m và λE là nhân tử Lagrange liên kết với (3.4 c)
và (3.4 d) Hàm Lagrange cho bài toán như sau:
L= 1
2ω0Vω +λ0(Aω− b) −λE(µ0ω− E)
Vì b và E là các hằng số, độ biến thiên của hàm Lagrange chỉ phụ thuộc vào
ω vì thế ta viết lại hàm này dưới dạng đơn giản hơn như sau:
Trang 30Khi đó điều kiện Kuhn-Tucker cho bài toán là:
(a) η = (V A0)
ωλ
−λEµ ≥ 0(b) ω ≥ 0,λ ≥ 0
(c) ∀1≤i≤n ηi > 0 ⇐⇒ωi = 0 và ηi = 0 ⇐⇒ωi > 0
(d) Aω = b
(e) µ0ω = E
(3.5)
Điều kiện (3.5 c) có nghĩa đạo hàm riêng của L cho ωi bằng 0 khi và chỉ khi
ωi > 0 hay chứng khoán i có mặt trong danh mục cơ sở Đây là điều kiện rất
cần thiết cho tính tối ưu của bài toán Trong bài toán ở phần sau ta sẽ thấyrằng điều kiện này được kiểm tra rất nhiều trong việc kết nạp các chứng khoánvào tập cơ sở của bài toán Tuy nhiên nếu ωi = 0 thì đạo hàm riêng của hàm
Lagrange L cho ωi là dương Điều này có nghĩa là giá trị hàm Lagrange sẽđược cải thiện nếuωi không bị giới hạn dưới (trong trường hợp đơn giản ở đây
ωi bị giới hạn bởi 0)
Như vậy phương pháp tiếp cận để giải bài toán Markowitz gốc này không ápdụng ngay các phương pháp giải đã đề ra trong chương 2 mà tiếp cận theo điềukiện tối ưu Kuhn Tucker Đi xét hệ điều kiện này ta sẽ tìm được các nghiệmphù hợp với bài toán Mời các bạn cùng theo dõi tiếp cách xây dựng và triểnkhai của thuật toán này Sắp xếp lại hệ (3.5) bằng cách kết hợp trường hợp xảy
ra dấu đẳng thức trong (3.5 a) và phương trình (3.5 d), nơi có các đạo hàmriêng đều bằng 0 hay tỷ trọng của các chứng khoán là lớn hơn 0 thì hệ trởthành:
(a) V A0
ωλ
−λEµ ≥ 0(e) µ0ω = E
(3.6)
Kí hiệu ma trận M ∈ R (m+n)×(m+n) và định nghĩa M ≡ V A0
, khi đóđiều kiện tối ưu cho véctơω
λ
được viết lại như sau:
ωλ
= M−10
b
+λE M−1