در این پست وارد فصل دوم کتاب میشویم، جایی که میخواهیم کمی دربارهی نحوهی ساخت یک پورتفولیو صحبت کنیم.
مهمترین سوالی که دوست داریم جوابش را بدانیم این است: در یک پورتفولیو که مجموعهای از سهام، اوراق قرضه، رمزارز، طلا و داراییهای دیگر است، هر کدام از این اجزا چه وزنی باید داشته باشند؟
برای سادگی، فرض کنید سه سهم برای ما جذاب هستند: تسلا (TSLA)، انویدیا (NVDA) و مایکروسافت (MSFT).
هری مارکویتز، برندهی جایزهی نوبل اقتصاد، مدلی به نام مدل مارکویتز (Markowitz) ارائه میکند و توضیح میدهد که سرمایهگذاران دو هدف متعارض را دنبال میکنند:
از یک طرف به دنبال بازدهی بالا (high returns) هستند و از طرف دیگر میخواهند ریسک پایین (low risk) داشته باشند. مدل مارکویتز تلاش میکند بین این دو هدف متعارض توازن ایجاد کند.
اما در این پست قصد نداریم به مدل مارکویتز بپردازیم، چون قبل از آن لازم است چند اصطلاح و پیشنیاز را بشناسیم.
برگردیم به مثال سه سهمی که داشتیم. فرض کنید بازده مورد انتظار (expected return) هر سهم را میدانیم (در عمل از قبل نمیدانیم!). مثلاً انتظار داریم بازده سالانهی تسلا ۵ درصد، انویدیا ۳۱ درصد و مایکروسافت ۸ درصد باشد. این مقادیر را میتوانیم در قالب یک بردار به نام mu نمایش دهیم.
همچنین فرض کنید نوسان یا انحراف معیار سالانه (volatility) هر سهم را هم میدانیم (که باز هم در عمل از قبل مشخص نیست!). مثلاً نوسان سالانهی تسلا ۲۵ درصد، انویدیا ۳۵ درصد و مایکروسافت ۱۰ درصد باشد. این مقادیر را هم میتوان با یک بردار دیگر به نام sigma نمایش داد.
با داشتن این دو بردار میتوانیم نموداری ترسیم کنیم که در محور عمودی بازده و در محور افقی ریسک قرار دارد. به این risk–reward plot میگویند. کد زیر این نمودار را برای ما رسم میکند.
فعلاً این نمودار را داشته باشید تا در پستهای بعدی بیشتر دربارهاش صحبت کنیم.
import matplotlib.pyplot as plt
stocks = ["TSLA", "NVDA", "MSFT"]
sigma = [0.25, 0.35, 0.10]
mu = [0.05, 0.31, 0.08]
def plot_points(sigma, mu, stocks):
plt.figure(figsize=(8, 6))
plt.scatter(sigma, mu, c="black")
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.ylabel("Expected Returns")
plt.xlabel("Volatility")
for i, stock in enumerate(stocks):
plt.annotate(stock, (sigma[i], mu[i]), ha="center", va="bottom", weight="bold")
plot_points(sigma, mu, stocks)
plt.savefig("img/risk-reward.png")
#BRP_RR_CH_2
@metapageai