001/* ---------------------------------------------------------------------------- 002 * This file was automatically generated by SWIG (https://www.swig.org). 003 * Version 4.1.1 004 * 005 * Do not make changes to this file unless you know what you are doing - modify 006 * the SWIG interface file instead. 007 * ----------------------------------------------------------------------------- */ 008 009package org.quantlib; 010 011public class RiskStatistics extends Statistics implements org.quantlib.helpers.QuantLibJNIHelpers.AutoCloseable { 012 private transient long swigCPtr; 013 014 protected RiskStatistics(long cPtr, boolean cMemoryOwn) { 015 super(QuantLibJNI.RiskStatistics_SWIGUpcast(cPtr), cMemoryOwn); 016 swigCPtr = cPtr; 017 } 018 019 protected static long getCPtr(RiskStatistics obj) { 020 return (obj == null) ? 0 : obj.swigCPtr; 021 } 022 023 protected static long swigRelease(RiskStatistics obj) { 024 long ptr = 0; 025 if (obj != null) { 026 if (!obj.swigCMemOwn) 027 throw new RuntimeException("Cannot release ownership as memory is not owned"); 028 ptr = obj.swigCPtr; 029 obj.swigCMemOwn = false; 030 obj.delete(); 031 } 032 return ptr; 033 } 034 035 @SuppressWarnings("deprecation") 036 protected void finalize() { 037 delete(); 038 } 039 040 public synchronized void delete() { 041 if (swigCPtr != 0) { 042 if (swigCMemOwn) { 043 swigCMemOwn = false; 044 QuantLibJNI.delete_RiskStatistics(swigCPtr); 045 } 046 swigCPtr = 0; 047 } 048 super.delete(); 049 } 050 051 public double semiVariance() { 052 return QuantLibJNI.RiskStatistics_semiVariance(swigCPtr, this); 053 } 054 055 public double semiDeviation() { 056 return QuantLibJNI.RiskStatistics_semiDeviation(swigCPtr, this); 057 } 058 059 public double downsideVariance() { 060 return QuantLibJNI.RiskStatistics_downsideVariance(swigCPtr, this); 061 } 062 063 public double downsideDeviation() { 064 return QuantLibJNI.RiskStatistics_downsideDeviation(swigCPtr, this); 065 } 066 067 public double regret(double target) { 068 return QuantLibJNI.RiskStatistics_regret(swigCPtr, this, target); 069 } 070 071 public double potentialUpside(double percentile) { 072 return QuantLibJNI.RiskStatistics_potentialUpside(swigCPtr, this, percentile); 073 } 074 075 public double valueAtRisk(double percentile) { 076 return QuantLibJNI.RiskStatistics_valueAtRisk(swigCPtr, this, percentile); 077 } 078 079 public double expectedShortfall(double percentile) { 080 return QuantLibJNI.RiskStatistics_expectedShortfall(swigCPtr, this, percentile); 081 } 082 083 public double shortfall(double target) { 084 return QuantLibJNI.RiskStatistics_shortfall(swigCPtr, this, target); 085 } 086 087 public double averageShortfall(double target) { 088 return QuantLibJNI.RiskStatistics_averageShortfall(swigCPtr, this, target); 089 } 090 091 public RiskStatistics() { 092 this(QuantLibJNI.new_RiskStatistics(), true); 093 } 094 095}