ผลตอบแทนของพอร์ตโฟลิโอ

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

Charlotte Werger

Data Scientist

น้ำหนักพอร์ตโฟลิโอคืออะไร?

  • น้ำหนัก (weight) คือสัดส่วนของสินทรัพย์แต่ละรายการในพอร์ตโฟลิโอ
  • น้ำหนักทั้งหมดรวมกันต้องเท่ากับ 100%
  • น้ำหนักและการกระจายความเสี่ยง (ลงทุนน้อยรายการแต่มูลค่าสูง เทียบกับลงทุนหลายรายการแต่มูลค่าน้อย)

น้ำหนักพอร์ตโฟลิโอที่เหมาะสมสำหรับพอร์ตคริปโต

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณน้ำหนักพอร์ตโฟลิโอ

$$

  • คำนวณโดยหารมูลค่าของหลักทรัพย์ด้วยมูลค่ารวมของพอร์ตโฟลิโอ
  • พอร์ตแบบถ่วงน้ำหนักเท่ากัน หรือแบบถ่วงน้ำหนักตามมูลค่าตลาด
  • น้ำหนักกำหนดกลยุทธ์การลงทุน และปรับได้เพื่อเพิ่มประสิทธิภาพความเสี่ยงและผลตอบแทนที่คาดหวัง

การคำนวณน้ำหนักพอร์ตโฟลิโอ

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

ผลตอบแทนของพอร์ตโฟลิโอ

  • การเปลี่ยนแปลงของมูลค่าตามเวลา

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $

ผลตอบแทนของพอร์ตโฟลิโอและดัชนี S&P500

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

ผลตอบแทนของพอร์ตโฟลิโอ

$$

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $
  • ผลตอบแทนเฉลี่ยในอดีตมักใช้คำนวณผลตอบแทนที่คาดหวัง
  • ข้อควรระวัง: ผลตอบแทนเฉลี่ย, ผลตอบแทนสะสม, ผลตอบแทนเชิงรุก และผลตอบแทนรายปี มักสับสนกัน
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณผลตอบแทนจากข้อมูลราคา

df.head(2)
              AAPL     AMZN      TSLA    
date                    
2018-03-25    13.88    114.74    92.48    
2018-03-26    13.35    109.95    89.79
# Calculate returns over each day
returns = df.pct_change()
returns.head(2)
              AAPL          AMZN        TSLA    
date                
2018-03-25    NaN            NaN        NaN    
2018-03-26    -0.013772    0.030838    0.075705
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณผลตอบแทนจากข้อมูลราคา

weights = np.array([0, 0.50, 0.25])
# Calculate average return for each stock
meanDailyReturns = returns.mean()
# Calculate portfolio return 
portReturn = np.sum(meanDailyReturns*weights)
print (portReturn)
0.05752375881537723

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณผลตอบแทนสะสม

# Calculate daily portfolio returns
returns['Portfolio']= returns.dot(weights)
# Let's see what it looks like
returns.head(3)

                AAPL        AMZN        TSLA        Portfolio
date                    
2018-03-23    -0.020974    -0.026739    -0.029068   -0.025880
2018-03-26    -0.013772    0.030838     0.075705    0.030902
การวิเคราะห์พอร์ตโฟลิโอด้วย Python

การคำนวณผลตอบแทนสะสม

# Compound the percentage returns over time 
daily_cum_ret=(1+returns).cumprod()
# Plot your cumulative return 
daily_cum_ret.Portfolio.plot()

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

กราฟผลตอบแทนสะสม

กราฟผลตอบแทนสะสมของพอร์ตโฟลิโอ

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

มาฝึกกันเถอะ!

การวิเคราะห์พอร์ตโฟลิโอด้วย Python

Preparing Video For Download...