Калькулятор фьючерсов криптовалют полезен не тогда, когда быстро показывает большой процент прибыли, а когда позволяет проверить каждую исходную величину. Один и тот же экран может содержать количество контрактов, стоимость позиции, залог, доступный баланс и доходность относительно маржи. Эти числа связаны, но не взаимозаменяемы. Ошибка в единице размера способна изменить расчёт в десятки раз, а пропущенная комиссия — превратить небольшую ожидаемую прибыль в убыток.

Этот материал посвящён работе с расчётным инструментом: какие поля заполнить, как убедиться в правильности формулы, как сопоставить несколько сценариев и что делать, если результат не совпадает с биржевым интерфейсом. Устройство самих контрактов разобрано в руководстве как работают фьючерсы в криптовалюте. Здесь основная задача другая: получить проверяемую расчётную карточку одной позиции, а не повторно изучить всю теорию деривативов.

В учебном калькуляторе предусмотрены линейная и обратная конструкции, long и short, комиссии открытия и закрытия, отдельный денежный поток funding, предполагаемый выход, неблагоприятное исполнение стопа, ограничение размера по бюджету и упрощённая isolated-модель порога. Он не подключается к счёту, не отправляет заявки и не получает котировки автоматически. Каждый результат относится только к введённым допущениям; слово «рассчитать» не означает «предсказать» или «гарантировать исполнение».

Все цены, ставки и размеры в примерах условные. Их нельзя воспринимать как действующие параметры какого-либо инструмента. Различия биржевых формул проверены по первоисточникам на 5 сентября 2026 года, но параметры конкретного контракта, режим счёта и тариф следует проверять непосредственно перед операцией. Учебная модель не учитывает налоги, заём, портфельную компенсацию рисков, многоактивный залог и процедуру принудительного закрытия.

Основное правило: сначала установите единицы и границы модели, затем рассчитайте отрицательный сценарий и только после него положительный. Положительный PnL в выбранной конечной точке не доказывает, что позиция могла пережить весь путь до этой точки.

1. Паспорт расчёта: какие данные нужны калькулятору

Начинайте с точного продукта, а не с тикера монеты

Надписи BTC, Bitcoin и BTCUSD не являются достаточной спецификацией. Нужно установить площадку, символ, тип контракта, валюту котировки, валюту результата и единицу размера. Позиция может иметь линейный результат в USDT, обратный результат в BTC или другую конструкцию, которую данный калькулятор вообще не поддерживает. Тикер базового актива не выбирает формулу за пользователя. Сохраните название продукта рядом с расчётом, даже если сам инструмент позволяет работать без него.

В строке «тип» выбирают не наиболее знакомое слово, а фактическую математическую конструкцию. Подставлять coin-margined продукт в линейную формулу лишь потому, что экран показывает долларовую цену, неправильно. В документации OKX отдельно приведены формулы для контрактов с расчётом в криптовалюте и для USDT-маржируемых продуктов; там также явно присутствуют номинал единицы и множитель. Это полезный пример того, почему количество контрактов сначала нормализуют. [1]

Четыре величины, которые нельзя назвать одной «суммой»

Разделите размер позиции, входной номинал, выделенное обеспечение и капитал всего счёта. Для линейного примера 0,2 BTC по 50 000 дают номинал 10 000 единиц котировки. При условном плече 10 базовая оценка начальной маржи равна 1 000. Однако пользователь может выделить 1 500, а на всём счёте иметь 4 000. Эти четыре числа отвечают на разные вопросы: чувствительность, экспозиция, запас обеспечения и общая концентрация риска.

Когда поле подписано только «сумма», выясните его смысл до вычисления. При вводе 1 000 как размера вместо маржи калькулятор не обязан догадаться о намерении пользователя. В нашем инструменте размер вводится непосредственно: базовое количество для линейного продукта или фиксированный долларовый номинал для обратного. Маржа находится в отдельном поле. Такой выбор намеренно исключает скрытую операцию «любую сумму автоматически умножить на плечо».

Количество контрактов переводится через спецификацию

Если один линейный контракт соответствует 0,01 базового актива, семь контрактов означают количество 0,07. Если обратная единица имеет фиксированную стоимость 100 USD, семь единиц образуют номинал 700 USD. Дополнительный множитель учитывается ровно один раз. После преобразования исходное количество контрактов сохраняют в паспорте: это позволяет вернуться к биржевой заявке и проверить, не потерян ли коэффициент.

Практический контроль — сверить стоимость одного минимального изменения цены. Для линейной позиции количество умножается на размер тика. Получившаяся чувствительность должна совпасть с независимым расчётом по числу контрактов и стоимости тика единицы. CME описывает расчёт результата именно через размер контракта, изменение цены и число контрактов. Это общая проверка размерности, а не перенос параметров конкретного продукта CME на криптоплощадку. [2]

Цена входа, mark и предполагаемый выход — разные поля

Цена входа берётся из исполнений или из явно обозначенного сценария. Mark нужен для оценки состояния обеспечения. Предполагаемый выход используется для гипотетического закрытия и комиссии этого закрытия. Совпадение двух цен в одном примере допустимо, но не делает их одним показателем. Ошибка появляется, когда пользователь берёт mark для красивого PnL и одновременно предполагает, что по нему можно немедленно исполнить весь объём.

В паспорте укажите время каждого наблюдения и источник. Для уже открытой позиции средняя цена входа может относиться к прошлому, mark — к текущей секунде, а выход — к будущему условию. Смешивание этих времён не запрещено в сценарной модели, если роли подписаны. Оно недопустимо при попытке выдать сценарий за фактическую бухгалтерию счёта. Для рынка с широким спредом используйте отдельно ожидаемое исполнение, а не центральную котировку.

Ставка в процентах и десятичная доля

Комиссия 0,05% означает множитель 0,0005. В нашем интерфейсе процентные поля принимают именно число 0,05, после чего программа делит его на сто. Денежный funding вводится иначе: числом в валюте расчёта, с плюсом для получения и минусом для выплаты. Не вставляйте ставку funding в денежное поле. Значение −5 означает расход пяти единиц расчётной валюты, а не отрицательную ставку пять процентов.

Проверка единиц должна быть простой: комиссия в процентах умножается на стоимость, а денежный поток складывается с результатом. Если выражение складывает 0,01% и 12 USDT, оно неверно ещё до выбора калькулятора. Для удобства разрешены десятичная точка и запятая, но разделители тысяч лучше убрать. Пустое обязательное поле не считается нулём: инструмент должен запросить значение, а не незаметно изменить финансовый смысл задачи.

Поле Линейный продукт Обратный продукт Контроль
Размер Количество базового актива q Фиксированный номинал D в USD Множитель уже учтён
Результат В валюте котировки и расчёта В базовом активе Не складывать BTC и USDT
Обеспечение C До входной комиссии До входной комиссии, в базовом активе Не текущий баланс после тех же расходов
Funding F Денежный поток Денежный поток в базовом активе Плюс получение, минус выплата
Ставка комиссии Процент от соответствующего номинала Процент от стоимости D / цена 0,05 вводится как 0,05%

Упражнение 1. Условная единица контракта равна 0,002 BTC. Пользователь приобрёл 35 единиц по 60 000, выбрал плечо 7 и выделил 900 USDT. Нормализованный размер составляет 0,07 BTC, входной номинал — 4 200, базовая маржа — 600. В поле размера нельзя вводить ни 35, ни 900. Разница 300 между выделенным капиталом и базовой маржой ещё не является свободным безопасным запасом: отдельно учитываются комиссии и требования продукта.

2. Линейный PnL: расчёт от исполнений до чистого результата

Зафиксируйте знак позиции один раз

Для long используем знак s = +1, для short — s = −1. При положительном размере q, цене входа E и цене выхода X валовой результат линейного контракта равен s × q × (X − E). Размер остаётся положительным в обоих случаях. Если сделать его отрицательным и одновременно выбрать short, знак будет перевёрнут дважды. Поэтому хороший калькулятор либо хранит знаковое количество, либо сторону отдельно, но не смешивает эти соглашения.

