Ставки за X секунд до конца скачки: вычисление длительности забега на основе статистики
Описание
Многие стратегии со ставками подразумевают какие-то действия до начала забега, например, за 1 минуту до запланированного начала скачки. Считается, что почти невозможно предсказать, когда скачка закончится. И хотя мы согласны с тем, что всегда присутствует элемент неожиданности, все же мы можем с достаточно малой погрешностью предсказать длительность скачки по ее дистанции.
За последние пару лет мы собрали обширную статистику по лошадиным скачкам, которые были представлены на бирже BetFair, и разработали формулу для вычисления длительности скачки в секундах на основе ее дистанции.
Триггеры
Константы здесь элементарные:
seconds_to_end : это ключевая константа триггера, задающая количество секунд до предполагаемого конца забега, когда триггер должен сработать;
bet_size : размер ставки для триггера, делающего ставку ПРОТИВ.
Триггеры в действии
Очевидно, триггер может сработать как перед, так и после фактического момента, когда до окончания скачки осталось 20 секунд, так как мы оперируем только средними значениями. Тем не менее, формула дает довольно неплохие результаты в долгосрочной перспективе. Взгляните на пример ниже:
Здесь видно, что ставка была сделана в 19:29:45. Триггер настроен на отправку этой ставки за 20 секунд до конца забега.
А в 19:30:04, 19 секунд спустя, рынок был приостановлен.
Обратите внимание на то, что формула оперирует дистанцией скачки, указанной в названии рынка, т.е. "6f", "1m5f" и т.д. Эта информация доступна только в рынках с одним победителем, так что формула не будет работать в рынках с несколькими победителями. Однако из этой ситуации есть довольно простой выход: достаточно загрузить в программу оба типа рынков и заменить в формуле переменную market_name на winplace_market_name.
Ниже представлена полная запись "магической" формулы, возвращающей длительность скачки в секундах.
IF(FIND("2m4f", "market_name") > 0, 324, IF(FIND("3m1f", "market_name") > 0, 381, IF(FIND("2m1f", "market_name") > 0, 258, IF(FIND("2m3f", "market_name") > 0, 282, IF(FIND("2m6f", "market_name") > 0, 355, IF(FIND("2m2f", "market_name") > 0, 263, IF(FIND("1m6f", "market_name") > 0, 212, IF(FIND("1m3f", "market_name") > 0, 135, IF(FIND("2m5f", "market_name") > 0, 326, IF(FIND("2m7f", "market_name") > 0, 354, IF(FIND("1m4f", "market_name") > 0, 142, IF(FIND("1m2f", "market_name") > 0, 125, IF(FIND("1m5f", "market_name") > 0, 189, IF(FIND("1m1f", "market_name") > 0, 102, IF(FIND("3m3f", "market_name") > 0, 419, IF(FIND("3m7f", "market_name") > 0, 389, IF(FIND("3m4f", "market_name") > 0, 467, IF(FIND("3m2f", "market_name") > 0, 393, IF(FIND("3m5f", "market_name") > 0, 476, IF(FIND("3m6f", "market_name") > 0, 450, IF(FIND("4m1f", "market_name") > 0, 523, IF(FIND("4m3f", "market_name") > 0, 520, IF(FIND("1m7f", "market_name") > 0, 228, IF(FIND("4m2f", "market_name") > 0, 546, IF(FIND("5f", "market_name") > 0, 55, IF(FIND("6f", "market_name") > 0, 61, IF(FIND("7f", "market_name") > 0, 79, IF(FIND("4m", "market_name") > 0, 497, IF(FIND("3m", "market_name") > 0, 360, IF(FIND("2m", "market_name") > 0, 228, IF(FIND("1m", "market_name") > 0, 91, 0)))))))))))))))))))))))))))))))