// Monte Carlo Test
$lower = 95; // 单月最大亏损,95代表单月亏5%
$higher = 110; // 单月最大盈利,110代表单月赚10%
$times = 100; // 测试轮回数(一个轮回是一年,一年12个月,比如测试100年求平均值)
$sum = 0.0;
for ($i=0; $i < $times; $i++) {
$init = 1.0; // 初始值(即初始本金)
$num = 12; // 一年12个月
for($j = 1; $j <= $num; $j++){ // 循环12个月
$d = (mt_rand($lower,$higher) - 100)/100.0;
// echo "\n获利:".strval($d*100.0).'%';
$init += $d;
}
$sum += $init;
echo "\n获利:".strval(($init-1.0)*100.0).'%';
}
$r = ($sum/$times - 1.0)*100.0;
echo "\n平均收益率:$r%\n";