Пример #1
0
def make_order_performance_chart_with_context(**context):
    game_id, start_time, end_time = context_parser(context, "game_id", "start_time", "end_time")
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    user_ids = get_active_game_user_ids(game_id)
    for user_id in user_ids:
        print(f"*** user id: {user_id} ***")
        serialize_and_pack_order_performance_assets(game_id, user_id, start_time, end_time)
Пример #2
0
def get_game_balances(game_id: int, user_id: int, start_time: float = None, end_time: float = None):
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    with engine.connect() as conn:
        return pd.read_sql("""
          SELECT timestamp, symbol, balance, transaction_type, order_status_id, stock_split_id FROM game_balances
          WHERE game_id = %s AND user_id = %s AND balance_type = 'virtual_stock' AND timestamp >= %s AND timestamp <= %s
          ORDER BY symbol, id;""", conn, params=[game_id, user_id, start_time, end_time])
Пример #3
0
def log_multiplayer_winners_with_context(**context):
    game_id, start_time, end_time = context_parser(context, "game_id", "start_time", "end_time")
    if not check_single_player_mode(game_id):
        _, end_time = get_time_defaults(game_id, start_time, end_time)
        log_winners(game_id, end_time)
Пример #4
0
def update_field_chart_with_context(**context):
    game_id, start_time, end_time = context_parser(context, "game_id", "start_time", "end_time")
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    make_the_field_charts(game_id, start_time, end_time)
Пример #5
0
def make_leaderboard_with_context(**context):
    game_id, start_time, end_time = context_parser(context, "game_id", "start_time", "end_time")
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    compile_and_pack_player_leaderboard(game_id, start_time, end_time)
Пример #6
0
def make_metrics_with_context(**context):
    game_id, start_time, end_time = context_parser(context, "game_id", "start_time", "end_time")
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    calculate_and_pack_game_metrics(game_id, start_time, end_time)
Пример #7
0
def portfolio_value_by_day(game_id: int, user_id: int, start_time: float, end_time: float) -> pd.DataFrame:
    start_time, end_time = get_time_defaults(game_id, start_time, end_time)
    df = make_historical_balances_and_prices_table(game_id, user_id)
    df = df[(df["timestamp"] >= posix_to_datetime(start_time)) & (df["timestamp"] <= posix_to_datetime(end_time))]
    df = df.groupby(["symbol", "timestamp"], as_index=False)["value"].agg("last")
    return df.groupby("timestamp", as_index=False)["value"].sum()