Как рассчитать P&L по обратному бессрочному контракту?
Для стандартного обратного бессрочного контракта с фиксированной долларовой номинальной стоимостью на контракт рассчитывайте торговый P&L, используя обратные цены. Результат выражается в расчетной монете. Умножение изменения цены на фиксированное количество BTC дает уже другой инструмент.
Предположим, что гипотетический обратный контракт на BTC имеет номинал $1. Вы покупаете 100,000 контрактов по цене $50,000 за BTC и закрываете всю позицию по цене $55,000. До учета комиссий и funding:
Q = signed contract count; positive for a long
C = dollar face value per contract
P&L_BTC = Q × C × (1 / entry_price − 1 / exit_price)
= 100,000 × $1 × (1 / $50,000 − 1 / $55,000)
= 0.18181818 BTC
P&L_USD_at_exit = 0.18181818 × $55,000
= $10,000
Номинальная стоимость позиции составляет $100,000. Ее эквивалент в BTC меняется вместе с ценой: 2 BTC на входе и примерно 1.818182 BTC на выходе. Именно поэтому спецификации контракта должны находиться рядом с бухгалтерским кодом. Столбец с названием size — это приглашение провести вечер пятницы, выясняя, какую именно единицу измерения имел в виду автор.
Проверьте множитель, расчетную валюту и правила округления на бирже. «Обратный» описывает схему расчета; это не означает, что один контракт везде равен одному доллару.
Почему мой счет увеличивается сильнее в долларах, чем заработала сделка?
Потому что обеспечение тоже имеет цену.
Начнем с обеспечения в размере 1 BTC стоимостью $50,000 и проведем описанную выше сделку. Предположим, что не было депозитов, выводов, комиссий или funding, а маржи на всем протяжении хватало. После закрытия позиции на счете остается 1.18181818 BTC. По цене $55,000 за BTC это $65,000.
| Компонент | Расчет | Изменение в долларах |
|---|---|---|
| Первоначальное обеспечение | 1 BTC × ($55,000 − $50,000) | +$5,000 |
| P&L дериватива по оценке на выходе | 0.18181818 BTC × $55,000 | +$10,000 |
| Общий капитал счета | $65,000 − $50,000 | +$15,000 |
Торговый журнал и кривая капитала счета отвечают на разные вопросы. Если в отчете все $15,000 обозначены как сигнальный P&L, стратегия получает незаслуженную заслугу за хранение обеспечения на растущем рынке.
Обратная ситуация тоже важна. Стратегия может накапливать BTC, пока ее долларовый капитал снижается. Ни один из графиков сам по себе не ошибочен. Ошибка возникает, когда между ними переключаются, не оговаривая это.
В BTC или в USD измерять доходность бэктеста?
Выберите валюту отчетности до сравнения стратегий, а затем сохраняйте оба представления. Для этого счета доходность в BTC составляет 18.18%, а в долларах — 30%. Это два измерения одного и того же результата.
Для сравнений между акциями США, фьючерсами с расчетом в стейблкоинах и контрактами с расчетом в монетах я обычно использую долларовый капитал счета как общую серию отчетности. Если исследовательский мандат связан с накоплением BTC, серия в BTC заслуживает такого же внимания. Выбор меняет распределение доходности, просадки и коэффициент Sharpe.
Добавьте пассивный бенчмарк обеспечения. В данном случае простое удержание исходного 1 BTC принесло бы 10% долларовой доходности. За этот интервал счет превзошел бенчмарк на 20 процентных пунктов. Эта разница описывает данный пример; она не доказывает наличие alpha и не учитывает принятую по пути экспозицию к деривативу.
Указывайте единицу измерения в названии поля. Используйте equity_btc, equity_usd и pnl_btc. Неуточненный столбец equity становится опасным, как только в одном отчете появляются два типа контрактов.
Как бэктест должен учитывать комиссии и funding, уплаченные в BTC?
Фиксируйте фактическое движение монет в момент его возникновения. Комиссия в BTC уменьшает BTC-баланс кошелька, а поступление funding в BTC его увеличивает. Рассчитывайте эти суммы по применимым правилам контракта и историческим курсам.
Затем разделяйте атрибуцию транзакции и оценку счета. Комиссия в размере 0.001 BTC, уплаченная при торговле BTC по $50,000, на момент платежа стоит $50. Если позже BTC вырастет до $55,000, на счете будет на $55 меньше, чем на идентичном счете, который никогда не платил эту комиссию. Дополнительные $5 — это последующее изменение цены монеты, покинувшей счет.
Оба показателя могут быть полезны. Сложение денежных потоков, оцененных в исторических долларах, с начальным долларовым капиталом не учтет этот валютный эффект, если не провести явную сверку.
Я предпочитаю использовать журнал монет как источник бухгалтерских данных, а долларовые оценки выводить из него. На каждом снимке оценивайте остаток кошелька плюс нереализованный P&L по монете, используя документированную цену конвертации, синхронизированную по времени. Фиксируйте любое намеренное расхождение между ценой маркировки контракта и ценой конвертации для отчетности.
Какие тесты выявляют ошибки учета обратных контрактов?
Я начинаю с коротких синтетических сценариев, ответы для которых можно вычислить на бумаге. Рыночная история удивительно хорошо прячет ошибку в единицах измерения внутри правдоподобной кривой капитала.
| Тест без учета издержек | Ожидаемый результат |
|---|---|
| Вход и выход по одной и той же цене | Нулевой P&L дериватива в BTC |
| Изменить знак позиции на идентичном сценарии | Знак P&L дериватива меняется точно на противоположный |
| Удерживать 1 BTC без позиции в деривативе; цена растет с $50,000 до $55,000 | Капитал в BTC остается равен 1; долларовый капитал увеличивается на $5,000 |
| Закрыть пример позиции по текущей цене маркировки | Нереализованный P&L перемещается в кошелек, не меняя общий капитал |
Последний тест выявляет двойной учет: движок зачисляет реализованный P&L, но забывает убрать нереализованную сумму. Также протестируйте частичное закрытие. Только закрытые контракты должны рассчитаться по P&L; для оставшейся части должна сохраняться корректная база входа в соответствии с правилами учета на бирже.
Что AI-исследователь должен отчитываться по обратной стратегии?
Количество контрактов и множитель, расчетная валюта, начальное обеспечение, денежные потоки в монетах и капитал в заявленной валюте отчетности. Наряду с кривой стратегии показывайте кривую пассивного обеспечения и сверяйте разницу.
В автономном исследовательском процессе я сделал бы такую сверку условием принятия бэктеста. Оптимизатор может ранжировать любое переданное ему число. Если растущий баланс BTC приписывается торговому сигналу, он охотно оптимизирует эту бухгалтерскую ошибку.
Полезный отчет может объяснить, почему эта сделка принесла $10,000, а счет увеличился на $15,000, вплоть до последней расчетной записи. Это результат, который другой исследователь действительно сможет проверить.
← Все статьи
