Перейти к содержанию
View in the app

A better way to browse. Learn more.

BrcBet.Com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ставка на гол аутсайдера (Проверка)

Featured Replies

Опубликовано

Всем привет! Думаю, пару месяцев выделю на проверку одной стратегии. Сам не пробовал, решил просто задокументировать свои старания, может быть в дальнейшем продлю тест больше, чем на пару месяцев.
Пока не спрашивайте пожалуйста относительно "А как ставишь"? Пока рассказывать не буду, да и смысл, если вдруг выйдет минус? Только голову себе захламлять

Опубликовано
  • Автор

image.png

Первые ставки на этот уикенд. Изначальный вариант - это ставка именно на ИТ больше 1, но решил и просто на гол команды фиксировать кф, может, так профитнее будет

Опубликовано
  • Постоянный
10 часов назад, Gnom_Deputat сказал:

Всем привет! Думаю, пару месяцев выделю на проверку одной стратегии. Сам не пробовал, решил просто задокументировать свои старания, может быть в дальнейшем продлю тест больше, чем на пару месяцев.
Пока не спрашивайте пожалуйста относительно "А как ставишь"? Пока рассказывать не буду, да и смысл, если вдруг выйдет минус? Только голову себе захламлять

Извини если мешаю, но лучше внимательно присмотрись к моей теме, то, что собираешься 2 месяца проверять свою систему, я это сейчас проверяю за 10 секунд. Мало того, делаю сразу корректировку системы и через 15-20 минут, готовая прибыльная система проверенная на архиве за 2-3 года, в режиме бэктестинга. Если все правильно делать, не подгонку, а именно правку порогов(параметризацию), то хорошая вероятность, что результат бэктестинга, совпадет с результатами на предстоящих матчах +-30% отклонением. То есть делаем бэктестинг с рои 15%+ и гарантированно получаем рои на предстоящих матчах от 10%.

Изменено пользователем Farel

Опубликовано
  • Автор
2 часа назад, Farel сказал:

Извини если мешаю, но лучше внимательно присмотрись к моей теме, то, что собираешься 2 месяца проверять свою систему, я это сейчас проверяю за 10 секунд. Мало того, делаю сразу корректировку системы и через 15-20 минут, готовая прибыльная система проверенная на архиве за 2-3 года, в режиме бэктестинга. Если все правильно делать, не подгонку, а именно правку порогов(параметризацию), то хорошая вероятность, что результат бэктестинга, совпадет с результатами на предстоящих матчах +-30% отклонением. То есть делаем бэктестинг с рои 15%+ и гарантированно получаем рои на предстоящих матчах от 10%.

У меня используются динамические данные. Твоя программа может взять количество поданных угловых, голов, на момент условного тура? То есть, чтобы ты проверил мои догадки, ты должен взять статистику на момент тура (то есть, тур 24 - значит данные нужно взять за 24 тура, а не по итогу чемпионата, сколько тогда было забито и пропущено голов командой, угловых подано и так далее).
Спасибо за предложение, но пока я не видел ничего у тебя в теме, что могло бы меня заинтересовать

Опубликовано
  • Постоянный
2 минуты назад, Gnom_Deputat сказал:

У меня используются динамические данные. Твоя программа может взять количество поданных угловых, голов, на момент условного тура? То есть, чтобы ты проверил мои догадки, ты должен взять статистику на момент тура (то есть, тур 24 - значит данные нужно взять за 24 тура, а не по итогу чемпионата, сколько тогда было забито и пропущено голов командой, угловых подано и так далее).
Спасибо за предложение, но пока я не видел ничего у тебя в теме, что могло бы меня заинтересовать

Может что угодно. Хоть за 24 тура хоть за 7 лет. Статистика любая есть, даже по таймам. Рынки тоже запас имеется. Систему твою могу по сути проверить за 5 минут при желании. Тупо ИИ напишет алгоритм за 30 секунд и просто прогон сделаю по архиву до 7 лет. У меня по датам любой прогон в бэктестинге делается. Любой отрезок, за любой период времени до 7 лет. image.pngimage.png

Изменено пользователем Farel

Опубликовано
  • Автор
11 минут назад, Farel сказал:

Может что угодно. Хоть за 24 тура хоть за 7 лет. Статистика любая есть, даже по таймам. Рынки тоже запас имеется. Систему твою могу по сути проверить за 5 минут при желании. Тупо ИИ напишет алгоритм и просто прогон сделаю по архиву до 7 лет. image.pngimage.png

Нет, ты не понял. Это данные с матча. А мне нужно из таблицы.
Условно прошло 10 туров. А нам чтобы проверить ставки по 7-ому туру, нужны данные не за 10 туров а за 7 (условно, команда после 10 тура - 2 место, 25 очков, 23 забитых, а после 7 тура они были на 6 месте, 19 очков и 14 забитых, и мне нужна вот эта информация <- по 7 туру в моменте). Пока на скринах я просто вижу парсинг данных букмекерской конторы

