我们使用Extreme Optimization(http://www.extremeoptimization.com)的Extreme Numerics库作为我们的计算内核.
// portfolio risk is inverse normal cumulative distribution function
double risk = NormalDistribution.InverseDistributionFunction(
_riskProbabilityLevel,
mean,
stdev);
Run Code Online (Sandbox Code Playgroud)
问题是现在我们正在从C#转向Java,我对Java并不是很了解,但我们的任务是重写这个特定的功能.
我有值得测试的价值:
RiskProbabilityLevel = 0.02
Mean = 0.06618
Standard Dev = 0.057196166520267355
Risk = 0.051286461995869864
Run Code Online (Sandbox Code Playgroud)
但是在查看math3.distribution.NormalDistribution库中的各种功能时,我找不到可能相同的功能.
任何方向或帮助将不胜感激.谢谢.
我想你可以使用这个库.它被称为apache commons.math3.它很受欢迎.从http://www.extremeoptimization.com提供的文档中,我认为您可以使用以下代码:
import org.apache.commons.math3.distribution.NormalDistribution;
public class TestProbabilites {
public static void main(String[] args) {
double riskProbabilityLevel = 0.02D;
double mean = 0.06618D;
double standardDev = 0.057196166520267355D;
double expectedRisk = 0.051286461995869864D;
NormalDistribution distribution = new NormalDistribution(mean, standardDev);
double outcomeRisk = distribution.inverseCumulativeProbability(riskProbabilityLevel);
}
}
Run Code Online (Sandbox Code Playgroud)
但是你要记得添加apache.commons.math3库使用添加到您的项目Maven或Gradle或其他一些依赖关系经理.
希望这会有所帮助.
| 归档时间: |
|
| 查看次数: |
2466 次 |
| 最近记录: |