Тимофей Мартынов , может пора уже как-то перепилить ИОТС? Смотрим вот по состоянию на сейчас — ИОТС = 3. О, отлично, рынок настроен мега-бычьи, закупаемся на всю котлету! Стоп, проверим, сколько это у нас человек понимается под «рынок» и «трейдерами СмартЛаба»? Блин, количество оптимистов = 3, количество пессимистов = 1, тьфу ты, котлета отменяется =)
Предлагаю полечить это очень просто, стандартной регуляризацией: вместо формулы ИОТС = (кол-во оптимистов) / (кол-во пессимистов) считать индекс как (кол-во оптимистов + С) / (кол-во пессимистов + C), где C — это значение, такое, что C только оптимистов приводят к росту индекса на 1. Скажем, я бы предложил взять C в районе 10-20 для адекватного результата.
Тогда при состянии как сейчас и С=20, например, ИОТС = 23/21 = 1,1. Т.е. видим, что оптимизм, но умеренный (либо мало проголосовавших, что по факту и наблюдается) — котлетка может подождать. Даже если никто не проголосует — все равно получаем валидное и нейтральное значение индекса = 1, в отличие от того, что мы имеем сейчас.
P.S. Либо С может варьироваться динамически, для учета колебания аудитории. Например, С = (суммарное количество проголосовавших за последний месяц) / 40
а «никто не проголосует» и «нейтральное значение индекса» это разные вещи имхо, я бы их алгоритмически разделил
т.е. если (О+П)<30, индекс просто невалиден, т.е. выдает N/A, а не 0, не 1, не 0.5 и т.п.