Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 模拟股票价格_Java_Random - Fatal编程技术网

Java 模拟股票价格

Java 模拟股票价格,java,random,Java,Random,我想制作一个模拟股票价格的程序,其中的数据是随机的。我使用数学中的random()方法来生成数字。程序加上一个浮点数,在某个限制之后减去它。我的问题是:我想要一些价值的突然下降和上升。我如何生成这个 这是我的密码: private static float lastValue= 50.187786f; private static float limit=49.627786f; private static float min_value=0.334834f; private float ra

我想制作一个模拟股票价格的程序,其中的数据是随机的。我使用数学中的random()方法来生成数字。程序加上一个浮点数,在某个限制之后减去它。我的问题是:我想要一些价值的突然下降和上升。我如何生成这个

这是我的密码:

private static float lastValue= 50.187786f;
private static float limit=49.627786f;
private static float min_value=0.334834f;

private float randomValue() {

double factor = Math.random()/10;


if (lastValue >limit+min_value){
    lastValue=lastValue-(float)factor;
}else if(limit<limit-min_value){
    lastValue = lastValue + (float) factor;
}else{
    lastValue = lastValue + (float) factor;  
}
private static float lastValue=50.187786f;
专用静态浮动极限=49.627786f;
专用静态浮动最小值=0.334834f;
私有浮点值(){
双因子=Math.random()/10;
如果(lastValue>limit+min_值){
lastValue=lastValue-(浮动)系数;

}else if(limit股票市场通常被建模为随机游走。即,你有相同的机会上升或下降一个值。即

price += Math.random() >= 0.5 ? +1 : -1;
您可以向模型中添加更安静的时间(每秒移动次数较少)和更繁忙的时间(每秒移动次数较多)


模拟新闻事件(导致股票突然增加、减少或持有)更为复杂。我将对此单独建模。也就是说,价格的变动幅度比正常情况大得多的可能性很小。

有两个随机数。第一个随机数决定第二个随机数的幅度乘数。第一个随机数可以以某种方式按比例分配,以减少(或更多)出现峰值(因此,如果是.8或更小,则乘数为1。例如,如果大于.8,则乘数为5)我觉得有一些关于时代标志和用随机数发生器模拟股市行为的元评论要发表。我试过了,但它显示的是不断增加或减少,而不是突然下降和峰值。何来实现一个算法