Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-markowitz

61
ĐẠ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

Upload: vanthanhtt8

Post on 31-Jul-2015

1.006 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜ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 QUYNgà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

Page 2: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

LỜ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 để emcó 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ạnbè đã luôn bên em, cổ vũ, động viên, giúp đỡ em trong suốt quá trình học tậpvà thực hiện khóa luận tốt nghiệp.

Hà Nội, ngày 19 tháng 05 năm 2010Sinh viên

Trần Thị Như Hoa

Page 3: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Mục lục

Lời mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Chươ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 . . . . . . . . . . . . . . . . 61.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 . . . . . . . . . . . . . . . . . . . . . . . . 132.1.Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.1. Hướng đi sử dụng phương pháp Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.2. Tính toán chiều dài mỗi bước lặp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.3. Tiêu chuẩn hội tụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.4. Thuật toán điểm trong. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.Phương pháp gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.1. Ý tưởng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.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 . . . .182.5.1. Phát biểu bài toán và điều kiện tối ưu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.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ư . . . 213.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.1.2. Các khái niệm và thông số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1.3. Thuộc tính của bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.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 . . . . . . . . . . . . . . . . . . . 273.2.1. Mô hình cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.2. Điều kiện Kuhn-Tucker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.3. Trường hợp đặc biệt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2.4. Tìm nghiệm cơ sở của bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2.5. Ví dụ minh họa thuật giải . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2

Page 4: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

3.3.Thuật giải Markowitz tổng quát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.3.1. Mô hình bài toán tối ưu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.2. Điều kiện tối ưu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.3. Tìm nghiệm cơ sở của bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3.4. Ví dụ minh họa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Phụ lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3

Page 5: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Lờ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ểntừ đầ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

Page 6: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

thứ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 2010Sinh viên

Trần Thị Như Hoa

5

Page 7: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Chươ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:

min(max){ f (x) :=n

∑j=1

c jx j} (1.1)

thỏa mãn: D :=

∑nj=1ai jx j = bi, i = 1, . . . ,m1,

∑nj=1ai jx j ≤ bi, i = m1+1, . . . ,m2,

∑nj=1ai jx j ≥ bi, i = m2+1, . . . ,m,

l j ≤ x j ≤ u j, j = 1, . . . ,n.

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ụctiêu (hàm giá), ai j gọi là hệ số ràng buộc, bi 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ến

tí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ắcvà 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:

min f (x) = cT x

thỏa mãn: Dp =

