bet逻辑修改
This commit is contained in:
43
main.py
43
main.py
@@ -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')
|
||||||
|
|||||||
Reference in New Issue
Block a user