Class PortfolioRiskAnalyzer
java.lang.Object
neqsim.process.safety.risk.portfolio.PortfolioRiskAnalyzer
- All Implemented Interfaces:
Serializable
Portfolio Risk Analyzer for multi-asset analysis.
Performs Monte Carlo simulation across multiple assets to analyze portfolio-level risk, including common cause failures, correlated events, and aggregated production impact. Essential for corporate risk management and insurance/contract negotiations.
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAsset in the portfolio.static classCommon cause scenario affecting multiple assets. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<PortfolioRiskAnalyzer.Asset> Assets in portfolio.Common cause scenarios.private PortfolioRiskResultResults of last simulation.private StringAnalyzer name.private intNumber of simulations.private RandomRandom number generator.private static final longprivate doubleSimulation period in years. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates and adds an asset.voidAdds an asset to the portfolio.voidAdds a common cause scenario.createRegionalWeatherScenario(String region, double frequency, double duration) Creates a regional weather scenario.private PortfolioRiskAnalyzer.AssetgetName()private doubleprivate doubleprivate doublepercentile(List<Double> values, int p) run()Runs the portfolio risk simulation.private intsamplePoisson(double lambda) voidsetNumberOfSimulations(int n) Sets number of simulations.voidsetSimulationPeriodYears(double years) Sets simulation period.private doubletoJson()Converts to JSON string.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
name
Analyzer name. -
assets
Assets in portfolio. -
commonCauseScenarios
Common cause scenarios. -
numberOfSimulations
private int numberOfSimulationsNumber of simulations. -
simulationPeriodYears
private double simulationPeriodYearsSimulation period in years. -
random
Random number generator. -
lastResult
Results of last simulation.
-
-
Constructor Details
-
PortfolioRiskAnalyzer
Creates a portfolio risk analyzer.- Parameters:
name- analyzer name
-
-
Method Details
-
addAsset
Adds an asset to the portfolio.- Parameters:
asset- asset to add
-
addAsset
Creates and adds an asset.- Parameters:
id- asset IDname- asset namemaxProduction- maximum production rate- Returns:
- created asset
-
addCommonCauseScenario
Adds a common cause scenario.- Parameters:
scenario- common cause scenario
-
createRegionalWeatherScenario
public PortfolioRiskAnalyzer.CommonCauseScenario createRegionalWeatherScenario(String region, double frequency, double duration) Creates a regional weather scenario.- Parameters:
region- affected regionfrequency- annual frequencyduration- duration in days- Returns:
- created scenario
-
setNumberOfSimulations
public void setNumberOfSimulations(int n) Sets number of simulations.- Parameters:
n- number of simulations
-
setSimulationPeriodYears
public void setSimulationPeriodYears(double years) Sets simulation period.- Parameters:
years- simulation period in years
-
run
-
samplePoisson
private int samplePoisson(double lambda) -
getAsset
-
mean
-
stdDev
-
percentile
-
max
-
getName
-
getAssets
-
getCommonCauseScenarios
-
getLastResult
-
toJson
-
toString
-