2

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

1 回答 1

3

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

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

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

对新闻事件(导致股票突然增加、减少或持有)进行建模更为复杂。我会单独建模。即,您有很小的机会价格会比正常波动更多。

于 2012-07-06T07:27:31.887 回答