Use cases · Institutions
Sovereign wealth fund: 20 ways to use Ora
Global allocation across countries, currencies and commodities, watched as a whole. Each example is a complete, runnable request with the real answers it returned (40 requests, captured 2026-10-31), what they mean and, where it fits, the action it would send.
ora-fin-0.1.1. Another model changes the request JSON and the Playground link; run it there to see its answers.Rule functions and facts used by this player (50)
sma 17offset 6atr 4max 3highest 2ref 2ema 2roc 2abs 2rsi 2macd 1macdsignal 1atr_pct 1lowest 1avg 1obv 1evening_star 1gravestone_doji 1beat_eps_last 1beat_revenue_last 1days_to_earnings 1last_earnings_move 1div_yield_ttm 1raised_last 1hammer 1harami_bull 1piercing_line 1three_white_soldiers 1iif 1between 1inside_bar 1adx 1diminus 1diplus 1zscore 1swinglow 1log 1sqrt 1std 1dark_cloud 1engulfing_bear 1willr 1gap_up 1marubozu 1cci 1doji 1spinning_top 1hl2 1rec 1tr 1
Examples 11–20 of 20 · page 2 of 2
Sovereign wealth fund · example 11
Staged buying into emerging markets: buy on dips only
A multi-year program buys VWO in tranches, but only on pullbacks inside an uptrend. Send the tranche ticket when the rule is true.
- StateVWO
- Questions4 asked
- Answersreal, captured
- Actions2 rules · dry run
State
{"symbol":"VWO"} The server fills in the latest completed session.
Questions
dip | rule | C > sma(C, 200) and C < sma(C, 20) and rsi(C, 14) > 40Uptrend, under the 20-day, RSI still above 40 |
regime | rule | (C > sma(C, 200) and rsi(C, 14) < 40) or (C < sma(C, 200) and rsi(C, 14) < 25)Oversold, with the line set by the trend |
rsi | rule | rsi(C, 14) < iif(C > sma(C, 200), 40, 30)RSI below 40 in an uptrend, below 30 otherwise |
drop5 | forecast | Will it drop at least 5% at some point in the next month? A 5% drawdown within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
dipUptrend, under the 20-day, RSI still above 40 | 0.0887 | false |
regimeOversold, with the line set by the trend | 0.4095 | on the line (false) |
rsiRSI below 40 in an uptrend, below 30 otherwise | 0.7437 | true |
drop5A 5% drawdown within a month | 0.255 | 26% · unlikely |
Actions
Rules on the answers decide what to send.
dip >= 0.6 or rsi >= 0.6→Webhookexecution-ticketselse→Slackswf-strategy{
"program": "em_staged_buy",
"fund": "VWO",
"as_of": "2026-10-30",
"tranche": "next",
"p_dip": 0.0887,
"p_rsi_rule": 0.7437,
"p_drop5": 0.255
}What it means
For VWO on the session of 2026-10-30: True now: RSI below 40 in an uptrend, below 30 otherwise. Not true: Uptrend, under the 20-day, RSI still above 40. On the line: Oversold, with the line set by the trend. Forecasts: A 5% drawdown within a month 26%. Fired: tranche (Webhook → execution-tickets).
The iif() rule changes the oversold line with the trend, so the program buys earlier in uptrends and waits for deeper dips in downtrends.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "VWO"
},
"questions": {
"dip": {
"type": "yes_no",
"ask": "C > sma(C, 200) and C < sma(C, 20) and rsi(C, 14) > 40"
},
"regime": {
"type": "yes_no",
"ask": "(C > sma(C, 200) and rsi(C, 14) < 40) or (C < sma(C, 200) and rsi(C, 14) < 25)"
},
"rsi": {
"type": "yes_no",
"ask": "rsi(C, 14) < iif(C > sma(C, 200), 40, 30)"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
},
"actions": [
{
"id": "tranche",
"when": "dip >= 0.6 or rsi >= 0.6",
"do": "webhook",
"connection": "execution-tickets",
"body": {
"program": "em_staged_buy",
"fund": "{{symbol}}",
"as_of": "{{as_of}}",
"tranche": "next",
"p_dip": "{{dip}}",
"p_rsi_rule": "{{rsi}}",
"p_drop5": "{{drop5}}"
}
},
{
"id": "skip",
"when": "else",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): no dip today (pullback {{dip|pct}}, regime RSI {{rsi|pct}}). Tranche waits."
}
],
"dry_run": true
}Response JSON (VWO, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"dip": {
"yes_no": 0.0887,
"rule": "C > sma(C, 200) and C < sma(C, 20) and rsi(C, 14) > 40",
"basis": "rule"
},
"regime": {
"yes_no": 0.4095,
"rule": "(C > sma(C, 200) and rsi(C, 14) < 40) or (C < sma(C, 200) and rsi(C, 14) < 25)",
"basis": "rule"
},
"rsi": {
"yes_no": 0.7437,
"rule": "rsi(C, 14) < iif(C > sma(C, 200), 40, 30)",
"basis": "rule"
},
"drop5": {
"yes_no": 0.255
}
},
"context": {
"symbol": "VWO",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "tranche",
"fired": true,
"status": "dry_run",
"do": "webhook",
"connection": "execution-tickets",
"preview": {
"body": {
"program": "em_staged_buy",
"fund": "VWO",
"as_of": "2026-10-30",
"tranche": "next",
"p_dip": 0.0887,
"p_rsi_rule": 0.7437,
"p_drop5": 0.255
}
}
},
{
"id": "skip",
"fired": false,
"status": "skipped"
}
]
}Sovereign wealth fund · example 12
Reserve bonds: is SHY stable before a liquidity draw?
Government budget draws are paid from short bonds. Confirm the fund is stable before the next scheduled draw.
- StateSHY
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"SHY"} The server fills in the latest completed session.
Questions
atr_low | English → rule | Is the 14-day ATR less than 2% of the price? |
down | English → rule | Is the stock down more than 5% over the last month? |
inside | rule | inside_bar()inside bar candle: Today's high and low are inside yesterday's (equal counts). |
between | rule | between(rsi(C, 14), 35, 65)RSI between 35 and 65 |
Answers
| Question | Answer | Reading |
|---|---|---|
atr_lowIs the 14-day ATR less than 2% of the price compiled to atr(14) / C < 0.02 | 0.9463 | true |
downIs the stock down more than 5% over the last month compiled to C / C[-21] - 1 < -0.05 | 0.0537 | false |
insideinside bar candle: Today's high and low are inside yesterday's (equal counts). | 0.0712 | false |
betweenRSI between 35 and 65 | 0.05 | false |
What it means
For SHY on the session of 2026-10-30: True now: Is the 14-day ATR less than 2% of the price. Not true: Is the stock down more than 5% over the last month; inside bar candle: Today's high and low are inside yesterday's (equal counts).; RSI between 35 and 65.
Calm answers mean the draw can be paid without selling at a bad moment; anything else is escalated to the treasury desk.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "SHY"
},
"questions": {
"atr_low": {
"type": "yes_no",
"instructions": "Is the 14-day ATR less than 2% of the price?"
},
"down": {
"type": "yes_no",
"instructions": "Is the stock down more than 5% over the last month?"
},
"inside": {
"type": "yes_no",
"ask": "inside_bar()"
},
"between": {
"type": "yes_no",
"ask": "between(rsi(C, 14), 35, 65)"
}
}
}Response JSON (SHY, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"atr_low": {
"yes_no": 0.9463,
"rule": "atr(14) / C < 0.02",
"basis": "pattern"
},
"down": {
"yes_no": 0.0537,
"rule": "C / C[-21] - 1 < -0.05",
"basis": "pattern"
},
"inside": {
"yes_no": 0.0712,
"rule": "inside_bar()",
"basis": "rule"
},
"between": {
"yes_no": 0.05,
"rule": "between(rsi(C, 14), 35, 65)",
"basis": "rule"
}
},
"context": {
"symbol": "SHY",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 13
Korea and Taiwan: chip-cycle read through EWY and EWT
Korean and Taiwanese markets track the semiconductor cycle. Check their trend against SMH.
- State3 symbols
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"EWY"} then EWT, SMH, one request each. The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
near_high | rule | C >= 0.98 * max(H, 252)Within 2% of the 52-week high |
adx | rule | adx(14) > 20 and diplus(14) > diminus(14)Trending up (ADX over 20 and +DI over −DI) |
rally5 | forecast | Will it rally at least 5% at some point in the next month? A 5% rally within a month |
Answers
| Symbol | trendrule | near_highrule | adxrule | rally5forecast |
|---|---|---|---|---|
EWY | 0.228 | 0.0537 | 0.0867 | 0.749 |
EWT | 0.9131 | 0.0537 | 0.0711 | 0.666 |
SMH | 0.559 | 0.0537 | 0.0718 | 0.728 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 3 symbols: Is the stock above its 200-day moving average: true for EWT of 3. Within 2% of the 52-week high: true for none of 3. Trending up (ADX over 20 and +DI over −DI): true for none of 3. Highest odds for “A 5% rally within a month”: EWY at 75%.
When all three trend together, the chip cycle is in an upswing; divergence is worth a note to the Asia team.
Request JSON (EWY; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EWY"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"near_high": {
"type": "yes_no",
"ask": "C >= 0.98 * max(H, 252)"
},
"adx": {
"type": "yes_no",
"ask": "adx(14) > 20 and diplus(14) > diminus(14)"
},
"rally5": {
"type": "yes_no",
"instructions": "Will it rally at least 5% at some point in the next month?"
}
}
}Response JSON (EWY, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.228,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"near_high": {
"yes_no": 0.0537,
"rule": "C >= 0.98 * max(H, 252)",
"basis": "rule"
},
"adx": {
"yes_no": 0.0867,
"rule": "adx(14) > 20 and diplus(14) > diminus(14)",
"basis": "rule"
},
"rally5": {
"yes_no": 0.749
}
},
"context": {
"symbol": "EWY",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 14
Daily tail-risk check on global equities
After each US close, flag any core global equity fund with a move over 1.5 ATR or a return shock.
- ScheduleMon–Fri at 16:50 ET
- State3 symbols
- Questions4 asked
- Answersreal, captured
- Actions1 rule · dry run
State
{"symbol":"VTI"} then VXUS, EEM, one request each. The server fills in the latest completed session.
Questions
big_atr | rule | abs(C - C[-1]) > 1.5 * atr(14)Today's move was bigger than 1.5 ATR |
shock | rule | zscore(C / C[-1] - 1, 20) < -2A two-sigma down day |
down3 | English → rule | Did the stock fall more than 3% today? |
gap_down | forecast | Will it gap down tomorrow? A gap down tomorrow |
Answers
| Symbol | big_atrrule | shockrule | down3rule | gap_downforecast | Fired |
|---|---|---|---|---|---|
VTI | 0.793 | 0.6847 | 0.0717 | 0.029 | tail |
VXUS | 0.3786 | 0.4186 | 0.0721 | 0.047 | none |
EEM | 0.4508 | 0.2942 | 0.3535 | 0.077 | none |
true false not known for rules; forecasts are odds. Hover a column for its question.
Actions
Rules on the answers decide what to send. Each symbol runs its own request, so each one can fire.
shock >= 0.6 or down3 >= 0.6→Emailrisk-office{
"subject": "VTI: tail move (2026-10-30)",
"text": "VTI: return shock 68%, fell more than 3% 7%. Gap-down odds tomorrow: 3%."
}What it means
Session of 2026-10-30, 3 symbols: Today's move was bigger than 1.5 ATR: true for VTI of 3. A two-sigma down day: true for VTI of 3. Did the stock fall more than 3% today: true for none of 3. Highest odds for “A gap down tomorrow”: EEM at 8%. tail fired for VTI.
Only a statistical shock or a 3% loss emails the risk office; big but ordinary moves are left to the weekly digest.
As a scheduled workflow (Mon–Fri at 16:50 ET)
Create it under Workflows in the console: it runs these questions for every symbol on the schedule and fires the actions per symbol. The answers above are what one run returned.
{
"name": "Daily tail-risk check on global equities",
"symbols": "VTI VXUS EEM",
"days": [
1,
2,
3,
4,
5
],
"at_time": "16:50",
"model": "ora-fin-0.1.1",
"questions": {
"big_atr": {
"type": "yes_no",
"ask": "abs(C - C[-1]) > 1.5 * atr(14)"
},
"shock": {
"type": "yes_no",
"ask": "zscore(C / C[-1] - 1, 20) < -2"
},
"down3": {
"type": "yes_no",
"instructions": "Did the stock fall more than 3% today?"
},
"gap_down": {
"type": "yes_no",
"instructions": "Will it gap down tomorrow?"
}
},
"actions": [
{
"id": "tail",
"when": "shock >= 0.6 or down3 >= 0.6",
"do": "email",
"connection": "risk-office",
"subject": "{{symbol}}: tail move ({{as_of}})",
"message": "{{symbol}}: return shock {{shock|pct}}, fell more than 3% {{down3|pct}}. Gap-down odds tomorrow: {{gap_down|pct}}."
}
]
}Request JSON (VTI; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "VTI"
},
"questions": {
"big_atr": {
"type": "yes_no",
"ask": "abs(C - C[-1]) > 1.5 * atr(14)"
},
"shock": {
"type": "yes_no",
"ask": "zscore(C / C[-1] - 1, 20) < -2"
},
"down3": {
"type": "yes_no",
"instructions": "Did the stock fall more than 3% today?"
},
"gap_down": {
"type": "yes_no",
"instructions": "Will it gap down tomorrow?"
}
},
"actions": [
{
"id": "tail",
"when": "shock >= 0.6 or down3 >= 0.6",
"do": "email",
"connection": "risk-office",
"subject": "{{symbol}}: tail move ({{as_of}})",
"message": "{{symbol}}: return shock {{shock|pct}}, fell more than 3% {{down3|pct}}. Gap-down odds tomorrow: {{gap_down|pct}}."
}
],
"dry_run": true
}Response JSON (VTI, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"big_atr": {
"yes_no": 0.793,
"rule": "abs(C - C[-1]) > 1.5 * atr(14)",
"basis": "rule"
},
"shock": {
"yes_no": 0.6847,
"rule": "zscore(C / C[-1] - 1, 20) < -2",
"basis": "rule"
},
"down3": {
"yes_no": 0.0717,
"rule": "C / C[-1] - 1 < -0.03",
"basis": "pattern"
},
"gap_down": {
"yes_no": 0.029
}
},
"context": {
"symbol": "VTI",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "tail",
"fired": true,
"status": "dry_run",
"do": "email",
"connection": "risk-office",
"preview": {
"subject": "VTI: tail move (2026-10-30)",
"text": "VTI: return shock 68%, fell more than 3% 7%. Gap-down odds tomorrow: 3%."
}
}
]
}Sovereign wealth fund · example 15
Industrial metals and China: COPX, FCX, FXI
Copper demand tracks Chinese growth. Check copper miners and China equities on the same momentum rules.
- State3 symbols
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"COPX"} then FCX, FXI, one request each. The server fills in the latest completed session.
Questions
roc | rule | roc(C, 20) > 5Up more than 5% in 20 sessions |
trend | rule | C > sma(C, 50)Above the 50-day average |
higher_low | rule | swinglow(3) > swinglow(3, 2)Higher swing lows |
beat_spy | forecast | Will it beat SPY over the next month? Beating SPY over a month |
Answers
| Symbol | rocrule | trendrule | higher_lowrule | beat_spyforecast |
|---|---|---|---|---|
COPX | 0.0759 | 0.0793 | 0.0842 | 0.52 |
FCX | 0.0801 | 0.0816 | 0.2658 | 0.534 |
FXI | 0.0808 | 0.1468 | 0.1631 | 0.418 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 3 symbols: Up more than 5% in 20 sessions: true for none of 3. Above the 50-day average: true for none of 3. Higher swing lows: true for none of 3. Highest odds for “Beating SPY over a month”: FCX at 53%.
Copper miners and China rising together supports a global-growth read; one without the other is a divergence to watch.
Request JSON (COPX; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "COPX"
},
"questions": {
"roc": {
"type": "yes_no",
"ask": "roc(C, 20) > 5"
},
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"higher_low": {
"type": "yes_no",
"ask": "swinglow(3) > swinglow(3, 2)"
},
"beat_spy": {
"type": "yes_no",
"instructions": "Will it beat SPY over the next month?"
}
}
}Response JSON (COPX, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"roc": {
"yes_no": 0.0759,
"rule": "roc(C, 20) > 5",
"basis": "rule"
},
"trend": {
"yes_no": 0.0793,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"higher_low": {
"yes_no": 0.0842,
"rule": "swinglow(3) > swinglow(3, 2)",
"basis": "rule"
},
"beat_spy": {
"yes_no": 0.52
}
},
"context": {
"symbol": "COPX",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 16
Exit window for co-investments: are small caps (IWM) strong?
Co-investment exits depend on open IPO windows. Use small-cap strength and volatility as a proxy.
- StateIWM
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"IWM"} The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
near_high | rule | C >= 0.98 * max(H, 252)Within 2% of the 52-week high |
hv_low | English → rule | Is 20-day historical volatility below 30%? |
drop10 | forecast | Will it drop at least 10% at some point in the next month? A 10% drawdown within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
trendIs the stock above its 200-day moving average compiled to C > sma(C, 200) | 0.5564 | on the line (true) |
near_highWithin 2% of the 52-week high | 0.0689 | false |
hv_lowIs 20-day historical volatility below 30% compiled to std(log(C / C[-1]), 20) * sqrt(20 / 19) * sqrt(252) < 0.3 | 0.9463 | true |
drop10A 10% drawdown within a month | 0.234 | 23% · unlikely |
What it means
For IWM on the session of 2026-10-30: True now: Is 20-day historical volatility below 30%. Not true: Within 2% of the 52-week high. On the line: Is the stock above its 200-day moving average. Forecasts: A 10% drawdown within a month 23%.
Strong small caps with moderate volatility describe an open window; the deal team times listings with its bankers.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "IWM"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"near_high": {
"type": "yes_no",
"ask": "C >= 0.98 * max(H, 252)"
},
"hv_low": {
"type": "yes_no",
"instructions": "Is 20-day historical volatility below 30%?"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
}
}Response JSON (IWM, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.5564,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"near_high": {
"yes_no": 0.0689,
"rule": "C >= 0.98 * max(H, 252)",
"basis": "rule"
},
"hv_low": {
"yes_no": 0.9463,
"rule": "std(log(C / C[-1]), 20) * sqrt(20 / 19) * sqrt(252) < 0.3",
"basis": "pattern"
},
"drop10": {
"yes_no": 0.234
}
},
"context": {
"symbol": "IWM",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 17
Currency-sensitive holding NVO: trend and exhaustion candles
A foreign company listed in the US carries currency effects. Check its trend and exhaustion candles.
- StateNVO
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"NVO"} The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
engulf_bear | rule | engulfing_bear()engulfing bear candle: A red body that engulfs yesterday's green body. |
dark | rule | dark_cloud()dark cloud candle: After a green day, opens above its close and closes below the middle of its body (but above its open). |
willr | rule | willr(14) > -20Williams %R above -20 (closing near the top of its range) |
drop5 | forecast | Will it drop at least 5% at some point in the next month? A 5% drawdown within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
trendAbove the 50-day average | 0.2543 | false |
engulf_bearengulfing bear candle: A red body that engulfs yesterday's green body. | 0.1068 | false |
darkdark cloud candle: After a green day, opens above its close and closes below the middle of its body (but above its open). | 0.1158 | false |
willrWilliams %R above -20 (closing near the top of its range) | 0.7524 | true |
drop5A 5% drawdown within a month | 0.502 | 50% · close to even |
What it means
For NVO on the session of 2026-10-30: True now: Williams %R above -20 (closing near the top of its range). Not true: Above the 50-day average; engulfing bear candle: A red body that engulfs yesterday's green body.; dark cloud candle: After a green day, opens above its close and closes below the middle of its body (but above its open).. Forecasts: A 5% drawdown within a month 50%.
Exhaustion candles in a foreign holding during a dollar rally are a common combination; the overlay team reviews hedges.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "NVO"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"engulf_bear": {
"type": "yes_no",
"ask": "engulfing_bear()"
},
"dark": {
"type": "yes_no",
"ask": "dark_cloud()"
},
"willr": {
"type": "yes_no",
"ask": "willr(14) > -20"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
}
}Response JSON (NVO, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.2543,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"engulf_bear": {
"yes_no": 0.1068,
"rule": "engulfing_bear()",
"basis": "rule"
},
"dark": {
"yes_no": 0.1158,
"rule": "dark_cloud()",
"basis": "rule"
},
"willr": {
"yes_no": 0.7524,
"rule": "willr(14) > -20",
"basis": "rule"
},
"drop5": {
"yes_no": 0.502
}
},
"context": {
"symbol": "NVO",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 18
Food security sleeve: DBA trend and breakouts
Some sovereign funds hold agriculture for food security. Check the agriculture fund's trend and breakout state.
- StateDBA
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"DBA"} The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
donchian | rule | C > highest(C, 55)55-day closing breakout |
marubozu | rule | marubozu()marubozu candle: Body at least 90% of the range: almost no wicks. |
gap_up | rule | gap_up()gap up candle: Today's whole range is above yesterday's high: an unfilled gap up. |
rally5 | forecast | Will it rally at least 5% at some point in the next month? A 5% rally within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
trendAbove the 50-day average | 0.0654 | false |
donchian55-day closing breakout | 0.0537 | false |
marubozumarubozu candle: Body at least 90% of the range: almost no wicks. | 0.1279 | false |
gap_upgap up candle: Today's whole range is above yesterday's high: an unfilled gap up. | 0.0788 | false |
rally5A 5% rally within a month | 0.161 | 16% · unlikely |
What it means
For DBA on the session of 2026-10-30: Not true: Above the 50-day average; 55-day closing breakout; marubozu candle: Body at least 90% of the range: almost no wicks.; gap up candle: Today's whole range is above yesterday's high: an unfilled gap up.. Forecasts: A 5% rally within a month 16%.
A breakout in agriculture prices is a policy-relevant fact for the food-security sleeve; the answers go into the quarterly note.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "DBA"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"donchian": {
"type": "yes_no",
"ask": "C > highest(C, 55)"
},
"marubozu": {
"type": "yes_no",
"ask": "marubozu()"
},
"gap_up": {
"type": "yes_no",
"ask": "gap_up()"
},
"rally5": {
"type": "yes_no",
"instructions": "Will it rally at least 5% at some point in the next month?"
}
}
}Response JSON (DBA, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.0654,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"donchian": {
"yes_no": 0.0537,
"rule": "C > highest(C, 55)",
"basis": "rule"
},
"marubozu": {
"yes_no": 0.1279,
"rule": "marubozu()",
"basis": "rule"
},
"gap_up": {
"yes_no": 0.0788,
"rule": "gap_up()",
"basis": "rule"
},
"rally5": {
"yes_no": 0.161
}
},
"context": {
"symbol": "DBA",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 19
Energy transition: URA momentum
Track the uranium fund that proxies part of the energy-transition mandate.
- StateURA
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"URA"} The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
spin | rule | spinning_top()spinning top candle: Small body (10–30% of range) with wicks of at least a quarter of the range on both sides. |
doji | rule | doji()doji candle: Body at most 10% of the day's range. |
cci | rule | cci(20) > 100CCI above 100 |
rally10 | forecast | Will it rally at least 10% at some point in the next month? A 10% rally within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
trendIs the stock above its 200-day moving average compiled to C > sma(C, 200) | 0.0537 | false |
spinspinning top candle: Small body (10–30% of range) with wicks of at least a quarter of the range on both sides. | 0.3254 | false |
dojidoji candle: Body at most 10% of the day's range. | 0.6192 | true |
cciCCI above 100 | 0.0714 | false |
rally10A 10% rally within a month | 0.777 | 78% · likely |
What it means
For URA on the session of 2026-10-30: True now: doji candle: Body at most 10% of the day's range.. Not true: Is the stock above its 200-day moving average; spinning top candle: Small body (10–30% of range) with wicks of at least a quarter of the range on both sides.; CCI above 100. Forecasts: A 10% rally within a month 78%.
Strong CCI with no indecision candles shows a trending theme; spinning tops and dojis after a run show hesitation.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "URA"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"spin": {
"type": "yes_no",
"ask": "spinning_top()"
},
"doji": {
"type": "yes_no",
"ask": "doji()"
},
"cci": {
"type": "yes_no",
"ask": "cci(20) > 100"
},
"rally10": {
"type": "yes_no",
"instructions": "Will it rally at least 10% at some point in the next month?"
}
}
}Response JSON (URA, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.0537,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"spin": {
"yes_no": 0.3254,
"rule": "spinning_top()",
"basis": "rule"
},
"doji": {
"yes_no": 0.6192,
"rule": "doji()",
"basis": "rule"
},
"cci": {
"yes_no": 0.0714,
"rule": "cci(20) > 100",
"basis": "rule"
},
"rally10": {
"yes_no": 0.777
}
},
"context": {
"symbol": "URA",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 20
Slow allocation signal on EFA for a multi-year mandate
Use slow, smoothed rules on developed ex-US equities so the signal changes rarely and suits a multi-year horizon.
- StateEFA
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"EFA"} The server fills in the latest completed session.
Questions
ema | rule | ema(C, 100) > ema(C, 250)100-day EMA above the 250-day EMA |
rec | rule | C > rec(C, self + 0.02 * (C - self))Above a very slow recursive smoother (alpha 0.02) |
hl2 | rule | hl2() > sma(hl2(), 100)Mid-price above its 100-day average |
tr | rule | tr() < atr(50)Today's true range below the 50-day ATR |
drop10 | forecast | Will it drop at least 10% at some point in the next month? A 10% drawdown within a month |
Answers
| Question | Answer | Reading |
|---|---|---|
ema100-day EMA above the 250-day EMA | 0.9463 | true |
recAbove a very slow recursive smoother (alpha 0.02) | 0.3348 | false |
hl2Mid-price above its 100-day average | 0.2271 | false |
trToday's true range below the 50-day ATR | 0.1041 | false |
drop10A 10% drawdown within a month | 0.163 | 16% · unlikely |
What it means
For EFA on the session of 2026-10-30: True now: 100-day EMA above the 250-day EMA. Not true: Above a very slow recursive smoother (alpha 0.02); Mid-price above its 100-day average; Today's true range below the 50-day ATR. Forecasts: A 10% drawdown within a month 16%.
Slow rules flip rarely; a change in state becomes an agenda item for the next board meeting.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EFA"
},
"questions": {
"ema": {
"type": "yes_no",
"ask": "ema(C, 100) > ema(C, 250)"
},
"rec": {
"type": "yes_no",
"ask": "C > rec(C, self + 0.02 * (C - self))"
},
"hl2": {
"type": "yes_no",
"ask": "hl2() > sma(hl2(), 100)"
},
"tr": {
"type": "yes_no",
"ask": "tr() < atr(50)"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
}
}Response JSON (EFA, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"ema": {
"yes_no": 0.9463,
"rule": "ema(C, 100) > ema(C, 250)",
"basis": "rule"
},
"rec": {
"yes_no": 0.3348,
"rule": "C > rec(C, self + 0.02 * (C - self))",
"basis": "rule"
},
"hl2": {
"yes_no": 0.2271,
"rule": "hl2() > sma(hl2(), 100)",
"basis": "rule"
},
"tr": {
"yes_no": 0.1041,
"rule": "tr() < atr(50)",
"basis": "rule"
},
"drop10": {
"yes_no": 0.163
}
},
"context": {
"symbol": "EFA",
"as_of": "2026-10-30"
}
}Information, not investment advice. Rules answer from the latest completed daily session; forecasts are probabilities. Actions ran as dry runs: nothing was sent. More in Institutions: ETF issuer, Index provider, Insurance investment office, Pension fund, Endowment.