Откройте две учебные карточки с одинаковыми q, E и X, поменяв только сторону. До расходов результаты должны отличаться знаком. После одинаковых положительных комиссий они уже не обязаны быть точными противоположностями: обе стороны несут затраты. Такой парный тест быстро обнаруживает ошибки в комиссии и соглашении о стороне. Он проверяет арифметику, но не утверждает, что на реальном рынке две позиции можно исполнить по одинаковым ценам.

Вычитайте отдельные комиссии открытия и закрытия

В простой линейной модели входная комиссия равна q × E × fₒ, выходная — q × X × f꜀. При отличающихся ценах даже одинаковая ставка даёт разные денежные суммы. Чистый результат после полного закрытия: s × q × (X − E) − qE fₒ − qX f꜀ + F. Здесь F — подписанный денежный поток, который не содержит уже учтённых торговых комиссий. Реальный журнал может включать дополнительные сборы, и тогда модель необходимо расширить.

Пример: q = 0,08 BTC, E = 50 000, X = 52 000, обе ставки по 0,05%, funding равен −3. Валовой результат long — 160. Открытие стоит 2, закрытие — 2,08, поэтому чистый результат составляет 152,92. Если пользователь вычел только входную комиссию или посчитал закрытие по старому номиналу, расхождение уже можно локализовать. Общее разделение торговых комиссий и funding подтверждается документацией продукта. [3]

Средняя цена нескольких входов

Для одной стороны линейного контракта средняя цена равна сумме qᵢEᵢ, делённой на сумму qᵢ. Важно брать реальные исполнения, включая дробные части, а не цену отправленной заявки. Если куплено 0,04 по 48 000 и 0,06 по 50 000, итоговый размер равен 0,10, а средняя цена — 49 200. При полном закрытии по 51 000 валовой результат составляет 180. Расчёт по каждой партии отдельно должен дать ту же сумму.

Комиссии не обязательно включаются биржей в отображаемую среднюю цену. Не исправляйте её вручную, пока не определили модель учёта. Для собственной экономической безубыточности расходы можно учитывать отдельным выражением. Это позволяет не смешивать цену позиции с ценой, необходимой для покрытия затрат. В спорной ситуации сохраняйте одновременно среднюю цену без расходов и полный список комиссий, а не одну самодельную «улучшенную среднюю».

Частичное закрытие — новая строка журнала

Пусть позиция 0,10 имеет средний вход 49 200. Закрытие 0,03 по 50 000 реализует 24 до комиссии, а оставшиеся 0,07 продолжают нести ценовой риск. Если затем остаток закрывается по 48 500, его результат равен −49. Общий валовой итог двух закрытий — −25. Нельзя использовать только последнюю цену и забыть ранее реализованные 24; нельзя и прибавить их повторно к результату, уже рассчитанному по всем исполнениям.

В одиночном калькуляторе полного закрытия этот сценарий воспроизводится двумя карточками с соответствующими количествами. Входную комиссию при этом распределяют между частями пропорционально размеру, если условия позволяют такое распределение. Funding привязывают к реальному времени и остатку. Если программа не поддерживает журнал событий, она должна честно ограничиться одной неизменной позицией, а не изображать точную историю многократных доборов и закрытий.

Предположение об исполнении отделяйте от измеренного факта

До сделки цена X является предположением. После закрытия её заменяют средневзвешенной ценой фактических исполнений. Если неблагоприятное проскальзывание уже отразилось в X, повторное вычитание того же проскальзывания денежной строкой завысит расходы. Напротив, расчёт по идеальной цели без поправки на реализацию занижает их. Выберите один способ: реальные цены либо прогнозные цены с явно заданной поправкой.

Например, плановая продажа по 52 000 исполнилась в среднем по 51 950. Для 0,08 BTC разница составляет 4 единицы котировки. При расчёте по 51 950 эти четыре уже находятся внутри ценового PnL. Они полезны как отдельная диагностическая метрика качества исполнения, но не как ещё один расход, вычитаемый из того же результата. Детальнее различие ожидания и исполнения разбирает материал что такое проскальзывание.

Контроль нулевого движения

Подставьте X = E. Валовой результат обязан стать нулём, а чистый останется суммой расходов и прочих потоков. При q = 0,08, E = 50 000, ставках по 0,05% и F = −3 получится −7. Если калькулятор показывает прибыль при нулевом движении без положительного денежного потока, проверьте знак комиссии. Такой тест проще большого набора случайных примеров и часто находит критическую ошибку сразу.

Далее удвойте размер, оставив цены и ставки прежними. Валовой результат и торговые комиссии удвоятся. Фиксированный введённый F автоматически удваиваться не должен: это денежная сумма сценария, а не ставка на единицу. Для нового размера прогноз funding необходимо пересчитать отдельно. Это ограничение важно и при сравнении нескольких вариантов: одна и та же цифра расходов не всегда допустима для разных позиций.

Сценарий для 0,08 BTC Валовой PnL Комиссии F Чистый PnL
Long 50 000 → 52 000 160 4,08 −3 152,92
Short 50 000 → 52 000 −160 4,08 −3 −167,08
Long 50 000 → 50 000 0 4 −3 −7
Long 50 000 → 51 950 156 4,078 −3 148,922

Упражнение 2. Short 0,15 BTC открыт по 42 000 и закрыт по 40 500. Ставка входа 0,02%, выхода 0,06%; получено funding 1,5. Валовой результат — 225, комиссии — 1,26 и 3,645, чистый итог — 221,595. Получение funding прибавляется, но знак short не должен ещё раз переворачивать уже введённый денежный поток.

3. Обратные контракты: почему долларовую цену считают в BTC

Фиксированный номинал вместо постоянного базового количества

Обратный контракт в рассматриваемой модели имеет фиксированный номинал D в USD, но финансовый результат выражается в базовом активе. Для long используется D × (1 / E − 1 / X), для short — противоположный знак. Значение D / E показывает стоимость номинала в базовом активе при входе. При другой цене X эта стоимость меняется: нельзя считать D / E неизменным количеством линейной позиции и получать по нему точный результат в BTC.

В документации Bybit для обратных контрактов отдельно приведены формулы через обратные цены, а также способ расчёта средней цены. Это не косметическое отличие в подписи валюты. Другая формула меняет чувствительность, размер комиссий в монетах и связь результата с залогом. Наш калькулятор использует фиксированный номинал без дополнительного quanto-множителя. Для иной спецификации сначала нужна другая модель, а не подстановка привычного тикера. [4]

Комиссия тоже переводится в базовый актив

При ставках fₒ и f꜀ входная комиссия равна D × fₒ / E, выходная — D × f꜀ / X. Чистый результат в базовом активе составляет sD(1/E − 1/X) − Dfₒ/E − Df꜀/X + F. В этой записи каждый член выражен в одной валюте. Если funding дан в USD, его нельзя непосредственно прибавить: необходимо восстановить сумму и курс именно соответствующего расчётного события.

Возьмём D = 4 000, E = 40 000, X = 50 000, сторону long, комиссии 0,02% и 0,06%, выплату F = −0,00003 BTC. Валовой результат равен 0,02 BTC. Входная комиссия составляет 0,00002, выходная — 0,000048. Чистый результат — 0,019902 BTC. Только после этого допустима дополнительная оценка в долларах по явно названному курсу. Валюта отображения не должна менять первичный расчёт.

Усреднение обратной позиции

Для нескольких входов одной стороны сначала суммируют фиксированные номиналы Dᵢ, затем вычисляют сумму Dᵢ / Eᵢ. Средняя цена получается делением общего номинала на эту сумму. Это номинально взвешенная гармоническая конструкция, а не обычное среднее цен. Она следует из требования, чтобы результат объединённой позиции совпал с суммой результатов отдельных входов при любом общем выходе.

Например, номиналы 1 000 по 25 000 и 3 000 по 50 000 дают общую стоимость 0,04 + 0,06 = 0,10 BTC. Общий D равен 4 000, поэтому средний вход — 40 000. При выходе по 50 000 результат long составляет 0,02 BTC: первая часть принесла 0,02, вторая — ноль. Арифметически взвешенная цена 43 750 дала бы другое число и нарушила проверку по отдельным исполнениям.

