Что я делаю
Я делаю график вымышленных опционов на акции.Цена обновляется каждую секунду , с этой функцией
function stockVariation($price,$max_up,$max_down)
{
// Price > 1
if($price > 1)
{
// Calculate
$ratio=(mt_rand(0,$max_up/2)-mt_rand(0,$max_down/2))/1000;
$price+=$ratio;
}
// Price <=1 (we don't want 0 or negative price...)
else
$price+=mt_rand(1,$max_up)/1000;
return round($price,3);
}
Я использую значения max_up и max_down (от 10 до 100) для постепенного изменения цены и имитации некоторой волатильности.
Например, при max_up: 40 и max_down: 45 цена будет постепенно снижаться.
Мой вопрос
Но проблема в том, чтогенерируемые цены слишком волатильны, даже если max_up = max_down.Результат "неестественный".(например, +10 пунктов за один день при базовой цене 15 000).
Результат изменения цены за час в течение 24 часов
Возможно создание раунда (цена в долларах, 4)и деление на 10 000 вместо 1 000, будет лучше?
Если у кого-нибудь есть идея или совет, чтобы произвести «естественную» эволюцию цен, заранее спасибо.