PnL proxy по предсказаниям движения цены

MediumML coding
05:00
Лучше работает на десктопе
ML CodingMetricsPnL ProxyHFT
Реальный собес01:00:10-01:04:272026-04-22 12-03-04.movСтраница собеса

Есть предсказания будущего изменения цены в basis points и фактически реализованные изменения.

Нужно построить простую proxy-метрику без полноценного бэктестера:

  • если prediction > threshold_bps, открываем long;
  • если prediction < -threshold_bps, открываем short;
  • иначе не торгуем.

PnL одной сделки в bps:

  • для long: realized_bps;
  • для short: -realized_bps.

Из каждой сделки вычитается fee_bps.

Сигнатура

def pnl_proxy(predicted_bps: list[int], realized_bps: list[int], threshold_bps: int = 0, fee_bps: int = 0) -> dict:

Верните словарь с ключами trades, hits, hit_rate, gross_bps, net_bps.

Примеры

Пример 1

Вход:
predicted_bps = [12,-8,3,-2]
realized_bps = [10,5,-1,-4]
threshold_bps = 5
fee_bps = 1
Выход:{"trades":2,"hits":1,"hit_rate":0.5,"gross_bps":5,"net_bps":3}

Пример 2

Вход:
predicted_bps = [4,-4,6,-7]
realized_bps = [100,-100,2,-3]
threshold_bps = 5
fee_bps = 0
Выход:{"trades":2,"hits":2,"hit_rate":1,"gross_bps":5,"net_bps":5}

Пример 3

Вход:
predicted_bps = [1,-1]
realized_bps = [100,-100]
threshold_bps = 10
fee_bps = 0
Выход:{"trades":0,"hits":0,"hit_rate":null,"gross_bps":0,"net_bps":0}
Консоль
Нажмите Run или Ctrl+Enter для запуска