Что яГенерация фиктивного опционов на акции изменения цены
творю график фиктивных опционов. Цена обновляется каждый второй, с помощью этой функции
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, будет лучше?
Если у кого-то есть идея или совет для генерации «естественных» цен, спасибо заранее.
Спасибо за ваш ответ. Отображаемые значения являются круглыми (цена, 3), если я делю больше, не будет видимой эволюции за последние 2 минуты графика (в реальном времени), я думаю. С процентами большие цены будут расти большими, чем небольшие цены, я тоже пробовал. – Valky
Это реалистично: цены на акции обычно не меняются очень сильно с минуты на минуту, поэтому вы можете отображать больше точности. Если изменения должны быть достаточно большими, чтобы быть видимыми, они также будут достаточно большими, чтобы обеспечить высокую волатильность. В качестве альтернативы, вы можете рассчитывать новую цену каждую минуту, а не каждую секунду, а делиться на 1440 вместо 86400? Это может сделать изменения более заметными. –
График реального времени, рассчитывается по секундам. Я копировал/вставлял, но вы забыли «;» каждая строка ... ;-) После тестирования вашего решения график плоский ... эволюция близка к 0,000001. Я думаю, что лучший способ - объединить акции ($ price, 5) и разделить на 100 000 коэффициент. Затем я показываю только раунд ($ price, 3). Спасибо, в любом случае. – Valky