MiroShark/social-prediction-market-sim
MiroShark Social + Prediction Market Simulation Agent decisions from MiroShark simulations (GitHub). In each simulation, LLM agents with distinct personas (companies, founders, communities, regulators, commentators) share a Twitter/Reddit-style feed and a Polymarket-style prediction market. Every round, each agent reads the feed (or its portfolio and the open markets) and decides what to do: post, comment, quote, like, follow, buy or sell shares, or do nothing. Each row is one… See the full description on the dataset page: https://huggingface.co/datasets/MiroShark/social-prediction-market-sim.
MiroShark Social + Prediction Market Simulation
Agent decisions from MiroShark simulations (GitHub). In each simulation, LLM agents with distinct personas (companies, founders, communities, regulators, commentators) share a Twitter/Reddit-style feed and a Polymarket-style prediction market. Every round, each agent reads the feed (or its portfolio and the open markets) and decides what to do: post, comment, quote, like, follow, buy or sell shares, or do nothing.
Each row is one agent's decision in one round: the full input it saw, its written reasoning, and the actions it took.
- 16 simulations, up to 10 rounds each, about 26 agents per simulation
- 8,201 decisions in total (6,563 in the cleaned
sftconfig) - Social actions and trading actions in one dataset
- Generated by
deepseek/deepseek-v4-flash,deepseek/deepseek-v4.1-flashandz-ai/glm-4.7-flashvia OpenRouter
As far as we know, this is the first public dataset where the same LLM agents both act on a social feed and trade in a prediction market inside one simulation, released in a format ready for fine-tuning.
Rows per model
Configs
sft (default)
Ready for supervised fine-tuning. One row = one prompt and one target completion.
Splits are by simulation, not by row, so no simulation appears in both train (6,133 rows, 13 sims) and test (430 rows, 3 sims).
Rows are removed from sft when:
- the prompt is empty (397 rows), or
- the agent acted on a post, comment or user ID that does not appear in its prompt (1,241 rows).
raw
All 8,201 decisions with the structured fields from the simulation logs. Use it to build your own prompt format or to study agent behavior across rounds.
Action format
[{"action_type": "quote_post", "action_args": {"post_id": 54, "quote_content": "..."}},
{"action_type": "like_post", "action_args": {"post_id": 54}}]Social actions: create_post, create_comment, quote_post, repost, like_post, dislike_post, like_comment, dislike_comment, follow, trend, refresh, do_nothing. Market actions: buy_shares, sell_shares (with market_id, outcome, amount_usd or num_shares).
Loading
from datasets import load_dataset
sft = load_dataset("MiroShark/social-prediction-market-sim") # sft config
raw = load_dataset("MiroShark/social-prediction-market-sim", "raw")How this compares
Research systems that mix a social feed with trading, such as TwinMarket and StockAgent, release code but not their agent decision logs. The social layer follows the OASIS action set.
This dataset is smaller than some of the social-simulation logs above. Its focus is on complete, trainable rows rather than scale.
Reproducing
scripts/build.py rebuilds both configs from the MiroShark simulation exports: it flags empty prompts and invented IDs, drops them from sft, and splits sft by simulation.
Notes and limitations
- All content is synthetic. Posts, trades and market prices come from simulated agents, not real users or real markets.
- Personas and feeds name real organizations and public X handles as simulation characters. Their statements are model-generated and do not come from those organizations or people.
- Completions are unedited model outputs. They can contain factual errors and overconfident trading claims. Nothing here is financial advice.
License
MIT. Generated with MiroShark. The software license does not apply to generated outputs; this dataset is released under MIT.
