git clone https://github.com/vibeforge1111/vibeship-spawner-skills
finance/risk-modeling/skill.yamlid: risk-modeling name: Risk Modeling category: finance description: Use when building VaR models, stress testing portfolios, Monte Carlo simulations, or implementing enterprise risk management - covers market risk, credit risk, and operational risk frameworks
patterns: golden_rules: - rule: "Know your assumptions" reason: "All models have hidden assumptions that break" - rule: "Backtest regularly" reason: "Model validity degrades over time" - rule: "Use multiple measures" reason: "VaR alone misses tail risk" - rule: "Stress test extremes" reason: "Normal conditions don't reveal fragility" - rule: "N >= 10^5 simulations" reason: "Fewer simulations understate tail risk"
risk_measure_spectrum: description: "From less conservative to more conservative" measures: - name: Sensitivity type: Greeks description: "First-order risk exposure" - name: Volatility type: "Std Dev" description: "Dispersion measure" - name: VaR type: Quantile description: "Loss threshold at confidence" - name: "ES/CVaR" type: "Tail Average" description: "Expected loss beyond VaR"
var_methods: historical: "No distribution assumptions, uses actual return distribution" parametric: "Faster but assumes returns follow specified distribution" monte_carlo: "Most flexible, handles complex portfolios"
monte_carlo_techniques: antithetic_variates: "Generate z and -z for variance reduction" control_variates: "Use correlated variable with known expectation" importance_sampling: "Sample more from important regions" stratified_sampling: "Ensure coverage across strata"
stress_test_types: historical: "Replay historical crisis scenarios" hypothetical: "Model potential future scenarios" reverse: "Find scenarios that cause target loss"
garch_model: | sigma_t^2 = omega + alpha * r_{t-1}^2 + beta * sigma_{t-1}^2 - alpha: reaction to market news - beta: persistence of volatility - alpha + beta: volatility persistence (should be < 1)
anti_patterns:
- pattern: "VaR only risk measure" problem: "Ignores tail severity" solution: "Add ES/CVaR for tail risk"
- pattern: "Normal distribution assumption" problem: "Underestimates fat tails" solution: "Use t-distribution or historical"
- pattern: "Static correlation" problem: "Correlations spike in crisis" solution: "Stressed correlation scenarios"
- pattern: "Too few simulations" problem: "High variance in estimates" solution: "N >= 100,000 for VaR"
- pattern: "No backtesting" problem: "Model degrades silently" solution: "Regular validation tests (Kupiec)"
- pattern: "Single horizon" problem: "Misses liquidity risk" solution: "Multiple holding periods"
implementation_checklist: var_calculation: - "Choose appropriate VaR method for portfolio complexity" - "Use minimum 10^5 simulations for Monte Carlo" - "Apply variance reduction techniques" - "Include ES/CVaR for tail risk" - "Scale for holding period (square root of time)" stress_testing: - "Implement historical scenarios (2008, COVID)" - "Create hypothetical scenarios" - "Build correlation stress scenarios" - "Document scenario assumptions" model_validation: - "Backtest with Kupiec POF test" - "Implement Christoffersen independence test" - "Monitor Basel traffic light zones" - "Set up model monitoring and alerts"
handoffs:
- skill: algorithmic-trading trigger: "trading signals and execution"
- skill: portfolio-optimization trigger: "risk-adjusted allocation"
- skill: derivatives-pricing trigger: "options risk and Greeks"
ecosystem: simulation: - "numpy - Random number generation" - "scipy.stats - Distributions" volatility: - "arch - GARCH modeling" credit_risk: - "sklearn - PD modeling" visualization: - "matplotlib/plotly - Risk dashboards"
sources: tutorials: - "Monte Carlo for Finance - NumberAnalytics" - "Stress Testing Framework - ThePythonLab" books: - "Financial Risk Modeling - QuantLib" - "Value at Risk - Jorion"