مونٹے کارلو رسک سمیولیشن — پورٹ فولیو کے ممکنہ نتائج کی ماڈلنگ

مونٹے کارلو سمیولیشنز آپ کو اپنے پورٹ فولیو کے 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):
# 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% اعتماد):

پائتھن — 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% معاملات میں اوسط نقصان:

پائتھن — 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 سے بدتر)

اسٹریٹیجی-مخصوص سمیولیشن

صرف قیمتی راستوں کے بجائے اپنے اصل ٹریڈنگ اصولوں کی سمیولیشن کریں:

پائتھن — اسٹریٹیجی مونٹے کارلو
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

سٹریس ٹیسٹنگ با سمارٹ منی سگنلز

بدترین منظرناموں کو ماڈل کریں جب سمارٹ منی کا اعتماد کم ہو:

پائتھن — سٹریس ٹیسٹ منظرنامے
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 آپ کو سگنلز دیتی ہے؛ مونٹے کارلو نتائج کو ماڈل کرتا ہے۔

آج رسک ماڈل →