Я работал над игрой на виртуальной фондовой бирже с использованием PHP. Формула, которую я использовал для определения цены акции:
$price += $ran*0.001*$price + $ratio*0.005*$price
где
$ran = rand(-1*$intensity, 2*$intensity)
$ интенсивность - это число от -5 до 5 в зависимости от того, хороши или плохи новости для компании и
$ratio = (1.0*($buy-$sell))/($buy + $sell)
$ buy и $ sell представляют собой количество купленных и проданных акций компании соответственно.
Проблема с этой формулой в том, что, даже если интенсивность отрицательная (даже -5), коэффициент отношения всегда добавляется к цене, что увеличивает общий коэффициент. Цены обновляются каждые 10 секунд, и, согласно приведенной выше формуле, они продолжают расти и никогда не снижаются. Итак, может ли кто-нибудь помочь мне с этой формулой, чтобы она больше соответствовала реальному фондовому рынку?
$itensity
может быть отрицательным, тогда вы получите (потенциально)rand(5,-10)
, который является недопустимым набором аргументов. максимальное значение не может быть меньше минимального. - person Marc B   schedule 10.10.2013$buy
и$sell
? На них влияет то, только что пошла цена вверх или вниз? - person RBarryYoung   schedule 10.10.2013+%increase,-%decrease
неравенства. - person RBarryYoung   schedule 10.10.2013