Budżet: 2000 UAH Termin: 5 dni
Dobry dzień . Mogę pracować w C/C++. Trzeba rozmawiać o zadaniach.
Нужно добавить новый метод расчета справедливой цены в функцию void calcFairValue(), выбор методов доступен в веб-интерфейсе ( это поле fv в разделе Protection, на скриншоте выбран метод BBO).
Изменения кода заливаем на в репозиторий Git.
Детально:
Есть код на Python который по данным из ws API в реальном времени считает и пишет результат функции в файл.
Нужно или сразу обратиться из С++ к данным из метода Python через so библиотеку или можно считывать результат из файла для каждого значения параметров spread и imbalance, далее выбирать нужное значение корректировки adj и прибавлять его к текущей средней цене:
BBO = (bestAsk - bestBid) / 2.
Расчет параметров:
spread = bestAsk - bestBid
imbalance = bestBidsize / (bestBidsize +bestAsksize)
В void calcFairValue() это соответственно переменные:
bids.cbegin()->price = bestBid
bids.cbegin()->size = bestBidsize
asks.cbegin()->price = bestAsk
asks.cbegin()->size = bestAsksize
К примеру, текущие значения равны:
spread = 0.01
imbalance = 0.25, данное значение попадает в интервал от 0.2 до 0.4
Корректировка adj для spread 0.01 и интервала imbalance 0.2 до 0.4 равна значению 0.005 из файла.
Тогда FairValue = BBO + adj
Название для метода: MP
В файле построчно:
Текущая метка времени записи
Значение spread
Интервалы imbalance для данного spread
Значение adj для интервала imbalance и spread
Количество связок (spread, imbalance ->adj) и интервалов для них может изменяться, например 6 спредов и 10 интервалов imbalance.
Пример файла для 4 spread и 6 интервалов imbalance:

Programowanie stron internetowych 69 ofert 3 sierpnia
Testowanie i kontrola jakości 14 ofert 29 lipca
14 ofert 28 lipca
PHP 69 ofert 28 lipca