Wiener过程是连续时间随机过程,以纪念Norbert Wiener命名。 通常用于用随机成分表示噪音或财务状况。

可以计算几何布朗运动以可视化某些界限(以分位数表示)以暗示绝对范围。 为了进行计算,需要以下参数:

  • µ(mu):平均百分比
  • σ(sigma):方差
  • t:时间段
  • v:初始值

常规计算的扩展使用:m:每个时间段的增值(在我的情况下为月度值)中断:分位数中断以计算界限

计算值的代码:

import java.time.LocalDate;
import java.util.*;
import static java.lang.Math.sqrt;
import static java.lang.Math.exp;public class WienerProcess {/*** Run the Wiener process for a given period and initial amount with a monthly value that is added every month. The* code calculates the projection of the value, a set of quantiles and the brownian geometric motion based on a* random walk.** @param mu mean value (annualized)* @param sigma standard deviation (annualized)* @param years projection duration in years* @param initialValue the initial value* @param monthlyValue the value that is added per month* @param breaks quantile breaks* @return a List of double arrays containing the values per month for the given quantile breaks*/public static List<double[]> getProjection(double mu, double sigma, int years, int initialValue,int monthlyValue, double[] breaks) {double periodizedMu = mu / 12;double periodizedSigma = sigma / Math.sqrt(12);int periods = years * 12;List<double[]> result = new ArrayList<double[]>();for (int i = 0; i < periods; i++) {double value = initialValue + (monthlyValue * i);NormalDistribution normalDistribution = new NormalDistribution(periodizedMu * (i + 1),periodizedSigma * sqrt(i + 1));double bounds[] = new double[breaks.length];for (int j = 0; j < breaks.length; j++) {double normInv = normalDistribution.inverseCumulativeProbability(breaks[j]);bounds[j] = value * exp(normInv);}result.add(bounds);}return result;}
}

应用值:

  • 亩:0.05(或5%)
  • sigma:0.1(或10%)
  • 初始值:7000
  • 每月增加:100
  • 时间:6年

结果如下表:

  • 该代码可从Github获得。 它带有Swing GUI来输入值并根据计算结果绘制图表。 https://gist.github.com/mp911de/464c1e0e2d19dfc904a7

相关信息

  • 维基百科:维纳过程
  • 维基百科:几何布朗运动

翻译自: https://www.javacodegeeks.com/2015/12/geometric-brownian-motion-java.html

Java的几何布朗运动相关推荐

  1. 模拟模型学习 几何布朗运动_Java的几何布朗运动

    模拟模型学习 几何布朗运动 维纳过程是一个连续时间的随机过程,以纪念诺伯特·维纳. 通常用于用随机成分表示噪音或财务状况. 可以计算几何布朗运动以可视化某些界限(以分位数表示)以暗示绝对范围. 为了进 ...

  2. JAVA几何图注水,如何使用java绘制几何形状到图片?

    在Java语言编程中,如何使用Java绘制几何形状到图片? 注意:需要访问网址: , 下载一个OpenCV软件包.这里下载最新版本:opencv-3.2.0-vc14.exe并解压此文件到D:soft ...

  3. 利用几何布朗运动对招商银行2021年进行股价预测

    1.布朗运动 2.广义维纳过程 3.几何布朗运动 4.用几何布朗运动模拟招商银行股价 (1)导入相关包并设置中文字体 import numpy as np import pandas as pd im ...

  4. R语言几何布朗运动 GBM模拟股票价格优化建立期权定价概率加权收益曲线可视化

    最近我们被客户要求撰写关于几何布朗运动的研究报告,包括一些图形和统计输出. 对于模拟股票价格,几何布朗运动 (GBM) 是 事实上的首选 模型. 它有一些很好的属性,通常与股票价格一致,例如对数正态分 ...

  5. JTS Java空间几何计算、距离、最近点、subLine等计算

    文章目录 前言 地理坐标系和投影坐标系 地理坐标系 投影坐标系 地图投影 墨卡托/Web墨卡托 常见坐标系 地理坐标系和投影坐标系互转 EPSG:3857和EPSG:4326 Java各坐标系之间的转 ...

  6. JTS Java空间几何计算、距离、最近点、subLine等 稳健的一比,持续更新中

    文章目录 前言 地理坐标系和投影坐标系 地理坐标系 投影坐标系 地图投影 墨卡托/Web墨卡托 常见坐标系 地理坐标系和投影坐标系互转 EPSG:3857和EPSG:4326 Java各坐标系之间的转 ...

  7. java nurbs几何库_NURBS曲线与曲面

    B样条方法在表示与设计自由型曲线曲面形状时显示了强大的威力,然而 在表示与设计初等曲线曲面时时却遇到了麻烦.因为B样条曲线包括其特例的 Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包 ...

  8. java nurbs几何库_OpenGL超级宝典笔记——NURBS与曲面细分

    NURBS 贝塞尔曲线的缺点是当我们增加很多控制点的时候,曲线变得不可控,其连续性会变差差.如果控制点很多(高阶曲线),当我们调整一个控制点的位置,对整个曲线的影响是很大的.要获得更高级的控制,可以使 ...

  9. java求几何周长面积_Java——求图形面积和周长

    设计接口图形Shape.及其实现类Circle和Rectangle.工具类Show中提供两个方法showArea和showPerimeter,分别用于显示图形的周长和面积.App类中main方法中给出 ...

最新文章

  1. 【青少年编程竞赛交流】10月份微信图文索引
  2. 怎样用c语言写一个系统,用C语言写关于操作系统的一个问题。
  3. python编程需要什么软件-python编程用哪个软件
  4. django-model操作数据库(增删改查)
  5. 2014 ecb,_it’s_easy_as_123(修改bmp文件头) 攻防世界;
  6. MySQL8改root密码
  7. Morpheus - DNS Spoofing
  8. D-Link登录时密码错误输入三次而无法登录问题的处理
  9. AFN\HTTPS\UIWebView
  10. dedecms 标签使用集锦
  11. 排名前100的PHP函数及分析
  12. Hibernate中hbm.xml文件的inverse、cascade、fetch、outer-join、lazy
  13. BZOJ 3689: 异或之
  14. NI-9253 C系列电流输入模块-9253
  15. JVM(四).Class 文件结构(附字节码完整解析)
  16. C# 中的委托和事件(详解)
  17. 收藏级干货——Auto CAD历史版本功能大盘点(下)
  18. 01、RabbitMQ之入门
  19. uni-app引入阿里巴巴icon在线图标
  20. 尝一尝HBuilderX香不香

热门文章

  1. SpringCloud Netflix Hystrix
  2. jQuery 所有版本在线引用
  3. c# 向mysql插入数据_C#连接mysql数据库 及向表中插入数据的方法
  4. echarts line 去掉最外围方框_干货 | 关于射频芯片最详细解读
  5. 最小生成树——Prim(普利姆)算法
  6. sqlserver 2005 数据库的差异备份与还原
  7. java 示例_功能Java示例 第5部分–将I / O移到外部
  8. java 错误输入异常_在Java中进行输入验证期间用错误通知替换异常
  9. java streams_使用JShell的Java 9 Streams API
  10. spring集成mq_使用Spring Integration Java DSL与Rabbit MQ集成