monte-carlo
GitHubFinance Guru投资组合蒙特卡洛模拟技能,支持4层资产配置、收益概率预测及保证金压力测试,通过工作流处理标准模拟或结合买入票据进行情景分析。
Trigger Scenarios
Install
npx skills add AojdevStudio/Finance-Guru --skill monte-carlo -g -y
SKILL.md
Frontmatter
{
"name": "monte-carlo",
"description": "Run Monte Carlo simulations for Finance Guru portfolio strategy. USE WHEN user mentions monte carlo OR run simulation OR stress test portfolio OR probability analysis OR income projections OR margin safety analysis. Supports a 4-layer portfolio (Growth, Income, Hedge, GOOGL) with operator-supplied starting values."
}
MonteCarlo
Monte Carlo simulation engine for Finance Guru's 4-layer dividend income + margin living strategy. Runs 10,000 market scenarios to project income probabilities, margin safety, and portfolio outcomes over 28 months.
Workflow Routing
| Workflow | Trigger | File |
|---|---|---|
| RunSimulation | "run monte carlo", "simulate portfolio", "stress test" | workflows/RunSimulation.md |
| IncorporateBuyTicket | "include buy ticket", "add ticket to simulation" | workflows/IncorporateBuyTicket.md |
Examples
Example 1: Run standard Monte Carlo simulation
User: "Run the monte carlo simulation with current portfolio"
-> Invokes RunSimulation workflow
-> Derives current values, then updates the hard-coded inputs in run_single_scenario()
-> Runs 10,000 scenarios with v3.0 4-layer model
-> Outputs JSON summary + full CSV + Excel to analysis/
Example 2: Incorporate a buy ticket into simulation
User: "Run monte carlo with my new buy ticket from 12-31"
-> Invokes IncorporateBuyTicket workflow
-> Reads buy ticket from tickets/buy-ticket-2025-12-31-*.md
-> Parses YAML frontmatter + Execution Summary table from the canonical ticket format
-> Adjusts starting portfolio values based on ticket allocations
-> Runs simulation with updated positions
Example 3: Stress test margin safety
User: "What's my margin call probability?"
-> Invokes RunSimulation workflow
-> Focuses on margin_call_rate and margin_ratio metrics
-> Reports 5th percentile (worst case) margin ratio
Key Metrics Produced
Success Metrics
- P($100k income) - Probability of reaching $100k annual dividend income
- P($75k income) - Probability of reaching $75k annual dividend income
- P($50k income) - Probability of reaching $50k annual dividend income
- Margin call rate - % of scenarios triggering margin call (<3:1 ratio)
- Backstop usage rate - % of scenarios requiring business income injection
Portfolio Metrics
- Total portfolio value - Median, P5, P95 at month 28
- Layer 1 (Growth) - PLTR, TSLA, VOO, etc. (no new deployment)
- Layer 2 (Income) - Dividend funds (recurring W2-funded monthly deployment)
- Layer 3 (Hedge) - SQQQ ($800/month deployment)
- GOOGL position - Scale-in ($1,000/month deployment)
Risk Metrics
- Margin ratio - Portfolio / Margin debt (must stay >3:1)
- Max drawdown - Worst peak-to-trough decline
- Break-even timing - When dividends cover margin draws
Output Files
All outputs saved to analysis/:
monte-carlo-v3-{date}.json- Summary statisticsmonte-carlo-v3-full-results-{date}.csv- All 10,000 scenariosmonte-carlo-v3-analysis-{date}.xlsx- Excel workbook with charts
Configuration
The instance-local script at strategies/dividend_margin_monte_carlo.py reads starting portfolio values that are hard-coded in run_single_scenario(). It does not auto-detect values from CSV. Before each run, follow the RunSimulation workflow to derive current values and edit those assignments.
Simulation parameters include:
- Starting portfolio values (manually set in
run_single_scenario()) - Monthly deployment amounts
- Bucket allocations and yields
- Margin schedule
- Market regime probabilities
Model Version
v3.0 (Jan 2026) - Full 4-layer portfolio:
- Layer 1: Growth portfolio (market returns only, no new deployment)
- Layer 2: Income portfolio (5-bucket dividend allocation)
- Layer 3: Hedge (SQQQ for crisis protection)
- GOOGL: Scale-in position (diverted from Layer 2)
Fixes applied:
- Floor at $0 for all positions (stocks can't go negative)
- Full portfolio margin ratio (all layers count toward Fidelity margin)
- Operator-supplied starting values derived from current portfolio data
Version History
-
ac43b09
Current 2026-09-23 02:02
修正路径引用为实例布局,更新输入源从自动检测CSV改为操作员提供硬编码值,修复技能契约bug。
- d13f5ab 2026-08-20 11:51


