پچھلے ہفتےوی اے آر رسک مینجمنٹجب ہم سرمایہ کاری کے پورٹ فولیو کے خطرے کے بارے میں بات کرتے ہیں تو ، یہ ہر اثاثے کے خطرے کے برابر نہیں ہوتا ہے ، اور ان کی قیمتوں میں وابستگی سے متعلق ہے۔ مثال کے طور پر ، اگر دو اثاثے بہت مضبوط مثبت وابستگی کے حامل ہیں ، یا اسی طرح کی گرتی ہوئی قیمتیں ، تو متعدد سرمایہ کاری میں پھیلاؤ خطرے کو کم نہیں کرے گا ، اگر منفی وابستگی مضبوط ہے تو ، پھیلاؤ سرمایہ کاری خطرے کو نمایاں طور پر کم کرسکتی ہے۔ قدرتی سوال یہ ہے کہ ، جب ایک پورٹ فولیو میں سرمایہ کاری کرتے ہیں تو ، کسی خاص سطح کے خطرے کے تحت منافع کو کس طرح زیادہ سے زیادہ کیا جائے؟ آج ہم مارکوٹز تھیوری کا استعمال کریں گے۔
ماڈرن پورٹ فولیو تھیوری (ایم پی ٹی) ، جو 1952 میں ہیری ماکووٹز نے پیش کی تھی ، سرمایہ کاری کے پورٹ فولیو کے انتخاب کا ایک ریاضیاتی فریم ورک ہے جس کا مقصد خطرہ کو کنٹرول کرتے ہوئے مختلف خطرہ والے اثاثوں کے پورٹ فولیو کا انتخاب کرکے متوقع منافع کو زیادہ سے زیادہ کرنا ہے۔ بنیادی خیال یہ ہے کہ اثاثوں کے مابین قیمتوں میں غیر متزلزل تبدیلیوں (یعنی اثاثوں کے مابین غیر متزلزل وابستگی) کے ذریعہ اثاثوں کی تخصیص میں تنوع کے ذریعہ مجموعی طور پر سرمایہ کاری کا خطرہ کم کیا جاسکتا ہے۔
متوقع منافعیہ سرمایہ کاروں کی طرف سے ایک اثاثہ یا سرمایہ کاری کے پورٹ فولیو کو حاصل کرنے کی توقع کی جانے والی آمدنی ہے ، جو عام طور پر تاریخی آمدنی کے اعداد و شمار پر مبنی ہوتی ہے۔
$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$ کے معیاری فرق ہیں۔
مؤثر حدود: خطرے سے فائدہ اٹھانے والے کوآرڈینیٹ سسٹم میں ، موثر حد ان پورٹ فولیو کا مجموعہ ہے جو کسی بھی خطرے کی سطح پر زیادہ سے زیادہ متوقع منافع فراہم کرنے کے قابل ہے۔
مندرجہ بالا گراف ایک مؤثر سرحد کا گراف ہے، ہر نقطہ ایک مختلف وزن والے سرمایہ کاری کے پورٹ فولیو کی نمائندگی کرتا ہے، افقی کوآرڈینیٹ اتار چڑھاؤ یا خطرے کی سطح ہے، اور عمودی کوآرڈینیٹ واپسی کی شرح ہے۔ ظاہر ہے، ہم گراف کے سب سے اوپر پر توجہ مرکوز کرتے ہیں، جس نے اسی خطرے کی سطح پر سب سے زیادہ واپسی کی ہے۔
مقداری تجارت اور پورٹ فولیو مینجمنٹ میں ، ان اصولوں کا اطلاق تاریخی اعداد و شمار کا شماریاتی تجزیہ کرنے ، مختلف اثاثوں کی متوقع واپسی ، معیاری فرق اور فرق کو اندازہ لگانے کے لئے ریاضیاتی ماڈل کا استعمال کرنے کے لئے ہوتا ہے۔ پھر ، اثاثوں کی بہترین دوبارہ تقسیم تلاش کرنے کے لئے اصلاح کی تکنیک کا استعمال کیا جاتا ہے۔ اس عمل میں اکثر پیچیدہ ریاضیاتی کارروائیوں اور بہت سارے کمپیوٹر پروسیسنگ شامل ہوتے ہیں ، یہی وجہ ہے کہ جدید مالیاتی شعبے میں مقداری تجزیہ بہت اہم ہے۔ ذیل میں مخصوص پیتھون مثالوں کے ساتھ کس طرح اصلاح کی جائے گی۔
مارکوویتز کا بہترین مجموعہ حساب لگانا ایک کثیر مرحلہ عمل ہے جس میں ڈیٹا کی تیاری ، تجزیاتی پورٹ فولیو ، حساب کتاب کے اشارے وغیرہ جیسے کئی اہم اقدامات شامل ہیں۔https://plotly.com/python/v3/ipython-notebooks/markowitz-portfolio-optimization/
مارکیٹ کے اعداد و شمار حاصل کریں:
get_data
فنکشن ، منتخب کردہ ڈیجیٹل کرنسی کے تاریخی قیمت کے اعداد و شمار کو حاصل کرتا ہے۔ یہ اعداد و شمار ہیں جو منافع اور خطرے کے حساب کے لئے ضروری ہیں ، اور وہ سرمایہ کاری کے پورٹ فولیو کی تعمیر اور شارپ تناسب کا حساب لگانے کے لئے استعمال ہوتے ہیں۔منافع اور خطرات کا حساب لگانا:
calculate_returns_risk
فنکشن ہر ڈیجیٹل کرنسی کے لئے سالانہ منافع اور سالانہ خطرہ (اسٹینڈرڈ ڈیفی) کا حساب لگاتا ہے۔ یہ ہر اثاثہ کی تاریخی کارکردگی کو بہتر مجموعہ میں استعمال کرنے کے ل.بہترین مارکوویتس مجموعہ کا حساب لگائیں:
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()
آخر میں نتائج:
بہترین مجموعہ:
BTCUSDT وزن: 0.0721
ETHUSDT وزن: 0.2704
بی این بی یو ایس ڈی ٹی وزن: 0.3646
LINKUSDT وزن: 0.1892
BCHUSDT وزن: 0.0829
LTCUSDT وزن: 0.0209
متوقع منافع: 0.4195
متوقع خطرہ (معیاری فرق): 0.1219
شارپ تناسب: 3.4403