1. Trang chủ
  2. » Tài Chính - Ngân Hàng

Tài chính định lượng mô hình phương sai hiệp phương sai

34 168 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mô Hình Phương Sai Hiệp Phương Sai
Tác giả Phan Xuân Ngọc Lam
Người hướng dẫn ThS. Hoàng Thị Phương Anh
Trường học Trường Đại Học Kinh Tế Tp.Hcm
Chuyên ngành Tài Chính Định Lượng
Thể loại tiểu luận
Năm xuất bản 2021
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 3,19 MB
File đính kèm 09_Phan-Xuan-Ngoc-Lam.rar (3 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 3

I/ 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 4

https://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 5

II/ 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 7

Dù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 8

Dù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 9

Sau 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 10

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

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

Câ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 15

Bướ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 16

Gắ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 18

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")Range("kq").Cells(counter, 33) = ActiveSheet.Range("x_30")

Trang 20

End 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 21

Bướ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 23

4.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 24

Sau đó 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 25

Tó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 26

Application.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")

Ngày đăng: 22/08/2021, 03:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w