Назад към всички

real-options-analyzer

// Real options valuation skill for analyzing strategic flexibility and investment timing decisions

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namereal-options-analyzer
descriptionReal options valuation skill for analyzing strategic flexibility and investment timing decisions
allowed-toolsRead,Write,Glob,Grep,Bash
metadata[object Object]

Real Options Analyzer

Overview

The Real Options Analyzer skill provides capabilities for valuing strategic flexibility in investment decisions. It extends traditional NPV analysis by quantifying the value of options to defer, expand, contract, abandon, or switch, enabling better decision-making under uncertainty.

Capabilities

  • Option identification and framing
  • Binomial tree valuation
  • Black-Scholes adaptation
  • Monte Carlo option valuation
  • Decision tree representation
  • Sensitivity to volatility
  • Strategic option types (defer, expand, abandon, switch)
  • Integration with NPV analysis

Used By Processes

  • Strategic Scenario Development
  • What-If Analysis Framework
  • Investment Decision Analysis

Usage

Option Definition

# Define real option
real_option = {
    "type": "option_to_expand",
    "underlying_project": {
        "name": "Manufacturing Plant Phase 1",
        "base_npv": 5000000,
        "initial_investment": 20000000,
        "volatility": 0.35,  # annual volatility of project value
        "dividend_yield": 0.03  # cash flow yield
    },
    "option_characteristics": {
        "expansion_cost": 15000000,
        "expansion_factor": 1.5,  # 50% capacity increase
        "exercise_window": {"start_year": 2, "end_year": 5},
        "option_type": "American"  # can exercise anytime in window
    },
    "risk_free_rate": 0.05
}

Binomial Tree Valuation

# Binomial tree configuration
binomial_config = {
    "method": "binomial_tree",
    "parameters": {
        "steps": 50,
        "up_factor": "calculated",  # u = exp(sigma * sqrt(dt))
        "down_factor": "calculated",  # d = 1/u
        "risk_neutral_probability": "calculated"
    },
    "outputs": {
        "option_value": True,
        "optimal_exercise_boundary": True,
        "tree_visualization": True
    }
}

Black-Scholes Adaptation

# Black-Scholes configuration
bs_config = {
    "method": "black_scholes",
    "parameters": {
        "current_value": 25000000,  # S: current project value
        "exercise_price": 15000000,  # K: investment to exercise
        "time_to_expiry": 3,  # T: years
        "volatility": 0.35,  # sigma
        "risk_free_rate": 0.05,  # r
        "dividend_yield": 0.03  # q: continuous cash flow yield
    },
    "option_type": "call"  # expansion = call, abandonment = put
}

Monte Carlo Valuation

# Monte Carlo for path-dependent options
monte_carlo_config = {
    "method": "monte_carlo",
    "simulations": 50000,
    "path_model": {
        "type": "geometric_brownian_motion",
        "parameters": {
            "drift": 0.08,
            "volatility": 0.35
        }
    },
    "exercise_strategy": "least_squares_monte_carlo",  # LSM for American options
    "basis_functions": ["laguerre", 3]  # polynomial basis
}

Real Option Types

Option TypeDescriptionAnalogy
DeferWait for better informationCall option
ExpandIncrease scale if successfulCall option
ContractReduce scale if unfavorablePut option
AbandonExit and recover salvagePut option
SwitchChange inputs/outputsPortfolio of options
CompoundOption on an optionSequential investment
RainbowMultiple sources of uncertaintyMulti-asset option

Input Schema

{
  "option_type": "defer|expand|contract|abandon|switch|compound",
  "underlying_project": {
    "current_value": "number",
    "volatility": "number",
    "dividend_yield": "number"
  },
  "option_terms": {
    "exercise_price": "number",
    "time_to_expiry": "number",
    "exercise_type": "European|American"
  },
  "valuation_method": "binomial|black_scholes|monte_carlo",
  "parameters": "object",
  "sensitivity_analysis": {
    "variables": ["volatility", "time", "value"],
    "ranges": "object"
  }
}

Output Schema

{
  "option_value": "number",
  "expanded_npv": "number",
  "static_npv": "number",
  "flexibility_value": "number",
  "greeks": {
    "delta": "number",
    "gamma": "number",
    "vega": "number",
    "theta": "number",
    "rho": "number"
  },
  "exercise_boundary": {
    "time": ["number"],
    "critical_value": ["number"]
  },
  "sensitivity": {
    "variable": {
      "values": ["number"],
      "option_values": ["number"]
    }
  },
  "decision_rule": "string",
  "visualization_paths": ["string"]
}

Best Practices

  1. Identify all relevant options before valuation
  2. Estimate volatility from comparable assets or market data
  3. Use American option models for flexible exercise timing
  4. Consider interaction between multiple options
  5. Validate inputs with sensitivity analysis
  6. Communicate option value as "value of flexibility"
  7. Compare expanded NPV to traditional NPV for decision support

Expanded NPV Framework

Expanded NPV = Static NPV + Option Value

Decision Rule:

  • If Expanded NPV > 0: Proceed (even if Static NPV < 0)
  • If Expanded NPV < 0 but Option Value > 0: Consider deferral
  • Option Value quantifies the benefit of waiting/flexibility

Integration Points

  • Feeds into Strategic Options Analyst agent
  • Connects with Monte Carlo Engine for simulation
  • Supports Scenario Planner for strategy valuation
  • Integrates with Decision Tree Builder for representation