গত সপ্তাহেভিএআর ঝুঁকি ব্যবস্থাপনাযখন পোর্টফোলিওর ঝুঁকি উল্লেখ করা হয়, তখন এটি বিভিন্ন সম্পদের ঝুঁকির সমান নয়, এবং তাদের মূল্যের সাথে সম্পর্কিত। উদাহরণস্বরূপ, যদি দুটি সম্পদের মধ্যে তাদের ইতিবাচক সম্পর্ক খুব শক্তিশালী হয়, যেমন, একই স্তরের পতন হয়, তবে বিচ্ছিন্নভাবে একাধিক বিনিয়োগ ঝুঁকি হ্রাস করে না, যদি নেতিবাচক সম্পর্ক শক্তিশালী হয়, বিচ্ছিন্ন বিনিয়োগ উল্লেখযোগ্যভাবে ঝুঁকি হ্রাস করতে পারে। স্বাভাবিক প্রশ্ন হল, কিভাবে একটি পোর্টফোলিও বিনিয়োগ করার সময়, একটি নির্দিষ্ট ঝুঁকি স্তরের সাথে, রিটার্ন সর্বাধিক করতে হবে? আমরা আজ পরিচয় করিয়ে দিতে যাচ্ছি যে ম্যাকোভিটস তত্ত্ব ব্যবহার করব।
আধুনিক পোর্টফোলিও তত্ত্ব (এমপিটি), ১৯৫২ সালে হ্যারি ম্যাকোভিটস দ্বারা প্রবর্তিত, একটি পোর্টফোলিও নির্বাচনের একটি গাণিতিক কাঠামো যা বিভিন্ন ঝুঁকিপূর্ণ সম্পদ পোর্টফোলিও নির্বাচন করে প্রত্যাশিত রিটার্ন সর্বাধিক করার লক্ষ্যে কাজ করে, যখন ঝুঁকি নিয়ন্ত্রণ করে। মূল ধারণাটি হ'ল সম্পদের মধ্যে মূল্যের অসম্পূর্ণ সমন্বিত পরিবর্তন (অর্থাত্ সম্পদের মধ্যে অসম্পূর্ণ সম্পর্ক) সম্পদের বিন্যাসের বৈচিত্র্যের মাধ্যমে সামগ্রিক বিনিয়োগের ঝুঁকি হ্রাস করতে পারে।
প্রত্যাশিত আয়: এটি হ'ল বিনিয়োগকারীরা যে সম্পদ বা পোর্টফোলিও ধরে রেখেছেন তার প্রত্যাশিত লাভ, সাধারণত historicalতিহাসিক লাভের তথ্যের ভিত্তিতে পূর্বাভাস দেওয়া হয়।
$E(R_p) = \sum_{i=1}^{n} w_i E(R_i) $
যেখানে $E ((R_p) $ হল পোর্টফোলিওর প্রত্যাশিত রিটার্ন, $w_i$ হল পোর্টফোলিওর প্রথম $i$ সম্পদের ওজন, এবং $E ((R_i) $ হল প্রথম $i$ সম্পদের প্রত্যাশিত রিটার্ন।
ঝুঁকি (অস্থিরতা বা স্ট্যান্ডার্ড ডিফেক্ট): বিনিয়োগের রিটার্নের অনিশ্চয়তা বা বিনিয়োগের অস্থিরতা পরিমাপ করতে ব্যবহৃত হয়।
$\sigma_p = \sqrt{\sum_{i=1}^{n} \sum_{j=1}^{n} w_i w_j \sigma_{ij}}$
যেখানে $\sigma_p$ হল পোর্টফোলিওর মোট ঝুঁকি, $\sigma_{ij}$ হল সম্পদ $i$ এবং সম্পদ $j$ এর কোষাগারীয় পার্থক্য, যা এই দুইটি সম্পদের মধ্যে মূল্য পরিবর্তনের সম্পর্ককে পরিমাপ করে।
সহযোগীতা: দুইটি সম্পদের মধ্যে মূল্য পরিবর্তনের পারস্পরিক সম্পর্ক পরিমাপ করা।
$\sigma_{ij} = \rho_{ij} \sigma_i \sigma_j$
এখানে $\rho_{ij}$ হল সম্পদ $i$ এবং সম্পদ $j$ এর সম্পর্কিত ক্রিয়াফলক, $\sigma_i$ এবং $\sigma_j$ হল সম্পদ $i$ এবং সম্পদ $j$ এর মানদণ্ডীয় পার্থক্য।
কার্যকর সীমানা: ঝুঁকি-লাভের স্থানাঙ্ক ব্যবস্থায়, কার্যকরী সীমানা হল এমন পোর্টফোলিওগুলির সমষ্টি যা একটি প্রদত্ত ঝুঁকি স্তরে সর্বাধিক প্রত্যাশিত লাভ প্রদান করতে পারে।
উপরের চিত্রটি একটি কার্যকর সীমানা চিত্র, প্রতিটি পয়েন্ট একটি ভিন্ন ওজনযুক্ত পোর্টফোলিওর প্রতিনিধিত্ব করে, অনুভূমিক কোঅর্ডিনেট হ'ল উদ্বায়ী হার বা ঝুঁকি স্তর, অনুভূমিক কোঅর্ডিনেট হ'ল রিটার্ন। স্পষ্টতই, আমরা চিত্রের শীর্ষে মনোযোগ দিচ্ছি, যা একই ঝুঁকি স্তরে সর্বোচ্চ রিটার্ন অর্জন করে।
কোয়ালিফাইড ট্রেডিং এবং পোর্টফোলিও ম্যানেজমেন্টে, এই নীতিগুলি প্রয়োগ করার জন্য historicalতিহাসিক তথ্যের পরিসংখ্যানগত বিশ্লেষণ প্রয়োজন, বিভিন্ন সম্পদের প্রত্যাশিত আয়, স্ট্যান্ডার্ড ডিফারেনশিয়াল এবং কোঅর্ডিনেটরি ডিফারেনশিয়াল অনুমান করার জন্য একটি গাণিতিক মডেল ব্যবহার করা হয়। তারপরে, সর্বোত্তম সম্পদ পুনঃবিন্যস্তকরণের জন্য অপ্টিমাইজেশান কৌশল ব্যবহার করা হয়। এই প্রক্রিয়াটি সাধারণত জটিল গাণিতিক ক্রিয়াকলাপ এবং প্রচুর কম্পিউটার প্রক্রিয়াকরণ জড়িত। এটি আধুনিক আর্থিক ক্ষেত্রে কেন কোয়ালিফাইড বিশ্লেষণ এত গুরুত্বপূর্ণ হয়ে উঠেছে তা ব্যাখ্যা করে। নীচে একটি নির্দিষ্ট পাইথন উদাহরণ দেখানো হবে।
ম্যাকোভিটজ সর্বোত্তম সমন্বয় গণনা করা একটি বহু-পদক্ষেপের প্রক্রিয়া, যা ডেটা প্রস্তুতি, অ্যানালিটিক্স পোর্টফোলিও, গণনা পরিমাপ ইত্যাদির মতো বিভিন্ন গুরুত্বপূর্ণ পদক্ষেপ জড়িত।https://plotly.com/python/v3/ipython-notebooks/markowitz-portfolio-optimization/
বাজারের তথ্য সংগ্রহ:
get_data
ফাংশন, নির্বাচিত ডিজিটাল মুদ্রার ঐতিহাসিক মূল্যের তথ্য পায়। এটি রিটার্ন এবং ঝুঁকি গণনা করার জন্য প্রয়োজনীয় তথ্য, যা পোর্টফোলিও নির্মাণ এবং শার্প অনুপাত গণনা করার জন্য ব্যবহৃত হয়।রিটার্ন এবং ঝুঁকি গণনা:
calculate_returns_risk
ফাংশনটি প্রতিটি ডিজিটাল মুদ্রার বার্ষিক আয় এবং বার্ষিক ঝুঁকি (স্ট্যান্ডার্ড ডিফারেন্স) গণনা করে। এটি সর্বোত্তম সংমিশ্রণে ব্যবহারের জন্য প্রতিটি সম্পদের historicalতিহাসিক পারফরম্যান্সকে পরিমাণযুক্ত করার জন্য।ম্যাকোভিটসের সর্বোত্তম সংমিশ্রণ গণনা করুন:
calculate_optimal_portfolio
ফাংশনটি একাধিক পোর্টফোলিও সিমুলেট করে। প্রতিটি সিমুলেশনে, এলোমেলোভাবে সম্পদ ওজন তৈরি করা হয় এবং তারপরে এই ওজনগুলির ভিত্তিতে পোর্টফোলিওর প্রত্যাশিত রিটার্ন এবং ঝুঁকি গণনা করা হয়।পুরো প্রক্রিয়াটির উদ্দেশ্য হল এমন একটি পোর্টফোলিও খুঁজে পাওয়া যা প্রদত্ত ঝুঁকি স্তরে সর্বোত্তম প্রত্যাশিত রিটার্ন প্রদান করে। একাধিক সম্ভাব্য সংমিশ্রণের সিমুলেশন করে, বিনিয়োগকারীরা বিভিন্ন কনফিগারেশনের পারফরম্যান্স সম্পর্কে আরও ভালভাবে বুঝতে পারে এবং তাদের বিনিয়োগের লক্ষ্য এবং ঝুঁকি সামর্থ্যের জন্য সবচেয়ে উপযুক্ত সংমিশ্রণটি বেছে নিতে পারে। এই পদ্ধতিটি বিনিয়োগের সিদ্ধান্তকে অনুকূল করতে এবং বিনিয়োগকে আরও কার্যকর করতে সহায়তা করে।
import numpy as np
import pandas as pd
import requests
import matplotlib.pyplot as plt
# 获取行情数据
def get_data(symbols):
data = []
for symbol in symbols:
url = 'https://api.binance.com/api/v3/klines?symbol=%s&interval=%s&limit=1000'%(symbol,'1d')
res = requests.get(url)
data.append([float(line[4]) for line in res.json()])
return data
def calculate_returns_risk(data):
returns = []
risks = []
for d in data:
daily_returns = np.diff(d) / d[:-1]
annualized_return = np.mean(daily_returns) * 365
annualized_volatility = np.std(daily_returns) * np.sqrt(365)
returns.append(annualized_return)
risks.append(annualized_volatility)
return np.array(returns), np.array(risks)
# 计算马科维茨最优组合
def calculate_optimal_portfolio(returns, risks):
n_assets = len(returns)
num_portfolios = 3000
results = np.zeros((4, num_portfolios), dtype=object)
for i in range(num_portfolios):
weights = np.random.random(n_assets)
weights /= np.sum(weights)
portfolio_return = np.sum(returns * weights)
portfolio_risk = np.sqrt(np.dot(weights.T, np.dot(np.cov(returns, rowvar=False), weights)))
results[0, i] = portfolio_return
results[1, i] = portfolio_risk
results[2, i] = portfolio_return / portfolio_risk
results[3, i] = list(weights) # 将权重转换为列表
return results
symbols = ['BTCUSDT','ETHUSDT', 'BNBUSDT','LINKUSDT','BCHUSDT','LTCUSDT']
data = get_data(symbols)
returns, risks = calculate_returns_risk(data)
optimal_portfolios = calculate_optimal_portfolio(returns, risks)
max_sharpe_idx = np.argmax(optimal_portfolios[2])
optimal_return = optimal_portfolios[0, max_sharpe_idx]
optimal_risk = optimal_portfolios[1, max_sharpe_idx]
optimal_weights = optimal_portfolios[3, max_sharpe_idx]
# 输出结果
print("最优组合:")
for i in range(len(symbols)):
print(f"{symbols[i]}权重: {optimal_weights[i]:.4f}")
print(f"预期收益率: {optimal_return:.4f}")
print(f"预期风险(标准差): {optimal_risk:.4f}")
print(f"夏普比率: {optimal_return / optimal_risk:.4f}")
# 可视化投资组合
plt.figure(figsize=(10, 5))
plt.scatter(optimal_portfolios[1], optimal_portfolios[0], c=optimal_portfolios[2], marker='o', s=3)
plt.title('portfolio')
plt.xlabel('std')
plt.ylabel('return')
plt.colorbar(label='sharp')
plt.show()
শেষ ফলাফলঃ সেরা সংমিশ্রণঃ বিটিসি ইউএসডিটি ওজনঃ 0.0721 ETHUSDT ওজনঃ 0.2704 BNBUSDT ওজনঃ 0.3646 LINKUSDT ওজনঃ 0.1892 BCHUSDT ওজনঃ 0.0829 LTCUSDT ওজনঃ 0.0209 প্রত্যাশিত আয়ঃ 0.4195 প্রত্যাশিত ঝুঁকি (স্ট্যান্ডার্ড ডিফারেন্স): ০.১২১৯ শার্প রেটঃ ৩.৪৪০৩