Guides / Rule playground
Rule playground · about 8 min
Rules plus forecasts in one request
Ask what is true now and what is likely next about one symbol in a single call, and combine the two in code.
One request, both kinds
Two rules, an English "now" question and three forecasts on MSFT:
Requires curl 7.76+. Save as run.sh, then: bash run.shcurl -sS https://oramodel.com/v1/systemone \ -H "Authorization: Bearer $JEV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "ora-fin1", "state": { "symbol": "MSFT" }, "questions": { "trend": { "type": "yes_no", "ask": "C > sma(C, 200)" }, "pullback": { "type": "yes_no", "ask": "C < sma(C, 20)" }, "oversold_en": { "type": "yes_no", "instructions": "Is RSI below 30?" }, "up_week": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "drop5": { "type": "yes_no", "instructions": "Will it drop at least 5% at some point in the next month?" }, "rally5": { "type": "yes_no", "instructions": "Will it rally at least 5% at some point in the next month?" } } }'The real response
Session of 2026-10-30:
{ "model": "ora-fin1", "answers": { "trend": { "type": "yes_no", "yes_no": 0.9463, "rule": "C > sma(C, 200)", "basis": "rule" }, "pullback": { "type": "yes_no", "yes_no": 0.7427, "rule": "C < sma(C, 20)", "basis": "rule" }, "oversold_en": { "type": "yes_no", "yes_no": 0.0557, "rule": "rsi(C, 14) < 30", "basis": "comparison", "explain": "rsi < 30" }, "up_week": { "type": "yes_no", "yes_no": 0.574 }, "drop5": { "type": "yes_no", "yes_no": 0.422 }, "rally5": { "type": "yes_no", "yes_no": 0.495 } }, "usage": { "input_tokens": 445, "output_tokens": 24 }, "context": { "source": "server", "symbol": "MSFT", "as_of": "2026-10-30" }, "version": "ora-fin-0.1.1" }Tell them apart
Answers with
ruleare facts (trend0.9463,pullback0.7427,oversold_en0.0557); the rest are forecasts (up_week0.574,drop50.422,rally50.495).Combine in code
a = {k: v["yes_no"] for k, v in data["answers"].items()} setup = a["trend"] >= 0.6 and a["pullback"] >= 0.6 # facts: is the setup there? if setup and a["up_week"] >= 0.55 and a["drop5"] < 0.6: # forecasts: act on it? signal("buy_the_pullback") elif a["drop5"] >= 0.7: signal("stand_aside")On this session the code above returns buy_the_pullback for MSFT: trend 0.9463, pullback 0.7427, up_week 0.574, drop5 0.422.
Why one request
One round trip, one market-data fill and one bill for six answers, and every answer is about the same session, so the facts and forecasts cannot drift apart.
Information, not investment advice. Every number on this page is a real response for the session shown; answers change with each session.