Ora
All guides All guides

Getting started

Your first decision in the Playground Call the API from your code Save, share and reuse queries

Financial decisions

Decide on a stock with just its symbol Write your own rule Read probabilities and choose thresholds

Rule playground

From English to rule Combining conditions Offsets and windows Reading beliefs Rules plus forecasts in one request Turning a rule into an alert or workflow

Automation

Send a Slack alert when a rule fires Send decisions to your own system Run a watchlist every day after the close

Production

Handle errors, rate limits and retries

Cookbooks

All cookbooks Rank a watchlist by probability Send a pre-open digest Trend filter plus entry trigger Breakout confirmation with volume RSI and Bollinger mean-reversion checks Gap-fill playbook to your order system Confidence-gated actions Detect two-way risk Size positions by volatility regime Risk guardrail before an order Ask many questions in one request Self-consistency: three wordings Route support tickets Is a headline relevant to a symbol?

Use cases

Tag financial news for trading signalsGuardrails for LLM appsSupport ticket triage and routingFilter retrieved passages before your LLM answersVerify claims and citations against a source

Guides / Rule playground

Rule playground · about 8 min

Reading beliefs

What a rule's number means, how it grows with the margin, and the cases that sit at exactly 0.50 or 0.95.

  1. A threshold ladder

    The same SPY reading against five RSI lines, plus a few special cases and one forecast:

    {
      "model": "ora-fin1",
      "state": {
        "symbol": "SPY"
      },
      "questions": {
        "rsi_30": {
          "type": "yes_no",
          "ask": "rsi(C, 14) > 30"
        },
        "rsi_40": {
          "type": "yes_no",
          "ask": "rsi(C, 14) > 40"
        },
        "rsi_50": {
          "type": "yes_no",
          "ask": "rsi(C, 14) > 50"
        },
        "rsi_60": {
          "type": "yes_no",
          "ask": "rsi(C, 14) > 60"
        },
        "rsi_70": {
          "type": "yes_no",
          "ask": "rsi(C, 14) > 70"
        },
        "above_50d": {
          "type": "yes_no",
          "ask": "C > sma(C, 50)"
        },
        "above_95pct": {
          "type": "yes_no",
          "ask": "C > 0.95 * sma(C, 50)"
        },
        "tie": {
          "type": "yes_no",
          "ask": "C >= max(C, 1)"
        },
        "event": {
          "type": "yes_no",
          "ask": "crossdown(C, sma(C, 20))"
        },
        "no_history": {
          "type": "yes_no",
          "ask": "C > sma(C, 2000)"
        },
        "up_week": {
          "type": "yes_no",
          "instructions": "Will the stock be higher in a week?"
        }
      }
    }
    Open this in the Playground
    QuestionRuleBelief
    rsi_30rsi(C, 14) > 300.9145
    rsi_40rsi(C, 14) > 400.5358
    rsi_50rsi(C, 14) > 500.0919
    rsi_60rsi(C, 14) > 600.0537
    rsi_70rsi(C, 14) > 700.0537
    above_50dC > sma(C, 50)0.1128
    above_95pctC > 0.95 * sma(C, 50)0.9463
    tieC >= max(C, 1)0.5
    eventcrossdown(C, sma(C, 20))0.05
    no_historyC > sma(C, 2000)0.5
    up_weeknone: forecast0.598

    Session of 2026-10-30.

  2. It slides, it does not flip

    As the line moves past the reading, the belief moves smoothly from near 0.95 to near 0.05. The yardstick is how much RSI normally moves for SPY over the last 60 sessions, so a few points mean more on a quiet symbol than on a wild one.

  3. The fixed points

    • 0.50: exactly on the line (C >= max(C, 1): 0.5) or not known (C > sma(C, 2000): 0.5).
    • 0.95 / 0.05: an event with no margin, such as crossdown(C, sma(C, 20)) (0.05).
    • 0.9463 / 0.0537: a comparison three or more of its usual moves past the line. That is as far as a comparison goes.
  4. Belief versus probability

    up_week (0.598) is a forecast: the odds of a higher close in a week. rsi_50 (0.0919) is a fact about today, graded. Use the fact to decide whether a setup is present, and the forecast to decide whether to act.

  5. Choosing a line

    For rules, 0.6 and 0.4 are good defaults for "clearly true" and "clearly false". The formula is on Operators and beliefs; lines for forecasts on Choosing thresholds.

Information, not investment advice. Every number on this page is a real response for the session shown; answers change with each session.

What's next

Create an account Open the Playground Everything here also lives in the console, next to your keys and usage.