2

データがランダムな株価をシミュレートするプログラムを作成したいと考えています。Math で random() メソッドを使用して数値を生成しています。プログラムは float を追加し、ある制限の後、それを減算します。私の問題は、値の急激な下落と上昇が欲しいということです。どうすればこれを生成できますか?

これが私のコードです:

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

株式市場は通常、ランダム ウォークとしてモデル化されます。つまり、1 つの値が上下する可能性は同じです。すなわち

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

静かな時間 (1 秒あたりの移動数が少ない) と忙しい時間 (1 秒あたりの移動数が多い) があることをモデルに追加できます。

ニュース イベント (株価の急激な上昇、下落、または保持を引き起こす) のモデル化は、より複雑です。これを個別にモデル化します。つまり、価格が通常よりも大きく変動する可能性は非常に低いです。

于 2012-07-06T07:27:31.887 に答える