模拟股票利率

时间:2012-07-06 03:57:50

标签: java random

我想制作一个模拟股票利率的程序,其中数据是随机的。我在Math中使用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;  
}

1 个答案:

答案 0 :(得分:3)

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

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

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

对新闻事件进行建模(导致股票突然增加,减少或持有)更加复杂。我会单独模拟这个。也就是说,你的价格变动的可能性很小。