From d50c88e0b48aabde8144e6fa867e8f59ed44ec14 Mon Sep 17 00:00:00 2001 From: Peter Jung Date: Mon, 26 Feb 2024 13:34:16 +0100 Subject: [PATCH] Add get_open_and_resolved_markets function (#57) --- .../monitor/monitor_app.py | 44 ++++++++++++++++--- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/prediction_market_agent_tooling/monitor/monitor_app.py b/prediction_market_agent_tooling/monitor/monitor_app.py index 04368fe1..60bf9c58 100644 --- a/prediction_market_agent_tooling/monitor/monitor_app.py +++ b/prediction_market_agent_tooling/monitor/monitor_app.py @@ -4,7 +4,10 @@ import pytz import streamlit as st -from prediction_market_agent_tooling.benchmark.utils import get_manifold_markets_dated +from prediction_market_agent_tooling.benchmark.utils import ( + Market, + get_manifold_markets_dated, +) from prediction_market_agent_tooling.markets.markets import MarketType from prediction_market_agent_tooling.monitor.markets.manifold import ( DeployedManifoldAgent, @@ -34,6 +37,36 @@ def get_deployed_agents( raise ValueError(f"Unknown market type: {market_type}") +def get_open_and_resolved_markets( + start_time: datetime, + market_type: MarketType, +) -> tuple[list[Market], list[Market]]: + open_markets: list[Market] + resolved_markets: list[Market] + + if market_type == MarketType.MANIFOLD: + open_markets = get_manifold_markets_dated( + oldest_date=start_time, filter_="open" + ) + resolved_markets = [ + m + for m in get_manifold_markets_dated( + oldest_date=start_time, filter_="resolved" + ) + if not m.has_unsuccessful_resolution + ] + + elif market_type == MarketType.OMEN: + # TODO: Add Omen market support: https://github.com/gnosis/prediction-market-agent-tooling/issues/56 + open_markets = [] + resolved_markets = [] + + else: + raise ValueError(f"Unknown market type: {market_type}") + + return open_markets, resolved_markets + + def monitor_app() -> None: settings = MonitorSettings() start_time = datetime.combine( @@ -52,12 +85,9 @@ def monitor_app() -> None: ) st.subheader("Market resolution") - open_markets = get_manifold_markets_dated(oldest_date=start_time, filter_="open") - resolved_markets = [ - m - for m in get_manifold_markets_dated(oldest_date=start_time, filter_="resolved") - if not m.has_unsuccessful_resolution - ] + open_markets, resolved_markets = get_open_and_resolved_markets( + start_time, market_type + ) monitor_market(open_markets=open_markets, resolved_markets=resolved_markets) with st.spinner("Loading agents..."):