java - 模拟股票价格

标签 java random

我想制作一个模拟股票价格的程序,其中数据是随机的。我使用 Math 中的 random() 方法来生成数字。该程序添加一个 float ,并在经过一定限制后减去它。我的问题是:我想要值(value)突然下降和上升。我怎样才能生成这个?

这是我的代码:

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;  
}

最佳答案

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

price += Math.random() >= 0.5 ? +1 : -1;

您可以在模型中添加较安静的时间(每秒移动次数较少)和较繁忙的时间(每秒移动次数较多)。

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

关于java - 模拟股票价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355615/

相关文章:

node.js - 如何在 Node 中生成随机jpeg?

java - 随机数的分布

java - Haskell 中的 Android 应用程序

java - Selenium geckodriver 无法找到匹配的功能集

java - tomcat上的文件监听进程

java - JSON 数组问题

Python:比 numpy 的 random.choice() 更快的替代品?

Java 2D数组随机分配

c++ - double 随机数数组

java - 从 Serializable 向下转换为 LinkedList<Class>