Меня спросили по эл.почте про выставление рыночной заявки на покупку ЦБ клиентом интернет-трейдинга.
Цитата:
Хочу ввести какие-то ограничения, чтобы недопустить ухода клиентской позиции по деньгам в минус. Но как рассчитать, хватит ли денег у клиента - не могу придумать. Стаканы постоянно меняются и т.п.
Решил, что эта тема может быть интересна многим. Вот мой ответ:
Данная проблема возникает только при использовании транзитного счета. Если клиент торгует со счета собственника, то биржа отследит достаточность и денег (счета на бирже никогда не уходят в минус).
Мое мнение - в теории минусов по рыночным заявкам избежать нельзя, можно лишь уменьшить вероятность этого и то только введя очень жесткие ограничения.
Например, ограничивая кол-во бумаг (Q_max) в заявке в зависимости от лучшего оффера (P_best_offer) и свободного остатка денег (S_free), допуская, что средняя цена покупки будет в X раз больше лучшего офера.
Q_max = S_free / (P_best_offer * X), где Х, например, = 1.5
Насколько я помню, на рынке заявок УБ нельзя выставить офер более чем на 50% выше лучшего офера. Но нужно понимать, что это ограничение биржи не означает, что лучший офер всегда на 33% меньше худшего, так как худший офер мог быть выставлен с утра, после чего рынок, например, сильно упал.
Поэтому более консервативный подход: Q_max = min {S_free / (P_best_offer * X); S_free / (P_worst_offer)}