Docs / Get started
Get started
What Ora does
Ora's financial model, ora-fin, does three things: it calculates, it reads common questions in English and turns them into rules, and it forecasts the odds of a future market event. Every answer tells you which it was, so you never mistake an estimate for a fact.
- Calculates.
=C > sma(C, 200)gives a value or a score, with the rule and the data date. Labelledbasis: "rule", or returned as avaluewith itsrule. - Reads a common question. "Is the stock above its 200-day moving average?" gives the same exact answer and the rule it ran. Labelled
basis: "comparison"or"pattern". - Forecasts odds. "Will it make a new 20-day high in the next week?" gives a probability. Labelled
basis: "forecast". - Declines anything else. "Should I trim this position before earnings?" gets no answer: 0.5 and a
reason. Labelledbasis: "declined".
See all of this in one real call on AAPL, with the request and the response.
1. It calculates
Ora works out indicators, levels and conditions from daily bars, exactly. The same rule on the same data gives the same answer, and the rule and the data date come back with it, so you can check it and log it.
| You write | You get |
|---|---|
=C | The latest close. |
=rsi(C, 14) | The 14-day RSI. |
=C > sma(C, 200) | A score from 0 to 1 for how clearly the close is above its 200-day average: above 0.5 it holds, below it does not. The docs call this score a belief. |
=iif(C > sma(C, 200), 1, 0) | A hard yes or no, 1 or 0, for when your system wants a flag and not a degree. |
=series(C, -21) | A table, one row per session: here, the last 21 closes. |
Every function is in the Function reference; start with the Rule language. For more on the score, see Operators and beliefs.
2. It reads common questions in English
Ask a common question in plain English and Ora turns it into a rule, runs it and shows you the rule. "Is the stock above its 200-day moving average?" gives the rule C > sma(C, 200). Read the rule it shows: that is what ran. If it isn't what you meant, write the rule yourself.
This is narrow, and Ora says so when it cannot. "Is this stock in an uptrend?" is declined today, with this message:
Could not turn this into a rule or a forecast question. Write it as a rule (for example "=C > sma(C, 50)"), or ask about a future move, gap, range or volatility.
So say what you mean by an uptrend, for example =C > sma(C, 200), and you get an exact answer.
3. It forecasts the odds of a future market event
Ask about a future market event and you get the probability that it happens. It is an estimate, based on how similar market conditions played out historically. It is not a calculation, and any single forecast can be wrong.
These are where it holds up best. Ask them in these words:
| Event | Ask |
|---|---|
| New highs | "Will it make a new 20-day high in the next week?" |
| New lows | "Will it make a new 20-day low in the next week?" |
| Volatility | "Will volatility be higher over the next month?" |
| Large drops | "Will it drop at least 5% at some point in the next month?" |
Gap fills need the details of the gap in the request. Sent with only a symbol, "Will the gap fill today?" gets a number labelled reliability.level: "unmeasured", because a symbol alone says nothing about an opening gap. The gap-fill playbook shows the fields to send.
Reword a forecast and the number can change, and the answer comes back labelled reliability.level: "unmeasured": Ora has no measured track record for that exact question. The same goes for symbols other than widely traded US stocks and ETFs.
Direction has little edge. "Will the stock be higher in a week?" gets a number, labelled reliability.level: "low" with a note saying not to read it as a signal. Each question is answered on its own, so two opposite direction questions aren't guaranteed to add up to one. See How far to trust a forecast.
What it doesn't do yet
- It doesn't decide for you. A decision question such as "Should I trim this position before earnings?" is declined, with this message: Not a question Ora forecasts. Forecasts cover moves, levels, gaps, ranges, volatility and volume of the price; ask one of those, or write a rule (for example "=C > sma(C, 50)").
- You can build your own logic. Combine rules, for example
=C > sma(C, 200) and rsi(C, 14) < 70, then act on the answers with alerts or webhooks, on a schedule with workflows if you like. - It isn't investment advice. Answers are for information only.
- It uses final daily bars, not live prices. A session counts from about 00:30 New York time the next day (for FX and futures, Friday's from Monday 00:30), and
as_oftells you which session you got. For intraday rules, send your own bars.
It also answers on a piece of text, with choice and score questions as well as yes or no.
Where next
- Quickstart: your first answer in about five minutes.
- Models: a real call on AAPL, versions and pricing.
- FAQ: short answers to common questions.