EL7.AI
Strategy BuilderCOT DataAdvanced NewsResearchNewEarnings CalendarEconomic Calendar
We use cookiesPrivacy Policy
...
EL7.AIEL7.AI

AI Financial Intelligence
Professional analysis of central bank decisions

© 2026 EL7.AI. All rights reserved.

Markets

  • News
  • Forex
  • Stocks
  • Crypto
  • Gold
  • Commodities
  • Indices
  • ETFs

Analysis

  • Fed
  • ECB
  • COT
  • Economic Calendar

Learn

  • Service Guide
  • Oil

Company

  • About
  • Contact
  • Data Methodology
  • AI Disclosure
  • Pricing
  • Enterprise
  • Terms
  • Privacy
  • Security
  • WhatsApp
Status data is currently unavailable

The information provided on EL7.AI is for educational and informational purposes only and does not constitute financial advice.

خزان زجاجي يضم سرباً من وكلاء الذكاء الاصطناعي بين خريطتَي الصين والولايات المتحدة، مع عدد الأسهم المفحوصة ومقياس مراحل التحقق.

300 AI Agents Built a Stock Portfolio: The Full Experiment — and the Prompt, Free

Practical guide · Building with AI agents · August 2026

We ran a swarm of 314 agents inside a Chinese open-source model. It screened 302 U.S. stocks, produced a 40-position portfolio, an institutional-style report, Excel workbooks and interactive 3D scenes — on a subscription that costs under twenty dollars a month. Then we did the thing nobody does: we audited every number it produced against our production database. This is the complete guide — the architecture, the prompt you can download and run today, what worked, and more importantly: exactly where it broke, and why.

Agents deployed: 314 Stocks screened: 302 Final positions: 40 Independent audit score: 3.7 / 10 The prompt: free to download
The thesis in one paragraph

An agent swarm is good at structure and bad at verification. The shape it produced — sectors, then stocks, then an allocation committee — is exactly how a real research desk is sequenced, and the quality bias it claimed was real and measurable: the portfolio sits in the 78.5th percentile on the quality axis of our factor engine. But the data layer underneath it was brittle: 77 of 302 research notes explicitly admit that their data fetch failed — and then issue a numeric verdict anyway.

The practical reading: use these systems to generate a long list and to rank your priorities — not to generate weights you execute. The difference between the two is a data verification layer, and it is the one part the model will not build for you.

Agents in the swarm
314
11 sector + 302 stock + committee
Model size (Kimi K3)
2.8T
largest open-weight model — run itself was K2.6
Actual monthly cost
$19–$39
subscription, not usage billing
Independent audit score
3.7
of 10 — “not executable”
Notes with no data retrieved
77/302
state the failure in writing
12-month result vs index
−8.78
points behind SPY
Quality percentile
78.5
the first promise held
Valuation percentile
33.5
the second promise did not
Contents
  1. What was actually built
  2. Try it: the swarm simulator
  3. Why a swarm at all?
  4. The tools: Kimi K3 and Kimi Work
  5. The prompt, dissected + download
  6. What actually happened at runtime
  7. The output: 40 positions
  8. The audit: 3.7 out of 10
  9. Where AI fails, precisely
  10. What it really costs
  11. Build it yourself — step by step
  12. Conclusion
Part one

The system — what it is, and why this shape

01

What was actually built

One text file, five stages, 314 agents working in parallel.

The idea is simple to describe and hard to execute. Instead of asking a model “what are the best forty U.S. stocks?” — a question it will answer from training data with total confidence and stale numbers — you build a research pipeline that imitates how a real desk works, and then you run it.

Ours runs in five stages, each feeding the next:

01
Sector analysis
11 agents
02
Stock analysis
302 agents
03
Allocation committee
1 agent
04
The report
deck + Excel
05
Visualization
3D scenes

What separates this from a clever single question is that every agent in stage two opens its own context window for exactly one stock, reads its own sources, and writes its own note. None of them sees the other 301. Then a single agent in stage three reads all 302 notes at once and applies the constraints.

  • Stage 1 — sectors: one agent per GICS sector. Its job is to sweep the sector and return a screened long list, not to make final picks.
  • Stage 2 — stocks: one agent per stock. Six mandatory dimensions: business model, competitive moat, profitability, cash flow quality, balance sheet, valuation. Output: a quality score from 1 to 10 plus a rating.
  • Stage 3 — the committee: constraints are applied here and only here: a quality floor, a 20% sector cap, a position size derived from the score, and a diversification minimum.
  • Stages 4 and 5 — delivery: a deck, two Excel workbooks, four charts, and interactive 3D scenes.
