bet逻辑修改

This commit is contained in:
2024-09-06 23:22:49 +08:00
parent e2c5106c77
commit 19599657b3

43
main.py
View File

@@ -1,30 +1,22 @@
import pandas as pd import pandas as pd
from datetime import datetime from typing import Generator
from pytz import timezone from pytz import timezone
from dao.Database import Database from dao.Database import Database
from data_model import MysqlConfig, OddsJamOrder, OddjamsBet from data_model import MysqlConfig, OddsJamOrder, OddsjamBet
def generate_oddjams_bet(data: OddsJamOrder): def generate_oddjams_bet(data: OddsJamOrder) -> Generator[OddsjamBet]:
# 根据 start_timestamp 是否小于当前时间两个小时判断要不要去看结果
# 怎么判断一个 oddjam order 是不是下单成功? # 怎么判断一个 oddjam order 是不是下单成功?
bet_name = data.home_bet_name bet_name = data.home_bet_name
sport_books = data.home_sportsbooks sport_books = data.home_sportsbooks
if data.away_price > data.away_no_vig_price: if data.away_price > data.away_no_vig_price:
bet_name = data.away_bet_name bet_name = data.away_bet_name
sport_books = data.away_sportsbooks sport_books = data.away_sportsbooks # 选 selected_sportsbook
market_name = data.market # 时区转换, mysql 中的 game start date 是 utc 时间? 这个不需要
sport = data.sport
league = data.league
game_id = data.game_id
notes = data.bet_id
bet_type = 'Normal'
event_name = ''
odds = 110
stake = 1
# 时区转换, mysql 中的 game start date 是 utc 时间?
game_start_date = data.start_date game_start_date = data.start_date
my_datetime_with_tz = game_start_date.replace(tzinfo=timezone('UTC')) my_datetime_with_tz = game_start_date.replace(tzinfo=timezone('UTC'))
eastern = timezone('US/Eastern') eastern = timezone('US/Eastern')
@@ -32,19 +24,19 @@ def generate_oddjams_bet(data: OddsJamOrder):
game_start_date = eastern_datetime.strftime('%m/%d/%Y, %H:%M EDT') game_start_date = eastern_datetime.strftime('%m/%d/%Y, %H:%M EDT')
for sport_book in sport_books: for sport_book in sport_books:
yield OddjamsBet( yield OddsjamBet(
Sportsbook=sport_book, Sportsbook=sport_book,
BetName=bet_name, BetName=bet_name,
MarketName=market_name, MarketName=data.market,
Odds=odds, Odds=110, # away price or home price
Stake=stake, Stake=1,
EventName=event_name, EventName='', # home team vs away team 用这种格式, 需要带vs和两边的空格
Sport=sport, Sport=data.sport,
League=league, League=data.league,
GameID=game_id, GameID=data.game_id,
GameStartDate=game_start_date, GameStartDate=game_start_date,
BetType=bet_type, BetType='Positive EV',
Notes=notes Notes=data.bet_id
) )
@@ -58,11 +50,10 @@ if __name__ == '__main__':
raw_data_list = dao.fetchall(query=select_query) raw_data_list = dao.fetchall(query=select_query)
order_data_list = [OddsJamOrder(**data) for data in raw_data_list] order_data_list = [OddsJamOrder(**data) for data in raw_data_list]
bet_list = [] bet_list = []
for order in order_data_list: for order in order_data_list:
bet_list.extend(list(generate_oddjams_bet(order))) bet_list.extend(list(generate_oddjams_bet(order)))
bet_list = [data.model_dump() for data in bet_list] bet_list = [data.model_dump() for data in bet_list]
bet_df = pd.DataFrame(bet_list) bet_df = pd.DataFrame(bet_list)
bet_df.to_csv('bet.csv', index=False, encoding='utf-8-sig') bet_df.to_csv('bet.csv', index=False, encoding='utf-8-sig')