Доходность в монетах и изменение долларового капитала

Предположим, под предыдущий пример выделено C = 0,02 BTC до комиссии. Чистый результат 0,019902 BTC относительно этого количества составляет 99,51%. Но это доходность в BTC, а не полный долларовый результат залога. Начальные 0,02 BTC при E = 40 000 оценивались в 800 USD. Конечные 0,039902 BTC при X = 50 000 оцениваются в 1 995,10 USD. Разница — 1 195,10, потому что выросла также долларовая стоимость исходных монет.

Умножение только чистого PnL на 50 000 даёт 995,10 USD. Оставшиеся 200 относятся к переоценке начального обеспечения. Такой расчёт допустим при отсутствии других вводов и выводов и при заданных курсах начала и конца. Если капитал поступал частями, простая разность уже не описывает доходность корректно. Не путайте финансовый результат контракта, результат владения залогом и денежные потоки пополнения.

Обратная short-позиция не отменяет все риски монетного залога

Номинальный short может частично компенсировать долларовое изменение стоимости монет, однако точная компенсация зависит от количества залога, размера контракта и горизонта. Сам факт выбора short не превращает счёт в долларовый депозит. Комиссии, funding, изменения обеспечения и ограничение доступного баланса продолжают существовать. Калькулятор одной позиции показывает договорный результат, но не обязан знать всю экономическую конструкцию пользователя.

Для проверки хеджа создайте отдельную таблицу: исходные монеты, результат производного инструмента, все потоки в монетах, курс оценки и расходы. Затем проверьте несколько цен, а не одну удобную точку. Если при росте и падении исходный капитал ведёт себя по-разному, это может быть свойством конструкции, а не ошибкой калькулятора. До определения этих связей нельзя подписывать итог как «безрисковая долларовая доходность».

Сценарий может не иметь положительной цены решения

В обратной модели некоторые обратные задачи приводят к нулевому или отрицательному знаменателю. Например, требуемая прибыль в монетах может превышать предел, достижимый при росте цены для заданного long-номинала и расходов. В такой ситуации правильный результат — отсутствие положительного решения в данной модели. Показывать отрицательную цену или бесконечность как обычный торговый ориентир нельзя.

Интерфейс должен объяснить, какое ограничение сработало, и сохранить исходные данные. Изменять автоматически знак, уменьшать цель или подставлять очень большое число вместо бесконечности недопустимо: это незаметная подмена задачи. Аналогичный принцип применяется к ликвидационному порогу и бюджету размера. Отказ от численного ответа при несовместимых условиях — необходимая функция финансового инструмента, а не признак недостаточной точности.

Проверка Правильный подход Типичная подмена
Размер inverse Фиксированный USD-номинал D Постоянное q = D / E
Средний вход ΣD / Σ(D / E) Арифметическое среднее
Комиссия выхода D × ставка / X Комиссия в USD без конвертации
Результат Сначала BTC, затем оценка Смешивание USD и BTC
Недостижимая цель Нет положительного решения Отрицательная цена как сигнал

Упражнение 3. Обратный short имеет номинал 3 000 USD, E = 30 000 и X = 24 000. Валовой результат — 0,025 BTC. При комиссиях по 0,04% вход стоит 0,00004, выход — 0,00005. Если дополнительных потоков нет, остаётся 0,02491 BTC. Смена short на long меняет знак только валовой части; комиссии остаются расходами.

4. Плечо, капитал и размер: решаем прямую и обратную задачи

Плечо не является дополнительной кнопкой умножения прибыли

При уже заданном размере линейный PnL определяется количеством и разностью цен, обратный — номиналом и обратными ценами. Изменение поля плеча при неизменных размерах не должно менять денежный ценовой результат. Оно меняет теоретическую начальную потребность в обеспечении и процент результата относительно этой базы. Если программа одновременно оставляет q прежним и ещё умножает прибыль на плечо, она считает увеличение экспозиции дважды.

Проведите контроль: для 0,1 BTC и движения на 1 000 валовой линейный результат равен 100 при плече 2, 5 или 10. При E = 40 000 базовая маржа по модели N/L равна соответственно 2 000, 800 и 400. Проценты относительно маржи различаются, деньги — нет. Различие между unrealized PnL и его процентным выражением отдельно отмечается в документации Bybit. [5]

Теоретическая маржа не равна точной стоимости заявки

В калькуляторе IM₀ = qE/L для линейного продукта и IM₀ = D/(EL) для обратного. Это упрощённая входная оценка по выбранной цене, не обещание допуска заявки. Реальная площадка может учитывать mark, резерв закрытия, активные ордера, risk tier, позиционный режим и другие составляющие. Сравнивать IM₀ с экраном можно только после приведения обеих величин к одинаковым определениям.

Текущий глоссарий Bybit, например, разделяет начальное требование активной заявки и открытой позиции, включая оценочные комиссии и разную базу стоимости. Поэтому наше поле подписано как «базовая маржа по E/L», а не «биржа спишет ровно столько». В статье используется собственная учебная проверка бюджета: IM₀ плюс входная комиссия и условный резерв закрытия на входном номинале. Она не заменяет фактическую функцию проверки заявки платформы. [6]

Режим «задан размер» и режим «задан капитал»

В прямой задаче пользователь вводит q или D и получает результат, потребность в марже и убыток при стопе. В обратной задаче он задаёт ограничения и ищет максимально допустимый размер по собственной модели. Эти задачи нельзя смешивать: если одновременно зафиксировать размер, маржу и плечо, числа могут оказаться несовместимыми. Калькулятор должен показать конфликт, а не выбрать одно ограничение молча.

Для линейной модели при капитале C, входе E, плече L и ставках входной комиссии fₒ и резервирования k оценка размерного предела по бюджету равна C / [E × (1/L + fₒ + k)]. Это не рекомендация использовать весь предел. Это верхняя граница при конкретных упрощениях. Непредвиденные расходы и другие позиции в ней отсутствуют, а значит отдельный резерв пользователя не должен исчезать лишь потому, что формула допускает большой размер.

Бюджет убытка начинается со стоп-исполнения

Пусть S — предполагаемая фактическая цена неблагоприятного закрытия, а не только триггер ордера. Для long она ниже E, для short — выше E. Удельный убыток линейной позиции с комиссиями составляет −s(S − E) + E fₒ + S f꜀. Если бюджет риска R выражен в валюте расчёта и ожидается фиксированная выплата F < 0, предельное количество равно (R − |F|), делённому на удельный убыток.

Если ожидается получение F > 0, в консервативной оценке размера мы не увеличиваем за его счёт допустимый риск. Такой доход ещё может не возникнуть. Результат сценария при этом показывает введённый F честно, со знаком. В обратной конструкции удельный убыток на один USD-номинала выражается в базовом активе: −s(1/E − 1/S) + fₒ/E + f꜀/S. Бюджет R тоже должен быть в базовом активе.

Ограничения применяются совместно

Предельный размер по риску может оказаться больше доступного размера по марже. И наоборот: большой баланс позволяет открыть объём, который не соответствует заданному убытку. Для оценки берут меньшее из двух значений, затем округляют вниз по шагу количества. Дополнительно реальная заявка должна пройти максимальный размер, минимальную стоимость, ограничения ликвидности и правила продукта. Наш инструмент не выдаёт пропуск этих проверок за разрешение торговать.

Само слово «максимальный» относится здесь к модели, а не к безопасному объёму. При скачке цены S не является гарантированной границей потерь. Когда даже одна минимальная единица не укладывается в бюджет, корректный результат — нулевой допустимый размер. Автоматически округлять до минимальной заявки вверх нельзя: это нарушает исходное ограничение пользователя. Точно так же нельзя советовать увеличить бюджет только ради того, чтобы калькулятор показал ненулевое число.

Расчётный пример ограничения размера

Пусть C = 600 USDT, E = 50 000, S = 49 000, R = 35, L = 5, fₒ = f꜀ = 0,05%, k = 0,05%, а F = −2. Удельный стоп-убыток равен 1 000 + 25 + 24,5 = 1 049,5. Предел по риску — 33 / 1 049,5 ≈ 0,0314435 BTC. Предел по начальному бюджету — 600 / 10 050 ≈ 0,0597015 BTC. Риск ограничивает раньше маржи.

