Saturday, November 27, 2010

investment portfolio (danh mục đầu tư): tìm tỷ lệ phân bổ tối ưu = Excel

Disclaimer: bài này viết với mục đích hướng dẫn các bạn SV khi học về Markowitz theory fải làm bài "xây dựng portfolio với 2 cổ phiếu, tìm ra tỷ lệ đầu tư phân bổ cho mỗi CP để danh mục đầu tư có rủi ro minimum". Bài này chỉ có ý nghĩa về mặt tính toán, còn k có ý nghĩa mấy trong việc hiểu bản chất của Markowitz theory & đa dạng hóa danh mục đầu tư.

Portfolio với 2 CP thì chỉ có như này thôi:
- Tính return của mỗi CP (Rx, Ry)
- Tính độ lệch chuẩn của mỗi CP (SDx, SDy)
- Hệ số tương quan giữa return của 2 CP = CORELxy = COVARxy/ (SDx.SDy)
- Tỷ trọng mỗi CP trong danh mục: Wx, Wy với: Wy = 1 - Wx (hoặc ngược lại cũng đc, nhưng ở đây t chọn Wx là biến số để tí nữa t còn xử lý dữ liệu nhé)

Từ đó có:
- Return của portfolio: Ep = Wx.Rx + Wy.Ry
- SD của portfolio: SDp = [(Wx.Rx)^2 + (Wy.Ry)^2 + 2Wx.Rx.Wy.Ry.CORELxy]^0.5

Đây là cách t đã làm:
1. Chọn 2 CP

2. Download dữ liệu giá của 2 CP:
Cần cân nhắc:
- khoảng thời gian bao lâu là hợp lý?
- lấy dữ liệu ngày hay tuần hay tháng hay năm?

3.Tính toán:
- Tính return, SD, Correl: xem file Excel
(bổ sung @ 3.13 PM 27/11/2010: các bạn chú í là có nh` cách tính return nhé. ở đây t tính return theo cách đơn giản thôi nhưng có bạn tính kiểu logarit gì đó... anyway 1 khi đã thống nhất tính return theo kiểu gì thì SD, dù cho có tính toán = 1 column dài ngoằng hay 1 dòng công thức là xog, cũng sẽ vẫn fải ra kquả giống nhau nhé.
tóm lại:
- return có thể khác nhau do quan điểm tính toán khác nhau
- SD thì ko khác đc vì SD chỉ là thay đổi về côg thức tính toán (i.e. nấu cơm = nồi cơm điện hay = bếp củi thì cuối cùng vẫn là cơm))

- Tính return của portfolio
- Chỉ còn mỗi SD portfolio là có thể thay đổi do Wx, Wy thay đổi

Ok, vậy để tìm ra tỷ lệ Wx: Wy tối ưu cho portfolio, tức là Wx, Wy ntn để SDp minimum:
Dùng hàm SOLVER.

Các bạn ng/cứu tìm cách add-in Solver tool nhé, cái này k cài sẵn trong excel đâu.

Khi đã có công cụ solver: công việc cực kỳ đơn giản. Bạn chỉ cần 'khai báo' cho nó biết bạn muốn Wx thay đổi để SDp là nhỏ nhất, đúng ko? Solver sẽ làm việc í giúp bạn

Target cell là SDp, với purpose: SDp = minimum
by changing cell: Wx
Limitation: Wx fải trong đoạn từ 0 đến 1 (tức là lớn hơn hoặc = 0 và nhỏ hơn hoặc = 1) (nếu có thể short-sell hay gì gì đấy thì bỏ qua cái limitation này nhé)
(xem hình minh họa dưới đây)



Rồi, h máy sẽ tự chạy & tìm ra solution cho bạn. Thế là xong.

.
Update tháng 10/2019: chao xìn các bạn mình trc kia có share file mà giờ file mất tiêu rồi hihi các bạn tự bơi vậy nha chúc vui :D.


15 comments:

  1. mình ko coi đc file excel cua bạn, bạn up lại dc9 ko???

    ReplyDelete
    Replies
    1. Bạn cần có account Google, vì cái file đó tớ up lên Google Document. Tớ check rồi, link ổn và file để public nên ko có vấn đề gì cả.

      Delete
    2. mình có xài accoount google nhưng vẫn ko xem được, bị báo lỗi là file ko tồn tại? mình ko hiểu luôn???

      Delete
    3. Khổ thân. Vậy để lại email đi tớ gửi file cho, hoặc email cho tớ vào đây: latrang267 (a còng) gmail.com

      Delete
    4. thanks bạn nhiều nha :D! bạn gửi file vô email của mình là: nhom28tcqt@gmail.com
      p/s: cảm ơn vì bài viết này rất có ích!

      Delete
  2. thanks b nhé, mình chưa đọc tới cái đoạn mediafire ở dưới nên lại gửi mail cho b òi, xl b lun nha ^^

    ReplyDelete
  3. bạn ơi, danh mục có 3 cổ phiếu thì làm thế nào?

    ReplyDelete
    Replies
    1. Giả sử có 3 cổ phiếu: A1, A2, B
      Bạn tìm danh mục tối ưu của 2 cp A1 và A2 => danh mục A
      Khi đó A cũng có return và độ lệch chuẩn => coi A như 1 cp
      Câu chuyện trở thành tìm danh mục tối ưu của cp A và B. Đoạn này thì lại đơn giản rồi đúng không?
      ...
      Với nguyên tắc ấy có thể áp dụng cho danh mục N cổ phiếu (N > 2)

      Delete
  4. danh mục 4 hoặc 5 cổ phiểu thì làm như thế nào ạ?

    ReplyDelete
  5. thank bác mặc dù e chưa hiểu lắm :))

    ReplyDelete
  6. Bạn ơi, danh mục có 7 cổ phiếu thì sao bạn :(

    ReplyDelete
  7. em đã tải file của ad về nhưng vẫn chưa hiểu lắm ạ. Cái biểu đồ là mình chạy solver nó ra luôn hay là phải dùng một công cụ khác để vẽ ạ? Với em thấy ad có dùng data table nhưng vẫn không hiểu lắm chỗ đó ạ? mong ad giải đáp giúp em. Em cám ơn nhé.

    ReplyDelete
    Replies
    1. Hihi c quên rồi. Em nhấn phím F1 Excel rồi gõ keyword: solver function. Excel sẽ hướng dẫn em. Good luck :D

      Delete
    2. À tất nhiên biểu đồ dùng công cụ khác. Hàm này chỉ có mỗi cái tác dụng (như đã viết trong bài).

      Delete
  8. Bạn ơi, bạn có thể gửi file qua mail giúp mình được không mình có gửi mail cho bạn qua địa chỉ anhdnk16404@st.uel.edu.vn
    sẵn tiện bạn cho mình hỏi cách tìm tỷ lệ tối ưu của danh mục đầu tư 5 cổ phiếu được không. mình cảm ơn nhé

    ReplyDelete