संसाधन लोड हो रहा है... लोड करना...

जोखिम और रिटर्न का मापन - मार्कोविट्ज़ सिद्धांत का परिचय

लेखक:FMZ~Lydia, बनाया गयाः 2023-11-13 11:05:54, अद्यतनः 2024-11-08 09:07:17

img

पिछले सप्ताह, जब परिचयस्थिति जोखिम को कैसे मापें - VaR पद्धति का परिचय, यह उल्लेख किया गया था कि एक पोर्टफोलियो का जोखिम व्यक्तिगत परिसंपत्तियों के जोखिमों के बराबर नहीं है और उनके मूल्य सहसंबंध से संबंधित है। दो परिसंपत्तियों को उदाहरण के रूप में लेते हुए, यदि उनका सकारात्मक सहसंबंध बहुत मजबूत है, जिसका अर्थ है कि वे एक साथ बढ़ते हैं और गिरते हैं, तो विविधतापूर्ण निवेश जोखिम को कम नहीं करेंगे। यदि एक मजबूत नकारात्मक सहसंबंध है, तो विविध निवेश जोखिम को काफी कम कर सकते हैं। तब स्वाभाविक सवाल उठता हैः हम एक पोर्टफोलियो में निवेश करते समय जोखिम के एक निश्चित स्तर पर रिटर्न को कैसे अधिकतम करते हैं? यह हमें मार्कोविट्ज़ सिद्धांत की ओर ले जाता है, जिसे हम आज पेश करने जा रहे हैं।

आधुनिक पोर्टफोलियो सिद्धांत (एमपीटी), 1952 में हैरी मार्कोविट्ज़ द्वारा प्रस्तावित, पोर्टफोलियो चयन के लिए एक गणितीय ढांचा है। इसका उद्देश्य जोखिम को नियंत्रित करते हुए जोखिम परिसंपत्तियों के विभिन्न संयोजनों का चयन करके अपेक्षित रिटर्न को अधिकतम करना है। मूल विचार यह है कि परिसंपत्तियों की कीमतें एक दूसरे के साथ पूरी तरह से सिंक्रनाइज़ नहीं होती हैं (यानी, परिसंपत्तियों के बीच अपूर्ण सहसंबंध है), और विविध परिसंपत्ति आवंटन के माध्यम से समग्र निवेश जोखिम को कम किया जा सकता है।

मार्कोविट्ज़ सिद्धांत की मुख्य अवधारणा

  1. प्रत्याशित प्रतिफल दर: यह रिटर्न है जो निवेशकों को संपत्ति या निवेश पोर्टफोलियो रखने से प्राप्त होने की उम्मीद है, आमतौर पर ऐतिहासिक रिटर्न डेटा के आधार पर भविष्यवाणी की जाती है।

img

कहाँ,imgपोर्टफोलियो की अपेक्षित प्रतिफल है,imgपोर्टफोलियो में i-th परिसंपत्ति का भार है,imgi-th परिसंपत्ति का अपेक्षित प्रतिफल है।

  1. जोखिम (अस्थिरता या मानक विचलन): निवेश की वापसी की अनिश्चितता या निवेश की अस्थिरता को मापने के लिए प्रयोग किया जाता है।

img

कहाँ,imgपोर्टफोलियो के कुल जोखिम का प्रतिनिधित्व करता है,imgसंपत्ति i और संपत्ति j का सह-विभेदक है, जो इन दो संपत्ति के बीच मूल्य परिवर्तन संबंध को मापता है।

  1. सह-विभिन्नता: दो परिसंपत्तियों के मूल्य परिवर्तनों के बीच परस्पर संबंध को मापता है।

img

कहाँ,imgपरिसंपत्ति i और परिसंपत्ति j का सहसंबंध गुणांक है,imgऔरimgक्रमशः संपत्ति i और संपत्ति j के मानक विचलन हैं।

  1. कुशल सीमा: जोखिम-लाभ समन्वय प्रणाली में, कुशल सीमा उन निवेश पोर्टफोलियो का समूह है जो किसी दिए गए जोखिम स्तर पर अधिकतम अपेक्षित लाभ प्रदान कर सकते हैं।

img

उपरोक्त आरेख एक कुशल सीमा का एक चित्रण है, जहां प्रत्येक बिंदु एक अलग भारित निवेश पोर्टफोलियो का प्रतिनिधित्व करता है। एक्स-अक्ष अस्थिरता को दर्शाता है, जो जोखिम के स्तर के बराबर है, जबकि वाई-अक्ष रिटर्न दर को दर्शाता है। स्पष्ट रूप से, हमारा ध्यान ग्राफ के ऊपरी किनारे पर है क्योंकि यह जोखिम के समान स्तर पर उच्चतम रिटर्न प्राप्त करता है।