При шаге 0,001 берём 0,031 BTC. Его модельный убыток составляет 0,031 × 1 049,5 + 2 = 34,5345, то есть укладывается в 35. Следующий шаг 0,032 дал бы 35,584 и нарушил бюджет. Проверка соседней ступени важнее длинного числа после запятой: она показывает, что ограничение действительно соблюдено после округления, а не только в непрерывной формуле.

Ограничение примера Результат Что означает
Размер по стоп-риску ≈ 0,0314435 BTC Без округления
Размер по начальному бюджету ≈ 0,0597015 BTC Упрощённое входное требование
После шага 0,001 0,031 BTC Выбран меньший предел
Убыток выбранного размера 34,5345 USDT При заданном S и F
Убыток следующего шага 35,584 USDT Выше бюджета

Упражнение 4. Оставьте предыдущие цены и ставки, но уменьшите капитал до 200. Предел по марже станет около 0,0199005 BTC, и после округления размер составит 0,019. Его стоп-убыток — 21,9405. Это не ошибка: ограничение капитала теперь строже бюджета убытка. Не нужно искусственно доводить потери до 35, если другой предел уже остановил увеличение позиции.

5. Комиссии, funding, безубыточность и честный процент доходности

Денежный funding удобнее неподтверждённой будущей ставки

Для одной завершённой позиции funding лучше брать из истории отдельных расчётов. Для будущего сценария его приходится оценивать, поскольку меняются ставка, цена, размер и время удержания. В нашем калькуляторе вводится итоговый денежный поток F. Это позволяет не притворяться, что текущая ставка останется неизменной, и не закладывать универсальный восьмичасовой интервал. Подробный переход от ставки к платежам вынесен в материал ставка финансирования криптовалют и расчёт funding.

Сам знак введённого F уже описывает финансовое последствие для вашей стороны: получение положительно, выплата отрицательна. Повторное умножение этого знака на long или short недопустимо. У биржевого отчёта может быть другое соглашение, например положительная цифра обозначает списание. Перед переносом из отчёта приведите её к соглашению калькулятора. Документация Bybit показывает как направление платежей между сторонами, так и особенности отображения соответствующих строк. [7]

Почему нельзя умножить любой funding на число часов

Нужно знать, отражает ли ставка платёж на отдельном событии или непрерывное начисление за обозначенный период. В первом случае удержание непосредственно до и после расчёта может оказаться важнее общей длительности. Во втором учитывается доля времени. Deribit описывает непрерывный funding при отображении ставки в восьмичасовом выражении. Поэтому один и тот же ввод «держать два часа» не имеет универсального финансового значения без спецификации. [8]

Для сценарной карточки запишите две версии: ожидаемую и более неблагоприятную сумму funding. Обе считаются допущениями. Если стратегия перестаёт иметь смысл при небольшом увеличении расходов, проблема не решается выбором более удобного периода наблюдения. Отдельно проверьте, не придётся ли удерживать позицию дольше из-за низкой ликвидности или неисполненного лимитного выхода. Калькулятор показывает чувствительность к этим изменениям, но не определяет их вероятность.

Цена безубыточности линейного контракта

Из равенства чистого PnL нулю получается X₀ = [q(s + fₒ)E − F] / [q(s − f꜀)]. Для long при положительных расходах цена обычно выше входа, для short — ниже. Это экономическая безубыточность в заданной валюте и модели, а не уровень, который рынок обязан пройти. Ставки должны быть десятичными долями внутри формулы. Для интерфейса процентные значения переводятся программно.

В примере q = 0,08, E = 50 000, ставки по 0,05%, F = −3 цена безубыточности long составляет примерно 50 087,5438. При X = 50 000 итог отрицателен на 7, поэтому равенство входа и выхода недостаточно. Полученную цену полезно подставить обратно в полную формулу и проверить, что остаток близок к нулю. В реальном ордере затем учитывают допустимый тик и возможность исполнения всего объёма.

Целевая чистая прибыль — отдельная обратная задача

Если нужен чистый результат T, формула линейной целевой цены становится Xₜ = [q(s + fₒ)E + T − F] / [q(s − f꜀)]. Для обратного контракта Xₜ = D(s + f꜀) / [D(s − fₒ)/E + F − T]. Во второй записи T и F выражены в базовом активе. В обоих случаях решение проверяют обратной подстановкой, а отрицательный или нулевой результат по цене не превращают в торговую рекомендацию.

Эти формулы полезны для проверки чужого калькулятора, но не заменяют анализ достижимости. Требование заработать 100 не создаёт рыночной причины движения к рассчитанной цене. Кроме того, предполагаемое удержание до более далёкой цели может изменить F, поэтому обратная задача иногда требует нового сценария расходов. Нельзя сначала выбрать маленький funding, потом увеличить срок в десять раз и сохранить видимость прежней точности.

ROI требует названия знаменателя

Чистый PnL можно разделить на теоретическую начальную маржу, выделенный капитал или весь счёт. Результаты будут разными, и ни один процент нельзя оставлять без подписи. При прибыли 100, IM₀ = 500, C = 1 000 и капитале счёта 5 000 получаются 20%, 10% и 2%. Первое число хорошо выглядит в рекламе, но не описывает изменение всего финансового положения пользователя.

В калькуляторе выводятся отдельно отношение чистого результата к IM₀ и к C, причём валюта знаменателя совпадает с валютой результата. Для inverse это проценты в базовом активе. Они не являются долларовой доходностью всего счёта. Если были пополнения, выводы или несколько независимых позиций, нужен полноценный учёт денежных потоков. Базовые различия реализованного результата, открытого PnL и баланса разобраны в статье как считать PnL в криптотрейдинге.

Резерв не равен уже понесённому расходу

Предполагаемая комиссия закрытия может участвовать в расчёте потребности в обеспечении. Фактическая комиссия появляется при исполнении. Если резерв уже уменьшил доступность средств, это не означает, что его нужно дополнительно вычесть из чистого результата вместе с фактической комиссией. В финансовой карточке различайте ограничение доступности, дебет баланса и ожидаемую будущую затрату. Одна сумма может фигурировать в двух задачах, но не должна дважды уменьшать один итог.

Отдельная проблема — rebate, то есть возврат части комиссии. Наш учебный интерфейс не допускает отрицательную торговую ставку, чтобы не смешивать расходы с непроверенными льготами. Подтверждённый возврат можно учитывать отдельным подписанным потоком с пояснением. Но увеличивать допустимый размер по риску за счёт предполагаемой льготы не следует. Общее сравнение курсов и простых операций без производного контракта остаётся задачей калькулятора криптовалют для конвертации и прибыли.

Показатель Смысл Чего не доказывает
Gross PnL Изменение стоимости позиции Итог после расходов
Net PnL Результат с перечисленными потоками Отсутствие неучтённых затрат
ROI / IM₀ Отношение к условной базовой марже Доходность всего счёта
ROI / C Отношение к выделенному капиталу Доходность после внешних пополнений
Безубыточность Нулевой результат заданной модели Достижимость цены
Резерв закрытия Часть требования к обеспечению Уже состоявшееся списание

Упражнение 5. Линейный long имеет q = 0,1, E = 20 000, ставки по 0,05%, F = −1 и желаемую чистую прибыль T = 25. Целевая цена равна примерно 20 280,1401. Подстановка даёт валовую прибыль около 28,0140, комиссии около 2,0140 и выплату 1, оставляя 25. Округление цены для заявки требует отдельной проверки, а не скрытого изменения T.

6. Ликвидация в калькуляторе: где заканчивается точная арифметика

Сначала определите состояние обеспечения

Учебная форма принимает C как выделенное обеспечение до входной комиссии. Для рассматриваемого контрольного момента B = C − комиссия открытия + F. Предполагается, что весь введённый денежный поток F уже учтён к этому моменту. Это важная договорённость: порог рассчитывается после указанного потока, а не одновременно «сейчас» и «когда-нибудь». Если вы вводите текущий баланс уже после комиссии и funding, повторно вычитать их нельзя.

