Presented by Primer×OpenStocks×AI Tinkerers×OpenAI
Agents vs Wall Street
Build a forecasting agent in one day, submit 12 real earnings forecasts and put your system up against Wall Street.
Each team receives $50 of Codex credit, kindly provided by OpenAI.
Everything you need is in the repository
The challenge is designed to be worked through with an agent. If you are unsure about the rules, data, templates or submission process, point your agent at the repository first.
Your forecasts will live on the platform and a public leaderboard will update as the four companies report.
Create a repeatable agent that researches companies, makes financial judgements and produces forecast workbooks.
Help us learn what genuinely works and show the world how powerful this technology can be when assembled properly.
Four companies. Three figures each.
Your final command must create one completed OpenStocks workbook for each company, using the exact template, metric labels, units and filename supplied.
HD-FY2026Q2.xlsx- Net sales · USDm
- Adjusted diluted EPS · USD/share
- Comparable sales, total company · %
ADI-FY2026Q3.xlsx- Revenue · USDm
- Adjusted diluted EPS · USD/share
- Adjusted gross margin · %
HAS-FY2026.xlsx- Net fees · GBPm
- Pre-exceptional basic EPS · pence
- Pre-exceptional operating profit · GBPm
DE-FY2026Q3.xlsx- Worldwide net sales and revenues · USDm
- Diluted EPS (GAAP) · USD/share
- Production & Precision Ag operating profit · USDm
The repo contains a frozen corpus of filings, call-transcript sections and slide documents for all four companies.
You may use public information found during the event.
Open the repo, then let your agent explore it
- 1Open the participant repository
It is released on the morning of the event and contains the complete challenge pack.
github.com/kernlai/agents-vs-wall-street-starter - 2Install the local checks
npm install - 3Create your private entry record
npm run setup:entryComplete
entry.json. It is ignored by Git so team email addresses stay private. - 4Ask an agent to explain the repo
Use Codex, Claude Code or your preferred harness to find the rules, company data, templates, commands and deadlines.
- 5Start from the supplied workbooks
The four originals are in
challenge/templates/. Do not change the Summary-sheet structure.
The repo includes a small dependency-free Python example. Its results are research leads, so check every figure in the cited source.
python3 starter/search.py --company HDchallenge/Companies, historical documents and workbook templates
architecture/index.htmlTemplate for your required architecture explanation
entry.template.jsonPrivate team and technical details
submission/The four final workbooks
logs/Your timestamped clear-run log
starter/Optional historical-document search helper
Five things every entry must hand in
The repository and exact final commit are mandatory. A rerun may be requested as an additional verification step.
Agent name, team members and emails, harness, models, pre-existing components, human input, repository, final commit and final command.
The system, prompts, instructions and configuration needed to understand and reproduce the work, tied to the exact accepted run.
One self-contained file explaining the design, main choices, tests, trade-offs and known weaknesses. Upload the file with entry.json; no separate hosting is needed.
A timestamped record of what the final system did, including failures or retries. Remove API keys and other secrets.
All four exact files in submission/, then manually uploaded to their matching Forecast Models.
What goes in entry.json
- Agent name and a one-line description.
- Every team member's full name and email address, with their agreement.
- List the primary contact first; their name and email must match the short submission form.
- Build style, harness or framework, primary models, languages and frameworks.
- Every pre-existing public library, framework, utility or normal coding harness used.
- Exactly what human input remains during the final run.
- Repository URL, final commit and final command.
Email addresses are used for event administration, results and leaderboard follow-up. Do not commit entry.json or put emails in the architecture HTML.
Add four details, then upload entry.json and your architecture HTML. No account or separate hosting needed.
Checking the entry window…
Build the competition entry on Sunday
These rules keep every team on the same brief.
No pre-made competition entry
Pre-built challenge-specific code, prompts, research, forecasts, workflows or architecture explanations mean immediate disqualification from every prize.
Allowed
- Teams of one to four people; one agent per team.
- Any language, model, permitted library or agent framework.
- Off-the-shelf models, public libraries, generic utilities and your normal unmodified coding harness.
- Fixed pipelines, coding-harness workflows, single agents or multi-agent systems.
- The supplied historical material and public information found during the event.
Required
- Declare every pre-existing component in
entry.json. - Keep repository history and logs showing when the work was made.
- Use only information you are entitled to use and share.
- Keep secrets out of the repository, HTML, logs and entry record.
- Submit forecasts produced by the system you describe—not numbers made separately by hand.
Architecture judges favour systems that do more of the work independently and can be rerun with less hands-on help. A simpler system can still win either prize if it works well.
Order of the day
All times are London time. The four hard deadlines—17:00, 17:15, 17:30 and 18:00—do not move unless organisers tell the whole room.
Register, have coffee and form a team of no more than four. Raise your hand if you would like help finding teammates.
OpenStocks launch, challenge, repository, tools, rules and questions.
Competition-specific work begins.
Food is served; teams can keep working.
Every team gets five minutes with one judge pair.
The X and LinkedIn post links must be entered below.
The architecture HTML locks and the 45-minute final-run window opens.
Upload each workbook manually to its matching Forecast Model.
All four workbooks must be uploaded and the private team entry must be recorded.
Judges complete the Architecture & Design decision and confirm valid entries.
Architecture winners, closing remarks and the live-leaderboard follow-up.
End of the event.
One clear final run, then four manual uploads
Your architecture page must describe the system you actually use. Small final-run changes are allowed, but a mismatch loses architecture points.
One command processes all four companies, sequentially or in parallel, and writes all four workbooks.
A team member uploads each workbook manually to the matching company Forecast Model on OpenStocks.
The last valid workbook for each company and the newest valid private team entry—including its architecture HTML—are final.
npm run check:submissionThis checks the private entry record and workbook shape. It does not judge whether the forecasts are good.
- A clear run starts from the declared final commit.
- It processes all four companies, creates all four files and saves a timestamped log.
- You may fix a crash and retry before 18:00. If code changes, make a new commit and update
entry.json. - For percentage metrics,
4.5means 4.5%. For Hays EPS,6.2means 6.2 pence. - Forecast uploads are manual. Your agent must not submit to OpenStocks programmatically.
The system is judged on Sunday
This prize rewards how the system researches, reasons, calculates and checks its work—not whether the numbers later happen to be right.
Forecast accuracy belongs to the separate Accuracy Prize.
Simple loops, fixed pipelines and multi-agent systems are judged on how well they work.
Make the research, reasoning, calculations and checks visible.
This conversation is the most important part of the architecture judging. It gives each team a direct chance to explain what it built, why it made its choices and what the judges should look at in the supporting evidence.
The questions and point ranges help both judge pairs cover the same ground and compare notes. Totals do not automatically choose the winners or break a tie. The four judges make a shared, overall decision from the conversation, repository, architecture HTML and run log.
The system · 70 points
| Category | Points | The question judges ask | Evidence they use |
|---|---|---|---|
| Forecasting approach | 16 | How does the system reason its way to a forecast instead of simply asking an AI model for a number? | The workflow, prompts, code and decision trail showing how research becomes a forecast. |
| Model quality | 12 | Can the judges follow how evidence and assumptions become each of the 12 final numbers? | Calculations, assumptions and traces connecting source evidence to the submitted figures. |
| Data approach | 12 | What information does the system use, where does it come from and how does it check that it is current and trustworthy? | Sources, citations, retrieval code and the research record produced during the run. |
| Validation and reliability | 12 | Does the system check units, unusual values, conflicting information and other mistakes? | Checks, tests, rejected values, handled failures and the final run log. |
| Agent harness | 9 | Does the way the agent is organised help it complete the task reliably, and can the team explain it? | The repository structure, final command, orchestration and evidence that the system ran as described. |
| Tooling and ergonomics | 9 | Did the team build useful search, extraction or checking tools that help the agent do better work? | Working tools in the repository and evidence of how they improved the run. |
The architecture write-up · 30 points
| Category | Points | The question judges ask | Evidence they use |
|---|---|---|---|
| Clarity | 10 | Can a technically minded outsider understand what the system does and why after reading the page for five minutes? | The uploaded HTML, including a plain-English explanation of the workflow and main decisions. |
| Diagram and accuracy | 10 | Does the diagram match the real system, and can someone follow the repository instructions to reproduce the run? | The architecture diagram checked against the code, final command and clear-run log. |
| Honesty and self-knowledge | 6 | Does the team explain what it tried, changed or abandoned, and where the system may fail? | Specific trade-offs, failed approaches, limitations and known weaknesses. |
| Craft | 4 | Is the page clear and well made enough to publish on the team's OpenStocks profile? | A readable, self-contained page that works in the private judging preview without extra explanation. |
Points help both judge pairs compare entries, but they do not choose the winner automatically. The four judges make the final decision together.
Beat Wall Street across the 12 forecasts
This prize is decided after the four companies report. Each metric has equal weight and the lowest average score wins.
The complete calculation
- Calculate the team’s absolute miss:
|team forecast − reported result|. - Calculate Wall Street’s absolute miss on the same metric.
- Divide the team miss by the larger of Wall Street’s miss and the applicable denominator floor, then cap the result at
5.0. - Average the 12 metric scores. Every metric has equal weight, so each company contributes 25% of the final score. Lowest average wins.
Your agent beat Wall Street.
Your agent had the same miss.
Your agent missed by more.
| Worked example | Forecast | Reported result | Absolute miss | Metric score |
|---|---|---|---|---|
| Wall Street | 100 | 110 | 10 | Benchmark |
| Team agent | 106 | 110 | 4 | 4 ÷ 10 = 0.40 |
| Edge case | Rule |
|---|---|
| Reported result | Use the actual number reported by the company for the exact metric and fiscal period in the challenge. |
| Wall Street is exactly or almost right | Use a denominator floor: 0.5 percentage points for percentage metrics; 0.5% of the absolute reported result for money and EPS, with a small fixed fallback when the result is zero. |
| Very poor forecast | Cap that metric's ratio at 5.0 so one extreme miss cannot dominate the whole result. |
| Missing forecast | Score 5.0 for that metric rather than disqualifying the team. |
| Tie | First compare how many of the 12 metrics each team beat Wall Street on. If still tied, split the relevant Accuracy Prize. |
Organisers will not execute participant code after the event. The Wall Street benchmark for each metric is frozen internally at the submission deadline and is not supplied to teams.
$10,000 total cash prize pool
Architecture and Accuracy each award $4,500 per team. X and LinkedIn each award $500 to an individual. All awards are settled after the event.
| Place | Architecture cash | Architecture OpenAI credits | Accuracy cash |
|---|---|---|---|
| First | $2,250 | $5,000 | $2,250 |
| Second | $1,350 | $2,500 | $1,350 |
| Third | $900 | $1,000 | $900 |
Decided from the system, repository, HTML, log and judge conversation.
Calculated from the 12 locked forecasts as the companies report.
Keep your agent competing
OpenStocks awards ongoing $100 prizes for individual earnings events. Build your agent so you can use it again and keep submitting forecasts after the hackathon.
Need help?
First point your agent at the repository. If the answer is not there—or you need a ruling—ask an organiser so the same answer can be shared with everyone.
Share what you built and learned
There is a $500 prize for the best X post and another $500 prize for the best LinkedIn post. Enter either platform or both. The post you enter must include every required tag shown below.
Required: tag @_openstocks, @primerapp_, @AITinkerers and @openai.
Required: tag Primer, OpenAI and AI Tinkerers. OpenStocks does not need a separate LinkedIn tag.
How to qualify
Open the official OpenStocks launch post and press Quote on X or Repost with your thoughts on LinkedIn.
Write your entry in that post — what you built, learned or believe — with every required tag for the platform.
Paste your post’s link into the form below before 17:00. One platform or both.
What judges look for
Teach people something genuinely useful about the build, what you learned or where the industry is going.
Use your real experience and choices, rather than generic event promotion.
Make the idea easy to understand. Engagement is only a tie-breaker.
Enter at least one competition post. It must include every required tag for that platform. No account or sign-in is needed; sending the form again with the same email replaces your links.
Social entries open once both launch posts are live.
The direct X and LinkedIn links will appear here. Share both official posts before entering either prize.
Read the social competition rules