Saetta AISaetta AI

Quantitative trading intelligence, built on tested rules.

Saetta AI publishes market signals for US-listed stocks. Each pick names a stock, an entry day and an exit day, carries a SHA-256 receipt, and is read from a REST API with your key.

Machine learningEvery Saetta Signals pick today comes from a tested rule. Our machine-learning models make no customer pick yet.

ASX: comingASX-listed stocks are coming. No ASX signal is published today.

The same feed goes to every customer. It is API-first. It does not hold your money or place trades. Nothing on this site is personal financial advice. The founding price is not open yet. Payments are off. You can create an account now. Join the waitlist if you want a note when the price is published. Important information.

Results, after fees

Tested on past data, then live

Tested record, 2006-2009

2006-2009Period
53.8%Win rate
+0.76%Per pick

Live record, from 27 Oct 2026

27 Oct 2026Live since
—Win rate, last 10
—Per pick, last 10

11 picks pending, none completed yet.

Losing picks stay in. The tested record is hypothetical.

The results, in full
  • CalendarNew York trading days only
  • Testedeach rule on past data, before launch
  • SHA-256a digest and a chain number for each pick
  • RESTread-only API, with your key in the header
  • Samesignals for every customer, at the same time
  • Lossesstay in the live record, which starts on 27 Oct 2026

Results

A tested record on past data, and a live record that starts on 27 Oct 2026 and only moves forward. Dates, win rate and average return per pick, after fees.

Tested record

2006-2009Tested period, on past data
53.8%Tested win rate, after fees
+0.76%Tested return per pick, after fees

Tested record, 2006-2009, after fees: win rate 53.8%, average return per pick +0.76%

A test on past data, after modelled fees and slippage. These are hypothetical results, not live trades and not a client account. Past results are not a promise, and past performance is not a reliable indicator of future performance.

Live record

27 Oct 2026Live record start
11Picks counted, 11 pending
—Live win rate, latest 10 picks
—Live return per pick, latest 10 picks

Live results start with the first completed trades. The live record covers the picks of one modelled portfolio, not every signal customers receive.

Live record from 27 Oct 2026, latest first
DateStatusResult after fees, % of the money usedNote
30 Oct 2026Pending—Waiting for final prices.
30 Oct 2026Pending—Waiting for final prices.
30 Oct 2026Pending—Waiting for final prices.
30 Oct 2026Pending—Waiting for final prices.
30 Oct 2026Pending—Waiting for final prices.
29 Oct 2026Pending—Waiting for final prices.
29 Oct 2026Pending—Waiting for final prices.
29 Oct 2026Pending—Waiting for final prices.
29 Oct 2026Pending—Waiting for final prices.
28 Oct 2026Pending—Waiting for final prices.

The latest 10 of 11 rows are shown here. The full live record.

Each row is one pick, dated by its entry day. The live record prices the picks one modelled portfolio takes from the signals customers receive. That portfolio can leave a signal out, so a signal you receive may be missing from the live record. Results are modelled after the fact from stored daily prices, in whole shares, after modelled fees and slippage, as a percent of the money the pick used. They are not trades in a client account. Pending picks are not final yet, and losing picks stay in.

Record data as of 31 Oct 2026, 11:45 UTC.

The full live record

Free trial of Saetta Signals: dates, sign-up and the API

How Saetta AI works

From market data to your app in five steps. The method is proprietary. Full page.

  1. IngestMarket data and other inputs, from commercial providers and public sourcesEvery trading day
  2. FeaturesThe inputs each rule needs, as known at the timePoint in time
  3. PickTested rulesOn trading days
  4. SealEach pick is sealed with a SHA-256 digest that also covers the record before itBefore release
  5. DeliverYour app reads it over HTTPS, with your keyOn request

Market data in, our signals out

Our rules read the inputs above and make the picks. What customers receive is our signals, never the raw data.

When to enter, when to exit

A tested rule makes each pick. A pick names a stock, the day to enter and the day to exit, as the rule was tested. It is general information, the same for everyone, not advice about what you personally should do.

Market signals, by API

Every customer gets the same signals at the same time, from a read-only REST API with an API key. Signals can be wrong. How you use them is up to you.

The US trading day

US-listed stocks trade in four sessions, in New York time. Every Saetta Signals pick is dated to a New York trading day and is for the regular session.

The weekly schedule, in New York time. It is a fixed timetable, not a clock.

Night

