मोंटे कार्लो जोखिम सिमुलेशन — पोर्टफोलियो परिणामों का मॉडलिंग

मोंटे कार्लो सिमुलेशन आपको अपने पोर्टफोलियो के 100,000+ संभावित भविष्य के रास्तों को मॉडल करने देता है, जिसमें वैल्यू एट रिस्क (VaR) और एक्सपेक्टेड शॉर्टफॉल जैसे जोखिम मेट्रिक्स को मापा जाता है। एक ही परिणाम मानने के बजाय, आप संभावनाओं का वितरण देखते हैं।

उदाहरण: अपनी ट्रेडिंग रणनीति के 100k सिमुलेशन चलाएं। आप देखेंगे: 68% परिणाम $10-$50 का लाभ, 25% $10-$30 का नुकसान, 5% $50-$200 का नुकसान, और 2% $100+ का लाभ। अब आप अपने जोखिम प्रोफाइल को समझते हैं।

बेसिक ज्योमेट्रिक ब्राउनियन मोशन (GBM)

भविष्य की कीमतों को ड्रिफ्ट और वोलेटिलिटी के साथ रैंडम वॉक के रूप में मॉडल करें:

Python — मोंटे कार्लो प्राइस पाथ
import numpy as np
def simulate_price_paths(S0, mu, sigma, T, dt, n_sims=10000):
# S0: वर्तमान कीमत, mu: ड्रिफ्ट, sigma: वोलेटिलिटी
# T: समय सीमा (दिन), dt: समय चरण, n_sims: सिमुलेशन
steps = int(T / dt)
paths = np.zeros((n_sims, steps))
paths[:, 0] = S0
for i in range(1, steps):
# dS = mu*S*dt + sigma*S*sqrt(dt)*Z
Z = np.random.normal(0, 1, n_sims)
dS = mu * paths[:, i-1] * dt + sigma * paths[:, i-1] * np.sqrt(dt) * Z
paths[:, i] = paths[:, i-1] + dS
return paths

पोर्टफोलियो जोखिम मेट्रिक्स

वैल्यू एट रिस्क (VaR)

वह नुकसान जिसे आप केवल 5% परिदृश्यों में पार करेंगे (95% आत्मविश्वास):

Python — VaR की गणना करें
def calculate_var(simulations, confidence=0.95):
pnl = simulations[:, -1] - simulations[:, 0]
var = np.percentile(pnl, (1 - confidence) * 100)
return var # उदाहरण, -$2,340

एक्सपेक्टेड शॉर्टफॉल (CVaR)

सबसे खराब 5% मामलों में औसत नुकसान:

Python — CVaR की गणना करें
def calculate_cvar(simulations, confidence=0.95):
pnl = simulations[:, -1] - simulations[:, 0]
var_threshold = np.percentile(pnl, (1 - confidence) * 100)
worst_5_pct = pnl[pnl <= var_threshold]
cvar = np.mean(worst_5_pct)
return cvar # उदाहरण, -$3,800 (VaR से भी बदतर)

रणनीति-विशिष्ट सिमुलेशन

अपने वास्तविक ट्रेडिंग नियमों को सिमुलेट करें, न कि केवल प्राइस पाथ:

Python — स्ट्रैटेजी मोंटे कार्लो
def simulate_strategy(capital, win_rate, avg_win, avg_loss, trades_per_day=10, days=30, n_sims=10000):
results = np.zeros(n_sims)
for sim in range(n_sims):
equity = capital
n_trades = trades_per_day * days
for _ in range(n_trades):
if np.random.rand() < win_rate:
pnl = np.random.normal(avg_win, avg_win * 0.2)
else:
pnl = -np.random.normal(avg_loss, avg_loss * 0.2)
equity += pnl
if equity < capital * 0.5:
break # 50% नुकसान पर स्टॉप-आउट
results[sim] = equity
return results

स्मार्ट मनी सिग्नल के साथ स्ट्रेस टेस्टिंग

सबसे खराब परिदृश्यों को मॉडल करें जब स्मार्ट मनी का आत्मविश्वास गिरता है:

Python — स्ट्रेस टेस्ट परिदृश्य
def stress_test_scenarios(base_win_rate):
# परिदृश्य 1: सामान्य स्थितियां (HIGH आत्मविश्वास)
scenario_normal = simulate_strategy(10000, win_rate=base_win_rate)
# परिदृश्य 2: खराब होते सिग्नल (MEDIUM आत्मविश्वास)
scenario_medium = simulate_strategy(10000, win_rate=base_win_rate * 0.95)
# परिदृश्य 3: ब्रेकडाउन (VETO स्थिति)
scenario_veto = simulate_strategy(10000, win_rate=0.45) # नेगेटिव एज
return {
'normal': {'var': np.percentile(scenario_normal, 5), 'mean': np.mean(scenario_normal)},
'medium': {'var': np.percentile(scenario_medium, 5), 'mean': np.mean(scenario_medium)},
'veto': {'var': np.percentile(scenario_veto, 5), 'mean': np.mean(scenario_veto)}
}

व्याख्या

10k सिमुलेशन से, आप सीखते हैं:

स्मार्ट मनी सिग्नल के साथ रणनीतियों को स्ट्रेस-टेस्ट करें

सामान्य, खराब होती, और VETO स्मार्ट मनी स्थितियों में पोर्टफोलियो जोखिम को समझें। हमारा API आपको सिग्नल देता है; मोंटे कार्लो परिणामों को मॉडल करता है।

आज ही रिस्क मॉडल →