Для реального открытого счёта потребуется восстановить исходную базу либо использовать другую модель, принимающую фактическое B напрямую. В нашей форме такая замена намеренно не скрыта. Поле C относится к одной новой позиции и сценарному учёту. Оно не знает, как площадка распределила залог после частичного закрытия или сессионного расчёта. Подробности состояния, процедуры и источника цены находятся в статье ликвидация в криптовалюте и поддерживающая маржа.

Одноступенчатая линейная модель

Обозначим поддерживающую ставку m, условный резерв закрытия k и сумму r = m + k. В нашей модели требование R(P) равно r × q × P, а капитал при mark P — B + s × q × (P − E). Порог определяется равенством этих величин. Для long получается Pₗ = (qE − B) / [q(1 − r)], для short — Pₗ = (qE + B) / [q(1 + r)]. Здесь ставки постоянны, вычет по ступени равен нулю.

Это собственная ограниченная модель, а не универсальная формула конкретной биржи. Она полезна потому, что обе стороны равенства можно воспроизвести независимо и увидеть влияние B, размера и требования. На реальной площадке могут отличаться резервы, вычеты, оценка номинала и алгоритм вмешательства. Документация Bybit подтверждает зависимость поддерживающего требования от стоимости позиции и ступени риска; перенос одной ставки между размерами без проверки недопустим. [9]

Одноступенчатая обратная модель

Для inverse капитал в базовом активе равен B + sD(1/E − 1/P), а требование — rD/P. Из равенства следуют Pₗ,long = D(1 + r)/(B + D/E) и Pₗ,short = D(1 − r)/(D/E − B). Все величины капитала и требования выражены в одной монете. Долларовый номинал D в этой записи не является долларовым балансом, который можно прибавить к B.

При нулевом знаменателе или отсутствии положительной цены калькулятор выводит отсутствие положительного порога в данной модели. Это не сообщение «ликвидация невозможна». Реальный продукт может иметь дополнительные расходы, минимальные требования, пределы цен или другую оценку риска. Для корректного результата необходимо сохранить условие, при котором алгебраическая модель перестала иметь положительное решение, а не заменить его рекламным зелёным статусом.

Проверяйте запас в деньгах, а не только расстояние до линии

В контрольной точке вычислите H = капитал − требование. Положительный H означает, что конкретная модель в этой точке ещё не нарушена; нулевой или отрицательный — что порог достигнут или пройден. Это полезнее одного процента расстояния до цены, потому что показывает влияние списаний. Для long и short направление опасного движения различается, а signed-distance без пояснения легко вводит в заблуждение.

В нашем интерфейсе при H ≤ 0 показывается предупреждение, а не обычный положительный прогноз. Даже если выбранная цена выхода даёт прибыль, отмечается, что рассчитанное маржинальное состояние не позволяет молча считать такой выход реализуемым. Такой контроль не моделирует весь путь. Он лишь не даёт пользователю проигнорировать уже обнаруженное нарушение в заданной точке mark. Для нескольких промежуточных точек нужны отдельные сценарии.

Cross и portfolio исключены из точного ценового ответа

Одна isolated-позиция не описывает общий счёт с несколькими активами, долгами и позициями. В cross отрицательный результат другого инструмента способен изменить запас без движения выбранного контракта. В portfolio требования могут зависеть от стрессовых сценариев и взаимных компенсаций. Поэтому использование нашей одноступенчатой цены для такого счёта не становится точным от добавления десяти знаков после запятой.

Актуальный FAQ Bybit отдельно указывает, что в cross и portfolio отображаемая цена является ориентиром, а условие ликвидации определяется счётным MMR. Он также различает mark и last. Это основание для ограничения интерфейса, а не повод придумывать приближённую формулу портфеля по одному балансу. При неизвестном режиме расчёт помечают как неприменимый, а не заполняют отсутствующие данные удобными нулями. [10]

Стоп и модельный порог не являются взаимозаменяемыми ценами

Стоп содержит источник активации, тип ордера, размер и условия исполнения. Порог модели отражает состояние обеспечения. Даже если предполагаемая цена стоп-исполнения находится перед рассчитанной границей, возможны расхождения mark и last, задержки, гэп исполнения или недостаток ликвидности. Нельзя превратить положительное расстояние между двумя цифрами в гарантию сохранения позиции. Отдельно проверьте механику стоп-лосса и тейк-профита.

Если стоп-сценарий уже находится за модельным порогом в неблагоприятном направлении, это явное предупреждение о несовместимости предположений. Корректировать ситуацию одной косметической перестановкой стопа ближе тоже нельзя: сначала оценивается логика выхода, затем размер и капитал. Пополнение увеличивает сумму под риском, а сокращение уменьшает экспозицию; калькулятор показывает изменение чисел, но не выбирает безопасный вариант вместо пользователя.

Допущение формы Что считается Что не воспроизводится
Одна isolated-позиция Собственное B и PnL Общий cross-счёт
Постоянные m и k Одно требование rV Переходы ступеней и вычеты
Заданный F Порог после этого потока Неизвестное расписание платежей
Заданный mark Запас H в одной точке Вся траектория риска
Расчётная граница Решение равенства Очередь ликвидации, ADL и fills

Упражнение 6. Линейный long q = 0,2, E = 30 000, C = 700, входная комиссия 0,05%, F = −7, m = 0,5%, k = 0,05%. Получается B = 690 и r = 0,0055. При mark 29 000 капитал равен 490, требование — 31,9, запас — 458,1. Порог модели составляет примерно 26 696,8326. Подстановка этой цены в обе стороны равенства даёт около 29,3665. Ни одно из чисел не обещает цену фактического принудительного исполнения.

7. Пошаговая работа с калькулятором и сверка с биржей

Первый проход выполняйте без расходов

Начните с минимального числа переменных: тип, сторона, размер, вход и выход. Временно поставьте комиссии и F равными нулю. Сверьте валовой результат вручную, затем добавляйте расходы по одному. Такой порядок локализует ошибку: если расхождение возникло после заполнения конкретного поля, проверять весь контракт заново не требуется. При этом итоговая сохранённая карточка должна содержать реальные допущения, а не оставленные ради удобства нули.

Во втором проходе добавьте обеспечение, плечо, mark и модельное требование. В третьем — неблагоприятную цену выхода и бюджет риска. Каждый слой отвечает на новый вопрос. Попытка одновременно заполнить двадцать неизвестных полей значениями по умолчанию создаёт внешне точный, но практически непроверяемый результат. Значение по умолчанию в демонстрации всегда является учебным примером, а не автоматически подобранной спецификацией вашей пары.

Округление количества должно сохранять ограничение

Расчётный размер сначала получают без округления, затем приводят к допустимому шагу вниз. Для шага 0,005 допустимы 0,005, 0,010, 0,015 и так далее; обычное округление до трёх знаков не гарантирует кратность. Важно проверять именно сетку значений. Сумма, меньшая минимальной заявки, остаётся недостаточной, даже если интерфейс показывает много десятичных знаков. Нельзя заменять проверку шага форматированием строки.

В спецификации Bybit API отдельно присутствуют tickSize, qtyStep, минимальные и максимальные ограничения. Эти поля относятся к разным осям: шаг цены не равен шагу количества. Сохраните исходный документ и время его получения, особенно для недавно запущенных продуктов. Калькулятор без сетевого соединения не узнает об изменении параметров самостоятельно. Его поле шага должно заполняться по проверенной спецификации, а не по привычной настройке другой монеты. [11]

Округление целевой цены зависит от направления задачи

Для long, которому нужна не меньшая чистая прибыль, расчётную цель обычно округляют вверх до допустимого тика. Для short — вниз. Для оценки предельной цены покупки или продажи направление может быть другим, потому что меняется само ограничение. Универсальная кнопка «округлить ближайшим» не всегда сохраняет финансовое условие. После любого округления повторно рассчитайте чистый результат и проверьте исходное неравенство.

В учебной форме цена безубыточности показывается как теоретическое решение до приведения к биржевому тику. Она не готовая заявка. Например, значение 50 087,5438 при шаге 0,5 потребует отдельного выбора допустимой цены и проверки комиссии на ней. Это небольшая, но принципиальная граница между арифметикой и отправкой ордера. Процедура не должна скрывать изменение целевой прибыли за красивым количеством знаков на экране.