20:00 to 04:00, Sunday to Thursday nights

Trading on a few venues, usually thin.

Pre-market

04:00 to 09:30

Early trading before the regular session.

Regular

09:30 to 16:00

The main session, with the most trading. Every Saetta Signals pick is for this session.

After-hours

16:00 to 20:00

Trading after the regular session, often around company news.

Exchange holidays and early closes follow the exchange calendar, so on those days the timetable above can differ from the market.

ASX trading hours (coverage coming)

ASX's published timetable for a trading day, in Sydney time. This one is static too, and no ASX signal is published.

Pre-open

07:00 to about 10:00

Orders are entered and queue, and nothing trades. The open runs in the last minute before 10:00.

Normal trading

About 10:00 to 16:00

Continuous trading. It starts at about 09:59:45, randomised by up to 15 seconds.

Close

16:00 to about 16:11

Orders are entered from 16:00 without matching. The close runs at about 16:10, randomised by up to 30 seconds, and sets the closing prices.

Adjust, then closed

16:11 to 19:00, then closed

Trades at the closing price until 16:21:30, then the adjust phases, with no new matching, until 18:50, then order purging and maintenance. Closed from 19:00 to 07:00.

ASX trading days only, Monday to Friday. ASX holidays and any change to these hours follow ASX's own calendar.

What's inside

The data we collect, how each pick is tested and sealed, and how results are priced.

US daily prices

Every New York trading day

  • Daily price bars for US-listed stocks and ETFs
  • Dividend-adjusted price history
  • From commercial data providers
  • Stored, and used to price the live record

Corporate actions

Updated daily

  • Splits
  • Dividends
  • Kept with the daily price history

Calendars

Kept current

  • New York exchange trading days
  • Holidays and early closes
  • A trading date on every pick
  • Entry and exit days on that calendar

ASX history

Collected, no ASX signal yet

  • Daily prices from 3 Jan 2000 to 7 Oct 2026
  • 4,345 ASX symbols
  • Collection paused since 14 Oct 2026
  • ASX signals only after the same out-of-sample tests

Point in time

Every input

  • Each pick uses only what was known when it was made
  • Models must pass a look-ahead test
  • Customers receive our signals, not the data behind them

Testing

Before a rule goes live

  • Tested on past data
  • Modelled fees and slippage taken off
  • Each pick a separate hypothetical ticket
  • Losing picks counted

Sealed picks

Every pick

  • A SHA-256 digest per record
  • A chain number
  • Sealed and release times
  • Picks of different rules can be in different chains

Live record

From 27 Oct 2026

  • Uses stored daily prices
  • Whole shares, net of modelled costs
  • Pending until final prices are in
  • Unpriced picks counted apart, never as a result

Rules live, machine learning in research

A model has to earn its place before its picks reach customers.

Live

Systematic rules

Rules tested on past data before they went live. Their picks are the Saetta Signals customers receive today.

Not live

Machine-learning models

They make no customer pick today. A model's picks reach customers only after it passes every step below.

Coming

AI Language model

Still in research. It does not make picks today.

How a model qualifies

  1. Wins out of sampleIt has to beat the current approach on data it was never tuned on, with every setting it tried counted against it.
  2. Passes the look-ahead testIts inputs are shifted forward in time. A model that only works when it can see the future fails here.
  3. Builds its own live recordSealed live from a fixed start day, never back-filled.
  4. Earns its way to customersOnly then do its picks reach customers, one step at a time.

Every pick is a sealed record

A pick is not a one-off tip. It is a sealed record, with a status, its times and a receipt.

A status on every pick

  • closedThe time to act has passed. Every pick the API serves today has this status.
  • actionableThe entry is still ahead. Not served today.
  • not servedBefore its release, or once its exit is reached.

The status is in every answer, next to the sealed and release times.

What a pick carries

Every customer reads the same fields for every pick.

  • Stock
  • Entry day
  • Exit day
  • Status
  • Sealed time
  • Release time
  • SHA-256 receipt
  • Chain number

Every field, in the API docs.

A receipt you can keep

Each pick carries record_sha, the SHA-256 digest of its sealed record, and seq, that record's number in its chain. Each record's digest also covers the digest of the record before it in the same chain, so changing or removing a record changes its digest and every later one: a record_sha you kept would no longer match.

