Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Aggregating Simulation Outcomes | Portfolio and Pricing Toy-Simulations
Quizzes & Challenges
Quizzes
Challenges
/
Simulation and Monte Carlo Modeling with Python

bookAggregating Simulation Outcomes

When you run a simulation to model portfolio outcomes or price financial instruments, you typically generate a large number of possible results. To make sense of this data, you need to aggregate these outcomes using summary statistics. The most common aggregation techniques include the mean, median, and quantiles.

  • The mean represents the average outcome across all simulations; it gives you a sense of the expected result if the simulation were repeated many times;
  • The median is the middle value when all outcomes are sorted; it is less affected by extreme values and is useful for understanding the typical result;
  • Quantiles (such as the 5th or 95th percentile) show you the range within which a certain percentage of outcomes fall; these are especially important for assessing risk, since they can highlight worst- or best-case scenarios.

By using these techniques, you can summarize thousands of simulated outcomes into actionable insights, such as the most likely result, the spread of possible results, and the probability of extreme losses or gains.

12345678910111213141516171819202122232425262728293031
import numpy as np import matplotlib.pyplot as plt # Simulate 10,000 portfolio returns (e.g., annual return in %) np.random.seed(42) simulated_returns = np.random.normal(loc=7, scale=15, size=10000) # Aggregation: calculate mean, median, and quantiles mean_return = np.mean(simulated_returns) median_return = np.median(simulated_returns) quantiles = np.percentile(simulated_returns, [5, 25, 75, 95]) print(f"Mean return: {mean_return:.2f}%") print(f"Median return: {median_return:.2f}%") print(f"5th percentile: {quantiles[0]:.2f}%") print(f"25th percentile: {quantiles[1]:.2f}%") print(f"75th percentile: {quantiles[2]:.2f}%") print(f"95th percentile: {quantiles[3]:.2f}%") # Visualization plt.figure(figsize=(10, 6)) plt.hist(simulated_returns, bins=50, alpha=0.7, color='skyblue', edgecolor='black') plt.axvline(mean_return, color='red', linestyle='dashed', linewidth=2, label='Mean') plt.axvline(median_return, color='green', linestyle='dashed', linewidth=2, label='Median') plt.axvline(quantiles[0], color='orange', linestyle='dotted', linewidth=2, label='5th Percentile') plt.axvline(quantiles[3], color='purple', linestyle='dotted', linewidth=2, label='95th Percentile') plt.title('Distribution of Simulated Portfolio Returns') plt.xlabel('Simulated Annual Return (%)') plt.ylabel('Frequency') plt.legend() plt.show()
copy

After aggregating your simulation results, you need to interpret what these statistics mean for your portfolio or pricing model. The mean gives you a baseline expectation, but relying solely on it can be misleading if the distribution is skewed or has fat tails. The median can provide a more robust central tendency, especially when outliers are present. Quantiles are crucial for risk assessment: the lower quantiles (such as the 5th percentile) can help you estimate the probability and magnitude of large losses, while upper quantiles (like the 95th) reveal the chances of outsized gains.

Understanding these aggregated results allows you to make informed decisions. For example, if the 5th percentile return is deeply negative, you might decide to reduce risk in your portfolio. If the range between the 25th and 75th percentiles is wide, it indicates high uncertainty in outcomes, suggesting caution. Aggregation transforms raw simulation data into actionable information, helping you balance risk and reward in your decision-making process.

question mark

Why is it important to aggregate simulation outcomes using statistics like the mean, median, and quantiles when analyzing results from Monte Carlo simulations?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

bookAggregating Simulation Outcomes

Scorri per mostrare il menu

When you run a simulation to model portfolio outcomes or price financial instruments, you typically generate a large number of possible results. To make sense of this data, you need to aggregate these outcomes using summary statistics. The most common aggregation techniques include the mean, median, and quantiles.

  • The mean represents the average outcome across all simulations; it gives you a sense of the expected result if the simulation were repeated many times;
  • The median is the middle value when all outcomes are sorted; it is less affected by extreme values and is useful for understanding the typical result;
  • Quantiles (such as the 5th or 95th percentile) show you the range within which a certain percentage of outcomes fall; these are especially important for assessing risk, since they can highlight worst- or best-case scenarios.

By using these techniques, you can summarize thousands of simulated outcomes into actionable insights, such as the most likely result, the spread of possible results, and the probability of extreme losses or gains.

12345678910111213141516171819202122232425262728293031
import numpy as np import matplotlib.pyplot as plt # Simulate 10,000 portfolio returns (e.g., annual return in %) np.random.seed(42) simulated_returns = np.random.normal(loc=7, scale=15, size=10000) # Aggregation: calculate mean, median, and quantiles mean_return = np.mean(simulated_returns) median_return = np.median(simulated_returns) quantiles = np.percentile(simulated_returns, [5, 25, 75, 95]) print(f"Mean return: {mean_return:.2f}%") print(f"Median return: {median_return:.2f}%") print(f"5th percentile: {quantiles[0]:.2f}%") print(f"25th percentile: {quantiles[1]:.2f}%") print(f"75th percentile: {quantiles[2]:.2f}%") print(f"95th percentile: {quantiles[3]:.2f}%") # Visualization plt.figure(figsize=(10, 6)) plt.hist(simulated_returns, bins=50, alpha=0.7, color='skyblue', edgecolor='black') plt.axvline(mean_return, color='red', linestyle='dashed', linewidth=2, label='Mean') plt.axvline(median_return, color='green', linestyle='dashed', linewidth=2, label='Median') plt.axvline(quantiles[0], color='orange', linestyle='dotted', linewidth=2, label='5th Percentile') plt.axvline(quantiles[3], color='purple', linestyle='dotted', linewidth=2, label='95th Percentile') plt.title('Distribution of Simulated Portfolio Returns') plt.xlabel('Simulated Annual Return (%)') plt.ylabel('Frequency') plt.legend() plt.show()
copy

After aggregating your simulation results, you need to interpret what these statistics mean for your portfolio or pricing model. The mean gives you a baseline expectation, but relying solely on it can be misleading if the distribution is skewed or has fat tails. The median can provide a more robust central tendency, especially when outliers are present. Quantiles are crucial for risk assessment: the lower quantiles (such as the 5th percentile) can help you estimate the probability and magnitude of large losses, while upper quantiles (like the 95th) reveal the chances of outsized gains.

Understanding these aggregated results allows you to make informed decisions. For example, if the 5th percentile return is deeply negative, you might decide to reduce risk in your portfolio. If the range between the 25th and 75th percentiles is wide, it indicates high uncertainty in outcomes, suggesting caution. Aggregation transforms raw simulation data into actionable information, helping you balance risk and reward in your decision-making process.

question mark

Why is it important to aggregate simulation outcomes using statistics like the mean, median, and quantiles when analyzing results from Monte Carlo simulations?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
some-alt