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 1–10 of 20 · page 1 of 2
Sovereign wealth fund · example 1
Country allocation trend map: EWJ, EWG, EWZ, EWA
A global fund weights many countries. Check which country funds are in long-term uptrends before the annual country review.
- State4 symbols
- Questions3 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"EWJ"} then EWG, EWZ, EWA, one request each. The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
momentum | rule | C > C[-63]Higher than three months ago |
beat_spy | forecast | Will it beat SPY over the next month? Beating SPY over a month |
Answers
| Symbol | trendrule | momentumrule | beat_spyforecast |
|---|---|---|---|
EWJ | 0.778 | 0.45 | 0.568 |
EWG | 0.5332 | 0.116 | 0.458 |
EWZ | 0.0888 | 0.1345 | 0.392 |
EWA | 0.8466 | 0.625 | 0.442 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 4 symbols: Is the stock above its 200-day moving average: true for EWJ, EWA of 4. Higher than three months ago: true for EWA of 4. Highest odds for “Beating SPY over a month”: EWJ at 57%.
The map shows trend state country by country; strategic weights follow the mandate, the map frames the discussion.
Request JSON (EWJ; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EWJ"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"momentum": {
"type": "yes_no",
"ask": "C > C[-63]"
},
"beat_spy": {
"type": "yes_no",
"instructions": "Will it beat SPY over the next month?"
}
}
}Response JSON (EWJ, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.778,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"momentum": {
"yes_no": 0.45,
"rule": "C > C[-63]",
"basis": "rule"
},
"beat_spy": {
"yes_no": 0.568
}
},
"context": {
"symbol": "EWJ",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 2
Dollar regime: is UUP trending up?
A fund with assets in many currencies needs a read on the US dollar. Check the dollar ETF's trend, momentum and breakout state.
- StateUUP
- Questions5 asked
- Answersreal, captured
- Actions1 rule · dry run
State
{"symbol":"UUP"} The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
long | English → rule | Is the stock above its 200-day moving average? |
breakout | rule | C > highest(C, 20)20-day closing breakout |
macd | rule | macd(C) > macdsignal(C)MACD above its signal line |
up_week | forecast | Will the stock be higher in a week? Higher in a week |
Answers
| Question | Answer | Reading |
|---|---|---|
trendAbove the 50-day average | 0.8725 | true |
longIs the stock above its 200-day moving average compiled to C > sma(C, 200) | 0.9463 | true |
breakout20-day closing breakout | 0.2335 | false |
macdMACD above its signal line | 0.2057 | false |
up_weekHigher in a week | 0.561 | 56% · close to even |
Actions
Rules on the answers decide what to send.
trend >= 0.6 and breakout >= 0.6→Emailfx-overlay-teamWhat it means
For UUP on the session of 2026-10-30: True now: Above the 50-day average; Is the stock above its 200-day moving average. Not true: 20-day closing breakout; MACD above its signal line. Forecasts: Higher in a week 56%. No action fired: every rule was false.
A dollar breakout matters for the unhedged share of non-US assets; the overlay team decides on the hedge ratio.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "UUP"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"long": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"breakout": {
"type": "yes_no",
"ask": "C > highest(C, 20)"
},
"macd": {
"type": "yes_no",
"ask": "macd(C) > macdsignal(C)"
},
"up_week": {
"type": "yes_no",
"instructions": "Will the stock be higher in a week?"
}
},
"actions": [
{
"id": "strong_dollar",
"when": "trend >= 0.6 and breakout >= 0.6",
"do": "email",
"connection": "fx-overlay-team",
"subject": "Dollar breakout ({{as_of}})",
"message": "{{symbol}} closed at a 20-day high above its 50-day. Review the currency-hedge ratio on non-US assets. Higher in a week: {{up_week|pct}}."
}
],
"dry_run": true
}Response JSON (UUP, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.8725,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"long": {
"yes_no": 0.9463,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"breakout": {
"yes_no": 0.2335,
"rule": "C > highest(C, 20)",
"basis": "rule"
},
"macd": {
"yes_no": 0.2057,
"rule": "macd(C) > macdsignal(C)",
"basis": "rule"
},
"up_week": {
"yes_no": 0.561
}
},
"context": {
"symbol": "UUP",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "strong_dollar",
"fired": false,
"status": "skipped"
}
]
}Sovereign wealth fund · example 3
Oil revenue hedge: USO trend and volatility
A commodity-funded sovereign fund watches oil because its inflows depend on it. Check trend and volatility in the oil fund.
- StateUSO
- Questions5 asked
- Answersreal, captured
- Actions2 rules · dry run
State
{"symbol":"USO"} The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
breakdown | rule | C < lowest(L, 20)Closed under the 20-day low |
atr3 | rule | atr_pct(14) > 3A typical day moves more than 3% |
drop10 | forecast | Will it drop at least 10% at some point in the next month? A 10% drawdown within a month |
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 |
|---|---|---|
trendAbove the 50-day average | 0.9434 | true |
breakdownClosed under the 20-day low | 0.0537 | false |
atr3A typical day moves more than 3% | 0.3803 | false |
drop10A 10% drawdown within a month | 0.615 | 62% · likely |
rally10A 10% rally within a month | 0.658 | 66% · likely |
Actions
Rules on the answers decide what to send.
breakdown >= 0.6→Emailministry-liaisonelse→Slackswf-strategy{
"text": "USO (2026-10-30): no oil breakdown; above 50-day 94%, ATR over 3% 38%."
}What it means
For USO on the session of 2026-10-30: True now: Above the 50-day average. Not true: Closed under the 20-day low; A typical day moves more than 3%. Forecasts: A 10% drawdown within a month 62%; A 10% rally within a month 66%. Fired: steady (Slack → swf-strategy).
Oil weakness reduces future contributions, so the liaison is told early; the portfolio itself is not traded on this.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "USO"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"breakdown": {
"type": "yes_no",
"ask": "C < lowest(L, 20)"
},
"atr3": {
"type": "yes_no",
"ask": "atr_pct(14) > 3"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
},
"rally10": {
"type": "yes_no",
"instructions": "Will it rally at least 10% at some point in the next month?"
}
},
"actions": [
{
"id": "inflow_risk",
"when": "breakdown >= 0.6",
"do": "email",
"connection": "ministry-liaison",
"subject": "{{symbol}} broke its 20-day low ({{as_of}})",
"message": "{{symbol}} closed under its 20-day low. Lower oil prices reduce expected inflows. 10% further drop odds: {{drop10|pct}}."
},
{
"id": "steady",
"when": "else",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): no oil breakdown; above 50-day {{trend|pct}}, ATR over 3% {{atr3|pct}}."
}
],
"dry_run": true
}Response JSON (USO, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.9434,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"breakdown": {
"yes_no": 0.0537,
"rule": "C < lowest(L, 20)",
"basis": "rule"
},
"atr3": {
"yes_no": 0.3803,
"rule": "atr_pct(14) > 3",
"basis": "rule"
},
"drop10": {
"yes_no": 0.615
},
"rally10": {
"yes_no": 0.658
}
},
"context": {
"symbol": "USO",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "inflow_risk",
"fired": false,
"status": "skipped"
},
{
"id": "steady",
"fired": true,
"status": "dry_run",
"do": "slack",
"connection": "swf-strategy",
"preview": {
"text": "USO (2026-10-30): no oil breakdown; above 50-day 94%, ATR over 3% 38%."
}
}
]
}Sovereign wealth fund · example 4
Emerging-market country risk: EWZ, EWW, INDA, FXI
Check emerging-market country funds for drawdowns and heavy selling as part of the country-risk dashboard.
- State4 symbols
- Questions4 asked
- Answersreal, captured
- Actions2 rules · dry run
State
{"symbol":"EWZ"} then EWW, INDA, FXI, one request each. The server fills in the latest completed session.
Questions
drawdown | rule | C < 0.8 * max(H, 252)More than 20% off the 52-week high |
down_vol | rule | C < C[-1] and V > 1.5 * ref(avg(V, 20), -1)Down on heavy volume |
below | English → rule | Is the stock below its 200-day moving average? |
drop10 | forecast | Will it drop at least 10% at some point in the next month? A 10% drawdown within a month |
Answers
| Symbol | drawdownrule | down_volrule | belowrule | drop10forecast | Fired |
|---|---|---|---|---|---|
EWZ | 0.85 | 0.0855 | 0.9112 | 0.508 | ok |
EWW | 0.0537 | 0.1091 | 0.7378 | 0.271 | ok |
INDA | 0.0556 | 0.1283 | 0.9105 | 0.123 | ok |
FXI | 0.2827 | 0.1309 | 0.9463 | 0.203 | ok |
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.
drawdown >= 0.6 and down_vol >= 0.6→Webhookrisk-dashboardelse→Slackswf-strategy{
"text": "EWZ (2026-10-30): no country-risk flag (drawdown 85%, below 200-day 91%)."
}{
"text": "EWW (2026-10-30): no country-risk flag (drawdown 5%, below 200-day 74%)."
}{
"text": "INDA (2026-10-30): no country-risk flag (drawdown 6%, below 200-day 91%)."
}{
"text": "FXI (2026-10-30): no country-risk flag (drawdown 28%, below 200-day 95%)."
}What it means
Session of 2026-10-30, 4 symbols: More than 20% off the 52-week high: true for EWZ of 4. Down on heavy volume: true for none of 4. Is the stock below its 200-day moving average: true for EWZ, EWW, INDA, FXI of 4. Highest odds for “A 10% drawdown within a month”: EWZ at 51%. country_flag fired for none. ok fired for EWZ, EWW, INDA, FXI.
A country fund in a deep drawdown with heavy selling moves up the risk dashboard; exposure limits are set by the board.
Request JSON (EWZ; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EWZ"
},
"questions": {
"drawdown": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"down_vol": {
"type": "yes_no",
"ask": "C < C[-1] and V > 1.5 * ref(avg(V, 20), -1)"
},
"below": {
"type": "yes_no",
"instructions": "Is the stock below its 200-day moving average?"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
},
"actions": [
{
"id": "country_flag",
"when": "drawdown >= 0.6 and down_vol >= 0.6",
"do": "webhook",
"connection": "risk-dashboard",
"body": {
"country_fund": "{{symbol}}",
"as_of": "{{as_of}}",
"flag": "drawdown_heavy_selling",
"p_drawdown": "{{drawdown}}",
"p_down_on_volume": "{{down_vol}}",
"p_drop10": "{{drop10}}"
}
},
{
"id": "ok",
"when": "else",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): no country-risk flag (drawdown {{drawdown|pct}}, below 200-day {{below|pct}})."
}
],
"dry_run": true
}Response JSON (EWZ, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"drawdown": {
"yes_no": 0.85,
"rule": "C < 0.8 * max(H, 252)",
"basis": "rule"
},
"down_vol": {
"yes_no": 0.0855,
"rule": "C < C[-1] and V > 1.5 * ref(avg(V, 20), -1)",
"basis": "rule"
},
"below": {
"yes_no": 0.9112,
"rule": "C < sma(C, 200)",
"basis": "comparison"
},
"drop10": {
"yes_no": 0.508
}
},
"context": {
"symbol": "EWZ",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "country_flag",
"fired": false,
"status": "skipped"
},
{
"id": "ok",
"fired": true,
"status": "dry_run",
"do": "slack",
"connection": "swf-strategy",
"preview": {
"text": "EWZ (2026-10-30): no country-risk flag (drawdown 85%, below 200-day 91%)."
}
}
]
}Sovereign wealth fund · example 5
Global equity core: is VXUS keeping up?
The core equity portfolio is US plus international. Check the international fund's trend and momentum each month.
- StateVXUS
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"VXUS"} The server fills in the latest completed session.
Questions
trend | rule | C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)Stacked averages: close > 20 EMA > 50 > 200 |
roc | rule | roc(C, 20) > 5Up more than 5% in 20 sessions |
obv | rule | obv() > sma(obv(), 20)On-balance volume above its 20-day average |
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 |
|---|---|---|
trendStacked averages: close > 20 EMA > 50 > 200 | 0.0865 | false |
rocUp more than 5% in 20 sessions | 0.0543 | false |
obvOn-balance volume above its 20-day average | 0.24 | false |
drop5A 5% drawdown within a month | 0.233 | 23% · unlikely |
What it means
For VXUS on the session of 2026-10-30: Not true: Stacked averages: close > 20 EMA > 50 > 200; Up more than 5% in 20 sessions; On-balance volume above its 20-day average. Forecasts: A 5% drawdown within a month 23%.
When international fails these rules the home-bias discussion comes back; the answers describe, the mandate decides.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "VXUS"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)"
},
"roc": {
"type": "yes_no",
"ask": "roc(C, 20) > 5"
},
"obv": {
"type": "yes_no",
"ask": "obv() > sma(obv(), 20)"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
}
}Response JSON (VXUS, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.0865,
"rule": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)",
"basis": "rule"
},
"roc": {
"yes_no": 0.0543,
"rule": "roc(C, 20) > 5",
"basis": "rule"
},
"obv": {
"yes_no": 0.24,
"rule": "obv() > sma(obv(), 20)",
"basis": "rule"
},
"drop5": {
"yes_no": 0.233
}
},
"context": {
"symbol": "VXUS",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 6
Precious metals reserve: GLD, IAU, PPLT
Part of the reserve is held in precious metals. Check trend, extension and reversal candles for the reserve report.
- State3 symbols
- Questions5 asked
- Answersreal, captured
- Actions2 rules · dry run
State
{"symbol":"GLD"} then IAU, PPLT, one request each. The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
stretched | rule | C > sma(C, 20) + 2 * atr(14)Stretched: more than 2 ATR above the 20-day |
evening | rule | evening_star()evening star candle: A green bar, a small bar that stays above its close, then a red bar closing below the middle of the first. |
gravestone | rule | gravestone_doji()gravestone doji candle: Doji with a long upper wick and almost no lower wick. |
drop5 | forecast | Will it drop at least 5% at some point in the next month? A 5% drawdown within a month |
Answers
| Symbol | trendrule | stretchedrule | eveningrule | gravestonerule | drop5forecast | Fired |
|---|---|---|---|---|---|---|
GLD | 0.0537 | 0.063 | 0.1476 | 0.0548 | 0.435 | steady |
IAU | 0.0537 | 0.063 | 0.1485 | 0.0541 | 0.425 | steady |
PPLT | 0.0537 | 0.0537 | 0.0759 | 0.0949 | 0.551 | steady |
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.
evening >= 0.6 or gravestone >= 0.6→Emailreserve-managementelse→Slackswf-strategy{
"text": "GLD (2026-10-30): no top pattern; stretched 6%."
}{
"text": "IAU (2026-10-30): no top pattern; stretched 6%."
}{
"text": "PPLT (2026-10-30): no top pattern; stretched 5%."
}What it means
Session of 2026-10-30, 3 symbols: Is the stock above its 200-day moving average: true for none of 3. Stretched: more than 2 ATR above the 20-day: true for none of 3. evening star candle: A green bar, a small bar that stays above its close, then a red bar closing below the middle of the first.: true for none of 3. gravestone doji candle: Doji with a long upper wick and almost no lower wick.: true for none of 3. Highest odds for “A 5% drawdown within a month”: PPLT at 55%. reserve_note fired for none. steady fired for GLD, IAU, PPLT.
Trend plus no exhaustion candle supports the reserve weight; signs of a top are noted, the weight is policy.
Request JSON (GLD; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "GLD"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"stretched": {
"type": "yes_no",
"ask": "C > sma(C, 20) + 2 * atr(14)"
},
"evening": {
"type": "yes_no",
"ask": "evening_star()"
},
"gravestone": {
"type": "yes_no",
"ask": "gravestone_doji()"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
},
"actions": [
{
"id": "reserve_note",
"when": "evening >= 0.6 or gravestone >= 0.6",
"do": "email",
"connection": "reserve-management",
"subject": "{{symbol}}: top pattern ({{as_of}})",
"message": "{{symbol}} shows a top pattern (evening star {{evening|pct}}, gravestone {{gravestone|pct}}). Trend above the 200-day: {{trend|pct}}."
},
{
"id": "steady",
"when": "else",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): no top pattern; stretched {{stretched|pct}}."
}
],
"dry_run": true
}Response JSON (GLD, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.0537,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"stretched": {
"yes_no": 0.063,
"rule": "C > sma(C, 20) + 2 * atr(14)",
"basis": "rule"
},
"evening": {
"yes_no": 0.1476,
"rule": "evening_star()",
"basis": "rule"
},
"gravestone": {
"yes_no": 0.0548,
"rule": "gravestone_doji()",
"basis": "rule"
},
"drop5": {
"yes_no": 0.435
}
},
"context": {
"symbol": "GLD",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "reserve_note",
"fired": false,
"status": "skipped"
},
{
"id": "steady",
"fired": true,
"status": "dry_run",
"do": "slack",
"connection": "swf-strategy",
"preview": {
"text": "GLD (2026-10-30): no top pattern; stretched 6%."
}
}
]
}Sovereign wealth fund · example 7
Strategic technology stakes: TSM, ASML, NVDA
Direct stakes in strategic technology companies need monitoring: trend, earnings calendar and reaction size.
- State3 symbols
- Questions5 asked
- Answersreal, captured
- Actions1 rule · dry run
State
{"symbol":"TSM"} then ASML, NVDA, one request each. The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
earn14 | English → rule | Is earnings in the next 14 days? |
beat | rule | beat_eps_last > 0.5 and beat_revenue_last > 0.5Beat on EPS and revenue last quarter |
big_react | rule | abs(last_earnings_move) > 5Last earnings move bigger than 5% |
drop10 | forecast | Will it drop at least 10% at some point in the next month? A 10% drawdown within a month |
Answers
| Symbol | trendrule | earn14rule | beatrule | big_reactrule | drop10forecast | Fired |
|---|---|---|---|---|---|---|
TSM | 0.0959 | 0.0537 | 0.8591 | 0.0537 | 0.587 | none |
ASML | 0.0764 | 0.0537 | 0.1409 | 0.0537 | 0.624 | none |
NVDA | 0.0746 | 0.1033 | 0.8591 | 0.9463 | 0.523 | 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.
earn14 >= 0.6→Webhookstakes-monitorWhat it means
Session of 2026-10-30, 3 symbols: Above the 50-day average: true for none of 3. Is earnings in the next 14 days: true for none of 3. Beat on EPS and revenue last quarter: true for TSM, NVDA of 3. Last earnings move bigger than 5%: true for NVDA of 3. Highest odds for “A 10% drawdown within a month”: ASML at 62%. stake_report fired for none.
Earnings within two weeks open a monitoring item for each stake; the team prepares talking points, not trades.
Request JSON (TSM; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "TSM"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"earn14": {
"type": "yes_no",
"instructions": "Is earnings in the next 14 days?"
},
"beat": {
"type": "yes_no",
"ask": "beat_eps_last > 0.5 and beat_revenue_last > 0.5"
},
"big_react": {
"type": "yes_no",
"ask": "abs(last_earnings_move) > 5"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
},
"actions": [
{
"id": "stake_report",
"when": "earn14 >= 0.6",
"do": "webhook",
"connection": "stakes-monitor",
"body": {
"holding": "{{symbol}}",
"as_of": "{{as_of}}",
"event": "earnings_within_14d",
"p_trend": "{{trend}}",
"p_last_big_reaction": "{{big_react}}",
"p_drop10": "{{drop10}}"
}
}
],
"dry_run": true
}Response JSON (TSM, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.0959,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"earn14": {
"yes_no": 0.0537,
"rule": "days_to_earnings <= 14",
"basis": "pattern"
},
"beat": {
"yes_no": 0.8591,
"rule": "beat_eps_last > 0.5 and beat_revenue_last > 0.5",
"basis": "rule"
},
"big_react": {
"yes_no": 0.0537,
"rule": "abs(last_earnings_move) > 5",
"basis": "rule"
},
"drop10": {
"yes_no": 0.587
}
},
"context": {
"symbol": "TSM",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "stake_report",
"fired": false,
"status": "skipped"
}
]
}abs beat_eps_last beat_revenue_last days_to_earnings last_earnings_move sma
Sovereign wealth fund · example 8
Infrastructure proxy: EPD pipeline income and trend
A listed pipeline partnership is a public read on the infrastructure portfolio. Check income and trend.
- StateEPD
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"EPD"} The server fills in the latest completed session.
Questions
yield3 | English → rule | Is the dividend yield above 3%? |
raised | rule | raised_last > 0.5Raised its last dividend |
trend | rule | C > sma(C, 50)Above the 50-day average |
sma200 | rule | sma(C, 200) > ref(sma(C, 200), -20)The 200-day average is rising |
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 |
|---|---|---|
yield3Is the dividend yield above 3% compiled to div_yield_ttm > 3 | 0.9463 | true |
raisedRaised its last dividend | 0.1409 | false |
trendAbove the 50-day average | 0.8235 | true |
sma200The 200-day average is rising | 0.9463 | true |
drop5A 5% drawdown within a month | 0.387 | 39% · unlikely |
What it means
For EPD on the session of 2026-10-30: True now: Is the dividend yield above 3%; Above the 50-day average; The 200-day average is rising. Not true: Raised its last dividend. Forecasts: A 5% drawdown within a month 39%.
Rising payouts and a rising 200-day support the infrastructure marks; weakness here is an early warning for private valuations.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EPD"
},
"questions": {
"yield3": {
"type": "yes_no",
"instructions": "Is the dividend yield above 3%?"
},
"raised": {
"type": "yes_no",
"ask": "raised_last > 0.5"
},
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"sma200": {
"type": "yes_no",
"ask": "sma(C, 200) > ref(sma(C, 200), -20)"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
}
}Response JSON (EPD, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"yield3": {
"yes_no": 0.9463,
"rule": "div_yield_ttm > 3",
"basis": "pattern"
},
"raised": {
"yes_no": 0.1409,
"rule": "raised_last > 0.5",
"basis": "rule"
},
"trend": {
"yes_no": 0.8235,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"sma200": {
"yes_no": 0.9463,
"rule": "sma(C, 200) > ref(sma(C, 200), -20)",
"basis": "rule"
},
"drop5": {
"yes_no": 0.387
}
},
"context": {
"symbol": "EPD",
"as_of": "2026-10-30"
}
}Sovereign wealth fund · example 9
Weekly global digest: equities, bonds, dollar, gold, oil
Every Friday after the close, the strategy team gets one Slack line per global building block.
- ScheduleFri at 17:00 ET
- State5 symbols
- Questions3 asked
- Answersreal, captured
- Actions1 rule · dry run
State
{"symbol":"VTI"} then BND, UUP, GLD, USO, one request each. The server fills in the latest completed session.
Questions
trend | rule | C > sma(C, 50)Above the 50-day average |
up_month | English → rule | Is the stock up over the last month? |
drop5 | forecast | Will it drop at least 5% at some point in the next month? A 5% drawdown within a month |
Answers
| Symbol | trendrule | up_monthrule | drop5forecast | Fired |
|---|---|---|---|---|
VTI | 0.1242 | 0.2517 | 0.187 | line |
BND | 0.8292 | 0.9196 | 0.007 | line |
UUP | 0.8725 | 0.5551 | 0.013 | line |
GLD | 0.0807 | 0.1455 | 0.435 | line |
USO | 0.9434 | 0.9198 | 0.615 | line |
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.
trend >= 0→Slackswf-strategy{
"text": "VTI (2026-10-30): above 50-day 12%, up over the month 25%, 5% drawdown odds 19%."
}{
"text": "BND (2026-10-30): above 50-day 83%, up over the month 92%, 5% drawdown odds 1%."
}{
"text": "UUP (2026-10-30): above 50-day 87%, up over the month 56%, 5% drawdown odds 1%."
}{
"text": "GLD (2026-10-30): above 50-day 8%, up over the month 15%, 5% drawdown odds 44%."
}{
"text": "USO (2026-10-30): above 50-day 94%, up over the month 92%, 5% drawdown odds 62%."
}What it means
Session of 2026-10-30, 5 symbols: Above the 50-day average: true for BND, UUP, USO of 5. Is the stock up over the last month: true for BND, USO of 5. Highest odds for “A 5% drawdown within a month”: USO at 62%. line fired for VTI, BND, UUP, GLD, USO.
Six lines a week give the strategy team a consistent global picture; each line is the live answer for that asset.
As a scheduled workflow (Fri at 17:00 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": "Weekly global digest: equities, bonds, dollar, gold, oil",
"symbols": "VTI BND UUP GLD USO",
"days": [
5
],
"at_time": "17:00",
"model": "ora-fin-0.1.1",
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"up_month": {
"type": "yes_no",
"instructions": "Is the stock up over the last month?"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
},
"actions": [
{
"id": "line",
"when": "trend >= 0",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): above 50-day {{trend|pct}}, up over the month {{up_month|pct}}, 5% drawdown odds {{drop5|pct}}."
}
]
}Request JSON (VTI; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "VTI"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"up_month": {
"type": "yes_no",
"instructions": "Is the stock up over the last month?"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% at some point in the next month?"
}
},
"actions": [
{
"id": "line",
"when": "trend >= 0",
"do": "slack",
"connection": "swf-strategy",
"message": "{{symbol}} ({{as_of}}): above 50-day {{trend|pct}}, up over the month {{up_month|pct}}, 5% drawdown odds {{drop5|pct}}."
}
],
"dry_run": true
}Response JSON (VTI, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.1242,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"up_month": {
"yes_no": 0.2517,
"rule": "C > C[-21]",
"basis": "pattern"
},
"drop5": {
"yes_no": 0.187
}
},
"context": {
"symbol": "VTI",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "line",
"fired": true,
"status": "dry_run",
"do": "slack",
"connection": "swf-strategy",
"preview": {
"text": "VTI (2026-10-30): above 50-day 12%, up over the month 25%, 5% drawdown odds 19%."
}
}
]
}Sovereign wealth fund · example 10
Japan (EWJ): reversal candles after a sell-off
After a sharp drop in Japan, look for bullish reversal patterns before resuming a staged purchase program.
- StateEWJ
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"EWJ"} The server fills in the latest completed session.
Questions
hammer | rule | hammer()hammer candle: Lower wick at least twice the body, upper wick at most 10% of the range, closing below the close five bars back. |
piercing | rule | piercing_line()piercing line candle: After a red day, opens below its close and closes above the middle of its body (but under its open). |
harami | rule | harami_bull()harami bull candle: A small green body inside yesterday's red body. |
soldiers | rule | three_white_soldiers()three white soldiers candle: Three green bars, each closing higher and opening inside the previous body. |
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 |
|---|---|---|
hammerhammer candle: Lower wick at least twice the body, upper wick at most 10% of the range, closing below the close five bars back. | 0.3405 | false |
piercingpiercing line candle: After a red day, opens below its close and closes above the middle of its body (but under its open). | 0.0696 | false |
haramiharami bull candle: A small green body inside yesterday's red body. | 0.0665 | false |
soldiersthree white soldiers candle: Three green bars, each closing higher and opening inside the previous body. | 0.0669 | false |
rally5A 5% rally within a month | 0.384 | 38% · unlikely |
What it means
For EWJ on the session of 2026-10-30: Not true: hammer candle: Lower wick at least twice the body, upper wick at most 10% of the range, closing below the close five bars back.; piercing line candle: After a red day, opens below its close and closes above the middle of its body (but under its open).; harami bull candle: A small green body inside yesterday's red body.; three white soldiers candle: Three green bars, each closing higher and opening inside the previous body.. Forecasts: A 5% rally within a month 38%.
A reversal pattern is one input to resuming purchases; the program schedule, not a candle, sets the pace.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EWJ"
},
"questions": {
"hammer": {
"type": "yes_no",
"ask": "hammer()"
},
"piercing": {
"type": "yes_no",
"ask": "piercing_line()"
},
"harami": {
"type": "yes_no",
"ask": "harami_bull()"
},
"soldiers": {
"type": "yes_no",
"ask": "three_white_soldiers()"
},
"rally5": {
"type": "yes_no",
"instructions": "Will it rally at least 5% at some point in the next month?"
}
}
}Response JSON (EWJ, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"hammer": {
"yes_no": 0.3405,
"rule": "hammer()",
"basis": "rule"
},
"piercing": {
"yes_no": 0.0696,
"rule": "piercing_line()",
"basis": "rule"
},
"harami": {
"yes_no": 0.0665,
"rule": "harami_bull()",
"basis": "rule"
},
"soldiers": {
"yes_no": 0.0669,
"rule": "three_white_soldiers()",
"basis": "rule"
},
"rally5": {
"yes_no": 0.384
}
},
"context": {
"symbol": "EWJ",
"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.