Опубликовано
  • Постоянный
12 минут назад, Gnom_Deputat сказал:

Нет, ты не понял. Это данные с матча. А мне нужно из таблицы.
Условно прошло 10 туров. А нам чтобы проверить ставки по 7-ому туру, нужны данные не за 10 туров а за 7 (условно, команда после 10 тура - 2 место, 25 очков, 23 забитых, а после 7 тура они были на 6 месте, 19 очков и 14 забитых, и мне нужна вот эта информация <- по 7 туру в моменте). Пока на скринах я просто вижу парсинг данных букмекерской конторы

Вот этот алгоритм. Тупо добавить в программу и проверить. Готовый код под твою БД

Python
import sqlite3
import re
import pandas as pd


DB_PATH = "your_database.db"   # <-- укажи путь к своей БД


def load_matches(league_id=None):
    """Загружаем матчи из SQLite."""
    conn = sqlite3.connect(DB_PATH)

    query = "SELECT * FROM matches WHERE status = 'finished'"
    params = []

    if league_id is not None:
        query += " AND league_id = ?"
        params.append(league_id)

    df = pd.read_sql_query(query, conn, params=params)
    conn.close()

    # Парсим номер тура из строки "Round 3" -> 3
    df["round_num"] = df["round"].apply(
        lambda x: int(re.search(r"\d+", str(x)).group()) if pd.notna(x) else None
    )

    df["date"] = pd.to_datetime(df["date"])

    return df


def empty_stats():
    return {
        "played": 0, "wins": 0, "draws": 0, "losses": 0,
        "gf": 0, "ga": 0, "gd": 0, "pts": 0
    }


def apply_match(table, home, away, hg, ag):
    for t in (home, away):
        if t not in table:
            table[t] = empty_stats()

    table[home]["played"] += 1
    table[away]["played"] += 1

    table[home]["gf"] += hg
    table[home]["ga"] += ag
    table[away]["gf"] += ag
    table[away]["ga"] += hg

    if hg > ag:
        table[home]["wins"] += 1
        table[away]["losses"] += 1
        table[home]["pts"] += 3
    elif hg < ag:
        table[away]["wins"] += 1
        table[home]["losses"] += 1
        table[away]["pts"] += 3
    else:
        table[home]["draws"] += 1
        table[away]["draws"] += 1
        table[home]["pts"] += 1
        table[away]["pts"] += 1

    table[home]["gd"] = table[home]["gf"] - table[home]["ga"]
    table[away]["gd"] = table[away]["gf"] - table[away]["ga"]


def table_to_df(table):
    rows = [{"team": t, **s} for t, s in table.items()]
    df = pd.DataFrame(rows)
    if df.empty:
        return df
    df = df.sort_values(["pts", "gd", "gf"], ascending=[False, False, False]).reset_index(drop=True)
    df.insert(0, "place", df.index + 1)
    return df


def get_standings_on_round(matches_df, target_round, mode="after_round"):
    """
    mode:
        'after_round'  -> таблица после target_round (включительно)
        'before_round' -> таблица до target_round (не включая)
    """
    df = matches_df.copy()
    df = df.dropna(subset=["score_home", "score_away", "round_num"])
    df = df.sort_values(["date"])

    if mode == "after_round":
        df = df[df["round_num"] <= target_round]
    elif mode == "before_round":
        df = df[df["round_num"] < target_round]
    else:
        raise ValueError("mode: 'after_round' | 'before_round'")

    table = {}
    for _, m in df.iterrows():
        apply_match(
            table,
            m["home_team"], m["away_team"],
            int(m["score_home"]), int(m["score_away"])
        )

    return table_to_df(table)


def get_team_state(matches_df, team_name, target_round, mode="after_round"):
    standings = get_standings_on_round(matches_df, target_round, mode)
    row = standings[standings["team"] == team_name]
    return None if row.empty else row.iloc[0].to_dict()


def build_all_snapshots(matches_df):
    """Возвращает dict: {round_num: standings_df}"""
    df = matches_df.copy()
    df = df.dropna(subset=["score_home", "score_away", "round_num"])

    table = {}
    snapshots = {}

    for rnd in sorted(df["round_num"].unique()):
        round_matches = df[df["round_num"] == rnd].sort_values("date")

        for _, m in round_matches.iterrows():
            apply_match(
                table,
                m["home_team"], m["away_team"],
                int(m["score_home"]), int(m["score_away"])
            )

        snapshots[int(rnd)] = table_to_df(table).copy()

    return snapshots


Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.