The part that gets missed: stage three is not a summary step. It is the only place where one entity sees everything at once, and without it you do not get a portfolio — you get a stock list. Those are entirely different objects.
02

Try it: the swarm simulator

Prose cannot show you what fan-out means. This can.

The tool below replays the actual run stage by stage: from one file, to eleven sector agents, to three hundred-odd research notes coloured by the score they received, to forty positions, and finally to the audit that found what did not hold. Every number in it is read from the run's own output files — how many each agent screened, the scores it gave, and the final weights.

Interactive

The Agent Swarm Simulator

Press play to watch one text file turn into 302 pieces of research and then into 40 positions. Every number here is read off the actual July 2026 run — none of it is illustrative. Click any sector agent to see what it screened and what it kept.

Stage 1 of 5

One prompt → 11 sector agents

The first agent does no research at all. It reads the plan and splits it, spawning 11 agents — one per GICS sector — each with a scope that cannot overlap another's.

◆ Partition before you research. An agent that researches and delegates at the same time does both badly.

The master promptone file · 5 stages

Click an agent for its detail

Quality score324125306657109871913
V3%SPGI3%MA3%JPM3%CME3%BLK3%MSFT3.5%TSM3.5%NVDA3.5%GOOGL3.5%PH3.5%ISRG3.5%COST3%META2.5%NFLX2.5%AMZN2.5%BKNG2.5%NEE2.5%LNG2.5%ABBV2.5%SYK2.5%RTX2.5%TDG2.5%PANW2.5%SHW2.5%WPM2.5%WMT2.5%KO2%AVB2%XEL2%CB1.5%GILD2%VRTX2%ADBE2%NOC2%ONON2%VICI1.5%ETR1.5%EOG1.5%DE1.5%

Source: the run's own output files — 302 scored stocks and 40 committee positions, July 2026. Illustrative of a research process, not investment advice.

03

Why a swarm at all?

Three technical reasons, all downstream of one limitation in language models.

If you could ask a single model in a single conversation to analyse three hundred stocks, none of this would be necessary. It does not work, and the reason has a name.

1 · Context rot
  • The longer a single conversation runs, the worse its output gets — the failure mode known as context rot.
  • The model does not merely forget; it starts blending what it read about one stock with what it read about another.
  • The fix is not a bigger context window but more and smaller ones: 302 separate conversations, one stock each.
2 · Parallelism
  • 302 sequential analyses in one thread takes an impractical amount of time.
  • Parallel agents finish the same work in a fraction of it.
  • More importantly: one agent failing does not take the run down — you re-dispatch that one.
3 · Role separation
  • An agent that researches and delegates at the same time does both badly.
  • The dispatcher does no research; it reads the plan, splits it, and collects results.
  • That separation is what makes the run auditable — you know which agent said what.
4 · Repeatability
  • A prompt written once can be scheduled to run monthly with no involvement.
  • The value isn't the first run. It's the twelfth.
  • This is the point where an experiment becomes a system.
A rule that holds across every project of this kind: partition before you research. The structure you choose before the first call sets the ceiling on the quality you can reach after it.
Part two

The tools and the prompt

04

The tools: Kimi K3 and Kimi Work

We deliberately chose a Chinese open-source model — to test a widely repeated claim.

The question we get more than any other: are the Chinese models actually cheaper and better? Rather than answer in theory, we built an entire system on one and measured the result.

Kimi K3, from the Chinese lab Moonshot AI, is a 2.8-trillion-parameter mixture-of-experts model with a one-million-token context window, released in July 2026 — the largest open-weight model shipped to date. Its benchmark record is not one story but two. On GDPval-AA v2, which measures real-world work across 44 occupations, it placed third with 1,687 points, behind Claude Fable 5 Max (1,815) and GPT-5.6 Sol Max (1,747.8). But on the Frontend Code Arena it placed first at 1,679, ahead of Fable 5.

