Guides / Cookbooks
Cookbooks · Risk and execution · Intermediate · about 8 min
Detect two-way risk
Find names where both a 5% drop and a 5% rally are likely within a month, which means a wide range rather than a direction.
- A Slack connection named
trading-desk.
When to use it
A directional screen misses names that are likely to move a lot either way. Those matter for sizing, for stops, and for options: a wide expected range is what a long straddle or strangle needs, and what a premium seller is exposed to.
The request
Two forecasts, a direction check and an ATR rule as a cross-check on how wide the daily bars already are.
{ "model": "ora-fin1", "state": { "symbol": "AMD" }, "questions": { "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?" }, "up_week": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "wide_atr": { "type": "yes_no", "ask": "atr_pct(14) > 3" } }, "actions": [ { "id": "two_way", "when": "drop5 >= 0.6 and rally5 >= 0.6", "do": "slack", "connection": "trading-desk", "message": "{{symbol}} ({{as_of}}): two-way risk. 5% drop {{drop5|pct}}, 5% rally {{rally5|pct}}, higher in a week {{up_week|pct}}. Compare with the implied move before selling premium." } ], "dry_run": true }Open this in the PlaygroundThe real response
AMD:
{ "model": "ora-fin1", "answers": { "drop5": { "type": "yes_no", "yes_no": 0.763 }, "rally5": { "type": "yes_no", "yes_no": 0.836 }, "up_week": { "type": "yes_no", "yes_no": 0.577 }, "wide_atr": { "type": "yes_no", "yes_no": 0.9441, "rule": "atr_pct(14) > 3", "basis": "rule" } }, "usage": { "input_tokens": 394, "output_tokens": 16 }, "context": { "source": "server", "symbol": "AMD", "as_of": "2026-10-30" }, "version": "ora-fin-0.1.1", "actions": [ { "id": "two_way", "fired": true, "status": "dry_run", "do": "slack", "connection": "trading-desk", "preview": { "text": "AMD (2026-10-30): two-way risk. 5% drop 76%, 5% rally 84%, higher in a week 58%. Compare with the implied move before selling premium." } } ] }Both moves are likely (0.763 and 0.836), the 14-day ATR is above 3% of price (0.9441), and the week has only a mild lean (0.577). The alert fired. The same request for SPY gives 0.203 and 0.229, ATR rule 0.0537: narrow both ways, and the action was skipped.
The code
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": "AMD" }, "questions": { "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?" }, "up_week": { "type": "yes_no", "instructions": "Will the stock be higher in a week?" }, "wide_atr": { "type": "yes_no", "ask": "atr_pct(14) > 3" } }, "actions": [ { "id": "two_way", "when": "drop5 >= 0.6 and rally5 >= 0.6", "do": "slack", "connection": "trading-desk", "message": "{{symbol}} ({{as_of}}): two-way risk. 5% drop {{drop5|pct}}, 5% rally {{rally5|pct}}, higher in a week {{up_week|pct}}. Compare with the implied move before selling premium." } ], "dry_run": true }'Act on it
- Size: a wide two-way range argues for a smaller position and wider stops (Size positions by volatility regime).
- Options: compare the answers with the move the options market already prices (for example the at-the-money straddle as a share of spot). If the implied move is already large, the range is priced in; if it is small, owning the range is worth a look and selling premium deserves caution.
- Direction: don't infer one.
up_weeknear 0.5 says the forecast has no strong lean.
Variations
- Stricter:
drop5 >= 0.7 and rally5 >= 0.7; or require the ATR rule too:and wide_atr >= 0.6. - Which way does the range lean? Compare
rally5 − drop5across names (Rank a watchlist). - Run it on the whole book every evening as a workflow with a digest set to fired.
- Stricter:
Information, not investment advice. Every number on this page is a real response for the session shown; answers change with each session.