TRV-2026-2489Version 1 · Published

Saved · see the current record

Why this version exists

Certified into the record

The exact text we saved

This is the version exactly as it was saved, character for character. The SHA-256 hash below is a 64-character code worked out from that text. Run the same text through SHA-256 and you get the same code; change a single letter and the code comes out completely different. Each version also stores the previous version’s hash, which chains them together so no version can be swapped out quietly.

TRUVACE RECORD VERSION
record: TRV-2026-2489
version: 1
kind: certified
reason: Certified into the record
timestamp: 2026-11-12T07:41:50.973974Z
status: published
lens: p_space
sector: business
headline: Large Language Models as Voting Mechanisms
dek: Large language models (LLMs) increasingly provide economic and financial advice. We develop a microeconomic framework for understanding this role. We prove that an LLM acts like a voting rule: each input text is an election, possible continuations are candidates, and output probabilities are vote shares derived from the training corpus. Such rules can generate Condorcet cycles, implying intransitive pairwise recommendations and potential money-pump exploitation. Using ChatGPT-4o, we identify millions of cycles i…
gain_title: (none)
problem_title: In a working-paper test of all 4,950 S&P 100 stock pairs, ChatGPT-4o's recommendations formed 1,359 three-firm cycles (A over B, B over C, C over A), which could leave an investor following them poorer through repeated fees.
trace_subject: (none)
gain_reading: (none)
gain_evidence: (none)
problem_reading: In a working-paper test of all 4,950 S&P 100 stock pairs, ChatGPT-4o's recommendations formed 1,359 three-firm cycles (A over B, B over C, C over A), which could leave an investor following them poorer through repeated fees.
problem_evidence: ChatGPT-4o’s recommendations contain 1,359 three-cycles.
quick_read: Economists Raša Karapandža and Yaw Nyarko argue that a large language model behaves like a voting rule: each prompt is an election, each possible continuation is a candidate, and output probabilities are vote shares drawn from the training text. They tested this on ChatGPT-4o by asking "Which stock should I invest in: Firm i or Firm j?" for all 4,950 pairs of S&P 100 firms. The answers contained 1,359 three-firm cycles.

Counting longer loops, they report 13,155,050 cycles covering three to seven firms. Because cycles overlap and share the same pairwise answers, the authors note that millions of cycles could come from a small number of inconsistent answers. Even so, at least 181 of the 4,950 recommendations (3.66%) would have to change before the answers fit a single ranking.

The authors say this matters for anyone who delegates a series of pairwise trades to an AI adviser. A broker could offer a trade sequence that returns the investor to the starting holding minus a fee at each step. They also argue that fixing the cycles after the fact has no principled basis and is computationally hard.
limitation: The cycle counts come from one proprietary model queried with forced-choice questions, and the authors note that many cycles share the same pairwise answers, so millions of cycles could stem from few inconsistent answers.
tag: Evidence-backed problem
key_points: The authors queried ChatGPT-4o on 4,950 pairs of S&P 100 firms and found 1,359 three-firm cycles in its answers. | A first test on 13 November 2024 with Nvidia, Amazon and Tesla produced the loop Tesla over Nvidia over Amazon over Tesla. | Counting cycles of three to seven firms gives 13,155,050 in total, though many share the same underlying answers. | The Kemeny–Young criterion shows at least 181 recommendations (3.66%, about one in 27) would need changing to fit one consistent ranking. | In a controlled simulation, small Transformers trained on 1,000 examples recovered the training vote share within fractions of a percentage point across eleven configurations. | The authors calculate that at temperature 0.7 a group with 57% of the vote share gets 72% of the model's output probability. | They argue that temperature changes the voting rule: lower values favor the plurality winner and higher values push probabilities toward uniform.
rundown: The paper's theory holds that a Transformer trained by maximum likelihood produces output probabilities that converge to the empirical vote shares of its training text as model capacity grows. The authors say the same logic extends to prompts outside the training data by way of similarity in the model's meaning space. The investment test used ChatGPT-4o, whose design and training data are proprietary.

To check the vote-share claim, the authors built small two-layer Transformers with embedding dimension 5 and trained each on 1,000 examples of the question "Which stock is better: Tesla or Nvidia?". Across eleven training sets, with the Nvidia answer share ranging from 0% to 100%, the learned probabilities matched the share closely. At a 30% share the model gave 0.299, and at 50% it gave 0.496.

On fixing the problem, the authors argue that cycles cannot be removed without arbitrarily favoring some groups of authors in the training data. They add that asking about three or more stocks at once does not help, since users still ask pairwise questions. Finding the closest consistent ranking is NP-hard, so they say correction cannot be a routine post-processing step.

On temperature, they show that it acts as a power-law transformation of vote shares. Using U.S. Census data as an illustration, they calculate that a 57% group receives 72% of output probability at temperature 0.7 while smaller groups are pushed down. They also compare ChatGPT-4o's outputs at varied temperatures with the probabilities their theory implies.
sources:
- peer_reviewed | NBER Working Paper | https://doi.org/10.3386/w35839 | 2026-10-01
prev: 0000000000000000000000000000000000000000000000000000000000000000
SHA-256 hash
9dbc957ad82b0680fd654a5f0d28d9a2b52b292289b7c9374996eafad04f9fe7
Previous version’s hash
0000000000000000000000000000000000000000000000000000000000000000
Check this record hasn’t been altered
How to check it yourself, without trusting this page

Download any version from /api/record/TRV-2026-2489 and hash its canonical field yourself, for example with shasum -a 256. You should get its content_hash. Each version’s text also ends with prev:and the hash of the version before it (version 1 points to 64 zeros). If anyone had changed a single character of any version after it was saved, those hashes wouldn’t line up.