Why that distinction matters: “beat the American models” is a meaningless sentence without naming the benchmark. The same model can rank first on one and third on another — which is true of every model on the market, not just this one.
Which version this actually was

The research run described in this guide happened on 6 July 2026, on K2.6 — what was available at the time. K3 shipped ten days later; the 3D scenes were built on it afterwards, and it is what you will be running if you execute the prompt today.

We flag this because conflating two versions is common in coverage, and because the audit findings below belong to K2.6 specifically — don't charge them to a model that did not produce them.

There is a story behind the lab worth telling. Yang Zhilin, born 1992 in Shantou, Guangdong, holds a bachelor's from Tsinghua and a PhD from Carnegie Mellon, and is a co-author of both XLNet and Transformer-XL — two of the reference papers in this field. He interned at Google Brain and Meta, then returned to co-found Moonshot AI in March 2023 with two Tsinghua classmates. Elon Musk called the lab's “Attention Residuals” paper “nice work,” and later responded to K3's coding-arena result with a single word — “Impressive.” Kimi's reply: “Your rockets are also pretty good.”

All of it sits inside a larger context Jensen Huang has described bluntly: roughly 50% of the world's AI researchers are Chinese, and China accounts for around 70% of AI patent filings — despite the restrictions on its access to advanced chips.

The tool

Kimi Work — why the desktop app is the real unlock

This is the most practical point in the guide, and it is not about the model. It is about the shell the model runs inside. When you use any model through a browser tab, you are using it stripped of everything: it cannot read your files, create files, run scripts, or hold a project. That is why most practitioners work through the terminal, where the model has real authority over the machine — but the terminal is not for everyone.

Kimi Work is a desktop application for macOS and Windows, launched in June 2026, and it sits exactly in between: it gives the model what a terminal gives it — reading files, creating them, running jobs — behind a graphical interface a financial analyst or a lawyer can use with no technical background. Three of its features are what made this project possible at all:

  • Projects: a folder on your machine that conversations live inside, so context, instructions and history accumulate in one place instead of evaporating with every new chat.
  • Swarm: the core feature here — any conversation can expand into dozens and up to 300 agents working in parallel, with the model shifting from executor to manager that dispatches tasks and collects results.
  • Plugins and Skills: the decisive one for finance specifically.
Why the plugins change the result entirely

The plugins used here were S&P Global Market Intelligence for standardized fundamentals, SEC EDGAR for official filings, Yahoo Finance for prices and estimates, and the IMF and World Bank for macro context — all available inside the app with no separate subscription.

This is not a detail. A model with no data source will not tell you it needs one. It will search the web, or answer from training data, and hand you a result that looks entirely sound. Missing data does not surface as an error. It surfaces as an answer.

We also used an off-the-shelf skill called equity-research — essentially a Markdown file describing an equity analysis methodology step by step. You can install a ready-made skill, or simply ask the model to write one that describes how you work.

05

The prompt, dissected + download

437 lines that were not written in one sitting — they distilled out of several failed runs.

The prompt below is not a first attempt. It is the residue of several full conversations, each of which exposed a flaw in the one before it. That is itself a technique worth stealing: when you finally get output you like, ask the model to write the prompt that would produce it, then keep that and run it again.

It is built around one idea called a stage gate: rather than loading every tool up front, each stage declares exactly which tools load at that point. This stops the model from drowning in options it does not need yet.

The prompt's architecture — five stages, each with a gate
StageAgentsInputRequired outputQuality gate
1 — Sectors11 in parallelone GICS sector eachsector brief + 10 scored candidatesmacro context + sector risks
2 — Stocks300+ in batchesone tickersix-dimension note + score + ratingevery dimension covered and sourced
3 — Committee1 agentall notes40 positions + weights + watchlistsector cap ≤ 20%, quality ≥ 6
4 — Report1 agentcommittee document16-slide deckpasses the format checker cleanly
5 — Visualization1 agentcommittee documentinteractive 3D scenehover, tooltips and panels work

The portfolio construction rules are stated inside the prompt in language that leaves no room for interpretation: a quality floor of 6, a 20% sector cap, a position size derived directly from the score (9 → 3.0–3.5%, 8 → 2.5–3.0%), and at least eight sectors represented. Hold on to those rules — we return to them in the audit, because the model broke them in 11 of 40 positions.