Отделяйте ручной сценарий от реконструкции истории

Новая позиция с одной ценой входа и одним выходом — достаточная учебная модель. История с частичными исполнениями, изменением стороны, сессионными выплатами и переводами обеспечения требует журнала. Нельзя взять текущую среднюю цену, произвольный старый баланс и общий funding за месяц и объявить получившийся результат точной сверкой. Сначала выделите период и набор событий, которые относятся именно к анализируемому остатку.

Для исторической реконструкции храните идентификаторы исполнений, количество, цену, время, сторону, комиссию и её валюту. Отдельная таблица содержит funding и другие расчёты. Третья — вводы, выводы и перемещения обеспечения. Соединение выполняется по идентификатору и времени, а не только по тикеру. При одинаковом названии инструмента можно случайно смешать разные сроки, режимы или сетевые представления залога.

Когда число не совпадает с экраном

Сначала сравните тип величины. На экране может быть открытый PnL по last, а в вашей карточке — чистый результат будущего полного закрытия по X. Процент ROI может использовать позиционную маржу с резервом, тогда как ваш знаменатель равен IM₀. Баланс может уже содержать сессионную выплату, которую вы повторно прибавили. До проверки этих определений обвинять формулу или интерфейс преждевременно.

Второй этап — единицы, множитель, средняя цена, размер остатка и комиссии. Третий — временной срез: изменился ли mark между снимками, прошёл ли funding, исполнился ли остаток заявки. Четвёртый — особенности продуктовой модели. Временное расхождение на маленькую сумму может объясняться округлением, но крупное нельзя списывать на него автоматически. Сохраните обе версии и найдите первую несовпавшую промежуточную величину.

Калькулятор не измеряет доступную ликвидность

Даже математически верный размер может быть слишком большим для рынка. Если в ближайших уровнях недостаточно объёма, фактическая средняя цена будет хуже введённой. Простой калькулятор не содержит стакан и не знает очередь вашей заявки. Поэтому после размерной проверки отдельно оценивается ликвидность криптовалюты, а для влияния самой заявки на цену используется понятие price impact.

Высокий исторический оборот тоже не обещает хорошего исполнения сейчас. Статья про объём торгов криптовалют помогает не смешивать уже состоявшиеся сделки с доступной глубиной. Практический метод здесь простой: посчитайте карточку по нескольким ценам исполнения, включая неблагоприятную, и сравните, сохраняется ли допустимость риска. Если весь результат исчезает от одного небольшого ухудшения, исходный сценарий не обладает большим запасом к ошибке.

Сохраняйте входы, а не только красивый итог

Экспорт расчёта должен содержать версию модели, тип, сторону, все введённые значения, единицы и дату сохранения. Один скрин с прибылью не позволяет восстановить допущения. В автономной форме предусмотрено сохранение JSON-снимка локально. Это не импорт на биржу и не торговая команда. Он нужен, чтобы позже сравнить план с фактом или повторить вычисление в независимой реализации.

Данные формы не отправляются внешнему серверу и не требуют подключения кошелька. Не вводите API-ключи, пароли или seed-фразу: для арифметики они не нужны. Приватные сведения о счёте лучше не добавлять даже в название локального файла, если его будут пересылать. Безопасная расчётная карточка содержит только необходимые числа и публичную спецификацию, а не средства доступа к деньгам.

Порядок сверки Вопрос Результат проверки
1. Определение Gross, net, ROI или баланс? Сравниваются одинаковые величины
2. Единицы Контракты, монеты, USD или USDT? Применён нужный множитель
3. События Что уже исполнено и списано? Нет двойного учёта
4. Время Совпадают ли mark и расчётный момент? Нет смешения снимков
5. Правила Та же маржинальная модель? Ограничения явно указаны

Упражнение 7. Формула допускает q = 0,0279, а шаг количества равен 0,005. Корректное ограниченное количество — 0,025. Округление до 0,028 неверно, потому что это не элемент сетки; округление до 0,030 нарушает предел. После выбора 0,025 повторно проверьте минимальный номинал и риск, не заменяя отсутствующую спецификацию предположением.

8. Как проверить чужой калькулятор и собственную модель

Создайте набор маленьких контрольных задач

Финансовую программу удобно проверять на случаях, где ответ известен независимо от неё. Нулевое движение, смена long на short, удвоение размера, отсутствие комиссий, нулевой funding и выход точно в безубыточность дают понятные ограничения. Эти проверки нельзя заменить красивым совпадением одной сложной сделки. Ошибка в двух местах может случайно компенсироваться и создать правильный итог при неправильных промежуточных расчётах.

Хороший отчёт показывает каждое слагаемое: номинал, валовой PnL, входную и выходную комиссии, денежный поток, итог, базу ROI и маржинальный запас. Тогда независимый расчёт проверяет не только финальную цифру. Для линейной позиции результат можно получить через размер и изменение цены, а также через стоимость тика. Для inverse — через объединённый вход и сумму отдельных партий. Совпадение разных путей усиливает доверие к арифметике.

Проверка плеча и размера

Измените плечо при фиксированном размере. Денежный PnL должен сохраниться, базовая маржа — измениться. Затем зафиксируйте маржинальный бюджет и разрешите размеру изменяться: тогда уже меняется PnL, поскольку другая экспозиция. Две задачи выглядят похоже в интерфейсе, но проверяют разные зависимости. Если калькулятор не сообщает, какой режим использует, сравнение процентов может вводить в заблуждение.

Отдельно удвойте размер при фиксированном денежном F. Удвоится только та часть результата, которая зависит от размера, а F останется прежним. Затем удвойте и F, чтобы проверить полностью пропорциональную задачу. Это помогает найти незаметное смешивание денежного funding со ставкой. Подобные свойства проверяются автоматически, однако смысл каждого теста должен быть понятен человеку без чтения программного кода.

Проверка обратных задач обратной подстановкой

Цену безубыточности нужно возвращать в полную формулу чистого результата. Предельный размер — в формулу убытка и начального бюджета. Цену модельной ликвидации — в равенство капитала и требования. Если хотя бы одна подстановка не согласуется, недостаточно просто увеличить число выводимых знаков. Сначала ищут ошибку в знаке, единицах, определении базы или учёте расходов.

Для размерного ограничения важны две проверки: выбранный округлённый размер укладывается, следующий шаг нарушает хотя бы один активный предел. Если следующий шаг тоже укладывается, округление или выбор ограничения выполнены неверно. Если текущий не укладывается, инструмент нарушил обещание бюджета. Эти проверки относятся к заданной цене S, поэтому они не доказывают ограничение фактического убытка при проскальзывании или скачке рынка.

Неподдерживаемые данные не превращайте в нули

Нулевая цена входа, отрицательный размер, неизвестный тип, бесконечность или пустая ставка обязательного поля должны вызывать понятную ошибку. Особенно опасно, когда пустой текст автоматически преобразуется в ноль и отключает расходы. В аналитическом отчёте лучше увидеть «недостаточно данных», чем получить внешне законченный расчёт с неявным бесплатным исполнением. Ноль имеет экономический смысл и требует такого же основания, как положительная величина.

Для обратного контракта нулевая цена приводит к делению на ноль; для процентного показателя нулевой капитал делает знаменатель непригодным. При бюджете меньше предполагаемого фиксированного списания допустимый размер должен стать нулём. При неверной стороне стопа размер по риску не рассчитывается. Программа не должна автоматически менять сторону позиции, чтобы сделать исходные данные формально допустимыми.

Проверяйте вычисления и интерфейс отдельно

Правильное ядро не исключает ошибки формы: перепутанная подпись BTC и USDT, старый результат после редактирования, неверный десятичный разделитель или неочевидный сброс значений способны испортить применение. Поэтому после изменения любого поля предыдущий результат помечается как устаревший до нового расчёта. При смене типа пользователю нужно заново проверить единицы обеспечения, риска и денежного потока. Нельзя молча оставить число из USDT в поле BTC.

