মন্টে কার্লো রিস্ক সিমুলেশন — পোর্টফোলিও আউটকাম মডেলিং
মন্টে কার্লো সিমুলেশন আপনাকে আপনার পোর্টফোলিওর 100,000+ সম্ভাব্য ভবিষ্যৎ পথ মডেল করতে দেয়, যেমন Value at Risk (VaR) এবং expected shortfall এর মতো রিস্ক মেট্রিক্স পরিমাপ করে। একটি একক আউটকাম ধরে নেওয়ার পরিবর্তে, আপনি সম্ভাবনার বণ্টন দেখতে পান।
উদাহরণ: আপনার ট্রেডিং স্ট্র্যাটেজির 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
পোর্টফোলিও রিস্ক মেট্রিক্স
Value at Risk (VaR)
যে ক্ষতি আপনি শুধুমাত্র 5% পরিস্থিতিতে অতিক্রম করবেন (95% আত্মবিশ্বাস):
def calculate_var(simulations, confidence=0.95):
pnl = simulations[:, -1] - simulations[:, 0]
var = np.percentile(pnl, (1 - confidence) * 100)
return var
Expected Shortfall (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
Smart Money সিগন্যাল সহ স্ট্রেস টেস্টিং
Smart Money আত্মবিশ্বাস কমে গেলে সবচেয়ে খারাপ পরিস্থিতি মডেল করুন:
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 সিমুলেশন থেকে, আপনি শিখবেন:
- মিডিয়ান আউটকাম (50th পার্সেন্টাইল)
- সেরা কেস (95th পার্সেন্টাইল)
- সবচেয়ে খারাপ কেস (5th পার্সেন্টাইল)
- রুইনের সম্ভাবনা (ইকুইটি < 0)
- প্রত্যাশিত ড্রডাউন দৈর্ঘ্য
Smart Money সিগন্যাল সহ স্ট্র্যাটেজি স্ট্রেস-টেস্ট করুন
সাধারণ, অবনতি, এবং VETO Smart Money অবস্থায় পোর্টফোলিও রিস্ক বুঝুন। আমাদের API আপনাকে সিগন্যাল দেয়; মন্টে কার্লো আউটকাম মডেল করে।
Risk Model Today →