Free download

The master prompt — exactly the file that produced this run

No sign-up, no email, no gate. This is the unmodified Markdown file: five stages, the agent roles, the required plugins, the portfolio construction rules, and the quality gate for each stage. Attach it to a fresh conversation and tell the model to execute it.

437 lines~18 KB Markdown5 stages314 agents
↓Download the prompt (.md)View in browser

Use it as a starting point, not as gospel. It was written for one specific job and audited to a score of 3.7/10 — the structure is sound, the data layer is not. Read section 08 before you trust any number it produces, and add your own verification step.

Part three

The run, the result, and the audit

06

What actually happened at runtime

Three failures, and one human intervention that changed the whole run.

Demos show systems running smoothly. This one did not, and the deviations are the most useful part of the experiment.

  • Three sector agents died on the first pass. Energy, Utilities and Real Estate — some on token limits, some on timeouts. They were re-dispatched on their own, which is precisely the advantage of a distributed architecture: failure is local and does not take down the run.
  • The model tried to cut a corner — the single most instructive moment here. Instead of one agent per stock as the plan specifies, it assigned 25 to 30 stocks to each agent. The output looks structurally identical, but it erases the entire benefit: the stocks are back to sharing one context window.
The intervention that saved the run

The run was halted manually and redirected in plain terms: “dispatch 300 agents for 300 stocks — stick with what I'm saying.” It then executed properly across three batches of roughly 110 agents each.

The transferable lesson: do not hesitate to stop the model. The pull toward finishing early is a recurring behaviour in these systems — the task gets completed in form and hollowed out in substance. Watching a run is not optional supervision; it is part of running it.

The run ended with 302 stocks actually scored — not exactly 300, and not the 320 it appeared to be heading toward midway. The final score distribution reveals something important: the overwhelming majority landed in the middle, and only 44 fell to 5 or below, the “avoid” band.

Quality score distribution across 302 stocks — from the run's own output
Score3456789
Stocks21230651097113
RatingsBuy 73 · Hold 201 · Watchlist 27 · Avoid 1
A gap this exposes: 44 stocks earned an “avoid” by the rating table's own definition, but the final report documented one of them. The highest-value output of research covering 302 names is the list it rejected — and it is entirely absent from the deliverables.
07

The output: 40 positions across 11 sectors

What actually came out the far end of the pipe.

The committee produced 40 positions spread across all eleven sectors, with a stated average quality score of 8.35, 33 Buy-rated and 7 Hold-rated. The five largest positions — Microsoft, TSMC, NVIDIA, Alphabet and Parker-Hannifin — each at 3.5%.

Final sector allocation — weights exactly as the committee produced them
SectorWeightPositionsScreened from
Financials19.5%727
Information Technology15.0%529
Health Care12.5%529
Industrials12.0%527
Communication Services8.5%327
Consumer Staples7.5%326
Consumer Discretionary7.0%330
Energy6.5%327
Materials5.0%227
Real Estate3.5%225
Utilities3.5%228
Total100.5%40302

Now look at the total of that first column: 100.5%. That is the first thread we pull in the next section.

08

The audit: 3.7 out of 10

This is where the demo ends and the useful part begins.

Most published coverage of these tools stops at the attractive screenshot. We took the output, ran it against our production database and the factor engine we operate, and checked every verifiable number against its source. Final score: 3.7 out of 10 — a good idea-generation tool, not an executable document.

What held up
The quality bias was real

The portfolio sits at the 78.5th percentile on our quality axis and 64.6th on safety. The names it chose really are high-quality companies with solid balance sheets — the first promise was delivered.

What did not
“Valuation-conscious” was not true

Valuation percentile 33.5 — more expensive than two thirds of the market. The second claim in the report's own title is contradicted by the data.

01

The numbers that did not hold

Figures pulled from financial statements — margins and revenues — came back excellent: Sherwin-Williams gross margin 49% against 49.0% in our data, TransDigm net margin ~22% against 21.9%. The price-derived figures — the multiples — were badly unstable.