One pick, start to finish

  1. MadeA tested rule makes the pick, on a New York trading day
  2. SealedIt gets its SHA-256 digest and its chain number
  3. ReleasedReadable through the API once its time to act is past
  4. ReadYou read it with your key, with its status
  5. RecordedIf the modelled portfolio takes it, the live record counts it, losses included

When data is late, missing or changed

What happens in each case, on the API and in the live record.

What happens when data is late, missing or changed
CaseWhat happens
A day's inputs are late or incompleteA pick can be late, missing or wrong.
No rule makes a pickThere is no pick that day. Some days have none.
Before a pick's time to actThe API does not show it.
A pick reaches its exitIt is no longer in the API answer.
Final prices are not in yetThe pick counts as pending in the live record, never as final.
Stored daily prices cannot price a pickIt is counted apart, never as a win or a loss.
A sealed record is changed or removedIts digest and every later one change, so a record_sha you kept no longer matches.
An exchange holiday or early closeEntry and exit days follow the New York exchange calendar.

Built for your code

API-first, the same for every customer. API docs.

  • One routeOpen today: GET /api/v1/signals, for free-trial keys with their admission ticket. No other API route is open on this site yet.
  • RESTSaetta Signals answers in JSON. The signals service adds a request id, X-Request-Id, to its answers.
  • SHA-256 receiptsEvery pick carries record_sha and seq, so your code can keep a receipt for each one.
  • Keys in the portalCreate your key on the portal's API keys page. It is shown once, so store it somewhere safe.
  • WebSocket stream: comingNot open. Today your code calls the API; nothing is pushed.

curl

# Saetta Signals, with a free-trial key and its admission ticket. Keys go in the header, never in the address.
curl -sS "https://saettaai.com/api/v1/signals" \
  -H "Authorization: Bearer $API_KEY" \
  -H "X-Trial-Admission: $TICKET"

Python

# The same call in Python, with the standard library only.
import json
import os
from urllib.request import Request, urlopen

headers = {"Authorization": "Bearer " + os.environ["API_KEY"]}
headers["X-Trial-Admission"] = os.environ["TICKET"]
request = Request("https://saettaai.com/api/v1/signals", headers=headers)
with urlopen(request, timeout=15) as response:
    print(json.dumps(json.load(response), indent=2))

TypeScript

// The same call in TypeScript. Node 18 or later: fetch is built in.
async function signals(): Promise<void> {
  const headers: Record<string, string> = { Authorization: `Bearer ${process.env.API_KEY}` };
  headers["X-Trial-Admission"] = process.env.TICKET ?? "";
  const res = await fetch("https://saettaai.com/api/v1/signals", { headers });
  console.log(res.status, await res.text());
}

signals().catch((err) => {
  console.error(err);
  process.exitCode = 1;
});

How it compares

Features only, next to a typical retail signal service.

Features of Saetta AI next to a typical retail signal service
FeatureSaetta AITypical retail signal service
CoverageUS-listed stocks; ASX comingOften a watchlist or a daily screen
SessionRegular session only, on New York trading daysUsually regular hours, or end of day
MethodTested rulesOften one person's view
Entry and exitEach pick names its entry day and its exit dayOften an entry with no exit
DeliveryBy API: read-only REST, with your own keyUsually email, app or chat alerts
FreshnessSealed and release times on every pickRarely shown
IntegritySealed records, chained by SHA-256 digestsRarely offered
Track recordLive record starting 27 Oct 2026, losing picks keptOften selected highlights
TestingEvery rule tested on past data, with modelled costs, before launchRarely published in full
FormatThe same signals for every customer, by APIOften a chat room or tip sheet

Security you can check

Sign-in, keys, receipts and your money: what protects each one.

  • Passkey or authenticator appSign in with a passkey, such as Face ID or Touch ID, or with an authenticator app. We do not use SMS codes.
  • Keys stay in the headerA key sent in a web address is refused. Keys expire after 90 days, and you can revoke any of them at any time.
  • Sealed and chainedEvery pick carries a SHA-256 receipt and a chain number. Keep both: a record changed or removed after you read it no longer matches the receipt you kept.
  • Your money stays yoursWe never hold money, connect to your broker or place a trade, and we never ask for a brokerage login.
  • No trackersNo analytics or advertising cookies and no third-party trackers on this site. The portal sets only strictly necessary cookies.
  • Your account, your controlSign-in history, sign out everywhere, recovery codes, and a full data download before you delete the account.

Coming soon Not open

These are not open. Each will be our own signal, the same for every customer, not raw vendor data. API docs.

