By the Kunkafa team
Machine Learning for Financial Data
A price series is a table, not a text. That changes what a model must learn, how it must be tested, and what research can and cannot promise.
You have heard that AI reads everything now. So why not point a large model at a price chart and ask? Because a price series is not a text. It is a table, and tables play by different rules.
The finding. Price data is rows and columns of different kinds of numbers, with weak patterns that shift over time. A model must be tested on later data it never saw, against a baseline, on a defined event.
Where Kunkafa stands. Seventy experts, trained on about 10 billion data points of price history and tested on about 2 billion they had never seen. The record is counted every morning.
What to do. Ask any forecast what it was trained on, whether both directions are shown, and where the record is.
Why price data is a table, not a text
Every observation is a row. Every measured thing is a column. Here is what three minutes of one stock look like, with invented numbers.
| Time | Open | High | Low | Close | Observed volume |
|---|---|---|---|---|---|
| 09:30 | 185.50 | 186.20 | 185.30 | 185.90 | 1,250,000 |
| 09:31 | 185.90 | 186.45 | 185.80 | 186.30 | 980,000 |
| 09:32 | 186.30 | 186.50 | 186.10 | 186.25 | 1,100,000 |
Nothing in that table is a word. The meaning lives in the structure: which column is a price, which a count, which a time. Spreadsheets make the shape familiar. Modelling it is the hard part.
The same shape runs finance, patient records, inventory and sensor logs. A result in one does not carry to another without its own test.
What tabular data demands of a model
Every column is a different kind of thing. In an image every pixel is a colour. In a table, one column is a date, the next a price, the next a category. The next is a count that is usually zero. Each needs its own handling.
Neighbours mean nothing by default. Column three is a date in one dataset and a quantity in another. Transfer across datasets is something to test, not assume.
Patterns are weak and leaks are easy. A good fit to past prices can be randomness, or future information that crept into the inputs. Compare against simple baselines. Test on periods that come after the training period.
The rules change while you work. Policy, participation and liquidity shift the relationships. Report results across periods, never as a permanent property of the model.
How Kunkafa trains and tests
Kunkafa is an AI financial markets app for stocks, indices, currencies, commodities and crypto. It shows how far a price could move, which way, and Kunkafa’s confidence in each move. Durations run from five minutes to seven years. The other side is always shown below.
Seventy experts, not one. Each judges how far and which way on its own. When they disagree, the probability drops, and you see that too.
They were trained on about 10 billion data points of price history across the five asset classes. They were tested on about 2 billion they had never seen. Kunkafa’s confidence values are compared with what actually happened and corrected when the two drift apart. How the forecasts are trained and checked sets out the process.
Then the test that never ends. Every morning Kunkafa counts how past forecasts ended, on live markets. The count is published at Kunkafa forecast performance results, with the raw figures at /api/stats.json. Under 100 finished examples, no rate is shown at all. Past results do not promise future ones.
A worked example, with invented round numbers. A forecast says a stock could rise 2% within 10 days, at 60%. Below it, the other side: down 1.5% in the same period, 55%. Either, both or neither could happen. The 60% is only worth something if forecasts that said 60% reached the level about six times in ten. That is what the morning count checks.
What research establishes, and what it does not
Progress on tables is real. The 2025 TabPFN paper reports strong results from a foundation model on small tabular benchmarks. It does not establish live financial forecasting performance. That needs a separate evaluation.
Language models can take structured inputs and calculation tools. Numbers still reach them as fragments of text, and a percentage written into a sentence is not a calibrated probability.
Chen and colleagues found over-extrapolation from recent returns in their experiments, with some risk figures comparing well against the human benchmark. These are task-specific findings, not a verdict on every model. What research shows about ChatGPT stock forecasts goes further.
Kunkafa’s approach is a choice, not proof that other architectures cannot work. Model count and training scale alone do not establish superiority. The record does the establishing.
Three questions for anything that forecasts numbers
- What was it trained on, and was it checked on data it had not already seen?
- Does it show both directions, or only the one it likes?
- Where is the record, in full, including the periods it would rather not discuss?
Kunkafa’s counting rules are on how Kunkafa calculates market probabilities, and the Kunkafa forecasts and alerts FAQ answers the rest. Read a live forecast and its record in the Kunkafa market forecast app.
Keep reading
Twelve guides that go with this one, by the question you came with.