gnosis / prediction-market-agent-tooling

Tools to benchmark, deploy and monitor prediction market agents.
GNU Lesser General Public License v3.0
17 stars 2 forks source link

Event date in the question is not required, but our agents needs it #481

Open kongzii opened 4 days ago

kongzii commented 4 days ago

From the rules:

If no specific event date is given in a question, it is assumed that the resolution date will be considered the event date.

Currently, we filter out questions without event date in them here https://github.com/gnosis/prediction-market-agent-tooling/blob/main/prediction_market_agent_tooling/tools/is_predictable.py#L16.

And then we don't provide market's closing time into LLM.

So, the current implementation works fine, but it could skip some markets unnecessarily.

So if want to stick to the rules, we should:

  1. Don't require event date in the question itself.
  2. Feed market's closing date to agents.

It sounds like a straightforward and fast thing to do, but I'm worried it could have some accuracy/profitability consequences.

Because if question contains event date but we also provide closing date to the agent, it could be confused about it and predict the event according to the wrong date.

We could do some if/elsing and use the closing date only if the question doesn't contain it already, because otherwise, closing date is theoretically irrelevant.

Practically, if closing date is too much in the future, agent will have the funds locked in there.

greenlucid commented 4 days ago

Note that the rules on the new default Arbitrator, 31 Jurors that was setup here, are different from the ones you referenced in your issue. So, if they're different (they're pretty similar but there might be differences?) those two need to be juggled simultaneously?

https://ipfs.kleros.io/ipfs/QmaUr6hnSVxYD899xdcn2GUVtXVjXoSXKZbce3zFtGWw4H/Question_Resolution_Policy.pdf

kongzii commented 3 days ago

Good point, thanks! Yeah, it needs to be checked when this issue is implemented. Worst-case, we will need to accept the Arbitrator enum and make differences based on that.