{

Ax = b

x ≥ 0.(1.2)

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 Dp gọi

6

Page 8: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

là 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 ∈ Dp gọi là một điểm (hay phương án) chấp nhận được. Điểmx∗ ∈ 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 ∈ Dp. Vì Dp là tập lồi đa diện, nên x ∈ Dp là đỉnh của Dp thì xgọ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 Dp 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 ánkhông suy biến, còn nếu |J+(x)|< m thì x gọi là phương án suy biến. Ta côngnhận kết quả sau: tập hợp các véctơ

B+(x) = {A j | j ∈ J+(x)} (1.3)

gồm các véctơ cột của A sẽ là một hệ độc lập tuyến tính. Nếu r := |J+(x)|< mthì ta bổ sung thêm m− r véctơ còn lại của A vào B+(x) sao cho ta thu đượchệ gồm m véctơ cột của A độc lập tuyến tính, ký hiệu là B(x). Hệ véctơ B(x)gọi là hệ véctơ cơ sở (hay gọi tắt là cơ sở) của phương án cực biên x. Thôngthường ta thường gọi J(x) là tập chỉ số cơ sở thay cho gọi cơ sở B(x).

Lập hàm Lagrange cho bài toán QHTT gốc (P) như sau:

L(x,y,s) = cT x+ yT (b−Ax)+ sT x (1.4)

trong đó y và s ≥ 0 là các nhân tử Lagrange. Khi đó bài toán đối ngẫu (dạngLagrange) của bài toán gốc (P) sẽ có dạng (sẽ ký hiệu là (D)):

maxg(y,s) = bT y

thỏa mãn: Dd =

{

AT y+ s = c

s ≥ 0.(1.5)

Biến s gọi là biến bù, g gọi là hàm mục tiêu đối ngẫu và Dd gọi là miền ràngbuộc đối ngẫu. Hiển nhiên Dd 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 ∈ Dp và (y,s) ∈ Dd ta đặt

τ(x,y,s) = f (x)−g(y,s) = sT 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 (P)-(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ángố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.

7

Page 9: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

1.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àngbuộ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 x0 thay 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?

8

Page 10: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Thuậ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

J0 := B(x0).2. Tính các hệ số khai triển Z = (z jk) và các ước lượng ∆k theo các

công thức tương ứng sau

Ak = ∑ j∈J0z jkA j ∀ j = 1,n

∆k = ∑ j∈J0z jkc j − ck ∀k /∈ J0

∆k = 0 ∀k ∈ J0

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 /∈ J0 mà ∆k > 0 ta kiểm tra các hệ số khai triển Zk = (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 /∈ J0 mà tồn tại ít nhất một hệ số z jk > 0 thì tiến hànhtìm phương án mới x1 tốt hơn x0 bằ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ơ Ar đưa ra khỏi cơ sở theo quy tắc:

9

Page 11: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

3. Tính phương án mới x1 và giá trị hàm mục tiêu mới theo côngthức:

x1 =

0 với k /∈ J0,k 6= sx0

rzrs

với k = s

x0j −

x0r

zrsz js với j ∈ J0

f (x1) = f (x0)−x0

r

zrs∆s

Bước 4: Tính các hệ số khai triển và ước lượng mới theo công thức

z1jk =

{

zrkzrs

nếu j = s

z jk −zrkzrs

z js nếu j ∈ J0, j = r

∆1k = ∆k −

zrk

zrs∆s

Bước 5: Quay về bước 1 với phương án cơ sở mới x1 và cơ sở mớiJ1 := J(x1).

Để thuật tiện cho việc "thực hành" thuật toán đơn hình giải bài toán QHTTdạng chuẩn tắc. Ta sử dụng một bảng gọi là Bảng đơn hình gồm n+3 cột vàm+3 hàng như sau:

Cơ sở cJ Phương án 1 2 · · · k · · · nJ xJ c1 c2 · · · ck · · · cn

J1 c j1 x j1 z j11 z j12 · · · z j13 · · · z j1n

J2 c j2 x j2 z j21 z j22 · · · z j23 · · · z j2n... ... ... ... ... ... ... ... ...

Jm c jm x jm z jm1 z jm2 · · · z jm3 · · · z jmn

f (x) ∆1 ∆2 · · · ∆k · · · ∆n

Lưu ý phần bảng dành cho các hệ số khai triển z jk:

• 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êndò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 Ak của matrận A theo cơ sở J0. Ta ký hiệu cột này là Zk nghĩa là Ak = BJ0Zk hayZk = (BJ0)

−1Ak, ở đây BJ0 là ma trận cơ sở (BJ0 = 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 ∈ J0 sẽ 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 = Ak.

10

Page 12: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

• Dòng ước lượng là dòng cuối cùng của bảng và được tính bởi∆k = cTJ0

Zk−

ck và ∆ j = 0,(∀ j ∈ J0).

• Giá trị hàm mục tiêu chính là f (x) = cTJ0

xJ).

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 haykhông?. Phương pháp đơn hình gốc - đối ngẫu sẽ cho phép thu được bộ banghiệ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ấtphá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 AJ∗. Khi đóta có:

x∗J∗ = A−1J∗ b,

với x∗J∗ = (x∗j) j∈J∗ và (x∗j) j∈J∗ = (0).

• 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:

y∗ = (A−1J∗ )

T cJ∗, s∗ = c−AT y∗,

trong đó cJ∗ = (c j) j∈J∗ .

• Khi đó khoảng trống đối ngẫu sẽ là: τ∗ = (x∗)T s∗ = 0. Theo định lý về độlệch bù thì nếu x∗j > 0 thì s∗j = 0, do đó dễ thấy s∗J∗ = 0.

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ắcvới véctơ vế phải b không âm, nên ta không thể có ngay được phương án xuấtphá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ể xemcác bi ≥ 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

min fa(u) :=m

∑j=1

un+ j (1.7)

thoả mãn Da :=

∑nj=1ai jx j +un+i = bi, (i = 1,m)

x j ≥ 0, ( j = 1,n)

un+i ≥ 0, (i = 1,m)

11

Page 13: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Các biến un+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

min fa(u) := eT u (1.8)

thoả mãn Da :=

{

Ax+Eu = b

x ≥ 0,u ≥ 0

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ả un+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.

12

Page 14: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Chương 2

Bài toán quy hoạch toàn phương

2.1. Đặt vấn đề

Chúng ta vừa xét bài toán QHTT với hàm mục tiêu và các ràng buộc làtuyến tính. Trong thực tế thì có một số lượng lớn các ứng dụng, bài toán màhàm mục tiêu của chúng không ở dạng tuyến tính mà có dạng bậc hai. Nhữngbài toán mà hàm mục tiêu là bậc hai của các biến tối ưu và tất cả các ràng buộclà 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ácmở 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ệuvề 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:

mincT x+12

xT Qx

thỏa mãn:

{

Ax = b (a)

x ≥ 0 (b)(2.1)

Trong đó xn×1 là biến tối ưu, Am×n là ma trận ràng buộc bm×1 là véctơ củacác ràng buộc vế phải, cn×1 là véctơ của hàm mục tiêu, Qn×n là ma trận tronghà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 Qn×n làma trận vuông xác định dương.

13

Page 15: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

2.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) = cT x+12

xT Qx+uT (−x+ s2)+ vT (−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, vm×1 là nhân tử Lagrange liên kếtvớ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:

∂L∂x

= 0→ c+Qx−u−AT v = 0

∂L∂v

= 0→ Ax−b = 0

∂L∂u

= 0→−x+ s2 = 0

∂L∂ s

= 0→ uisi = 0 i = 1. . .n

ui ≥ 0 i = 1. . .n

(2.2)

Điều kiện tối ưu của bài toán QHTP đạt được khi giải quyết hệ phương trìnhsau:

(a) Ax−b = 0 (Điều kiện cơ sở)(b) −Qx+AT v+u = c (Điều kiện đối ngẫu)(c) uixi = 0 i = 1. . .n (Điều kiện phụ bổ sung)(d) xi ≥ 0, ui ≥ 0 i = 1. . .n

(2.3)

Định nghĩa ma trận chéo cỡ n×n:

U = diag[ui] X = diag[xi]

Và véctơ e: eT = (1. . .1)Đ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.

14

Page 16: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Cá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:

XUe = µ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:

A 0 0−Q I AT

U X 0

dx

du

dv

=−

Axk −b−Qx+AT vk +uk − c

XUe−µke

.

Biến đổi hệ này ta tính được dv:

A[XQ+U ]−1XAT dv = rp +A[XQ+U ]−1(Xrd − rc)

Biết dv ta tính được dx, du:

dx = [XQ+U ]−1(XAT dv −Xrd + rc)

du = 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:

xk+1 = xk +αpdx

uk+1 = uk +αddu

vk+1 = vk +αddv

(2.4)

Chiều dài của mỗi bước được chọn:

αp = β min[1,−xi

dxi,dxi < 0]

αd = β min[1,−ui

dui,dui < 0]

0≤ β ≤ 1, β thường lấy bằng 0,999

(2.5)

15

Page 17: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

2.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:

δp =||Axk −b||||b||+1

≤ ε1

δd =||rd ||

||Qxk + c||+1≤ ε2

µ ≤ ε3 Với µk =(xk)T u

n, n là số biến tối ưu

(2.6)

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ụ xk = uk = e = (1. . .1) và vk = 0Điểm kế tiếp xk+1 được tính như sau:

Bước 1: Kiểm tra tiêu chuẩn hội tụ. Đặt µk =[(xk)T u

n]

(k+1)

Kiểm tra điều kiện

δp =||Axk −b||||b||+1

≤ ε1

δd =||rd ||

||Qxk + c||+1≤ ε2

µ ≤ ε3

(2.7)

Bước 2: Tính rp, rd , rc

rp =−Axk +brd = Qxk −AT vk −uk + crc =−XUe+µke

(2.8)

Bước 3: Tìm dv

Bước 4: Tìm dx, du.

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 xk+1, uk+1, vk+1.

16

Page 18: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

2.4. Phương pháp gradient

2.4.1. Ý tưởng

Ta biết rằng véctơ gradient của f tại x0 có dạng:

∇ f (x0) = (δ f (x0)

δx1,δ f (x0)

δx2, . . . ,

δ f (x0)

δxn)

Véctơ gradient ∇ f (x0) chỉ ra hướng tăng nhanh nhất của hàm mục tiêu tại x0.Vậy véctơ −∇ f (x0) gọi là đối gradient chỉ ra hướng giảm nhanh nhất của hàmmục tiêu tại x0. Từ ý tưởng trên thì thuật toán gradient[1] được phát biểu nhưsau:

2.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ó xk(k ≥ 0) ta xác định độ dài bước: Việc dịch chuyển từtk theo hướng −∇ f (xk) tới điểm xk +[−∇ f (xk)]λ kéo theo biến đổi hàmf một số gia:

∆ f =− f [xk −∇ f (xk)λ ]+ f (xk)

Giá trị λ mà với nó số gia ∆ f đạt giá trị lớn nhất (tức là hàm f giảm đượcnhiều nhất) có thể xác định tại điểm dừng của hàm ∆ f :

∆ fdλ

= 0≈−∇ f [xk −∇ f (xk)λ ](−∇ f (xk) = 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∆ fdλ 2 < 0 thì ta có điểm cực đại λ ∗ của ∆ f .

Do đó:xk+1 = xk +[−∇ f (xk)]λ ∗

17

Page 19: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Bước 3: Thử xem xk+1 có thuộc M? Nếu điểm xk+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 xk+1 là điểm tối ưu hay không?

1. Nếu ∇ f (xk+1) = 0 thì xk+1 là điểm tối ưu.

2. Nếu ∇ f (xk+1) 6= 0 thì xk+1 chưa là điểm tối ưu, ta tăng k lên 1 và quaytrở 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ầnsử 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

min f (x) = cT x+12

xT Qx

thỏa mãn:

{

Ax ≤ b (a)

x ≥ 0 (b)(2.9)

Hàm Lagrange gắn với bài toán:

L(x,µ) = cx+12

xT Qx+uT (−x+ s2)+µ(Ax−b)

18

Page 20: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Trong đó µm×1 là nhân tử Lagrange liên kết với ràng buộc Ax ≤ b.Điều kiệnKKT cho tối ưu cục bộ của bài toán là:

δLδx j

≥ 0, j = 1. . .n c+ xT Q+µA ≥ 0 (a)

δLδ µ j

≤ 0, i = 1. . .m Ax−b ≤ 0 (b)

x jδLδx j

= 0, j = 1. . .n xT (cT +Qx+AT µ) = 0 (c)

µ jgi(x) = 0, i = 1. . .m µ(Ax−b) = 0 (d)x j ≥ 0, j = 1. . .n x ≥ 0 (e)µ j ≥ 0, i = 1. . .m µ ≥ 0 (f)

(2.10)

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ànghơn bằng cách thêm biến phụ không âm y ∈ Rn vào bất đẳng thức (2.10 a) vàv ∈ Rm vào bất đẳng thức (2.10 b) ta được

cT +Qx+AT µT − y = 0 và Ax−b+ v = 0

Với việc di chuyển các hằng số về bên phải, điều kiện KKT được viết lại nhưsau:

Qx+AT µT − y =−cT (a)Ax+ v = b (b)x ≥ 0, µ ≥ 0, y ≥ 0, v ≥ 0 (c)yT x = 0,µv = 0 (d)

(2.11)

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+4x2

2thỏa mãn: x1+ x2 ≤ 5, x1 ≤ 3, x1 ≥ 0, x2 ≥ 0

(2.12)

19

Page 21: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Lời giải: Chuyển bài toán về dạng bài toán QHTP

cT =

[

−8−16

]

, Q =

[

2 00 8

]

, A =

[

1 11 0

]

, b =

[

53

]

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:

2x1 +µ1+µ2 −y1 = 8 (2.14)8x2 +µ1 − y2 = 16

x1+ x2 +ν1 = 5

x1 +ν2 = 3

Ta thêm các biến giả vào mỗi ràng buộc và tìm giá trị nhỏ nhất của tổng cácbiến này.

min a1+a2+a3+a4

thỏa mãn:

2x1 +µ1+µ2 −y1 +a1 = 8

8x2 +µ1 − y2 +a2 = 16

x1+ x2 +ν1 +a3 = 5

x1 +ν2 +a4 = 3(2.15)

Tất cả các biến ≥ 0.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ướclặp

Biến sử dụng Giá trị biến Giá trịhàm mụctiêu

Biếnthêmvào

Biếnloạibỏ

1 (a1,a2,a3,a4) (8,16,5,3) 32 x2 a2

2 (a1,x2,a3,a4) (8,2,3,3) 14 x1 a3

3 (a1,x2,x3,a4) (2,2,3,0) 2 µ1 a4

4 (a1,a2,a3,µ1) (2,2,3,0) 2 µ1 a1

5 (µ2,a2,a3,a4) (2,2,3,0) 0

20

Page 22: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Chương 3

Giải bài toán Markowitz - tối ưu hóadanh 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 đượcmô 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ảnLợ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 mang

lạ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à:

Rt =Dt +Pt −Pt−1

Pt−1

Trong đó:

• Rt là lợi suất của tài sản đầu tư trong thời kỳ t.

• Dt là thu nhập từ tài sản mà nhà đầu tư nhận được trong thời kỳ t.

21

Page 23: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

• Pt là giá trị của tài sản ở cuối kỳ t.

• Pt−1 là 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:

E(R) =n

∑i=1

PiRi

chính là công thức để đánh giá hiệu quả đầu tư mong đợi về một tài sản cábiệt. Nếu nhà đầu tư tin rằng tương lai chắc chắn thu được các lợi suất mongđợi hoặc nếu các quan sát trong quá khứ có thời gian đủ dài để bộc lộ đầy đủ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ợisuất thực hiện trong N thời kỳ, tương đương với:

E(R) =1N

N

∑t=1

Rt

+ 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ông

chỉ đầ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:

E(rp) = w1E(r1)+w2E(r2)+ · · ·+wnE(rn) =n

∑i=1

wiE(ri)

Trong đó w1,w2, . . . ,wn là tỷ trọng vốn đầu tư vào từng loại tài sản, E(ri) 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ên

nhâ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ờita 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.

22

Page 24: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Trong 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 đầutư 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 địnhhệ 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(ra,rb) = σA,B = ∑Pi[ra −E(ra)][rb −E(rb)]

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 đạiNhững người theo lý thuyết danh mục đầu tư hiện đại cho rằng thị trường

chứ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 đầutư 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 trongsự 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

23

Page 25: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

danh 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ưThỏa mãn:

• giá trị kỳ vọng lợi nhuận trả về hay lợi nhuận ước tính của toàn danh mụcđầu tư phải lớn hơn mức tối thiểu (mức mục tiêu đề ra) cho phép.

• các tỷ trọng đầu tư ứng với từng chứng khoán: các tỷ trọng này phải khôngâm và có tổng bằng 1.

Các ký hiệu sử dụng:Chỉ số j : chỉ mục đầu tư thứ j (hay chứng khoán j)Các tham số:

• 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.Mô hình toán học:

min Var[∑ j R jx j]

Thỏa mãn: ∑ j m jx j ≥ M∑ j x j = 1x j ≥ 0 ∀ j

(3.1)

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:

Var[∑j

R jx j] = ∑jk

x jCov[R jRk]xk

24

Page 26: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

3.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ợinhuận trả về của danh mục đầu tư sau một năm, R có tập giá trị là I và đượcbiểu thị bởi ri, đi cùng là xác suất pi,∀i ∈ I thỏa mãn: ∑i pi = 1.

Giá trị kỳ vọng của biến ngẫu nhiên R:

E[R] = ∑i

ri pi

Khi f là hàm của biến ngẫu nhiên R thì giá trị kỳ vọng của biến ngẫu nhiênf (R) là:

E[ f (R)] = ∑i

f (ri)pi

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])2pi

Hệ số covariance là độ đo của rủi ro. Ngoài ra ta có công thức về độ lệch chuẩncủa biến ngẫu nhiên R sau:

σ =√

Var[R]

Lợi nhuận trả về của toàn danh mục đầu tư chứng khoán là ∑ j R jx j

E[∑ j R jx j] = E[(∑ j R jx j −E[∑ j R jx j])2]

= E[(∑ j R jx j −∑ j x jE[R j])2]

= E[(∑x j(R j −E[R j]))2]

= 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]

25

Page 27: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Xét hàm mục tiêu f (x) = ∑ jk x jCov[R j,Rk]xk là hàm bậc hai khi và chỉ khi matrận của hệ số tương quan Cov[R j,Rk] 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 jCov[R j,Rk]xk ≥

0, ∀x j,xk ∈ R hay Var[∑ j R jx 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ênta 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ácbiến x được thay bằng biến ω và ω ′ là véctơ chuyển vị của véctơ ω .

Bài toán:

minω

σ2 = minω

ω ′V ωthỏa: ω ′µ = E

ω ′e = 1

Khi đó theo Merton(1972) độ lệch chuẩn của toàn danh mục đầu tư trả về:

σ =

1d(cE2−2bE +a) (3.2)

a,b,c,d là các số thực được tính bởi:

a ≡ µ ′V−1µ , b ≡ µ ′V−1e, c ≡ e′V−1e, d ≡ ac−b2

Đồ thị của phương trình (1.6) có dạng hypecbol và được gọi là đường conghiệu quả của danh mục đầu tư. Véctơ tỷ trọng của mỗi chứng khoán trongdanh mục đầu tư có thể tính bởi:

ω =V−1µ

d(cE −b)−

V−1ed

(bE −a) (3.3)

Mỗi đường hypecbol (đường cong hiệu quả của danh mục đầu tư) nằm trongkhoảng giữa của hai đường tiệm cận như hình (3.1):

Đường tiếp tuyến cho hypecbol này, trong lĩnh vực kinh tế gọi là đườngphân bổ vốn (Capital Market Line - CML) tiếp xúc với hypecbol tại một điểm,tại vị trí điểm này thì danh mục đầu tư là tối ưu nhất (hình (3.2)). Như vậy khitạo danh mục đầu tư tối ưu nhà đầu tư phải tính các độ lệch chuẩn, phương sai,covariance, xác định đường cong hiệu quả của danh mục, và sau đó xác địnhdanh mục đầu tư hoàn chỉnh.

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

26

Page 28: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Hì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ẽ chota 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

27

Page 29: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

đề 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 ∈ Rm×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 = ω ′V ω(b) µ ′ω = E(c) Aω = b(d) ω ≥ 0

(3.4)

Kí hiệu λ ′ = (λ1, . . . ,λm) ∈ Rm 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 =12

ω ′V ω +λ ′(Aω −b)−λE(µ ′ω −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:

L =12

ω ′V ω +λ ′Aω −λE µ ′ω

3.2.2. Điều kiện Kuhn-Tucker

Kí hiệu:

η ′ = (η1 . . .ηn) = (δL

δω1. . .

δLδωn

)

28

Page 30: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Khi đó điều kiện Kuhn-Tucker cho bài toán là:

(a) η = (V A′)

(

ωλ

)

−λE µ ≥ 0

(b) ω ≥ 0,λ ≥ 0(c) ∀1≤i≤n ηi > 0⇐⇒ ωi = 0 và ηi = 0⇐⇒ ωi > 0(d) Aω = b(e) µ ′ω = 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ấtcầ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àmLagrange 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ảyra 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 A′

A 0

)(

ωλ

)

−λE

(

µ0

)

=

(

0b

)

(b) ω ≥ 0,λ ≥ 0(c) ∀1≤i≤n ηi > 0⇐⇒ ωi = 0 và ηi = 0⇐⇒ ωi > 0

(d) η = (V A′)

(

ωλ

)

−λE µ ≥ 0

(e) µ ′ω = E

(3.6)

Kí hiệu ma trận M ∈ R(m+n)×(m+n) và định nghĩa M ≡

(

V A′

A 0

)

, khi đó

điều kiện tối ưu cho véctơ(

ωλ

)

được viết lại như sau:

(

ωλ

)

= M−1(

0b

)

+λEM−1(

µ0

)

(3.7)

29

Page 31: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Rút gọn phương trình hơn nữa ta kí hiệu α ∈ Rm+n, β ∈ Rm+n với

α = M−1(

0b

)

, β = M−1(

µ0

)

(3.8)

Khi đó điều kiện (3.7) trở thành:(

ωλ

)

= α +βλE ≥ 0 (3.9)

Như vậy véctơ của tỉ trọng danh mục đầu tư được thể hiện lại như hàm tuyếntính của nhân tử Lagrange λE . Ý tưởng chính của thuật giải này là tìm khoảnggiá trị của λE mà thỏa mãn phương trình (3.9).

Gọi biến ωi > 0 là biến cơ sở, ωi = 0 là biến phi cơ sở. Khi đó tập các biếncơ sở sẽ bao hàm một danh mục đầu tư. Kí hiệu tập biến cơ sở là ′in′, tập biếnphi cơ sở là ′out ′. Trong ma trận Vin thì các biến cơ sở giữ nguyên, các biến phicơ sở được thay bằng véctơ xác định.

Với σ ini j là phần tử nằm ở hàng i và cột j của Vin, ta qui định như sau:

∀1≤i, j≤n σ ini j =

σi j nếu i, j ∈ in

1 nếu i = j và i, j ∈ out

0 ngược lại

(3.10)

Véctơ tỉ lệ lợi nhuận kỳ vọng µin = µ còn các hàng ứng với thành phần ′out ′

được thay thế bằng 0, Ain = A (các cột ứng với phần tử ′out ′ được thay thế bằng0). Khi đó ta có một danh mục đầu tư Pin định nghĩa bởi chỉ số ′in′ và bài toántối ưu là:

σ2Pin

= ω ′VinωE = ω ′µin

b = ω ′Ain

ωi = 0⇐⇒ ωi ∈ out

(3.11)

Ta kí hiệu lại các thông số:

Min ≡

(

Vin A′in

Ain 0

)

, αin ≡ M−1in

(

0b

)

, βin ≡ M−1in

(

µin

0

)

(3.12)

Thế vào (3.9) tỷ trọng của mỗi danh mục được tính:(

ωλ

)

= αin +βinλE ≥ 0 (3.13)

30

Page 32: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Phương trình (3.6d) được viết lại như sau:

η = (V A′)

(

ωλ

)

−λE µ = (V A′)(αin +βinλE)−λE µ ≥ 0 (3.14)

Phương trình này có thể sắp xếp lại thành:

η = γin +δinλE ≥ 0với: γin = (V A′)αin

δin = (V A′)βin −µ(3.15)

Từ 2 phương trình (3.13) và (3.15) thì điều kiện Kuhn-Tucker ở phương trình(3.6 a,b,d) chuyển thành các hàm tuyến tính đối với λE .Điều kiện cần và đủcho ω và λ là phụ thuộc vào λE .Thêm nữa E và ω có mối quan hệ tuyến tínhvới nhau. Vì thế tìm được khoảng giá trị của λE thì tìm được khoảng giá trị củaE. Thuật toán này tiếp cận từ hướng xuất phát từ điều kiện Kuhn-Tucker, giảihệ điều kiện này đưa đến giá trị λE , đi sâu vào tìm giá trị của λE , tương ứngxác định được khoảng của λE là xác định được E và độ lệch chuẩn. Kí hiệu:

∀1≤i≤n λa ≡

maxβ i

in>0−

α iin

β iin

−∞ với β iin ≤ 0

∀1≤i≤n λb ≡

maxδ i

in>0−

γ iin

δ iin

−∞ với γ iin ≤ 0

∀1≤i≤n λc ≡

maxβ i

in<0−

α iin

β iin

−∞ với β iin ≥ 0

∀1≤i≤n λd ≡

maxδ i

in<0−

γ iin

δ iin

−∞ với δ iin ≥ 0

(3.16)

Đặt:

λlow ≡ max[λA,λB]

λhigh ≡ min[λC,λD]

với: λlow ≤ λE ≤ λhigh

(3.17)

Nếu điều kiện λlow ≤ λhigh không được thỏa mãn thì không có phương án khảthi mà thỏa mãn các ràng buộc trên. Sau khi tìm được khoảng của λE , xác định

31

Page 33: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

được giá trị của E tương ứng thì ta thực hiện bước lặp tiếp theo. Trong bướclặp tiếp ta cần xác định lại các thành phần của tập ′in′ và tập ′out ′.

Ta xét 2 trường hợp là nếu bất kỳ ωi = 0 vi phạm (1.35) hay ηi = 0 vi phạm(1.37) thì:

1. Nếu một vài ωk,(1≤ k ≤ n) không thỏa mãn (1.37) thì loại ωk ra khỏi tập′in′ và kết nạp vào tập ′out ′.

2. Nếu ηk(1 ≤ k ≤ n) không thỏa mãn (1.37) thì đạo hàm riêng của hàmLagrange L đối với ωk bằng 0, ηk chuyển từ tập các biến ngoài cơ sở ′out ′

vào tập các biến cơ sở ′in′.

Thuật giải sẽ không còn đúng khi λhigh = ∞ hoặc λlow = ∞.Từ (3.13), (3.5 e) và kết quả của (3.17) thu được:

E = µ ′αin +µ ′βinλE ⇐⇒ λE =E −µ ′αin

µ ′βin(3.18)

(Một ứng dụng của công thức này sẽ được tìm thấy trong phần ví dụ ứng dụng)

3.2.3. Trường hợp đặc biệt

Phần này trình bày một trường hợp đặc biệt của lời giải ở trên. Đó là khicác biến cơ sở bao gồm tất cả các biến tương ứng với danh mục đầu tư hay cáctỷ trọng đầu tư ωi(1 ≥ i ≥ n) là khác 0 với mọi i. Khi đó in = {ω1,ω2,ω3},out = {∅}.

V =Vin A = Ain =⇒ M = Min và α = αin

µ = µin =⇒ β = βin(3.19)

Sử dụng (3.11) và (3.14) ta có:

η = (V A′)

(

M−1

(

0b

)

+M−1

(

µ0

)

λE

)

−µλE

= (V A′)λE

[

(V A′)M−1

(

µ0

)

−µ] (3.20)

Chia M−1 thành các khối ma trận và định nghĩa lại như sau:

M−1 =

(

M1 M2

M3 M4

)

M1 ∈ Rn×n, M2 ∈ Rn×m, M3 ∈ Rm×n, M4 ∈ Rm×m(3.21)

32

Page 34: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Gọi E(kl) là ma trận đơn vị và 0(kl) là ma trận 0 có k× l chiều. Thế M−1 ở(3.21) vào ta có:

MM−1 =

(

V A′

A 0

)(

M1 M2

M3 M4

)

=

(

(V A′) M−1

AM1 AM2

)

=

(

E(nn) 0(nm)

0(mn) E(mm)

)

=⇒ (V A′)M−1 = (E(nn) 0(nm))

(3.22)

Thay thế (3.20) vào (3.21) ta có:

η =(

E(nn)0(nm)

)

(

0b

)

+λE

[

(E(nn)0(nm))

(

µ0

)

−µ]

và sử dụng định nghĩa trong (3.15) ta có:

γin = γ = 0 và δin = δ = 0 (3.23)

Kết quả ở trường hợp đặc biệt này cho thấy đạo hàm từng phần của hàm La-grange với ωi,1 ≥ i ≥ n bằng 0. Ta sẽ gặp trường hợp này trong phần ví dụminh họa.

3.2.4. Tìm nghiệm cơ sở của bài toán

Theo định nghĩa, mỗi danh mục đầu tư mà có giá trị lợi nhuận kỳ vọng lớnnhất là danh mục đầu tư hiệu quả. Vì thế thực thi bài toán sau ta sẽ tìm đượcnghiệm cơ sở khả thi cho bài toán này.

max ω ′µthỏa mãn: Aω = b

ω ≥ 0(3.24)

Nhận thấy hàm mục tiêu là hàm tuyến tính của ω , các ràng buộc của bài toáncũng là tuyến tính, vì thế bài toán có thể được giải bằng phương pháp đơn hình.Từ nghiệm cơ sở ta áp dụng (3.16) (3.17) tìm được λlow, λhigh hay tìm đượckhoảng của λE và giá trị E. Để hiểu rõ hơn về thuật giải chúng ta hãy cùng xétví dụ sau:

3.2.5. Ví dụ minh họa thuật giải

Tối ưu hóa danh mục đầu tư bao gồm 3 danh mục đầu tư A, B, C với các sốliệu cho trong bảng sau:

33

Page 35: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Covariance A B C µA 400 150 100 15B 225 150 10C 625 20

Bài toán:minσ2 = ω ′V ω

(1 1 1)

ω1

ω2

ω3

= 1

ω ≥ 0

(3.25)

Từ bài toán và số liệu suy ra:

V ≡

400 150 100150 225 150100 150 625

µ ≡

151020

A ≡

111

(3.26)

Bước 1: Khai báo một nghiệm cơ sở. Từ bảng covariance nhận thấy chứngkhoán C có giá trị kỳ vọng lợi nhuận trả về lớn nhất nên có thể khởi tạo phươngán ban đầu cho bài toán: in = {ωC} và out = {ωA,ωB}.

Bước 2: Xác định phân đoạn thứ 1Theo phương trình (3.12):

Min ≡

1 0 0 00 1 0 00 0 625 10 0 1 0

=⇒ M−1in ≡

1 0 0 00 1 0 00 0 0 10 0 1 −625

(3.27)

Sử dụng (3.13) và (3.15):

Danhmụcđầutư

αin βin −αin

βinγin δin −

γin

δin

A 0 0 - -525 5 105

B 0 0 - -475 10 47.5

C 1 0 - 0 0 -

Từ (3.16) kết hợp với bảng ta có:

λa =−∞ λb = 105 λc = ∞ λd = ∞ (3.28)

34

Page 36: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Từ (3.17) có:λlow = 105 λhigh = ∞ (3.29)

Vì λhigh = ∞ nên ta chỉ xét đến giá trị λlow, λlow được xác định bởi danhmục A, đạo hàm từng phần của hàm Lagrange L đối với ωA bằng 0. Vì thếdanh mục đầu tư A sẽ được kết nạp vào danh mục khởi tạo ở bước kế tiếp,in = {ωA,ωC} và out = {ωB}.

Bước 3: Xác định phân đoạn thứ 2Tính M từ (3.12)

Min ≡

400 0 100 10 1 0 0

100 0 625 11 0 1 0

=⇒ M−1in ≡

0.001212 0 −0.001212 0.63640 1 0 0

−0.001212 0 0.001212 0.36360.6364 0 0.3636 −290.9091

(3.30)

Sử dụng (3.13) và (3.15):

Danhmục đầutư

αin βin −αin

βinγin δin −

γin

δin

A 0.6364 -0.006061

105 0 0 -

B 0 0 - -140.9031

6.8182 20.67

C 0.3636 0.006061-60 0 0 -

Từ (3.16) kết hợp với bảng ta có:

λa =−60 λb = 20.67, λc = 105, λd = ∞ (3.31)

Từ (3.17) có:λlow = 20.67 λhigh = 105 (3.32)

Từ (3.13) tính được:

ω(λE = λhigh) =

001

ω(λE = λlow) =

0.51360

0.4864

E(λE = λhigh) = 20 E(λE = λlow) = 17.43

(3.33)

35

Page 37: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

λlow được xác định bởi danh mục B, đạo hàm từng phần của hàm LagrangeL đối với ωB bằng 0. Danh mục B được kết nạp vào danh mục khởi tạo ở bướctiếp theo. Như vậy danh mục khởi tạo bao hàm cả A, B, C. in = {ωA,ωB,ωC}

và out = {} Điều này thỏa mãn trường hợp đặc biệt, nên γin = δin = 0.

Bước 4: Xác định phân đoạn thứ 3Tính M từ (3.12):

Min ≡

400 150 100 1150 225 150 1100 150 625 11 1 1 0

=⇒ M−1in ≡

0.003088 −0.002947 −0.00014 0.2210−0.002947 0.004632 −0.001684 0.6526−0.00014 0.001684 0.001825 0.1263

0.2211 0.6526 0.1263 −198.95

(3.34)Sử dụng (3.13) và (3.15):

Danhmục đầutư

αin βin −αin

βinγin δin −

γin

δin

A 0.2211 0.014 -15.75 0 0 -

B 0.6526 -0.0316 20.67 0 0 -

C 0.1263 0.0175 -7.2 0 0 -

Từ (3.16) và kết quả bước trên, kết hợp với bảng ta có:

λa =−7.2 λb =−∞ λc = 20.67 λd = ∞ (3.35)

Từ (3.17) có:λlow =−7.2 λhigh = 20.67 (3.36)

Từ (3.13) tính được:

ω(λE = λhigh) =

0.51360

0.4864

ω(λE = λlow) =

0.12030.8801

0.0

E(λE = λhigh) = 17.43 E(λE = λlow) = 10.61

(3.37)

36

Page 38: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

λlow được xác định bởi danh mục C, ωC = 0, loại C ra khỏi danh mục khởitạo, in = {ωA,ωB}, out = {ωC}

Bước 5: Xác định phân đoạn thứ 4Tính M từ (3.12)

Min ≡

400 150 0 1150 225 0 10 0 1 01 1 0 0

=⇒ M−1in ≡

0.0031 −0.0031 0 0.2308−0.0031 0.0031 0 0.7692

0 0 1 00.2308 0.7692 0 −207.69

(3.38)

Sử dụng (3.13) và (3.15):

Danhmục đầutư

αin βin −αin

βinγin δin −

γin

δin

A 0.2208 0.01539 -14.5 0 0 -

B 0.7692 -0.0153 50 0 0 -

C 0 0 - -69.23 -9.615 -7.2

Từ (3.16) và kết quả bước trên, kết hợp với bảng ta có:

λa =−15 λb =−∞ λc = 50 λd =−7.2 (3.39)

Từ (3.17) có:λlow =−15 λhigh =−7.2 (3.40)

Từ (3.13) tính được:

ω(λE = λhigh) =

0.12030.8801

0.0

ω(λE = λlow) =

010

E(λE = λhigh) = 10.61 E(λE = λlow) = 10

(3.41)

Nhận thấy các ràng buộc không âm bị vi phạm tại A, loại A ra khỏi phươngán khởi tạo. Tương tự đối với B. Bước lặp tiếp theo có thể hủy bỏ. Kết quảλlow =−∞ và λhigh =−14.5.

37

Page 39: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Như vậy 5 bước trên là cần thiết để tính toán được đường biên hiệu quả củadanh mục đầu tư, ta có thể tính theo nhiều bước hơn tùy thuộc vào việc chấpnhận rủi ro của nhà đầu tư đến đâu, trong bài toán này chỉ dừng lại ở bước thứ5 là đủ để phân tích. Tất cả các phân đoạn được đặc trưng bởi cả 2 thông số λE

và tỷ lệ lợi nhuận kỳ vọng E. Các kết quả tính toán được minh họa trong bảngsau:

Bướclặp

λhigh λlow E(λhigh) E(λlow)

1 ∞ 105 20.0 20.0

2 105 20.67 20.0 17.43

3 20.67 -7.2 17.43 10.61

4 -7.2 -14.5 10.61 10.0

5 -14.5 −∞ 10.0 10.0

Từ bảng ta thấy rằng có 2 bước mà giá trị λE tiến tới +∞ và −∞. Khi vẽ lênđồ thị các phần này sẽ tương ứng với đường cong không giới hạn (tiến ra vôcùng). Còn tại 3 bước 2, 3, 4 thì giá trị của λE trong khoảng xác định. Khi vẽlên đồ thị thì các khoảng này liên tiếp nhau làm lên đoạn cong liên tiếp giớihạn.

Các kết quả này được minh họa trên biểu đồ (3.3). Biểu đồ này được gọi làđường cong hiệu quả của danh mục đầu tư chứng khoán. Biểu đồ gồm có 2trục, một trục thể hiện giá trị lợi nhuận ước tính, trục thứ hai thể hiện độ lệchchuẩn hay rủi ro của danh mục đầu tư. Đường thứ nhất tạo thành khi nối cáchình khối lại với nhau, thể hiện đường cong hiệu quả bị giới hạn. Đường thứhai tiến ra vô cùng (đường thẳng liền) thể hiện đường cong hiệu quả khônggiới hạn. Vị trí của A được xác định là vị trí mà danh mục đầu tư chỉ bao gồmchứng khoán A, tương tự đối với các điểm B, C. Chứng khoán C có lợi suấtước tính và độ lệch chuẩn lớn nhất, sau đó đến chứng khoán A và cuối cùng làchứng khoán B.

Các điểm giao giữa chúng chỉ định sự chuyển tiếp từ bước này sang bướctiếp theo. Để hiểu rõ hơn phần này bạn hãy đọc lại phần đầu chương về mộtsố kết quả nghiên cứu. Trong phần kết quả nghiên cứu đó ta có nói về điểm tốiưu của bài toán là điểm giao giữa đường cong và tiếp tuyến của đường cong.Hơn nữa nhận thấy đồ thị trên hình vẽ (3.3) là dạng đồ thị lõm thì khoảng giátrị nào mà có λE bằng 0 thì điểm tối ưu nằm trong khoảng đó. Như vậy điểmtối ưu là điểm giao của đồ thị trong bước 2 và bước 3, ứng với giá trị lợi nhuận

38

Page 40: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Hình 3.3: So sánh giữa đường cong giới hạn và đường cong không giới hạn

ước tính là E = 17.43%.Thêm vào đó ta thấy rằng ứng với khoảng giá trị của λE và E trong lần phân

đoạn 3 thì danh mục đầu tư bao gồm cả 3 chứng khoán A, B, C theo như mongmuốn đầu tư của ta.

Ý nghĩa về mặt kinh tế:Trong kinh tế, nhà đầu tư nhìn vào biểu đồ, lựa chọn cho mình lợi nhuận

mục tiêu và mức độ rủi ro trong khoảng chấp nhận được. Từ đường cong hiệuquả ta có thể tính ngược lại các giá trị ωi với 1≤ i ≤ n và biết được tỷ trọngcủa mỗi chứng khoán trong danh mục đầu tư là bao nhiêu, và có phương hướngđầu tư phù hợp.

3.3. Thuật giải Markowitz tổng quát

Trong phần trước chúng ta đã xem xét thuật giải Markowitz thông thườngvới các ràng buộc đẳng thức tuyến tính và không âm. Phần tiếp này ta sẽ đi vàomột thuật giải tổng quát hơn với việc thêm vào các ràng buộc bất đẳng thứctuyến tính. Điều này xuất phát từ một số yêu cầu thực tế, trong thực tế khi đầutư còn phải xem xét các ràng buộc pháp lý hay các ưu đãi đối với tổ chức quảnlý. Các hạn chế đó dẫn đến cần thiết phải phát triển những thuật toán phức tạphơn mà đáp ứng được nhu cầu đầu tư. Trong các bài báo của mình, Markowitz[5] cũng đã nhắc đến việc giải quyết bài toán quy hoạch toàn phương cùngnhững hạn chế tổng quát này, tuy nhiên ông không mô tả chi tiết việc xử lýchúng thế nào, các kỹ thuật cải tiến trong phần tới này xuất phát từ đề nghịcủa Markowitz [7], được phát triển hơn nhằm mục đích đưa đến cho người đọcmột tiếp cận đến bài toán dễ dàng hơn, tạo điều kiện cho lập trình viên tạo ra

39

Page 41: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

các chương trình ứng dụng.Nội dung chính của phần này được chia ra thành các phần nhỏ như sau.

Phần một đề cập tới mô hình Markowitz ở dạng tổng quát, phần hai là điềukiện Kuhn-Tucker phát biểu gần giống với phát biểu trong mục 2. Phần ba đềcập tới việc tìm một phương án khởi tạo cơ sở của bài toán, phương án này códạng tuyến tính và được giải bằng phương pháp đơn hình nhưng các ràng buộcphức tạp hơn phần hai đã làm. Phần bốn là ví dụ minh họa cho thuật giải. Cácmở rộng thêm của thuật toán này sẽ được thể hiện trong phần năm.

3.3.1. Mô hình bài toán tối ưu

So sánh với mô hình cơ bản trong phần 2, mô hình trong phần này có mởrộng thêm các ràng buộc dạng bất đẳng thức. Tổng kết các ràng buộc trongmô hình gồm có m1 ràng buộc dạng đẳng thức, m2 ràng buộc ≤, m3 ràng buộc≥. Kí hiệu các ma trận hệ số: A ∈ Rm1×n ứng với các ràng buộc đẳng thức,K ∈ Rm2×n ứng với các ràng buộc ≤, và G ∈ Rm3×n ứng với các ràng buộc ≥.Thêm nữa các véctơ vế phải tương ứng với chúng lần lượt là: b ∈ Rm1, k ∈ Rm2,z ∈ Rm3. Bài toán cần sử dụng thêm hai biến phụ y ∈ Rm2 và z ∈ Rm3, và chú ý0k là véctơ 0 có k chiều. Mô hình được phát biểu như sau:

(a) minσ2 = ω ′V ω(b) µ ′ω = E(c) Aω = b ⇐⇒ Aω +0(m1) = b

thỏa mãn: (d) Kω ≤ k ⇐⇒ Kω + y = k(e) Gω ≥ g ⇐⇒ Gω − z = g(f) ω ,y,z ≥ 0

(3.42)

Hệ phương trình sử dụng n+m2+m3 biến thay vì n biến để giải bài toán. Kíhiệu 0kl và Ekl là ma trận 0 và ma trận đơn vị k× l chiều. Biến đổi bài toántrên để thu gọn lại các ràng buộc:

(a) minσ2 = ω ′V ω(b) µ ′ω = E

thỏa mãn: (c)

A 0(m1m2) 0(m1m2)

K E(m2m2) 0(m2m3)

G 0(m3m2) −E(m3m3)

(

ω y z)

=

bkg

(d) ω ,y,z ≥ 0

(3.43)

Trong hệ ràng buộc trên ma trận A,K,G,V và véctơ µ coi như tập ′in′ đượcbiểu diễn trong phần 2. Để thu gọn phương trình ta đặt:

40

Page 42: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

m ≡ m1+m2

A ≡

Ain 0(m1m2) 0(m1m2)

Kin E(m2m2) 0(m2m3)

Gin 0(m3m2) −E(m3m3)

∈ R(m1+m)(n+m)

b ≡

bkg

∈ Rm1+m x ≡

ωyz

∈ Rn+m

(3.44)

Kin và Gin được xác định bằng cách đặt tất cả các cột mà có các biến tương ứngthành phần ′out ′ bằng véctơ 0 có m1 và m2 chiều. Ain, Vin, µin được xây dựngtương tự phần mô hình bài toán gốc. Khi đó bài toán được thu gọn lại thành:

(a) minσ2 = ω ′Vinω(b) µ ′

inω = E(c) Ax = b(d) x ≥ 0

(3.45)

Chú ý rằng (3.45) bao hàm hai biến ω và x trong đó x bao hàm ω . Ta cầnchuyển bài toán về dạng ứng với một biến số để áp dụng được các kết quảtrong phần 2 của chương. Đặt:

V ≡

(

Vin 0(n(m))

0(mn) D(mm)

)

µ ≡

(

µin

0(m)

)

(3.46)

Ma trận variance/covariance và véctơ lợi nhuận kỳ vọng được chỉnh sửa lại,Dm×m là ma trận đơn vị. Khi đó hàm mục tiêu sẽ thay đổi một chút để bài toántrở về với chỉ một biến x.

(a) minσ2 = x′V x(b) µ ′x = E(c) Ax = b(d) x ≥ 0

(3.47)

Hàm mục tiêu trong (3.47 a) này có thể viết lại để thấy khác biệt so với hàmmục tiêu trong (3.45 a):

x′V x = ω ′Vinω + y′y+ z′z

. Để tìm cách giải quyết cho bài toán này ta có thể phân chia ma trận D thành

các khối: D ≡

(

D(m2m2) 0(m2m3)

0(m3m2) D(m3m3)

)

với D(m2m2) và D(m3m3) là các ma trận đơn

vị.

41

Page 43: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Kí hiệu Ki biểu thị hàng i của ma trận K, với bất kỳ yi(1≥ i ≥ m2) bằng 1là thành phần của tập ′in′ nếu Kiω < ki. Ngược lại yi là phần tử của tập ′out ′.Và zi(1≥ i ≥ m3) bằng 1 nếu và chỉ nếu Giω > gi, Gi là hàng i của ma trận G.

Nếu δ 1i j biểu thị thành phần ở hàng i và cột j của D(m2m2) và δ 2

i j tương ứngthành phần của D(m3m3). Ta định nghĩa:

δ 1i j ≡

0 ⇐⇒ i 6= j

1 ⇐⇒ i = j và yi = 0

0 ⇐⇒ i = j và yi = 1

∀ 1≤ i, j ≤ m2

δ 2i j ≡

0 ⇐⇒ i 6= j

1 ⇐⇒ i = j và zi = 0

0 ⇐⇒ i = j và zi =−1

∀ 1≤ i, j ≤ m3

Vậy nếu yi(zi) bằng 1 thì δ 1i j(δ 2

i j) bằng 0, nếu yi(zi) bằng 0 thì δ 1i j(δ 2

i j) bằng1 (-1). Điều này đảm bảo rằng x′V x = ω ′Vinω . Chúng ta cần chú ý rằng mụcđích của phần này là đi xây dựng thuật giải cho bài toán Markowitz dạng tổngquát. Trong phần tới ta cùng xem xét điều kiện tối ưu cho bài toán này.

3.3.2. Điều kiện tối ưu

Mục đích của phần này là xây dựng điều kiện Kuhn-Tucker cho bài toán(3.47) dựa vào điều kiện Kuhn-Tucker đã xây dựng cho bài toán Markowitzthông thường trong (3.4). Kí hiệu λ̄ ∈ Rm1+m là véctơ nhân tử Lagrange vàη̄ ∈ Rn+m̄ là véctơ đạo hàm riêng hàm Lagrange L đối với biến x. Điều kiệnKuhn-Tucker cho bài toán tổng quát này như sau:

(a)(

V A′

A 0m1+m,m1+m

)(

)

−λE

(

µ0m1+m

)

=

(

0n+m

b

)

(b) x ≥ 0, λ ≥ 0(c) xi = 0⇐⇒ ηi > 0 và xi > 0⇐⇒ ηi = 0 ∀1≥ i ≥ n+m

(d) η = (V A′)

(

)

−λE

(

µ0(m1+m)

)

(d) µ ′x = E(3.48)

42

Page 44: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Theo xử lý trong phần bài toán gốc ma trận M ∈ R(n+m1+2m)×(n+m1+2m) có thểđịnh nghĩa như sau:

M ≡

(

V A′

A 0(m1+m,m1+m)

)

=

(

Vin 0nm

0nm D

)

A′in K′

in G′in

0(m2m1) E(m2m2) 0(m2m3)

0(m3m1) 0(m3m2) −E(m3m3)

Ain 0(m1m2) 0(m1m3)

Kin E(m2m2) 0(m2m3)

Gin 0(m3m2) −E(m3m3)

0(m1+m,m1+m)

(3.49)Khi đó điều kiện (3.48) có thể được xử lý giống như phần (3.13) và (3.15) tađược:(

)

= M−1(

0(n+m)

b

)

+λEM−1(

µ0(m1+m)

)

≡ α +λEβ ≥ 0

với α ≡ M−1(

0(n+m)

b

)

∈ Rn+m1+2m và β ≡ M−1(

µ0m1+m

)

∈ Rn+m1+2m

(3.50)và:

η = (V A′)α +λE [(V A

′)α −µ ]≡ γ +λEδ ≥ 0

với γ ≡ (V A′)α ∈ Rn+m và δ ≡ [(V A

′)α −µ ] ∈ Rn+m (3.51)

Các bước xây dựng tiếp theo cũng tương tự phần trước.

3.3.3. Tìm nghiệm cơ sở của bài toán

Tương tự trong phần 2 của chương, một nghiệm cơ sở cho bài toán quyhoạch toàn phương được tìm bằng cách tìm giá trị lớn nhất của hàm mục tiêutuyến tính với các ràng buộc cũng là tuyến tính. Tuy nhiên các ràng buộctuyến tính trong phần này phức tạp hơn trong phần trước. Phương pháp đơnhình được trình bày trong chương 1 được sử dụng để tìm nghiệm cơ sở này.Ý tưởng cho phần tìm nghiệm này cũng tương tự như trong phần trước. Mỗidanh mục đầu tư mà giá trị kỳ vọng lớn nhất được xác định thì gần như chắc

43

Page 45: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

chắn rằng danh mục đầu tư đó hiệu quả. Chúng ta cùng phân tích vấn đề này:

(a) maxµ ′ω = maxE(b) Aω = b ⇐⇒ Aω +0(m1) = b(c) Kω ≤ k ⇐⇒ Kω + y = k(d) Gω ≥ g ⇐⇒ Gω − z = g(e) ω ,y,z ≥ 0

(3.52)

Biến đổi phương trình trên về dạng chính tắc bằng cách thêm các biến phụ y,z.Có một vài vấn đề xảy ra khi w = 0 khi đó các phương trình (3.52 d) (3.52 e)không thỏa mãn. Phương pháp đơn hình cơ bản chưa được khả thi đối với bàitoán này, vì thế ta áp dụng phương pháp đơn hình hai pha(cũng đã được đề cậptrong chương 1 của khóa luận) để giải quyết bài toán.

(b) Aω + s = b ⇐⇒ s = b−Aω(c) Kω + y+ t = k ⇐⇒ t = k−Kω − y(d) Gω − z+u = g ⇐⇒ u = g−Gω + z(e) ω ,y,z,s, t,u ≥ 0

(3.53)

Ta thêm vào bài toán các biến giả s ∈ Rm1, t ∈ Rm2, u ∈ Rm3 và coi chúng làtập các biến cơ sở mới. Tiếp theo ta phải xây dựng hàm mục tiêu mới chứa cácbiến cơ sở mới. Kí hiệu e(k) là véctơ đơn vị k chiều. Khi đó hàm mục tiêu mớicó dạng:

min(s′e(m1)+ t ′e(m1)+u′e(m1) ⇐⇒ max−(s′e(m1)+ t ′e(m1)+u′e(m1))

(3.54)Bằng cách định nghĩa Z ≡−(s′e(m1)+ t ′e(m1)+u′e(m1)), mục tiêu của bài toánphụ là tìm giá trị lớn nhất của Z theo các biến s, t,u. Từ (1.70) ta xây dựng hàmmục tiêu mới như sau:

Z−(e′(m1)A+e′(m2)

K+e′(m3)G)ω+y′e(m2)−z′e(m3)=−(b′e(m1)+k′e(m2)+g′e(m3))

(3.55)Xét 2 trường hợp xảy ra:

1. Z = 0⇐⇒ (s t u)′ = 0

2. Z < 0 ⇐⇒ (s t u)′ 6= 0, nhưng các thành phần s, t, u là không âm,không tồn tại phương án cơ sở cho bài toán (3.52)

44

Page 46: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Nào bây giờ ta chỉnh sửa hàm mục tiêu một chút cho ngắn gọn hơn:

Z−ω ′~M− y′e(m2)+ z′e(m3) với~M ≡−e′(m1)

− e′(m2)K − e′(m3)

G ∈ Rn

R ≡−b′e(m1)− k′e(m2)−g′e(m3) ∈ R

(3.56)

Bảng đơn hình xuất phát đối với bài toán đơn hình hai pha (bảng 3.1):

ω1 ... ωn y1 ... ym2 z1 ... zm3 hệ số

E −µ1 ... −µn 0 ... 0 0 ... 0 0 1s1 A11 ... A1n 0 ... 0 0 ... 0 b1 2... ... ... ... ... ... ... ... ... ... ... 3

sm1 Am11 ... Am1n 0 ... 0 0 ... 0 bm1 4t1 K11 ... K1n 1 ... 0 0 ... 0 k1 5... ... ... ... ... ... ... ... ... ... ... 6

tm2 Km21 ... Km2n 0 ... 1 0 ... 0 km1 7u1 G11 ... G1n 0 ... 0 -1 ... 0 g1 8... ... ... ... ... ... ... ... ... ... ... 9

um3 Gm31 ... Gm3n 0 ... 0 0 ... -1 gm3 10

Z − ~M1 ... − ~Mn −1 ... −1 1 ... 1 R 11

Bảng 3.1: Bảng đơn hình xuất phát đối với bài toán hai pha

3.3.4. Ví dụ minh họa

Ví dụ trong phần 2 của chương có giải bài toán Markowitz gốc tuy nhiênbài toán còn đơn giản, các ràng buộc đều dưới dạng đẳng thức. Ví dụ trongphần này cũng dựa trên phần trước nhưng có thêm các ràng buộc dạng bấtđẳng thức. Cách giải quyết cũng được thực hiện từng bước từng bước, đầu tiêngiải bài toán đơn hình phụ (đơn hình hai pha), sau đó là bài toán đơn hình gốcvà cuối cùng là giải bài toán quy hoạch toàn phương bằng cách sử dụng thuậttoán Markowitz tổng quát.

Bài toán (các thông số về V,A,µ vẫn như phần trước) :

minω

η2 = ω ′V ωω1+ω2+ω3 = 1

thỏa mãn: ω3 ≤ 0.5ω1 ≥ 0.3ω ≥ 0

(3.57)

Đầu tiên ta tìm nghiệm cơ sở của bài toán bằng cách tìm giá trị lớn nhất của tỉlệ lợi nhuận kỳ vọng trả về theo (3.52). Bảng ban đầu (3.2) được khởi tạo cácgiá trị như trong bảng (3.1).

45

Page 47: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Bảng 0 ω1 ω2 ω3 y1 z1 rhs

E -15.0 -10.0 -20.0 0.0 0.0 0.0s1 1.0 1.0 1.0 0.0 0.0 1.0t1 0.0 0.0 1.0 1.0 0.0 0.5u1 1.0 0.0 0.0 0.0 -1.0 0.3Z -2.0 -1.0 -2.0 -1.0 1.0 -1.8

Bảng 3.2:

Tập các biến cơ sở trong bài toán trung gian này (bài toán đơn hình haipha) là in = {s1,u1, t1}, các biến khác nằm ngoài cơ sở. Áp dụng các quy tắcvề chọn cột xoay và hàng xoay như trong phương pháp đơn hình đã trình bàytrong chương một, phần tử nằm trên giao của cột xoay và hàng xoay được inđậm trong bảng. Tính toán lại các giá trị ta được bảng (3.3) như sau:

Bảng 1 u1 ω2 ω3 y1 z1 rhs

E 15.0 -10.0 -20.0 0.0 -15.0 4.5s1 -1.0 1.0 -1.0 0.0 1.0 0.7t1 0.0 0.0 1.0 1.0 0.0 0.5ω1 1.0 0.0 0.0 0.0 -1.0 0.3Z 2.0 -1.0 -2.0 -1.0 -1.0 -1.2

Bảng 3.3:

Nhận thấy Z =−1.2 lớn hơn Z =−1.8 trong bước trước, như vậy bước nàycó sự phát triển so với bước trước.

Bảng 2 u1 ω2 t1 y1 z1 rhs

E 15.0 -10.0 20.0 20.0 -15.0 14.5s1 -1.0 1.0 -1.0 -1.0 1.0 0.2ω3 0.0 0.0 1.0 1.0 0.0 0.5ω1 1.0 0.0 0.0 0.0 -1.0 0.3Z 2.0 -1.0 2.0 1.0 -1.0 -0.2

Bảng 3.4:

Bảng kế tiếp (3.5) này cung cấp lời giải tối ưu cho bài toán phụ này:

Bảng 3 u1 s1 t1 y1 z1 rhs

E 5.0 10.0 10.0 10.0 -5.0 16.5ω2 -1.0 1.0 -1.0 -1.0 1.0 0.2ω3 0.0 0.0 1.0 1.0 0.0 0.5ω1 1.0 0.0 0.0 0.0 -1.0 0.3Z 1.0 1.0 1.0 0.0 0.0 0.0

Bảng 3.5:

46

Page 48: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Như vậy phương án cơ sở cho bài toán quy hoạch toàn phương (3.57)được thấy ở đây với giá trị hàm mục tiêu Z = 0. Nghiệm tương ứng là ω ′ =

(0.3 0.2 0.5) giá trị kỳ vọng của lợi nhuận là 16.5%. Bước tiếp theo ta bỏđi các cột ứng với các biến giả, hàm mục tiêu ở bài toán trung gian này cũngđược gỡ đi. Kết quả được:

Bảng 4 y1 z1 rhs

E 10.0 -5.0 16.5ω2 -1.0 1.0 0.2ω3 1.0 0.0 0.5ω1 0.0 -1.0 0.3

Bảng 3.6:

Thêm một bước tính toán nữa ta được nghiệm tối ưu của bài toán đơn hìnhgốc, giá trị lớn nhất của kỳ vọng lợi nhuận được tìm thấy ở bước này.

Bảng 5 y1 ω2 rhs

E 5.0 5.0 17.5z1 -1.0 1.0 0.2ω3 1.0 0.0 0.5ω1 -1.0 1.0 0.5

Bảng 3.7:

Giá trị lớn nhất của kỳ vọng lợi nhuận trả về ở bước này là 17.5% ứng vớiω ′ = (0.5 0.0 0.5). Qua việc giải bài toán tìm nghiệm cơ sở này thu đượcin = {z1,ω1,ω3} và out = {y1,ω2}. Thông tin này sẽ cung cấp một bước khởitạo tốt cho thuật giải Markowitz.

Bước 1:Bước đầu tiên của thuật giải Markowitz là khai báo ma trận M ∈R(n+m1+2m)(n+m1+2m)

theo (3.49):

M =

400 0 100 0 00 1 0 0 0

100 0 625 0 00 0 0 1 00 0 0 0 0

1 0 10 0 01 1 00 0 00 0 −1

1 0 1 0 00 0 1 0 01 0 0 0 −1

0 0 00 0 00 0 0

Từ kết quả của phần trước về tập ′in′ và ′out ′ ta xây dựng khối ma trận D đượcin đậm như trên. Bước này sẽ được giải thích như sau. z1 nằm trong tập ′in′ và

47

Page 49: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

có giá trị −1 còn y1 nằm trong tập ′out ′ và có giá trị 0. Theo định nghĩa về giátrị của các thành phần δ 1

i j và δ 2i j ta có δ 2

22 = 0 và δ 111 = 1 Từ đó xác định được

giá trị của khối ma trận D (được in đậm trong ma trận M).Trong bài toán Markowitz tổng quát này thì ngoài 3 biến chính tương ứng

với 3 chứng khoán A, B, C còn có các biến phụ thêm vào y1, z1. Và các biếnnày đều có thể có mặt trong tập các biến cơ sở ′in′ ở từng bước giải của bàitoán. Ta sử dụng kí hiệu ngầm định sau: ”y1” đại diện cho ràng buộc nhỏ hơnhoặc bằng trong bài toán (3.42) còn ”z1” đại diện cho ràng buộc lớn hơn hoặcbằng trong (3.42).

Sử dụng (3.50) và (3.51) tính các giá trị của α,β ,γ ,δ , giá trị trả về nhưtrong bảng (3.8):

α β −αβ

γ δ −γδ

A 0.5 0.0 - 0.0 0.0 -B 0.0 0.0 - -100.0 5.0 20.0C 0.5 0.0 - 0.0 0.0 -”y1” 0.0 0.0 - -112.5 5.0 22.5”z1” 0.2 0.0 - 0.2 0.0 -

Bảng 3.8:

Từ bảng và (3.16) có:

λa =−∞,λb = 22.5,λc = ∞,λd = ∞

Sử dụng (3.17) ta có λhigh = ∞,λlow = 22.5. Ràng buộc ′′ ≤′′ ảnh hưởng tớiđạo hàm riêng của L với biến y1, vì thế y1 ảnh hưởng tới λlow và được kết nạpvào tập cơ sở. Tập cơ sở mới là in = {ω1,ω3,y1,z1} và out = {ω2}. Giá trị kỳvọng lợi nhuận của toàn danh mục là E(λlow) = 17.5% và tỉ trọng đầu tư của

các chứng khoán trong danh mục là ω(λlow) =

0.50.00.5

Bước 2: Do tập ′in′ và ′out ′ có sự thay đổi nên ma trận M được viết lại. Giá

48

Page 50: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

trị của ma trận D và A24 của A được in đậm.

M =

400 0 100 0 0 1 0 10 1 0 0 0 0 0 0

100 0 625 0 0 1 1 00 0 0 0 0 0 1 00 0 0 0 0 0 0 −11 0 1 0 0 0 0 00 0 1 1 0 0 0 01 0 0 0 −1 0 0 0

Tương tự bước 1 ta có bảng (3.9):

α β −αβ

γ δ −γδ

A 0.6364 -0.0061 104.33 0.0 0.0 -B 0.0 0.0 - -104.9091 6.8182 20.67C 0.3636 0.0061 -59.61 0.0 0.0 -

”y1” 0.1364 -0.0061 22.50 0.1364 -0.0061 22.50”z1” 0.3364 -0.0061 55.15 0.3364 -0.0061 55.50

λa =−59.61 λlow = 20.67 E(λlow) = 17.44%

λb = 20.67 λhigh = 20.50

λc = 22.50 ω(λlow) =

0.51

0.0

0.49

λd = 22.50

Bảng 3.9:

Nhận thấy chứng khoán B có ω2 = 0.0 tương ứng với λlow theo trên. Vì thếω2 được kết nạp vào tập cơ sở, in = {ω1,ω2,ω3,y1,z1} và out = { }. Nhưvậy tất cả các biến đều thuộc vào ′in′.

Bước 3: Trong bước này tất cả các biến đều là biến cơ sở, 2 biến phụ y1 vàz1 cũng ở trong cơ sở, vì thế các thành phần của D đều bằng 0 (ma trận D in

49

Page 51: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

đậm). Giá trị của M viết lại như sau:

M =

400 150 100 0 0 1 0 1150 225 150 0 0 1 0 0100 150 625 0 0 1 1 00 0 0 0 0 0 1 00 0 0 0 0 0 0 −11 1 1 0 0 0 0 00 0 1 1 0 0 0 01 0 0 0 −1 0 0 0

Các giá trị khác được tính tương tự bước trên, ta có bảng (3.10):

α β −αβ

γ δ −γδ

A 0.2211 0.0140 -15.75 0.0 0.0 -B 0.6526 -0.0316 20.67 0.0 0.0 -C 0.1263 0.0175 -7.20 0.0 0.0 -

”y1” 0.3737 -0.0175 21.30 0.3737 -0.0175 21.30”z1” 0.0789 0.0140 5.625 -0.0789 0.0140 5.625

λa = 5.625 λlow = 5.625 E(λlow) = 13.75%

λb = 5.625 λhigh = 20.67

λc = 20.67 ω(λlow) =

0.300

0.475

0.225

λd = 21.35

Bảng 3.10:

Từ bảng và (3.23), ràng buộc ” ≥" xác định λlow, loại z1 ra khỏi tập các biếncơ sở. in = {ω1,ω2,ω3,y1} và out = {z1}.

Bước 4: z1 loại ra khỏi tập cơ sở dẫn đến ma trận D thay đổi. M được viếtlại:

M =

400 150 100 0 0 1 0 1150 225 150 0 0 1 0 0100 150 625 0 0 1 1 00 0 0 0 0 0 1 00 0 0 0 1 0 0 01 1 1 0 0 0 0 00 0 1 1 0 0 0 01 0 0 0 1 0 0 0

Các giá trị khác được tính tương tự bước trên, ta có bảng (3.11):

50

Page 52: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

α β −αβ

γ δ −γδ

A 0.3 0.0 - 0.0 0.0 -B 0.5773 -0.0182 31.75 0.0 0.0 -C 0.1227 0.0182 -6.75 0.0 0.0 -

”y1” 0.3773 -0.0182 20.75 0.3773 -0.0182 20.75”z1” 0.0 0.0 - 25.5682 -4.5455 5.625

λa =−6.75 λlow =−6.75 E(λlow) = 11.50%

λb =−∞ λhigh = 5.625

λc = 20.75 ω(λlow) =

0.3

0.7

0.0

λd = 5.625

Bảng 3.11:

Từ ω(λlow) có ω3 = 0, loại ω3 ra khỏi tập cơ sở, in = {ω1,ω2,y1} và out ={ω3,z1}.

Bước 5: Biến y1 vẫn ở trong tập cơ sở vì thế ma trận D không thay đổi, loạiω3 ra khỏi tập cơ sở dẫn đến thay đổi trong M như sau:

M =

400 150 0 0 0 1 0 1150 225 0 0 0 1 0 00 0 1 0 0 0 0 00 0 0 0 0 0 1 00 0 0 0 1 0 0 01 1 0 0 0 0 0 00 0 0 1 0 0 0 01 0 0 0 0 0 0 0

Các giá trị khác được tính tương tự bước trên, ta có bảng (3.12):Bảng (3.13) tổng kết qua 5 bước giải:Hình (3.4) đã minh họa lại toàn bộ quá trình thực thi của chúng ta. Từ hình

vẽ ta sẽ có một sự so sánh giữa đường cong hiệu quả giới hạn của bài toán gốc,đường cong hiệu quả giới hạn của bài toán tổng quát và đường cong hiệu quảkhông giới hạn.

Nhận thấy rằng đường cong hiệu quả minh họa cho bài toán Markowitz tổngquát này ngắn hơn đường cong hiệu quả của bài toán Markowitz gốc, điều nàylà do trong bài toán Markowitz tổng quát có thêm các ràng buộc bổ sung sovới bài toán gốc. Chính các ràng buộc này đã giới hạn tập giá trị của lợi nhuậnước tính (lợi nhuận kỳ vọng) hay độ lệch chuẩn lại. Hai đường cong này cónhững đoạn đồng dạng hay trùng nhau. Lý giải điều này là do có những trường

51

Page 53: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

α β −αβ

γ δ −γδ

A 0.3 0.0 - 0.0 0.0 -B 0.7 0.0 - 0.0 0.0 -C 0.0 0.0 - -67.5 -10 -6.75

”y1” 0.5 0.0 - 0.5 0.0 -”z1” 0.0 0.0 - 22.5 -5.0 -4.5

λa =−∞ λlow =−∞ E(λlow) = 11.50%

λb =−∞ λhigh =−6.75

λc = ∞ ω(λlow) =

0.3

0.7

0.0

λd =−6.75

Bảng 3.12:

Phânđoạn

λlow λhigh E(λlow) E(λhigh) ω1 ω2 ω3 y1 z1

1 22.50 ∞ 17.50 - 0.50 0.00 0.50 0.00 0.202 20.67 22.50 17.44 17.50 0.51 0.0 0.49 0.01 0.213 5.625 20.67 13.75 17.44 0.3 0.475 0.225 0.275 0.004 -6.75 5.625 11.50 13.75 0.30 0.70 0.00 0.50 0.005 −∞ -6.75 - 11.50 0.30 0.70 0.00 0.50 0.00

Bảng 3.13:

Hình 3.4: Đường biên hiệu quả được tính bởi thuật toán Markowitz gốc và tổng quát

hợp mà độ lệch chuẩn và lợi nhuận ước tính không bị tác động của những ràngbuộc trong bài toán. Ví dụ như trong phân đoạn 1 và 2 của bảng khi mà biếny1 và z1 lớn hơn 0, hay trong phân đoạn 3 đến 5, tỷ trọng đầu tư của chứngkhoán A luôn là đạt mức hằng số 30%.

Và như một lẽ tự nhiên rằng cơ hội đầu tư sẽ rất lớn nếu có rất ít các ràng

52

Page 54: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

buộc hạn chế hoặc không có ràng buộc hạn chế nào trong bài toán.

53

Page 55: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Phụ lục

Phụ lục này sẽ trình bày cách tối ưu hóa danh mục đầu tư chứng khoán sửdụng bảng tính excelTrong phần trước chúng ta đã trình bày về bài toán tối ưu và việc áp dụng đểlựa chọn danh mục đầu tư tối ưu, nhưng mới chỉ dừng lại ở mức cơ bản và tổngquan nhất. Các ứng dụng trong thực tế có quy mô và hình thức lớn hơn nhiều,không thể bằng một vài thao tác tính toán đơn giản có thể tính được. Vì thếsự hỗ trợ của một phần mềm tính toán như excel và mã lập trình VBA (VisualBasic Application) nhúng ở bên trong sẽ là công cụ hữu hiệu cho việc phântích số liệu và giải bài toán.

Lợi điểm của việc sử dụng bảng tính excel

Các đối tượng mà ứng dụng bài toán tối ưu này chủ yếu là các nhà đầu tư,những người có trình độ sử dụng máy tính ở mức trung bình, thêm nữa trongkinh tế việc thao tác và làm việc trên bảng tính excel là thường xuyên, phổbiến. Bảng tính excel cho phép người sử dụng dễ dàng thao tác với các consố, trong excel đã phát triển sẵn các hàm xác xuất, thống kê. Ngoài ra việc sửdụng các mã lập trình nhúng ở phía trong cho phép ta lập trình các chươngtrình để giải bài toán. Người dùng chỉ việc nhập các số liệu và kích chuột làcó thể thấy được các kết quả trả về. Các lợi điểm trên là ý tưởng để các nhàlập trình phát triển một chương trình cho phép giải bài toán tối ưu hóa trênnền công cụ excel. Tổ chức Operations Management đã phát triển một chươngtrình như vậy. Sau đây là một số hướng dẫn để thực thi công cụ này:

Trước hết các bạn phải cài đặt chương trình chạy. Để cài đặt các bạn xemtrong CD đính kèm theo khóa luận này, trong đó có bộ cài, đường link thamkhảo, các add in (hay các mã nhúng lập trình để thực thi bài toán) và mộthướng dẫn sử dụng. Việc cài đặt là không có gì khó khăn, chỉ chú ý một điều,các add in này hoạt động tốt trên excel 2007, vì thế chúng ta nên sử dụng bộOffice 2007 để cài.

54

Page 56: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Thực thi chương trình

Đầu tiên vào mục OM_IE chọn Portfolio Selection, một hộp thoại MarkowitzPortfolio hiện ra, ta điền các thông số bao gồm tên bài toán, số chứng khoánmuốn lựa chọn vào danh mục đầu tư, số lần quan sát dữ liệu, số biến hay ràngbuộc mở rộng của bài toán, cuối cùng là tích chọn vào ô From Data, MakeRandom Problem.

Ở trong khóa luận này ta phân tích với 10 chứng khoán trong 1 danh mụcvà 24 điểm dữ liệu, sinh dữ liệu sử dụng bộ dữ liệu lấy ngẫu nhiên trong tậpcó sẵn, các dữ liệu này được tập hợp trong thực tế. Trong lần phân tích này chỉphân tích với 24 lần quan sát dữ liệu, nếu muốn đầu tư mà đạt được mức độchắc chắn nhất các bạn nên phân tích với khoảng 54 lần quan sát dữ liệu (sốquan sát và thời gian tùy thuộc vào chu kỳ biến động của các chứng khoán,thường người ta quan sát theo tháng).

Tiếp theo ứng dụng yêu cầu bạn có muốn giải quyết mô hình toán họckhông, bạn chọn OK và một hộp thoại về mô hình phi tuyến hiện ra (hình 3.5).Bạn điền các thông số bao gồm số biến của bài toán là 10, số ràng buộc là 2,và các mặc định như hình.

Hình 3.5: Các thông số cho mô hình giải bài toán

Đây là các thông số trong phần toán học, mô hình bài toán chúng ta giải làquy hoạch toàn phương là cụ thể của bài toán quy hoạch phi tuyến với hàmmục tiêu là hàm bậc hai. Mô hình toán học của bài toán với các ràng buộc vàhàm mục tiêu được điền như hình (3.6):

Dữ liệu về các thống kê đối với 24 lần quan sát của 10 chứng khoán đượcghi lại trong bảng ’Return’ (hình 3.7).

Tiếp theo là các dữ liệu đã qua thống kê và tính toán sơ bộ được sử dụng làm

55

Page 57: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Hình 3.6: Giải bài toán Markowitz

Hình 3.7: Dữ liệu trả về quan sát qua các thời kỳ

bộ dữ liệu của bài toán (hình 3.8) bao gồm 10 chứng khoán S1, S2, S3,...,S10cùng các giá trị biên, lợi nhuận, độ lệch chuẩn. Ban đầu các tỷ trọng của từngchứng khoán được chia đều là 0.1 do tổng tỷ trọng của các chứng khoán trongdanh mục đầu tư bằng 1.

Hình 3.8: Các thông số bài toán

Đây là bảng hệ số tương quan và độ lệch chuẩn của chúng, tính theo phầntrăm (hình 3.9). Ta thấy ma trận trong phần bảng ô màu đen là ma trận đối

56

Page 58: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

xứng xác định dương. Chú ý các hệ số âm ví dụ -0.076 có nghĩa là 7.6%. Điềunày là tương ứng với ma trận V trong mô hình tối ưu. Để giải bài toán ta kíchvào nút ’Solver’ và xác định lợi nhuận mục tiêu trả về, thường xác định ở mứcvừa phải (là 1) thì bài toán sẽ có nghiệm.

Hình 3.9: Hệ số tương quan và độ lệch chuẩn

Hệ thống sẽ tiến hành giải bài toán và đưa ra kết quả trả về như hình vẽ. Tỷtrọng đầu tư được xác định (dòng màu xanh ’Mix’):

Hình 3.10: Kết quả tính toán bài toán tối ưu trả về

Bước tiếp tìm phương hướng đầu tư dựa trên đường biên hiệu quả của danhmục đầu tư. Ta nhấn nút ’Solver’ (hình 3.8) và xác định các giá trị biên (thườnglà mặc định có sẵn) và số khoảng phân tích, với giá trị này thì bài toán sẽ chỉphân tích trong một khoảng ngắn như vậy thôi. Ở bài toán này ta chọn giá trịbiên là (-2.52, 7.86) và số khoảng là 10.

Kết quả phân tích được thể hiện trên hình (3.11), phần bên trái là các giá trịcủa độ lệch chuẩn, lợi nhuận ước tính của 10 khoảng trả về. Phần bên phải tômàu xanh sử dụng để đánh giá xu thế đầu tư. Nhìn hình vẽ ta thấy nên đầu tưvào các chứng khoán trong danh sách ngoại trừ chứng khoán S7, chứng khoánS9 có lợi suất ước tính lớn nhất. Danh mục đầu tư tối ưu có sự kết hợp của tấtcả các chứng khoán trên (trừ S7).

Từ các số liệu đó ta vẽ được đường cong hiệu quả của danh mục đầu tư (hình3.12). Tùy thuộc vào mức độ chấp nhận rủi ro đến đâu của nhà đầu tư mà cócác tùy chọn danh mục đầu tư hiệu quả nhất có thể.

Đây là phân tích với số liệu chủ yếu lấy từ các nguồn nước ngoài. Vậy liệu

57

Page 59: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Hình 3.11: Kết quả phân tích qua các bước

Hình 3.12: Đường cong hiệu quả của danh mục đầu tư

có áp dụng được mô hình này vào thị trường Việt Nam không? Nếu các bạntheo dõi các thông tin trên một số trang báo điện tử thì thấy rằng, cũng đã cómột số tổ chức tài chính và quỹ đầu tư áp dụng mô hình này nhưng số lượngchưa nhiều. Trong CD kèm theo khóa luận tôi có đưa thêm một tệp excel sưutập được của một tác giả trên mạng về bản phân tích số liệu 38 tuần các chứngkhoán Việt Nam cùng với chỉ số Vn-Index, các kết quả phân tích thống kê,biểu đồ và kết luận khi thực thi mô hình Markowitz. Cuối cùng là một lưu ýdành cho các bạn, những ai có ý định tham gia đầu tư vào thị trường chứngkhoán là bài toán trên chỉ đưa ra phương hướng khi đầu tư, tùy thuộc vào sốvốn mà bạn có mà có cách đầu tư sao cho hợp lý. Nếu bạn mới bước vào đầu tưvới một số vốn ít ỏi mà muốn kiếm được nhiều tiền thì bạn nên liều một chút,có nghĩa là nên tập trung vào một vài chứng khoán có lợi nhuận ước tính caonhất thôi.

58

Page 60: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Kết luận

Trong khóa luận này em đã trình bày tư tưởng nội dung của thuật giảiMarkowitz phục vụ mục đích giải bài toán quy hoạch toàn phương, giúp tốiưu hóa danh mục đầu tư chứng khoán. Song song là các ví dụ bằng số minhhọa cho phương pháp, cuối cùng là các hướng dẫn thực thi bài toán thực tế sửdụng bảng tính excel. Nội dung chính của khóa luận bao gồm:

1 Tổng quan một số phương pháp giải bài toán quy hoạch toàn phương.

2 Trình bày bài toán và phương pháp Markowitz trong việc tối ưu hóa danhmục đầu tư.

3 Sử dụng bảng tính excel để giải bài toán.

Tuy nhiên do thời gian thực hiện khóa luận không nhiều còn có những sai sótem rất mong nhận được sự góp ý của quý thầy cô và bạn đọc.

Page 61: Ứng-dụng-tối-ưu-hoa-toan-học-giải-bai-toan-Markowitz

Tài liệu tham khảo

[1] Bùi Minh Trí (2004), Quy hoạch toán học, Nhà xuất bản Khoa Học KỹThuật, Hà Nội.

[2] Nguyễn Đăng Nam (2006), Phân tích và đầu tư chứng khoán, Nhà xuấtbản Tài Chính, Hà Nội.

[3] Andreas Antonio, Wu-Sheng Lu, (2007), Practical Optimization,Springer, Germany.

[4] Bhatti, M. A, (2000), Practical optimization methods.. with Mathematicaapplications, Springer, Germany.

[5] Markowitz. H, (1952) Portfolio Selection, The Journal of Finance, Vol.7, No. 1, pp. 77-91.

[6] Paul, A. J, Jonathan, F. B (2007), Nonlinear Programming Method,Quadratic Programming, Operation Researchs, America.

[7] Rudolf, (2007), LS-Finanzen, WHU, Germany.

[8] Vanderbei, R. J, (2001), Linear Programming Foundations and Exten-sions, Princeton, America.

[9] http://www.saga.vn/Taichinh/Quihoach/Mohinhhoa_Dubao/5673.saga

[10] http://www.aimms.com/downloads/application-examples/investment-portfolio-selection

[11] http://www.me.utexas.edu/ jensen/ORMM/omie/computation/unit/equity/markowitz.html

[12] http://www.whu.edu/cms/fileadmin/redaktion/LS-Finanzen/publications/rudolf/books/Algorithms_Chapter0.pdf

60