मात्रात्मक ट्रेडिंग और पोर्टफोलियो प्रबंधन में, इन सिद्धांतों को लागू करने के लिए ऐतिहासिक डेटा के सांख्यिकीय विश्लेषण और विभिन्न परिसंपत्तियों के लिए अपेक्षित रिटर्न, मानक विचलन और सहसंबंधों का अनुमान लगाने के लिए गणितीय मॉडल का उपयोग करने की आवश्यकता होती है। फिर सर्वोत्तम परिसंपत्ति भार आवंटन खोजने के लिए अनुकूलन तकनीकों का उपयोग किया जाता है। इस प्रक्रिया में अक्सर जटिल गणितीय संचालन और व्यापक कंप्यूटर प्रसंस्करण शामिल होते हैं - यही कारण है कि आधुनिक वित्त में मात्रात्मक विश्लेषण इतना महत्वपूर्ण हो गया है। आगे, हम विशिष्ट पायथन उदाहरणों के साथ अनुकूलन कैसे करते हैं।

सिमुलेशन विधि का उपयोग करके इष्टतम संयोजन खोजने के लिए पायथन कोड उदाहरण

मार्कोविट्ज़ के इष्टतम पोर्टफोलियो की गणना एक बहु-चरण प्रक्रिया है, जिसमें कई प्रमुख चरण शामिल हैं, जैसे डेटा की तैयारी, पोर्टफोलियो सिमुलेशन और संकेतक गणना। कृपया देखेंःhttps://plotly.com/python/v3/ipython-notebooks/markowitz-portfolio-optimization/

  1. बाजार के आंकड़े प्राप्त करें:

के माध्यम सेget_dataयह रिटर्न और जोखिमों की गणना के लिए आवश्यक डेटा है, जिसका उपयोग निवेश पोर्टफोलियो बनाने और शार्प अनुपात की गणना करने के लिए किया जाता है।

  1. रिटर्न दर और जोखिम की गणना करें:

..calculate_returns_riskप्रत्येक डिजिटल मुद्रा के लिए वार्षिक रिटर्न और वार्षिक जोखिम (मानक विचलन) की गणना करने के लिए इस फ़ंक्शन का उपयोग किया गया था। यह एक इष्टतम पोर्टफोलियो में उपयोग के लिए प्रत्येक परिसंपत्ति के ऐतिहासिक प्रदर्शन को मात्रात्मक रूप से मापने के लिए किया जाता है।

  1. मार्कोविट्ज़ इष्टतम पोर्टफोलियो की गणना करें:

..calculate_optimal_portfolioप्रत्येक सिमुलेशन में, परिसंपत्ति भारों को यादृच्छिक रूप से उत्पन्न किया गया और फिर इन भारों के आधार पर पोर्टफोलियो के अपेक्षित रिटर्न और जोखिम की गणना की गई। विभिन्न भारों के साथ यादृच्छिक रूप से संयोजन उत्पन्न करके, इष्टतम खोजने के लिए कई संभावित निवेश पोर्टफोलियो का पता लगाना संभव है। यह मार्कोविट्ज़ के पोर्टफोलियो सिद्धांत के मुख्य विचारों में से एक है।

पूरी प्रक्रिया का उद्देश्य निवेश पोर्टफोलियो को खोजना है जो जोखिम के एक दिए गए स्तर पर सर्वोत्तम अपेक्षित रिटर्न देता है। कई संभावित संयोजनों का अनुकरण करके, निवेशक विभिन्न विन्यासों के प्रदर्शन को बेहतर ढंग से समझ सकते हैं और उस संयोजन का चयन कर सकते हैं जो उनके निवेश लक्ष्यों और जोखिम सहिष्णुता के लिए सबसे उपयुक्त है। यह विधि निवेश निर्णयों को अनुकूलित करने में मदद करती है, जिससे निवेश अधिक प्रभावी हो जाते हैं।

import numpy as np
import pandas as pd
import requests
import matplotlib.pyplot as plt

# Obtain market data
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)

# Calculate Markowitz Optimal Portfolio
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) # Convert weights to a list

    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]

# Output results
print("Optimal combination:")
for i in range(len(symbols)):
    print(f"{symbols[i]} Weight: {optimal_weights[i]:.4f}")

print(f"Expected return rate: {optimal_return:.4f}")
print(f"Expected risk (standard deviation): {optimal_risk:.4f}")
print(f"Sharpe ratio: {optimal_return / optimal_risk:.4f}")

# Visualized investment portfolio
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 BNBUSDT का भारः 0.3646 LINKUSDT का भारः 0.1892 BCHUSDT का भारः 0.0829 LTCUSDT का भारः 0.0209 अपेक्षित प्रतिफल दर: 0.4195 अपेक्षित जोखिम (मानक विचलन): 0.1219 शार्प अनुपातः 3.4403

img


अधिक