Проверка мобильной версии тоже относится к финансовой точности. Если отрицательный знак обрезан, таблица выходит за экран или сообщение об ошибке скрыто ниже формы, пользователь может неверно понять результат. Должны быть видны единицы, знаки и предупреждения, а кнопка сохранения не должна выгружать устаревшую карточку после редактирования. Тестируемость интерфейса важна не меньше количества десятичных знаков в вычислительном ядре.

Сценарный калькулятор не является бэктестом стратегии

Он отвечает, что получится при определённых входах, но не сообщает, как часто эти входы реализуются. Для стратегии нужны правила появления сигнала, данные, доступные в тот момент, все неудачные примеры, комиссии, траектория обеспечения и статистическая проверка. Не следует выдавать десяток удачных ручных карточек за исследование торговой системы. Общий технический анализ криптовалют решает иную задачу, чем проверка арифметики одной сделки.

Открытый интерес и другие рыночные показатели тоже не меняют формулу PnL. Они могут участвовать в гипотезе выбора сделки, но не заменяют входные исполнения. Для интерпретации позиционирования используйте отдельный разбор Open Interest в криптовалюте, а не дополнительный «коэффициент уверенности» в расчётной прибыли. Непроверенная вероятность не должна превращаться в числовой множитель ожидаемого дохода.

Условный риск отличается от гарантированной границы

При расчёте по стоп-цене S мы предполагаем, что именно по ней удастся закрыться. В реальности stop-market может исполниться хуже, а stop-limit — не исполниться. Расчёт по худшей заранее выбранной цене полезен, но рынок способен выйти и за неё. Поэтому значение «убыток по сценарию» не следует переименовывать в «максимальный возможный убыток». Для некоторых конструкций потери могут затронуть больше капитала, чем пользователь видел в одной строке.

Неисполнение и скачок стоимости учитывают отдельным стрессом. Публичная карта ликвидности Bitcoin также не гарантирует наличие встречных заявок в будущем. Из неё нельзя автоматически извлечь точную цену закрытия своей позиции. Сохраняйте различие между наблюдаемой картой, предположением об исполнении и тем, что действительно зафиксировано в журнале сделок.

Тест Ожидаемое свойство Выявляемая ошибка
X = E Gross = 0 Неверный знак или база
Изменить L при прежнем размере PnL неизменен Двойное плечо
Подставить безубыточность Net около 0 Пропущенная комиссия
Подставить модельный порог Капитал = требование Неверная формула ликвидации
Добавить один шаг размера Нарушен активный предел Неверное округление
Изменить поле после расчёта Старый результат недействителен Экспорт устаревших данных

Упражнение 8. Чужая форма показывает для одной позиции прибыль 80 при плече 5 и прибыль 160 при плече 10, хотя количество, вход и выход не изменились. Сначала проверьте, не переключилась ли она на режим размера от маржи. Если фактический размер действительно тот же, финансовый результат не должен удваиваться. Если размер удвоился скрыто, проблема интерфейса в том, что пользователь не видит изменённую экспозицию.

Десятичная точность и число знаков на экране

Большинство браузерных вычислений использует двоичные числа с плавающей точкой. Десятичные значения вроде 0,1 не всегда представляются ими точно. Для учебного сценария небольшая погрешность обычно значительно меньше неопределённости исполнения, но вблизи шага количества она способна изменить направление округления. Поэтому форматирование результата и проверка кратности должны быть отдельными операциями. Строка с восемью знаками после запятой не доказывает точность всех промежуточных вычислений.

Для ответственной сверки используйте независимый десятичный расчёт и допустимую погрешность, соответствующую единицам. Сравнивать BTC и USDT с одним абсолютным допуском неудобно: одинаковая числовая погрешность имеет разный экономический смысл. В комплекте учебного инструмента проверочные значения рассчитываются также через Decimal. Браузерная версия остаётся приближённой арифметикой и не предназначена для ведения окончательного бухгалтерского реестра биржи.

Округлять каждый промежуточный член до двух знаков тоже неправильно. В обратном контракте комиссии могут быть намного меньше 0,01 BTC, и такое округление просто обнулит их. Сначала выполняют расчёт с достаточной точностью, затем применяют правила округления продукта или формат отображения. Если площадка округляет каждое исполнение отдельно, суммарная комиссия может немного отличаться от расчёта одной строкой. Это объяснение требует конкретного правила, а не произвольной поправки.

Промежуточная траектория и конечный снимок

Карточка с F = −10 и конечной положительной прибылью ничего не говорит о порядке этих событий. Выплата могла пройти до восстановления цены и уменьшить обеспечение именно в наиболее неблагоприятный момент. При обратном порядке тот же конечный результат может сопровождаться другим минимальным запасом. Поэтому для проверки удержания сохраняют последовательность mark, изменения позиции, комиссий и финансирования, а не только итоговую сумму потоков.

Особенно осторожно сопоставляйте цену ликвидации после всех будущих расходов с текущим экраном, где эти расходы ещё не прошли. Обе оценки могут быть арифметически корректными для разных моментов. В нашем инструменте порог прямо относится к состоянию после введённого F. Для промежуточного момента создайте отдельную карточку с уже состоявшимися потоками. Это лучше, чем пытаться одной линией одновременно описать прошлое, настоящее и будущий стресс.

В многопозиционном счёте к этому добавляется порядок чужих сделок и перемещения залога. Даже полностью известные конечные балансы не восстанавливают автоматически максимальное внутрипериодное требование. Историческая симуляция должна проверять правила на каждом событии и использовать их действовавшую тогда версию. Подставить сегодняшнюю более мягкую ставку в прошлую траекторию — значит изменить задачу, а не улучшить точность старого расчёта.

Контроль стоимости минимальной заявки

Допустимый размер по риску может пройти шаг количества, но не пройти минимальную стоимость ордера. Например, после округления осталось 0,001 базового актива при цене 2 000, то есть номинал равен 2. Если спецификация требует минимум 5, такую заявку открыть нельзя. Увеличивать её до минимума автоматически запрещено исходным риск-бюджетом, если более крупный размер его нарушает. Результат остаётся «сделка не соответствует ограничениям».

Аналогично максимальный размер может различаться для лимитной и рыночной заявки. Программа, знающая только арифметический q, не может обещать, что биржа примет любой тип ордера. Проверка спецификации завершается перед отправкой, а не во время чтения общей статьи. В автономной форме нет сети и автоматического обновления ограничений; отсутствие биржевого запрета на экране калькулятора не означает отсутствия запрета у самого продукта.

9. Итоговый практикум: одна карточка от бюджета до проверки ошибки

Исходные условия и границы решения

Рассмотрим новую линейную long-позицию. Цена входа E = 50 000, предполагаемый выход X = 51 500, неблагоприятное исполнение S = 49 000, выделенный капитал C = 600, бюджет сценарного убытка R = 35, плечо L = 5. Обе торговые комиссии составляют 0,05%, ожидаемый денежный funding F = −2. Шаг количества 0,001, поддерживающая ставка m = 0,5%, условный резерв k = 0,05%. Все значения придуманы для упражнения и не описывают текущую сделку.

Сначала зафиксируем назначение карточки. Она должна показать размер, удовлетворяющий двум учебным ограничениям, чистый результат по цели и стоп-сценарию, а также состояние упрощённой маржинальной модели. Она не должна выбирать момент входа, оценивать вероятность достижения X, подключаться к бирже или обещать максимальный убыток 35 при любых обстоятельствах. Эти границы записываются до вычисления, иначе удачная конечная цифра начнёт подменять исходную задачу.

Определяем размер, а не подбираем желаемую прибыль

Удельный убыток при S равен 1 049,5 на один BTC. После резерва выплаты 2 для риск-бюджета остаётся 33, поэтому предел по риску около 0,0314435. Предел по учебному начальному бюджету около 0,0597015. Выбираем меньший и приводим вниз к шагу 0,001: q = 0,031. Именно это количество затем вводится в калькулятор как размер новой позиции. Программа не должна незаметно использовать более крупное значение ради красивого результата.

