This commit is contained in:
@@ -323,8 +323,8 @@ class OddsBandAnalyzer:
|
||||
m.home_team_id,
|
||||
m.away_team_id,
|
||||
CASE
|
||||
WHEN m.home_team_id = %(team_id)s THEN os_sel.odd_value
|
||||
ELSE os_sel2.odd_value
|
||||
WHEN m.home_team_id = %(team_id)s THEN os_sel.odd_value::numeric
|
||||
ELSE os_sel2.odd_value::numeric
|
||||
END AS team_odds
|
||||
FROM matches m
|
||||
JOIN odd_categories oc
|
||||
@@ -344,7 +344,7 @@ class OddsBandAnalyzer:
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.score_away IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND COALESCE(os_sel.odd_value, os_sel2.odd_value)
|
||||
AND COALESCE(os_sel.odd_value::numeric, os_sel2.odd_value::numeric)
|
||||
BETWEEN %(band_low)s AND %(band_high)s
|
||||
ORDER BY m.mst_utc DESC
|
||||
LIMIT %(max_lookback)s
|
||||
@@ -432,7 +432,7 @@ class OddsBandAnalyzer:
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.score_away IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND os_h.odd_value BETWEEN %(band_low)s AND %(band_high)s
|
||||
AND os_h.odd_value::numeric BETWEEN %(band_low)s AND %(band_high)s
|
||||
ORDER BY m.mst_utc DESC
|
||||
LIMIT %(max_lookback)s
|
||||
)
|
||||
@@ -508,7 +508,7 @@ class OddsBandAnalyzer:
|
||||
f"İlk Yarı {line_str} Alt/Üst",
|
||||
f"Ilk Yari {line_str} Alt/Ust",
|
||||
]
|
||||
score_expr = "COALESCE(m.score_ht_home, 0) + COALESCE(m.score_ht_away, 0)"
|
||||
score_expr = "COALESCE(m.ht_score_home, 0) + COALESCE(m.ht_score_away, 0)"
|
||||
else:
|
||||
cat_names = [
|
||||
f"{line_str} Alt/Üst",
|
||||
@@ -535,7 +535,7 @@ class OddsBandAnalyzer:
|
||||
AND m.status = 'FT'
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND os_over.odd_value BETWEEN %(band_low)s AND %(band_high)s
|
||||
AND os_over.odd_value::numeric BETWEEN %(band_low)s AND %(band_high)s
|
||||
ORDER BY m.mst_utc DESC
|
||||
LIMIT %(max_lookback)s
|
||||
)
|
||||
@@ -620,7 +620,7 @@ class OddsBandAnalyzer:
|
||||
AND m.status = 'FT'
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND os_yes.odd_value BETWEEN %(band_low)s AND %(band_high)s
|
||||
AND os_yes.odd_value::numeric BETWEEN %(band_low)s AND %(band_high)s
|
||||
ORDER BY m.mst_utc DESC
|
||||
LIMIT %(max_lookback)s
|
||||
)
|
||||
@@ -696,7 +696,7 @@ class OddsBandAnalyzer:
|
||||
AND m.sport = 'football' AND m.status = 'FT'
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND os_sel.odd_value BETWEEN %(bl)s AND %(bh)s
|
||||
AND os_sel.odd_value::numeric BETWEEN %(bl)s AND %(bh)s
|
||||
ORDER BY m.mst_utc DESC LIMIT %(ml)s
|
||||
)
|
||||
SELECT COUNT(*) AS ss,
|
||||
@@ -748,7 +748,7 @@ class OddsBandAnalyzer:
|
||||
try:
|
||||
cur.execute("""
|
||||
WITH ht_matches AS (
|
||||
SELECT m.score_ht_home, m.score_ht_away,
|
||||
SELECT m.ht_score_home, m.ht_score_away,
|
||||
m.home_team_id, m.away_team_id
|
||||
FROM matches m
|
||||
JOIN odd_categories oc ON oc.match_id = m.id
|
||||
@@ -761,18 +761,18 @@ class OddsBandAnalyzer:
|
||||
AND os2.name = '2' AND m.away_team_id = %(tid)s
|
||||
WHERE (m.home_team_id = %(tid)s OR m.away_team_id = %(tid)s)
|
||||
AND m.sport = 'football' AND m.status = 'FT'
|
||||
AND m.score_ht_home IS NOT NULL
|
||||
AND m.ht_score_home IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND COALESCE(os1.odd_value, os2.odd_value)
|
||||
AND COALESCE(os1.odd_value::numeric, os2.odd_value::numeric)
|
||||
BETWEEN %(bl)s AND %(bh)s
|
||||
ORDER BY m.mst_utc DESC LIMIT %(ml)s
|
||||
)
|
||||
SELECT COUNT(*) AS ss,
|
||||
COALESCE(AVG(CASE
|
||||
WHEN (home_team_id = %(tid)s AND score_ht_home > score_ht_away)
|
||||
OR (away_team_id = %(tid)s AND score_ht_away > score_ht_home)
|
||||
WHEN (home_team_id = %(tid)s AND ht_score_home > ht_score_away)
|
||||
OR (away_team_id = %(tid)s AND ht_score_away > ht_score_home)
|
||||
THEN 1.0 ELSE 0.0 END), 0.33) AS win_rate,
|
||||
COALESCE(AVG(CASE WHEN score_ht_home = score_ht_away
|
||||
COALESCE(AVG(CASE WHEN ht_score_home = ht_score_away
|
||||
THEN 1.0 ELSE 0.0 END), 0.40) AS draw_rate
|
||||
FROM ht_matches
|
||||
""", {
|
||||
@@ -824,7 +824,7 @@ class OddsBandAnalyzer:
|
||||
AND m.sport = 'football' AND m.status = 'FT'
|
||||
AND m.score_home IS NOT NULL
|
||||
AND m.mst_utc < %(before_ts)s
|
||||
AND os_odd.odd_value BETWEEN %(bl)s AND %(bh)s
|
||||
AND os_odd.odd_value::numeric BETWEEN %(bl)s AND %(bh)s
|
||||
ORDER BY m.mst_utc DESC LIMIT %(ml)s
|
||||
)
|
||||
SELECT COUNT(*) AS ss,
|
||||
@@ -1185,7 +1185,7 @@ class OddsBandAnalyzer:
|
||||
'IY/MS'
|
||||
)
|
||||
JOIN odd_selections os ON os.odd_category_db_id = oc.db_id
|
||||
AND os.odd_value BETWEEN %(bl)s AND %(bh)s
|
||||
AND os.odd_value::numeric BETWEEN %(bl)s AND %(bh)s
|
||||
WHERE m.sport = 'football'
|
||||
AND m.status = 'FT'
|
||||
AND m.score_home IS NOT NULL
|
||||
|
||||
Reference in New Issue
Block a user