А не бывает таких средневзвешенных значений. Веса, по определению, неотрицательны.
То есть, при наличии отрицательных весов средневзвешенное значение не определено?
А как быть, если оно всё-таки нам требуется?
Можно уточнить, в какого рода задаче возникла такая необходимость?
Да вообще-то меня уже давно этот вопрос просто в целом интересует. :)
Но если нужен конкретный пример, то вот, навскидку. (Сразу оговорюсь, пример упрощённый, не учитывает всякие брокерские комиссии и т.д.)
Допустим (все значения взяты с потолка), мы купили 2 акции компании по цене 205 рублей, спустя некоторое время докупили 5 её акций по 207 рублей, и затем ещё 3 её акции по цене 221 рубль. Теперь нам надо узнать, во сколько в итоге обошлась нам каждая акция, чтобы понять, ниже какой цены их будет невыгодно продавать (цена продажи не должна быть ниже цены покупки). Для этого логично общее количество затраченных средств разделить на количество имеющихся на руках акций. Нетрудно догадаться, что так мы найдём средневзвешенную цену одной акции. Мы рассматриваем цены акций как элементы, а их количества при каждой покупке — как веса элементов:
Получается, если цена акции опустится ниже 210,8 руб., то имеющиеся на руках акции будет уже невыгодно продавать.
Всё просто и красиво, пока мы только покупаем акции, не продавая их. Если же мы уже и покупали акции, и продавали часть, и снова покупали — то понять, какова сейчас минимальная выгодная для продажи цена акции, уже не так просто.
И тогда сама собой напрашивается идея пометить цены, по которым мы продавали акции, отрицательными весами. Как результат, у нас в числителе будет разность общего количества затраченных средств и полученной прибыли, т.е. останутся только те траты, которые ещё не были возмещены. А в знаменателе будет разность количеств купленных и проданных акций, т.е. их текущее количество. Таким образом мы снова получаем в итоге отношение потраченных денег к количеству имеющихся акций, т.е. усреднённую цену одной акции для нас (во сколько она нам обошлась).
Например, после описанных выше действий мы ещё продали 5 акций по цене 217 рублей и чуть позже продали 2 акции по цене 209 рублей. Тогда:
Получается, каждая из 3 оставшихся у нас на руках акций компании обошлась нам в 201,67 руб., и если мы продадим акции по цене ниже этой, то понесём убытки.
Но этот подход работает только если открыть на бирже длинную позицию (long) и уже не закрывать её полностью, т.е. если никогда не продавать больше или столько же акций, сколько имеется на руках на данный момент. Если же иногда полностью закрывать позицию (продавать все акции компании), а иногда открывать и короткие позиции (short), т.е. брать акции взаймы у брокера, чтобы выкупить их по более низкой цене — то количество имеющихся на руках акций будет иногда проходить через 0 и уходить в область отрицательных значений. В этом случае формула средневзвешенной цены акции начнёт вести себя странно. :)
Отсюда можно сделать следующие выводы:
1. Никогда не стоит играть на бирже, если нет очень чёткого понимания, что и зачем делаешь. :)
2. Здесь скрывается какой-то любопытный математический подводный камень, с которым хотелось бы разобраться подробнее.
3. "Когда глаза у него сделались фасетчатыми, все вдруг поняли, что притащили из леса не ёжика, а вообще непонятно что" — судя по всему, формула средневзвешенного значения с использованием отрицательных весов — это вообще не формула средневзвешенного значения, а что-то другое. :) Тоже усреднённое, тоже применимое на практике (с учётом некоторых ограничений), но другое. Или нет?