mô hình phương sai hiệp phương sai phân tích tài chính chứng khoán phân tích mô hình1.Tính TSSL, phương sai và độ lệch chuẩn (2đ) 2.Tính ma trận phương saihiệp phương sai theo ít nhất 4 phương pháp (2đ) 3.xây dựng đường biên hiệu quả có bán khống theo cách thông thường và theo VBA (1,5đ) 4.xây dựng đường biên hiệu quả không bán khống theo cách thông thường và theo VBA và so sánh với đường biên có bán khống (2đ) 5.Xây dựng đường CML (1đ) 6.Kiểm định mô hình CAPM và cho biết DM hiện tại bạn chọn có hiệu quả không? Nếu không thì điều chỉnh như thế nào?(1,5đ)
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ TP.HCM
TIỂU LUẬN TRÌNH BÀY MÔN:
TÀI CHÍNH ĐỊNH LƯỢNG
Sàn chứng khoán Australian Securities Exchange
( ASX , Australia, Sydney)
Trang 2ĐỀ BÀI
Sinh viên lấy giá của 30 chứng khoán của các thị trường theo google form vào cuối mỗi tháng từ 12/2009 -> 04/2021 và thực hiện các yêu cầu sau:
1 Tính TSSL, phương sai và độ lệch chuẩn (2đ)
2 Tính ma trận phương sai-hiệp phương sai theo ít nhất 4 phương pháp (2đ)
3 xây dựng đường biên hiệu quả có bán khống theo cách thông
thường và theo VBA (1,5đ)
4 xây dựng đường biên hiệu quả không bán khống theo cách thông thường và theo VBA và so sánh với đường biên có bán khống (2đ)
6 Kiểm định mô hình CAPM và cho biết DM hiện tại bạn chọn có hiệu quả không? Nếu không thì điều chỉnh như thế nào?(1,5đ)
Trang 3I/ CÁCH CHỌN CHỨNG KHOÁN
1 Dữ liệu giá 30 chứng khoáng đã chọn
30 chứng khoán được lấy trong 200 chứng khoán của chỉ số S&P/ASX 200
ST
Tên viết
1 Altium Ltd ALU https://vn.investing.com/equities/altium-ltd-historical-data
2 AP Eagers Ltd APE https://vn.investing.com/equities/ap-eagers-historical-data
3 Carsales.Com Ltd CAR
https://vn.investing.com/equities/carsales.com-ltd-historical-data
4 Charter Hall Group CHC
hall-historical-data
https://vn.investing.com/equities/charter-5 Invocare Ltd IVC https://vn.investing.com/equities/invocare
6 Ingenia Communities Group INA https://vn.investing.com/equities/ing-real-est
7 James Hardie Industries PLC JHX https://vn.investing.com/equities/james-hardie-industries-n.v.-historical-data
parsons-historical-data
https://vn.investing.com/equities/worley-9 Seven Group Holdings Ltd SVW
network-historical-data
historical-data
https://vn.investing.com/equities/webjet-11 Abacus Property Group ABP
prop-historical-data
https://vn.investing.com/equities/abacus-12 Adelaide Brighton Ltd ABC
brighton-historical-data
https://vn.investing.com/equities/adelaide-13 AGL Energy Ltd AGL https://vn.investing.com/equities/agl-energy-historical-data
14 ALS Ltd ALQ https://vn.investing.com/equities/als-ltd-historical-data
limited-historical-data
https://vn.investing.com/equities/alumina-16 Western Areas Ltd WSA
areas-historical-data
https://vn.investing.com/equities/western-17 Woodside Petroleum Ltd WPL
petroleum-limited-historical-data
https://vn.investing.com/equities/woodside-18 BHP Billiton Ltd BHP
billiton-limited-historical-data
https://vn.investing.com/equities/bhp-
Trang 4https://vn.investing.com/equities/federation-20 Technology One Ltd TNE https://vn.investing.com/equities/technology-one-historical-data
21 Telstra Corporation Ltd. TLS https://vn.investing.com/equities/telstra-corporation-limited.-historical-data
22 Transurban Group TCL
group-historical-data
https://vn.investing.com/equities/transurban-23 Suncorp Group Ltd SUN
metway-limited.-historical-data
https://vn.investing.com/equities/suncorp-24 Super Retail Group Ltd SUL
cheap-historical-data
https://vn.investing.com/equities/supa-25 Ramsay Health Care Ltd RHC
healthcare-historical-data
https://vn.investing.com/equities/ramsay-26 Rea Group Ltd REA
ltd-historical-data
https://vn.investing.com/equities/rea-group-27 Qantas Airways Ltd QAN https://vn.investing.com/equities/qantas-airways-limited-historical-data
28 Oil Search Ltd OSH https://vn.investing.com/equities/oil-search-limited-historical-data
29 Origin Energy Ltd ORG
energy-limited-historical-data
https://vn.investing.com/equities/origin-30 Newcrest Mining Ltd NCM
mining-limited-historical-data
https://vn.investing.com/equities/newcrest-Chỉ
số S&P/ASX 200 AXJO
historical-data
https://vn.investing.com/indices/aus-200-2 Lý do chọn 30 chứng khoán trên
- 30 chứng khoán này đề có dữ liệu giá từ 12/2009 đến 05/2021 trên thị trường Australia
- 30 chứng khoán này là 30 chứng khoán trong 200 chứng khoán được niêm yết và điều chỉnh và theo dõi trong chỉ số S&P/ASX 200 ở trị trường Australia
- 30 chứng khoán được giao dịch với khối lượng lớn và trải dài trên tất cả các lĩnh vực trong trị
trường Australia → 30 chứng khoán này tác động mạnh mẽ đến thị trường Australia
Trang 5II/ CÁC BƯỚC TIẾN HÀNH
- Những số liệu trong sheet bảng dữ liệu giá đươc lấy từ linkdata và là giá đóng cửa của mỗi tháng của 30 chứng khoán từ 12/2009 – 04/2021
- Từ các dữ liệu trong link data, ta tiến hành lập bảng giá dữ liệu cho 30 chứng khoán từ 12/2009 – 04/2021:
Câu 1: Tính TSSL, phương sai và độ lệch chuẩn.
- Từ bảng dữ liệu giá, ta sử dụng hàm =LN(giá sau/giá trước) để tính toán tỷ suất sinh lợi hàng tháng ghép lãi liên tục của từng chứng khoán
- Tính tỷ suất sinh lợi trung bình, ta sử dụng hàm =AVERAGE (tssl chứng khoán cần tính)
- Tính phương sai, ta sử dụng hàm =VAR.S (tssl chứng khoán cần tính)
- Tính độ lệch chuẩn sử dụng hàm = STDEV.S ( tssl chứng khoán cần tính)
THỰC HIÊN CÁCH TÍNH TRÊN FILE EXCEL:
Trang 6→ KẾT QUẢ:
1 Bảng tssl của 30 chứng khoán từ giá đóng của chúng:
2 Bảng tssl trung bình, phương sai và độ lệch chuẩn
Câu 2: Tính ma trận phương sai-hiệp phương sai theo ít nhất 4 phương pháp
Với những giá trị đã tính ở câu 1, ta sẽ sử dụng để tính ma trận phương sai – hiệp phương sai Trong bài sử dụng 5 cách để tính ma trận phương sai – hiệp phương sai:
- Phương pháp kết hợp COVAR+OFFET
- Phương pháp theo AT*A/(n-1)
- Phương pháp theo mô hình chỉ số đơn
- Phương pháp theo hệ số tương quan
- Phương pháp theo skirkage
Trình bày các phương pháp:
2.1 Phương pháp 1: COVAR+OFFET
Trang 7Dùng hàm: =COVAR(OFFSET('Câu 1 tính tssl,psai,dlc'!$B$5:$B$140,0,'câu 2 tính ma trận hps'!C$7),OFFSET('Câu 1 tính tssl,psai,dlc'!$B$5:$B$140,0,'câu 2 tính ma trận ps-hps'!$A9))Trong đó: 'Câu 1 tính tssl,psai,dlc'!$B$5:$B$140 : Tham số cố định
'câu 2 tính ma trận ps-hps'!C$7 : Trượt hàng 7
'câu 2 tính ma trận ps-hps'!$A9: Trượt cột A
→ Kết quả trong file excel
2.2 Phương pháp 2: theo AT*A/(n-1)
Dùng hàm: =MMULT(TRANSPOSE('Câu 1 tính tssl,psai,dlc'!B5:AE140-'Câu 1 tính
tssl,psai,dlc'!B142:AE142),'Câu 1 tính tssl,psai,dlc'!B5:AE140-'Câu 1 tính tssl,psai,dlc'!
B142:AE142)/(COUNT('Câu 1 tính tssl,psai,dlc'!B5:B140)-1)
→ Kết quả trong file excel
2.3 Phương pháp 3: mô hình chỉ số đơn
- Theo cách trong sách mô hình tài chính trang 292-293
Đầu tiên dùng hàm SLOPE tính beta của 30 chứng khoán và chứng khoán thị trường, AXJO Sau
đó dùng công thức =C$88*$A90*$D$86 tính ma trân ps-hps
Dùng hàm: =SLOPE (TSSL của chứng khoán cần tính/TSSL của chứng khoán thị trường) = SLOPE(B5:B140,$AF$5:$AF$140)
Trang 8Dùng công thức : =C$88*$A90*$D$86 = cột Beta chứng khoán * hàng beta chứng khoán * beta chứng khoán thị trường để tính ma trận phương sai – hiệp phương sai.
Trong đó : C$88; Trượt hàng 88
$A90: Trượt theo cột A
$D$86: tham số cố định
Làm như vậy cho những cột và hàng khác
→ Kết quả trong file excel
- Mô hình chỉ số đơn dùng VBA (SIM):
Đoạn code dùng trong VBA
Trang 9Sau khi nhập đoạn code vào excel dùng hàm = sim('Câu 1 tính tssl,psai,dlc'!B5:AE140,'Câu 1 tính tssl,psai,dlc'!AF5:AF140) = sim( TSSL của 30 chứng khoán, TSSL của chứng khoán thị trường)
Khi dùng hàm Sim thì bôi đen ô tính ma trận phương sai – hiệp phương sai sau đó nhập hàm và bấm ctrl+shift+enter
→ Kết quả trong file excel
- Mô hình đơn sử dụng hàm if
Dùng hàm: IF(C163:AF163=B164:B193,'Câu 1 tính tssl,psai,dlc'!B143:AE143,'Câu 1 tính tssl,psai,dlc'!AF143*'câu 2 tính ma trận ps-hps'!C162:AF162*'câu 2 tính ma trận ps-hps'!
→ Kết quả trong file excel
Trang 102.4 Phương pháp 4: hệ số tương quan
Bước 1: Sử dụng TSSL ở câu trước, tính ma trận hệ số tương quan bằng cách kết hợp hàm CORREL + OFFET để tạo ra đường chéo bằng 1
Hàm: =CORREL(OFFSET('Câu 1 tính tssl,psai,dlc'!$B$5:$B$140,0,'câu 2 tính ma trận ps-hps'!C$202),OFFSET('Câu 1 tính tssl,psai,dlc'!$B$5:$B$140,0,'câu 2 tính ma trận ps-hps'!$A204))
→ Kết quả trong file excel
Bước 2: Kết hợp độ lệch chuẩn với ma trận hệ số tương quan để tạo thành ma trận phương sai - hiệp phương sai bằng cách sử dụng công thức C204*C$238*$A240
→ Kết quả trong file excel
Trang 112.5 Phương pháp 5: skirkage
Bước 1: Trước khi tạo ma trận phương sai – hiệp phương sai Thì tạo một ma trận dựa trên phương sai các chứng khoán và có phương sai trên đường chéo và những chỗ còn lại là 0.Dùng hàm: IF(C280:AF280=B281:B310,'Câu 1 tính tssl,psai,dlc'!B143:AE143,0)
→ Kết quả trong file excel
Bước 2: Kết hợp ma trận ở bước 1 và ma trận phương sai - hiệp phương sai đã tính ở các cách trên và lamda để tạo ra ma trận phương sai - hiệp phương sai ở cách này
Dùng công thức: E316*C49:AF78+(1-E316)*C281:AF310
→ Kết quả trong file excel
Trang 12Câu 3: xây dựng đường biên hiệu quả có bán khống theo cách thông thường và theo VBA 3.1: xây dựng đường biên hiệu quả có bán khống theo cách thông thường
B1: Xây dựng ma trận phương sai - hiệp phương sai và cột TSSL đã tính ở câu 1
Lấy kết quả đã tính ở câu 1
→ Kết quả trong file excel
B2: Tính toán tỷ trọng của 30 chứng khoán trong các danh mục X và Y để xây dựng đường biên hiệu quả
- Giả sử C lượt là 4% và 6% của danh mục X và Y để tính tỷ trọng 30 chứng khoán trong hai danh mục
- Tổng tỷ trọng 30 chứng khoán trong mỗi danh mục phải bằng 1
- Sử dụng hàm: = MMULT(MINVERSE(“Ma trận phương sai – hiệp phương sai”),“Cột TSSL -C)/SUM(MMULT(MINVERSE(“Ma trận phương sai – hiệp phương sai” ), “Cột TSSL -C))
Trang 13→ Kết quả trong file excel
B3: Xây dựng đường biên hiệu quả
Từ hai danh mục X và Y ta kết hợp thành một danh mục Z
→ Kết quả trong file excel
B4: Vẽ đường biên hiệu quả
- Sử dụng Data Table để thay đổi tỷ trọng X va Y để chạy ra được các điểm ĐLC và TSSL của danh mục kết hợp Z Tập hợp các điểm vừa tìm được là đường biên hiệu quả có bán khống
→ Kết quả trong file excel
Trang 14- Dựa vào hai cột độ lệch chuẩn và tỷ suất sinh lợi, ta sẽ được đương biên hiệu quả có bán khống ( insert → chọn Scatter chart.
→ Kết quả trong file excel
3.2: xây dựng đường biên hiệu quả có bán khống theo cách VBA
Bước 1: Xây dựng ma trận phương sai – hiệp phương sai đã tính ở câu trước
→ Kết quả trong file excel
Trang 15Bước 2: Tính toán các danh mục đầu tư hiệu quả
Cột TSSL lấy từ tính toán câu trước và tính toán TSSL, ĐLC và theta của danh mục Z
→ Kết quả trong file excel
Sau đó chạy solver bằng máy trước
→ Kết quả trong file excel
Trang 16Gắn các tên trong đoạn code vào name manager
→ Kết quả trong file excel
Các bước làm tiếp theo
Trang 17Đoạn code có bán khống được dùng trong VBA:
Trang 18Range("kq").Cells(counter, 10) = ActiveSheet.Range("x_7") Range("kq").Cells(counter, 11) = ActiveSheet.Range("x_8") Range("kq").Cells(counter, 12) = ActiveSheet.Range("x_9") Range("kq").Cells(counter, 13) = ActiveSheet.Range("x_10") Range("kq").Cells(counter, 14) = ActiveSheet.Range("x_11") Range("kq").Cells(counter, 15) = ActiveSheet.Range("x_12") Range("kq").Cells(counter, 16) = ActiveSheet.Range("x_13") Range("kq").Cells(counter, 17) = ActiveSheet.Range("x_14") Range("kq").Cells(counter, 18) = ActiveSheet.Range("x_15") Range("kq").Cells(counter, 19) = ActiveSheet.Range("x_16") Range("kq").Cells(counter, 20) = ActiveSheet.Range("x_17") Range("kq").Cells(counter, 21) = ActiveSheet.Range("x_18") Range("kq").Cells(counter, 22) = ActiveSheet.Range("x_19") Range("kq").Cells(counter, 23) = ActiveSheet.Range("x_20")Range("kq").Cells(counter, 24) = ActiveSheet.Range("x_21")Range("kq").Cells(counter, 25) = ActiveSheet.Range("x_22")Range("kq").Cells(counter, 26) = ActiveSheet.Range("x_23")Range("kq").Cells(counter, 27) = ActiveSheet.Range("x_24")Range("kq").Cells(counter, 28) = ActiveSheet.Range("x_25")Range("kq").Cells(counter, 29) = ActiveSheet.Range("x_26")Range("kq").Cells(counter, 30) = ActiveSheet.Range("x_27")Range("kq").Cells(counter, 31) = ActiveSheet.Range("x_28")Range("kq").Cells(counter, 32) = ActiveSheet.Range("x_29")Range("kq").Cells(counter, 33) = ActiveSheet.Range("x_30")
Trang 20End Sub
Sau khi chạy VBA có bảng kết quả:
→ Kết quả trong file excel
Dựa vào 2 cột độ lệch chuẩn và tỷ suất sinh lợi vẽ đường biên hiệu quả có bán khống
Câu 4: xây dựng đường biên hiệu quả không bán khống theo cách thông thường và theo VBA và so sánh với đường biên có bán khống
4.1: xây dựng đường biên hiệu quả không bán khống theo cách thông thường
Bước 1: Xây dựng ma trận phương sai- hiệp phương sai và tỷ suất sinh lợi trung bình đã tính ở các câu trước
→ Kết quả trong file excel
Trang 21Bước 2: Xây dựng đường biên hiệu quả không bán khống và vẽ đường biên hiệu quả không bán khống
Các điều kiện khi chạy solver:
Công thức cần tính cho ô kết quả phía dưới
Sau đó chạy solver cho từng ô theo sự thay đổi của C cho đến khi có những dữ liệu ta cần thì dừng lại hoặc có 1 chứng khoán có tỷ trọng =100 thì dừng lại
Bảng slover:
Trang 22→ Kết quả trong file excel khi chạy solver theo sự thay đổi của 20 hằng số
Sau đó sử dụng 2 cột đlc và tssl để vẽ đường biên hiệu quả không bán khống
Trang 234.2: xây dựng đường biên hiệu quả không bán khống theo VBA
B1Sử dụng ma trận phương sai- hiệp phương sai đã tính toán ở câu trước
B2: Tính toán danh mục đầu tư hiệu quả
Tính tssl, độ lệch chuẩn và theta của danh mục
Trang 24Sau đó chạy solver để tìm các tỷ trọng đầu tư tối ưu của danh mục
→ Kết quả chạy slover
Gắn các tên trong đoạn code vào name manager
Trang 25Tóm tắt các bước thực hiện trước khi chạy code VBA
Đoạn code chạy VBA cho trường hợp không bán khống
Trang 26Application.SendKeys ("{Enter}")
Range("kq").Cells(counter, 1) = ActiveSheet.Range("hangso") Range("kq").Cells(counter, 2) = ActiveSheet.Range("dlc") Range("kq").Cells(counter, 3) = ActiveSheet.Range("tssl") Range("kq").Cells(counter, 4) = ActiveSheet.Range("x_1") Range("kq").Cells(counter, 5) = ActiveSheet.Range("x_2") Range("kq").Cells(counter, 6) = ActiveSheet.Range("x_3") Range("kq").Cells(counter, 7) = ActiveSheet.Range("x_4") Range("kq").Cells(counter, 8) = ActiveSheet.Range("x_5") Range("kq").Cells(counter, 9) = ActiveSheet.Range("x_6") Range("kq").Cells(counter, 10) = ActiveSheet.Range("x_7") Range("kq").Cells(counter, 11) = ActiveSheet.Range("x_8") Range("kq").Cells(counter, 12) = ActiveSheet.Range("x_9") Range("kq").Cells(counter, 13) = ActiveSheet.Range("x_10") Range("kq").Cells(counter, 14) = ActiveSheet.Range("x_11") Range("kq").Cells(counter, 15) = ActiveSheet.Range("x_12") Range("kq").Cells(counter, 16) = ActiveSheet.Range("x_13") Range("kq").Cells(counter, 17) = ActiveSheet.Range("x_14") Range("kq").Cells(counter, 18) = ActiveSheet.Range("x_15") Range("kq").Cells(counter, 19) = ActiveSheet.Range("x_16") Range("kq").Cells(counter, 20) = ActiveSheet.Range("x_17") Range("kq").Cells(counter, 21) = ActiveSheet.Range("x_18") Range("kq").Cells(counter, 22) = ActiveSheet.Range("x_19") Range("kq").Cells(counter, 23) = ActiveSheet.Range("x_20")Range("kq").Cells(counter, 24) = ActiveSheet.Range("x_21")Range("kq").Cells(counter, 25) = ActiveSheet.Range("x_22")Range("kq").Cells(counter, 26) = ActiveSheet.Range("x_23")Range("kq").Cells(counter, 27) = ActiveSheet.Range("x_24")Range("kq").Cells(counter, 28) = ActiveSheet.Range("x_25")Range("kq").Cells(counter, 29) = ActiveSheet.Range("x_26")Range("kq").Cells(counter, 30) = ActiveSheet.Range("x_27")Range("kq").Cells(counter, 31) = ActiveSheet.Range("x_28")Range("kq").Cells(counter, 32) = ActiveSheet.Range("x_29")