蒙特卡洛模拟引擎 monte-carlo-engine

蒙特卡洛模拟引擎是一个用于概率建模、风险量化和不确定性分析的强大工具。它通过随机抽样和统计方法,模拟复杂系统的各种可能结果,帮助用户评估投资风险、预测项目收益、进行决策支持和敏感性分析。核心功能包括多种分布抽样、相关性处理、收敛监控、风险价值计算和龙卷风图生成。适用于量化金融、风险管理、商业决策和工程分析等领域。关键词:蒙特卡洛模拟,风险量化,不确定性分析,概率建模,决策支持,敏感性分析,VaR计算,拉丁超立方抽样。

风险管理 0 次安装 0 次浏览 更新于 2/25/2026

name: monte-carlo-engine description: 用于概率建模、风险量化和不确定性传播的蒙特卡洛模拟引擎技能 allowed-tools:

  • Read
  • Write
  • Glob
  • Grep
  • Bash metadata: specialization: 决策智能 domain: 商业 category: 模拟 priority: high shared-candidate: true tools-libraries:
    • numpy
    • scipy.stats
    • pymc
    • chaospy
    • SALib

蒙特卡洛引擎

概述

蒙特卡洛引擎技能提供全面的概率模拟能力,用于量化不确定性、评估风险以及通过复杂模型传播变异性。它支持多种抽样策略、相关性处理以及模拟输出的统计分析,为数据驱动的决策提供支持。

能力

  • 随机变量生成(正态、三角、PERT、均匀、对数正态、贝塔等)
  • 拉丁超立方抽样(LHS)
  • 相关性结构处理(Cholesky分解、Copula函数)
  • 收敛性监控和自适应迭代
  • 统计输出分析(均值、方差、百分位数)
  • 龙卷风图生成
  • 风险价值(VaR)和条件风险价值(CVaR)计算
  • 并行模拟执行

使用流程

  • 决策支持的蒙特卡洛模拟
  • 战略情景开发
  • 假设分析框架
  • 预测分析实施

使用方法

分布规范

# 定义输入分布
input_variables = {
    "revenue": {
        "distribution": "triangular",
        "parameters": {"min": 800000, "mode": 1000000, "max": 1500000}
    },
    "cost": {
        "distribution": "normal",
        "parameters": {"mean": 600000, "std": 50000}
    },
    "market_share": {
        "distribution": "PERT",
        "parameters": {"min": 0.05, "mode": 0.10, "max": 0.20}
    },
    "unit_price": {
        "distribution": "uniform",
        "parameters": {"min": 45, "max": 55}
    }
}

相关性矩阵

# 定义变量间的相关性
correlations = {
    "variables": ["revenue", "cost", "market_share"],
    "matrix": [
        [1.0, 0.6, 0.3],   # revenue相关性
        [0.6, 1.0, 0.2],   # cost相关性
        [0.3, 0.2, 1.0]    # market_share相关性
    ]
}

模型函数

# 定义要模拟的模型
def profit_model(inputs):
    revenue = inputs["revenue"]
    cost = inputs["cost"]
    profit = revenue - cost
    return {"profit": profit, "margin": profit / revenue}

抽样策略

  1. 简单随机抽样:标准蒙特卡洛
  2. 拉丁超立方抽样:以更少的样本获得更好的覆盖
  3. 拟蒙特卡洛:低差异序列(Sobol, Halton)
  4. 重要性抽样:关注尾部事件

收敛性监控

该技能监控:

  • 运行均值和标准差
  • 变异系数的收敛性
  • 百分位数的稳定性
  • 自适应停止标准

输入模式

{
  "input_variables": {
    "variable_name": {
      "distribution": "string",
      "parameters": "object"
    }
  },
  "correlations": {
    "variables": ["string"],
    "matrix": "2D array"
  },
  "model": "function or expression",
  "simulation_options": {
    "iterations": "number",
    "sampling_method": "random|lhs|quasi_mc",
    "random_seed": "number",
    "parallel": "boolean",
    "convergence_threshold": "number"
  },
  "output_options": {
    "percentiles": ["number"],
    "risk_metrics": ["VaR", "CVaR"],
    "confidence_level": "number"
  }
}

输出模式

{
  "summary_statistics": {
    "output_variable": {
      "mean": "number",
      "std": "number",
      "median": "number",
      "min": "number",
      "max": "number",
      "percentiles": "object"
    }
  },
  "risk_metrics": {
    "VaR": "number",
    "CVaR": "number",
    "probability_of_loss": "number"
  },
  "convergence_info": {
    "iterations_run": "number",
    "converged": "boolean",
    "stability_scores": "object"
  },
  "raw_results": "array (optional)",
  "tornado_data": "object",
  "visualization_paths": ["string"]
}

最佳实践

  1. 使用至少10,000次迭代以获得稳定的百分位数估计
  2. 应用拉丁超立方抽样以提高效率
  3. 与领域专家一起验证输入分布
  4. 包含相关性以获得更现实的结果
  5. 在接收结果前监控收敛性
  6. 执行敏感性分析以识别关键驱动因素
  7. 记录所有分布假设

集成点

  • 从风险分布拟合器接收分布
  • 输入到敏感性分析器进行重要性分析
  • 支持风险价值计算器获取风险指标
  • 与决策树构建器连接以进行决策节点估值
  • 与实物期权分析器集成以进行期权估值