Шаг цены и шаг количества
Оба задаются для каждого рынка и публикуются в спецификации контракта. Ордер, который под них не подходит, отклоняют, а не подгоняют молча: площадка, которая тихо округлила бы вашу цену, меняла бы ваш ордер, не сказав вам об этом.
Округление — это решение о риске
Направление округления — не вопрос форматирования. Каждый выбор округления отдаёт кому-то долю ошибки, и правило здесь одно: там, где ошибка создаёт риск, округляем консервативно; там, где ошибка стала бы систематическим перераспределением, округляем честно.Консервативное округление против счёта
Закономерность: всё, что отвечает на вопрос сколько этот счёт может на себя взять, округляется против счёта. Маржинальное требование, округлённое вниз на долю единицы и повторённое на каждой позиции площадки, — это систематическое занижение риска: мелкое в каждом отдельном случае и ровно того сорта, что всплывает только тогда, когда это важно.
Честное округление
Это те поля, где постоянное направление было бы перераспределением, а не запасом прочности. Комиссия, которая всегда округляется вверх, — скрытая наценка; которая всегда вниз — субсидия. Округление половины вверх не оставляет систематического преимущества ни одной стороне.
Одно исключение: комиссия, которая округлилась бы до нуля, вместо этого округляется вверх. Сделка, которая не платит комиссию вовсе, хуже сделки, которая платит минимальную представимую величину.
Поэтому стоимость позиции, использование маржи и показанная прибыль могут отличаться на минимальную единицу от того, что вы посчитаете сами. Это не ошибка, а правило округления для конкретного поля, применённое намеренно.
Что это значит на практике
- Приводите цену и объём к шагу цены и шагу количества перед отправкой. Ордер, отклонённый из-за цены не по шагу, — самая частая причина отказа, которой можно было избежать.
- Не набирайте объём до последней единицы. Свободное обеспечение округляется вниз, а маржа — вверх, поэтому ордер ровно на весь доступный баланс может быть отклонён. Оставляйте запас.
- Ожидайте небольших расхождений в отображении. Чтобы воспроизвести значение точно, нужно применить то же правило округления к тем же целочисленным входным данным, а не пересчитывать с плавающей запятой.
- Восстанавливайте из целых чисел. Если вы сверяете данные программно, работайте в единицах протокола. Перевод в десятичный тип и обратно возвращает ровно ту неоднозначность, ради устранения которой целые числа и введены.
Что дальше
Рынки
Шаги цены и количества и спецификации контрактов по каждому рынку.
IntentionKernel
Почему арифметика с фиксированной запятой — требование консенсуса.
Режимы маржи
Где консервативное округление проявляется в доступном балансе.
Комиссии
Как начисления считаются и округляются.