A sample of the deviations — every row checked against our database
ClaimStatedRealityWhy it matters
PLTR price/earnings375×138.3× trailing · 71.5× forwardthat number was the stated reason for excluding it
Apple share price$264$312.66same-day close — off by 15.6%
Mastercard operating margin39%58.3%understates the second-best margin held
Apple revenue$451B$416.2B35 billion dollars that do not exist
Weights total100.5%100%the simplest possible check, absent from the checklist
The pattern — and the real lesson

The Apple note says, verbatim, in its sources line: “404 error — no results… Yahoo Finance API: rate-limited, no data retrieved.” The same note then issues a valuation verdict: “trading around $264.” The actual close that day was $312.66.

This is not random hallucination. It is the deterministic result of a specific equation: a prompt that requires the model to cite a number + a data fetch that fails silently = an invented number. The model is required to fill a field, the field is empty, so it fills it from training data. And it will not tell you.

02

The test that was never run

The report contained no backtest and no index comparison. We ran one, using the stated weights literally, from 2025-08-01 to 2026-07-28, on closing prices without dividends:

−8.78 points behind SPYportfolio +10.38% against +19.16% for the index over 12 months 0.645 betavolatility 10.83% against 13.30%, max drawdown −8.68%

The detail matters more than the headline. Of the +10.38 points of return, +9.46 — 91% of it — came from four names representing 12% of the portfolio's weight (Alphabet +98.5%, TSMC +71.4%, Palo Alto +88.4%, Parker-Hannifin +37.1%). The remaining 36 positions — 88% of the capital — produced less than one point between them.

In fairness to the system — a point worth making

When the portfolio is split by the quality score the system assigned, the return ordering was genuinely consistent: score 9 returned +16.23%, score 7 returned +12.26%, score 8 returned +9.13%, and score 6 returned −20.42%. The scoring system is not internally random — but it selected from a universe that lagged the index outright, so even its best tier trailed.

A beta of 0.645 and a max drawdown capped at −8.68% are real value to a defensive investor. But the report measured none of it and claimed none of it — the product's best property was unknown to its maker.

03

The rule it did not apply to itself

The prompt states that a score of 8 means a weight between 2.5% and 3.0%, and that a score of 6 is “watchlist only.” In the final portfolio: ten score-8 positions came in below the floor, and a score-6 name entered as a full position. The rule was broken in 11 of 40 positions.

Why that is worse than it looks: when a rule is broken a quarter of the time it is not a rule — it is a post-hoc description of decisions made some other way. The reader loses the ability to infer weight from score, which is the only thing the table was there to do.

And finally the number that summarises everything: the Pearson correlation between the quality score the entire portfolio was built on and our factor engine's overall ranking is 0.066 — effectively zero. Between the assigned weight and that ranking: 0.024. The practical consequence is that the best names by our measure received the smallest weights.

09

Where AI fails, precisely

The map that carries this experiment into any other domain.

If you take one thing from this guide, take this split. The failures were not randomly distributed. They all clustered on one side.

What AI does well
  • Structure and sequencing. The three-stage shape is correct and matches a real research desk.
  • Breadth of coverage. 302 stocks with a note each — work a small human team could not finish in weeks.
  • Explicit numeric constraints. The 20% sector cap was genuinely respected; the top sector landed at 19.5%.
  • Extracting facts from documents. Margins and revenues from filings came back accurate.
  • Output and formatting. A clean deck in correct Arabic, with usable files.
Where it fails — and you must build it
  • Data verification. A failed fetch passes as a warning the model steps over, instead of an error that halts the note.
  • Internal consistency. Three different values for the same statistic inside one file.
  • Applying its own rules. It writes the rule clearly, then breaks it in 11 of 40.
  • Quantitative risk. No beta, no volatility, no correlation — “risk” is adjectives only.
  • Reference classifications. It filed NextEra Energy under Energy; it is a utility.
The rule that carries this anywhere: any field the model is required to fill, without a trustworthy source for it, it will fill from memory. The fix is not better prompt wording — it is making a failed fetch an explicit error that stops the work.Where that isn't possible, the fallback is for the prompt to say plainly: “if the data is unavailable, cite no numbers.”
10

What it really costs

The number that makes all of this meaningful — or meaningless.

The subscription is sold in tiers rather than by usage, which changes the arithmetic completely: Adagio is free with limited credits and two scheduled tasks; Moderato is $19 a month; Allegretto is $39 with an expanded swarm capped at a limited number of sub-agents; then Allegro at $99 and Vivace at $199 — and only those last two unlock the full 300-agent swarm.

