मोंटे कार्लो जोखिम सिमुलेशन — पोर्टफोलियो परिणामों का मॉडलिंग
मोंटे कार्लो सिमुलेशन आपको अपने पोर्टफोलियो के 100,000+ संभावित भविष्य के रास्तों को मॉडल करने देता है, जिसमें वैल्यू एट रिस्क (VaR) और एक्सपेक्टेड शॉर्टफॉल जैसे जोखिम मेट्रिक्स को मापा जाता है। एक ही परिणाम मानने के बजाय, आप संभावनाओं का वितरण देखते हैं।
उदाहरण: अपनी ट्रेडिंग रणनीति के 100k सिमुलेशन चलाएं। आप देखेंगे: 68% परिणाम $10-$50 का लाभ, 25% $10-$30 का नुकसान, 5% $50-$200 का नुकसान, और 2% $100+ का लाभ। अब आप अपने जोखिम प्रोफाइल को समझते हैं।
बेसिक ज्योमेट्रिक ब्राउनियन मोशन (GBM)
भविष्य की कीमतों को ड्रिफ्ट और वोलेटिलिटी के साथ रैंडम वॉक के रूप में मॉडल करें:
import numpy as np
def simulate_price_paths(S0, mu, sigma, T, dt, n_sims=10000):
steps = int(T / dt)
paths = np.zeros((n_sims, steps))
paths[:, 0] = S0
for i in range(1, steps):
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% आत्मविश्वास):
def calculate_var(simulations, confidence=0.95):
pnl = simulations[:, -1] - simulations[:, 0]
var = np.percentile(pnl, (1 - confidence) * 100)
return var
एक्सपेक्टेड शॉर्टफॉल (CVaR)
सबसे खराब 5% मामलों में औसत नुकसान:
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
रणनीति-विशिष्ट सिमुलेशन
अपने वास्तविक ट्रेडिंग नियमों को सिमुलेट करें, न कि केवल प्राइस पाथ:
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
results[sim] = equity
return results
स्मार्ट मनी सिग्नल के साथ स्ट्रेस टेस्टिंग
सबसे खराब परिदृश्यों को मॉडल करें जब स्मार्ट मनी का आत्मविश्वास गिरता है:
def stress_test_scenarios(base_win_rate):
scenario_normal = simulate_strategy(10000, win_rate=base_win_rate)
scenario_medium = simulate_strategy(10000, win_rate=base_win_rate * 0.95)
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 सिमुलेशन से, आप सीखते हैं:
- मीडियन परिणाम (50वां पर्सेंटाइल)
- सर्वोत्तम मामला (95वां पर्सेंटाइल)
- सबसे खराब मामला (5वां पर्सेंटाइल)
- रुइन की संभावना (इक्विटी < 0)
- एक्सपेक्टेड ड्रॉडाउन लंबाई
स्मार्ट मनी सिग्नल के साथ रणनीतियों को स्ट्रेस-टेस्ट करें
सामान्य, खराब होती, और VETO स्मार्ट मनी स्थितियों में पोर्टफोलियो जोखिम को समझें। हमारा API आपको सिग्नल देता है; मोंटे कार्लो परिणामों को मॉडल करता है।
आज ही रिस्क मॉडल →