ASX-listed stocks

We have collected ASX daily price history back to 2000. ASX signals come only after a model passes the same out-of-sample tests as our US models.

WebSocket stream

A WebSocket stream with watch lists, so picks reach your app as they are released.

Risk-managed exits

For a position: an exit signal for each stock. This does not place, route or execute a trade, and it does not read a brokerage account.

Trade size and fees

Trade-size and fee-aware guidance. It will be general information, the same for every customer. It is not a personal instruction, and it is not a view of your account.

Who it's for

Saetta AI is API-first. It is for people and teams who build their own tools and make their own decisions.

Developers

A developer-friendly feed for research tools, screeners or other financial software: call the feed from your own code, by read-only REST.

Research teams

Using outside tested signals as one input among many, and testing them against their own methods.

Platforms

Considering a feed for their own products, under their own licence, and only where the law allows.

Not a fit if

You want advice tailored to you, someone to manage your money, or a promised outcome. We do none of those. You can lose money.

What you get

Every customer gets the same live feed. Sign up opens the real portal on this site.

The live feed, by API

Read your signals from the API on this site: a read-only REST API, with your API key. Keys go in the request header, never in the web address. A free trial of Saetta Signals is open, by API: see the free trial page. Risk-managed exits are coming soon. API docs.

Your account

Sign up, then log in with an authenticator app or a passkey. Create, name and revoke API keys, and read your own usage. Log in.

Saetta AI pricing

A founding price will be published here. It is not open yet. Payments are off, and there is no checkout. Founding members are described on the pricing page. That offer is not open, and joining the waitlist does not reserve a price or a place. Pricing page.

Founding price, to be announced. No dollar amount is shown. Each signal can be read from the API only after the time to act on it has passed. Past results do not guarantee future results. You can create an account without paying.

Join the waitlist

FAQ

Plain answers. Open the FAQ page.

Is this financial advice?

No. Nothing on this site is financial advice. Saetta AI publishes the same general signals to every customer. It does not know or consider your objectives, financial situation or needs. Before you act, consider whether it is right for you, and consider speaking to a licensed financial adviser. Saetta AI does not hold an Australian financial services licence and is not registered as an investment adviser in the United States.

Where does the AI come in?

In research, not in today's picks: a model must first pass every step of How a model qualifies, above. The language model is in research too, and makes no pick today.

How often are picks made?

On New York trading days, when a tested rule makes a pick. Some days have no pick. Nothing is pushed or streamed today: you read the API when you choose.

Which sessions does it cover?

US-listed stocks, on New York trading days, in the regular session only. The night, pre-market and after-hours sessions are not part of the product today.

How do I know a signal is fresh?

Each pick carries when it was sealed (sealed_at), when it was released (release_at) and a status. The status is closed once it is past its time to act. Check these fields before you use a pick.

Can I check that a signal came from you?

You read picks only from this site's API, over HTTPS, with your own key. Keep each pick's record_sha and seq: together they are your receipt. Picks carry no digital signature today.

Where are the results?

Both records are above, under Results: the tested record, a test on past data that is hypothetical, and the live record. The live record starts on 27 Oct 2026 and shows the date, status and result after fees of each pick it counts, losses included. Open the results.

Can it trade for me or hold my money?

No. We are not a broker or a custodian. We never hold your money or investments, open trading accounts, or place, route or execute trades. Risk-managed exits, when they open, will not place a trade either. Any trading decision, and its result, is yours.

Are payments on?

No. The founding price is not published yet, and there is no checkout. Do not send money. The founding terms, including how long a price would stay fixed, will be published with the price. They are not in force. You can still create an account and sign in.

How is my account protected? Can I use a passkey?

Sign-up needs an email address, a password and an authenticator app. After you sign up, you can add a passkey, for example one that uses Face ID or Touch ID, and sign in with it. The Security page also lets you replace your recovery codes, see your sign-in history, and sign out everywhere. Passwords are not stored as the password itself. Account data is kept on a server in the Netherlands. We will never ask for your password or an API key by email. We never ask for brokerage logins, because Saetta AI does not connect to your broker.

Join the waitlist

Get an email when the founding price opens. We do not send stock names or signals to the waitlist.

No email is sent today. Submitting stores your email, the time and your consent, and queues a note that stays unsent while delivery is off. When delivery is on, every email includes a one-click unsubscribe. To be removed before then, write to hello@saettaai.com.