A note from the run itself, not from the pricing page: this run was executed on the $39 tier, and the monthly quota ran out before the work finished. If your goal is a full 300-agent swarm every month, the realistic tier is higher than a single experiment suggests.

At the API level the comparison is cleaner: Kimi K3 costs $3 per million input tokens and $15 per million output, against $5/$25 for Claude Opus 5 and $5/$30 for GPT-5.6 Sol — roughly 40% to 50% cheaper depending on which side you compare. On a cost-per-completed-task basis, K3 lands at $0.94 against $1.04 for GPT-5.6 Sol and $1.80 for Claude Opus 4.8.

The value verdict

Is this institutional-grade work? No. Is it close? Closer than is comfortable. And at twenty dollars a month the right question is not “does it match a specialist analyst?” but “what is the alternative at this budget?” — and the alternative is usually nothing at all.

11

Build it yourself — step by step

No prior experience assumed. These are the steps in order.

  • Step 1Install Kimi Work on your machine. This alone is the biggest jump: a model inside a desktop app with file authority does things it simply cannot do in a browser tab.
  • Step 2Create a new project with its own folder. Do not work outside a project — the folder is what gives the run both memory and boundaries.
  • Step 3Grant full access to that folder only. It will not move outside it, and it will not delete what isn't in it.
  • Step 4Install the skill and plugins: the equity-research skill, plus S&P Global, SEC EDGAR and Yahoo Finance. Without them you get answers from the model's memory, not from data.
  • Step 5Download the prompt from this page, attach it as a file in a fresh conversation, and type: Execute this master prompt.
  • Step 6Set the controls: choose Swarm mode, and set thinking effort to standard or high — not max, which drains the quota for no gain. Keep the context window standard rather than raising it to one million tokens; that puts you straight back into the context rot the swarm exists to avoid.
  • Step 7Watch the run and stop it when needed. If you see it assigning stocks to fewer agents than you asked for, halt it immediately and redirect in explicit terms.
  • Step 8Open Scheduled Tasks and set it to run monthly. This is the only point at which what you built stops being an experiment and becomes a system.
  • Step 9Do not skip this one: audit the output before you build any decision on it. Start with the two simplest checks — do the weights sum to 100%, and do the quoted prices actually match that day's close? Those two alone would have caught most of what our audit found.
12

Conclusion

What was built here is real: a research pipeline covering 302 stocks, applying explicit constraints, producing a report, a portfolio and files — running monthly on its own for less than the price of a dinner. The shape it produced is correct by professional standards, and the quality bias it claimed survived contact with our factor engine. That is not a small result.

What was not built is equally real: a data verification layer. Without one, the output — however polished — is a list of ideas that need review, not weights to execute. The difference between the two is not in the model and not in the prompt. It is in the layer you have to build yourself, and that no model will tell you is missing.

Take the prompt. Run it. Change whatever you like. But when you read its output, remember that the dangerous number is never the strange one — it is the one that looks perfectly reasonable and has no source.

Keep reading

We build these systems daily — and we write about what breaks in them

This guide is part of ongoing work on AI systems in financial markets. News coverage and analysis in the newsroom, and the full working methodology is documented on the methodology page.

Disclosure: this is educational content explaining a research methodology. Nothing in it is a recommendation to buy or sell any security. The names mentioned appeared as the output of a technical experiment that was audited and found not executable as-is.

Sources and verification
Run output — 302 notes + committee document EL7 production database EL7 factor engine Moonshot AI — Kimi K3 specifications GDPval-AA v2 · Frontend Code Arena Kimi Work pricing page

Audit methodology: every verifiable number in the run's output was checked against the price, ratio and fundamentals tables in our production database. The backtest uses closing prices only, without dividend reinvestment, at fixed weights with no rebalancing, over 2025-08-01 to 2026-07-28 — a window that precedes the report's date, meaning it measures what the basket would have done if held over the prior year, not live performance since publication. Claims that could not be verified from our database were left unjudged and counted neither for nor against the report.

Notice: this content is for educational and informational purposes only and does not constitute investment advice or a recommendation to buy or sell. Past performance does not guarantee future results.