Входной номинал равен 1 550, базовая маржа по E/L — 310. Входная комиссия составляет 0,775, условный резерв на входном номинале — ещё 0,775. Их сумма с базовой маржой составляет 311,55 и укладывается в выделенные 600. Оставшиеся деньги не объявляются безусловно свободными: в сценарии весь C отнесён к одной позиции. Для другого распределения обеспечения потребуется пересчитать маржинальную часть.

Проверяем цель и отрицательный сценарий

По цели 51 500 валовой PnL равен 46,5. Комиссия выхода — 0,79825. После обеих комиссий и выплаты funding остаётся 42,92675. По S = 49 000 ценовой результат равен −31, выходная комиссия — 0,7595, а полный итог — −34,5345. Эти два числа полезны как денежные сценарии, но не имеют встроенной вероятности. Их отношение около 1,243 не является математическим ожиданием.

Для оценки ожидания дополнительно нужна обоснованная вероятность каждого исхода и учёт иных исходов: неполное исполнение, раннее закрытие, затянувшееся удержание, больший убыток и техническое событие. Нельзя произвольно назначить вероятность 70% лишь потому, что расчётная цель выглядит близкой. Структура торгового плана и ордеров нужна именно для отделения правил решения от арифметики готового сценария.

Сравниваем проценты без подмены капитала

Чистая прибыль 42,92675 составляет приблизительно 13,8473% от базовой маржи 310 и 7,1545% от выделенного капитала 600. Оба процента допустимы только с соответствующей подписью. Если на счёте дополнительно находится другой капитал, процент изменения всего счёта будет ещё отличаться. В торговом журнале предпочтительно хранить денежный итог и все используемые знаменатели, чтобы позднее не подменить одну доходность другой.

Смена плеча с 5 на 10 при сохранении q и C уменьшит IM₀ до 155, но не изменит 42,92675 прибыли. Процент относительно IM₀ станет примерно вдвое выше, хотя денежная ситуация позиции не улучшилась. В нашей isolated-модели порог тоже не изменится, поскольку фактическое B осталось прежним. Это особенно наглядная проверка того, что поле плеча и реально выделенное обеспечение не должны незаметно означать одно и то же.

Безубыточность и маржинальный контроль

Теоретическая безубыточность long с заданными расходами находится примерно на 50 114,5734. Она выше входа, потому что необходимо покрыть торговые комиссии и выплату 2. Если конечная цена будет 50 100, одного роста относительно входа ещё недостаточно для положительного чистого результата. Это полезная проверка коротких целей: ценовой плюс не равен экономическому плюсу при узком диапазоне движения.

После входной комиссии и предусмотренного F база B равна 597,225. Возьмём контрольный mark 49 750. Незакрытый ценовой результат равен −7,75, капитал модели — 589,475, требование — 8,482375, запас — 580,992625. Одноступенчатый порог получается около 30 904,6530. Его большая дистанция объясняется заданным обеспечением C при сравнительно небольшом q, а не «защитным свойством» самого актива. Этот расчёт не воспроизводит биржевые ступени и исполнение ликвидации.

Стресс исполнения показывает предел бюджета

Предположим, стоп активирован по предусмотренному правилу, но фактическое закрытие произошло по 48 500. Тогда ценовой убыток составит 46,5, выходная комиссия — 0,75175, полный итог — −50,02675. Бюджет 35 нарушен, хотя исходная арифметика размера была верной. Причина не в округлении, а в том, что выполнено другое условие S. Поэтому размер по стопу нельзя представлять как универсальное ограничение потерь.

Решение до сделки заключается не в обещании точного исполнения, а в проверке чувствительности: какой результат получается при другом S, можно ли исполнить такой размер, что произойдёт при резком уменьшении глубины. Для практической оценки большого объёма полезен отдельный разбор средней цены исполнения и глубины стакана. При недостатке данных допустимым выводом остаётся отказ от операции.

Стресс времени и изменение расходов

Если позиция удерживается дольше и funding оказывается −12 вместо −2, чистая прибыль по прежней цели уменьшится до 32,92675. Стоп-сценарий при 49 000 станет убыточным на 44,5345. Значит, старый размер уже не соответствует бюджету R = 35. Нельзя изменить только строку ожидаемой прибыли и оставить проверку размера из предыдущего сценария. Любое изменение расходной гипотезы должно пройти через всю карточку.

Если одновременно меняются размер и срок удержания, фиксированную денежную оценку funding нужно получить заново. У калькулятора нет знания будущей ставки и нет оснований самостоятельно масштабировать число по произвольному правилу. Более широкий рыночный контекст можно исследовать через материал как читать крипторынок по нескольким показателям, но он не отменяет необходимость пересчитать денежные последствия каждого нового допущения.

Отрицательный результат не требует увеличивать плечо

После убытка возникает соблазн сохранить цель в деньгах, повысить плечо и подобрать размер, который «вернёт потерянное». Калькулятор легко выдаст подходящую цифру, потому что не знает допустимого риска человека. Это не делает задачу экономически разумной. Прошлый убыток не повышает вероятность будущей прибыли и не увеличивает доступную глубину рынка. Введённая пользователем цель остаётся желанием, а не свойством контракта.

В такой ситуации важнее остановить подгонку и вернуться к первоначальному бюджету. Материал про FOMO и эмоциональные решения в криптотрейдинге помогает отделить спешку от наблюдаемых условий. Расчётная карточка полезна именно тем, что сохраняет прежние ограничения и делает их нарушение видимым. Она не должна превращаться в интерфейс для постепенного удаления всех неудобных ограничений.

Что должно остаться после завершения расчёта

Сохраните исходные данные, полученный размер, отдельно рассчитанные расходы, положительный и отрицательный исходы, капитал каждого процента и границы маржинальной модели. Добавьте названия неподдерживаемых факторов: cross, иной залог, заём, переменные ступени, портфельное требование или промежуточные выплаты. Отсутствующий фактор лучше назвать явно, чем спрятать за словом «приблизительно». Тогда другой человек сможет понять, какой именно ответ был получен.

Для итоговой самопроверки достаточно ответить на несколько содержательных вопросов. Сходятся ли единицы во всех формулах? Не умножен ли размер на плечо повторно? Не задвоены ли комиссии и funding? Соблюдается ли бюджет после округления? Какой сценарий нарушает его первым? Использована ли цена исполнения вместо красивой котировки? Можно ли восстановить результат из сохранённого файла? Отрицательный ответ хотя бы на один вопрос означает, что карточка ещё не готова к применению.

Калькулятор как инструмент проверки, а не источник торгового решения

Числовая точность полезна, когда рядом с результатом остаются допущения. Для простого контракта можно строго проверить PnL и комиссию, но нельзя вычислением устранить риск исполнения, изменения правил или недостаточности данных. В калькуляторе фьючерсов важны не только полученные значения, но и способность отказаться от ответа за пределами модели. Неизвестные параметры не становятся известными после нажатия кнопки.

В материалах OneMagic о криптовалюте и управлении риском такой инструмент занимает место между пониманием контракта и проверкой конкретной операции. Начните с небольшой учебной карточки, воспроизведите её вручную, измените одно условие и проверьте реакцию. Только после этого имеет смысл переносить реальные числа, сохраняя прежние правила. Расчёт не обещает прибыли; он помогает увидеть, какая часть решения основана на данных, а какая — на предположении.

Первоисточники. Проверено 5 сентября 2026 года

  1. [1] OKX — Futures PnL calculation rules.
  2. [2] CME Group — Calculating Futures Contract Profit or Loss.
  3. [3] Bybit — Futures Contracts: Fees Explained.
  4. [4] Bybit — P&L Calculations: Inverse Contracts.
  5. [5] Bybit — P&L Calculations: USDT Contracts.
  6. [6] Bybit — Trading Terms and Formulas in Unified Trading Account.
  7. [7] Bybit — Funding Fee Calculation.
  8. [8] Deribit — Funding Specifications.
  9. [9] Bybit — Maintenance Margin: USDT Contracts.
  10. [10] Bybit — FAQ: Order Execution and Liquidation.
  11. [11] Bybit API — Get Instruments Info.

Адреса документов и границы их применения приведены в реестре источников пакета. Формулы примеров и автономного калькулятора — явно ограниченные учебные модели, не спецификация какой-либо биржи.