Java的几何布朗运动
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的几何布朗运动相关推荐
- 模拟模型学习 几何布朗运动_Java的几何布朗运动
模拟模型学习 几何布朗运动 维纳过程是一个连续时间的随机过程,以纪念诺伯特·维纳. 通常用于用随机成分表示噪音或财务状况. 可以计算几何布朗运动以可视化某些界限(以分位数表示)以暗示绝对范围. 为了进 ...
- JAVA几何图注水,如何使用java绘制几何形状到图片?
在Java语言编程中,如何使用Java绘制几何形状到图片? 注意:需要访问网址: , 下载一个OpenCV软件包.这里下载最新版本:opencv-3.2.0-vc14.exe并解压此文件到D:soft ...
- 利用几何布朗运动对招商银行2021年进行股价预测
1.布朗运动 2.广义维纳过程 3.几何布朗运动 4.用几何布朗运动模拟招商银行股价 (1)导入相关包并设置中文字体 import numpy as np import pandas as pd im ...
- R语言几何布朗运动 GBM模拟股票价格优化建立期权定价概率加权收益曲线可视化
最近我们被客户要求撰写关于几何布朗运动的研究报告,包括一些图形和统计输出. 对于模拟股票价格,几何布朗运动 (GBM) 是 事实上的首选 模型. 它有一些很好的属性,通常与股票价格一致,例如对数正态分 ...
- JTS Java空间几何计算、距离、最近点、subLine等计算
文章目录 前言 地理坐标系和投影坐标系 地理坐标系 投影坐标系 地图投影 墨卡托/Web墨卡托 常见坐标系 地理坐标系和投影坐标系互转 EPSG:3857和EPSG:4326 Java各坐标系之间的转 ...
- JTS Java空间几何计算、距离、最近点、subLine等 稳健的一比,持续更新中
文章目录 前言 地理坐标系和投影坐标系 地理坐标系 投影坐标系 地图投影 墨卡托/Web墨卡托 常见坐标系 地理坐标系和投影坐标系互转 EPSG:3857和EPSG:4326 Java各坐标系之间的转 ...
- java nurbs几何库_NURBS曲线与曲面
B样条方法在表示与设计自由型曲线曲面形状时显示了强大的威力,然而 在表示与设计初等曲线曲面时时却遇到了麻烦.因为B样条曲线包括其特例的 Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包 ...
- java nurbs几何库_OpenGL超级宝典笔记——NURBS与曲面细分
NURBS 贝塞尔曲线的缺点是当我们增加很多控制点的时候,曲线变得不可控,其连续性会变差差.如果控制点很多(高阶曲线),当我们调整一个控制点的位置,对整个曲线的影响是很大的.要获得更高级的控制,可以使 ...
- java求几何周长面积_Java——求图形面积和周长
设计接口图形Shape.及其实现类Circle和Rectangle.工具类Show中提供两个方法showArea和showPerimeter,分别用于显示图形的周长和面积.App类中main方法中给出 ...
最新文章
- 【青少年编程竞赛交流】10月份微信图文索引
- 怎样用c语言写一个系统,用C语言写关于操作系统的一个问题。
- python编程需要什么软件-python编程用哪个软件
- django-model操作数据库(增删改查)
- 2014 ecb,_it’s_easy_as_123(修改bmp文件头) 攻防世界;
- MySQL8改root密码
- Morpheus - DNS Spoofing
- D-Link登录时密码错误输入三次而无法登录问题的处理
- AFN\HTTPS\UIWebView
- dedecms 标签使用集锦
- 排名前100的PHP函数及分析
- Hibernate中hbm.xml文件的inverse、cascade、fetch、outer-join、lazy
- BZOJ 3689: 异或之
- NI-9253 C系列电流输入模块-9253
- JVM(四).Class 文件结构(附字节码完整解析)
- C# 中的委托和事件(详解)
- 收藏级干货——Auto CAD历史版本功能大盘点(下)
- 01、RabbitMQ之入门
- uni-app引入阿里巴巴icon在线图标
- 尝一尝HBuilderX香不香
热门文章
- SpringCloud Netflix Hystrix
- jQuery 所有版本在线引用
- c# 向mysql插入数据_C#连接mysql数据库 及向表中插入数据的方法
- echarts line 去掉最外围方框_干货 | 关于射频芯片最详细解读
- 最小生成树——Prim(普利姆)算法
- sqlserver 2005 数据库的差异备份与还原
- java 示例_功能Java示例 第5部分–将I / O移到外部
- java 错误输入异常_在Java中进行输入验证期间用错误通知替换异常
- java streams_使用JShell的Java 9 Streams API
- spring集成mq_使用Spring Integration Java DSL与Rabbit MQ集成