Use cases · Buy side
Private equity: 20 ways to use Ora
Public comparables, exit windows and listed-portfolio monitoring around deals. Each example is a complete, runnable request with the real answers it returned (46 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 (42)
sma 13max 9offset 4lowest 4ema 3log 2ref 2sqrt 2std 2beat_eps_last 2beat_revenue_last 2days_to_earnings 2roc 2atr 2swinghigh 2swinglow 2div_yield_ttm 2avg 1abs 1last_earnings_move 1pre_earnings_close 1lowestbars 1adx 1diminus 1diplus 1engulfing_bear 1evening_star 1tweezer_top 1beat_streak 1beats_last4 1eps_growth_yoy 1next_report_bmo 1crossup 1macd 1macdsignal 1pays_dividend 1raised_last 1years_of_growth 1barssince 1dragonfly_doji 1hammer 1rsi 1
Examples 1–10 of 20 · page 1 of 2
Private equity · example 1
Is the IPO exit window open? Small caps as the read
Listing a portfolio company works best when small caps trend up with calm volatility; read that from IWM.
- StateIWM
- Questions6 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? |
sma50_up | rule | sma(C, 50) > ref(sma(C, 50), -10)The 50-day average is rising |
calm | English → rule | Is 20-day historical volatility below 20%? |
near_high | rule | C >= 0.98 * max(H, 252)Within 2% of the 52-week high |
vol_calm | forecast | Will volatility calm down over the next 5 days? Volatility calming over 5 days |
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 |
|---|---|---|
trendIs the stock above its 200-day moving average compiled to C > sma(C, 200) | 0.5564 | on the line (true) |
sma50_upThe 50-day average is rising | 0.0779 | false |
calmIs 20-day historical volatility below 20% compiled to std(log(C / C[-1]), 20) * sqrt(20 / 19) * sqrt(252) < 0.2 | 0.9387 | true |
near_highWithin 2% of the 52-week high | 0.0689 | false |
vol_calmVolatility calming over 5 days | 0.522 | 52% · close to even |
drop5A 5% 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 20%. Not true: The 50-day average is rising; Within 2% of the 52-week high. On the line: Is the stock above its 200-day moving average. Forecasts: Volatility calming over 5 days 52%; A 5% drawdown within a month 23%.
An uptrend with low realized volatility is the backdrop bankers like for a listing; a drawdown or vol spike argues for waiting a quarter.
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?"
},
"sma50_up": {
"type": "yes_no",
"ask": "sma(C, 50) > ref(sma(C, 50), -10)"
},
"calm": {
"type": "yes_no",
"instructions": "Is 20-day historical volatility below 20%?"
},
"near_high": {
"type": "yes_no",
"ask": "C >= 0.98 * max(H, 252)"
},
"vol_calm": {
"type": "yes_no",
"instructions": "Will volatility calm down over the next 5 days?"
},
"drop5": {
"type": "yes_no",
"instructions": "Will it drop at least 5% 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"
},
"sma50_up": {
"yes_no": 0.0779,
"rule": "sma(C, 50) > ref(sma(C, 50), -10)",
"basis": "rule"
},
"calm": {
"yes_no": 0.9387,
"rule": "std(log(C / C[-1]), 20) * sqrt(20 / 19) * sqrt(252) < 0.2",
"basis": "pattern"
},
"near_high": {
"yes_no": 0.0689,
"rule": "C >= 0.98 * max(H, 252)",
"basis": "rule"
},
"vol_calm": {
"yes_no": 0.522
},
"drop5": {
"yes_no": 0.234
}
},
"context": {
"symbol": "IWM",
"as_of": "2026-10-30"
}
}Private equity · example 2
Public software comps for a SaaS deal: CRM, NOW, WDAY, ADBE
Before pricing a software buyout, check how the listed comparables are trading: trend, drawdown from highs and momentum.
- State4 symbols
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"CRM"} then NOW, WDAY, ADBE, one request each. The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
dd | rule | C < 0.8 * max(H, 252)More than 20% off the 52-week high |
mom | rule | C > C[-63]Higher than three months ago |
beat | English → rule | Did the stock beat on both EPS and revenue last quarter? |
Answers
| Symbol | trendrule | ddrule | momrule | beatrule |
|---|---|---|---|---|
CRM | 0.9107 | 0.1862 | 0.9281 | 0.8591 |
NOW | 0.1728 | 0.9463 | 0.1906 | 0.1409 |
WDAY | 0.9463 | 0.2316 | 0.9416 | 0.8591 |
ADBE | 0.4894 | 0.9445 | 0.4527 | 0.8591 |
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 CRM, WDAY of 4. More than 20% off the 52-week high: true for NOW, ADBE of 4. Higher than three months ago: true for CRM, WDAY of 4. Did the stock beat on both EPS and revenue last quarter: true for CRM, WDAY, ADBE of 4.
Comps in deep drawdowns pull public multiples down, which shapes the bid and the exit assumptions in the model.
Request JSON (CRM; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "CRM"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"dd": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"mom": {
"type": "yes_no",
"ask": "C > C[-63]"
},
"beat": {
"type": "yes_no",
"instructions": "Did the stock beat on both EPS and revenue last quarter?"
}
}
}Response JSON (CRM, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.9107,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"dd": {
"yes_no": 0.1862,
"rule": "C < 0.8 * max(H, 252)",
"basis": "rule"
},
"mom": {
"yes_no": 0.9281,
"rule": "C > C[-63]",
"basis": "rule"
},
"beat": {
"yes_no": 0.8591,
"rule": "beat_eps_last > 0.5 and beat_revenue_last > 0.5",
"basis": "pattern"
}
},
"context": {
"symbol": "CRM",
"as_of": "2026-10-30"
}
}Private equity · example 3
Weekly monitor of a listed portfolio company
After a partial IPO the fund still holds a large stake; each Friday check the stock's trend and alert the deal team on a breakdown.
- ScheduleFri at 17:00 ET
- StateETSY
- Questions5 asked
- Answersreal, captured
- Actions2 rules · dry run
State
{"symbol":"ETSY"} 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 |
dd | rule | C < 0.8 * max(H, 252)More than 20% off the 52-week high |
earn_soon | rule | days_to_earnings <= 10Reports earnings within 10 days |
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 |
|---|---|---|
trendAbove the 50-day average | 0.9047 | true |
breakdownClosed under the 20-day low | 0.0586 | false |
ddMore than 20% off the 52-week high | 0.0604 | false |
earn_soonReports earnings within 10 days | 0.0537 | false |
drop10A 10% drawdown within a month | 0.63 | 63% · likely |
Actions
Rules on the answers decide what to send.
breakdown >= 0.6 or dd >= 0.6→Emaildeal-teamelse→Slackdeal-team{
"text": "ETSY (2026-10-30): no breakdown. Above 50-day 90%."
}What it means
For ETSY on the session of 2026-10-30: True now: Above the 50-day average. Not true: Closed under the 20-day low; More than 20% off the 52-week high; Reports earnings within 10 days. Forecasts: A 10% drawdown within a month 63%. Fired: status (Slack → deal-team).
The weekly email fires only on a breakdown; otherwise one Slack line records that the stake was checked.
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 monitor of a listed portfolio company",
"symbols": "ETSY",
"days": [
5
],
"at_time": "17:00",
"model": "ora-fin-0.1.1",
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"breakdown": {
"type": "yes_no",
"ask": "C < lowest(L, 20)"
},
"dd": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"earn_soon": {
"type": "yes_no",
"ask": "days_to_earnings <= 10"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
},
"actions": [
{
"id": "deal_team",
"when": "breakdown >= 0.6 or dd >= 0.6",
"do": "email",
"connection": "deal-team",
"subject": "{{symbol}} stake: breakdown ({{as_of}})",
"message": "{{symbol}} broke its 20-day low ({{breakdown|pct}}) or sits over 20% below its high ({{dd|pct}}). Report within 10 days: {{earn_soon|pct}}. 10% drawdown odds: {{drop10|pct}}."
},
{
"id": "status",
"when": "else",
"do": "slack",
"connection": "deal-team",
"message": "{{symbol}} ({{as_of}}): no breakdown. Above 50-day {{trend|pct}}."
}
]
}Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "ETSY"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > sma(C, 50)"
},
"breakdown": {
"type": "yes_no",
"ask": "C < lowest(L, 20)"
},
"dd": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"earn_soon": {
"type": "yes_no",
"ask": "days_to_earnings <= 10"
},
"drop10": {
"type": "yes_no",
"instructions": "Will it drop at least 10% at some point in the next month?"
}
},
"actions": [
{
"id": "deal_team",
"when": "breakdown >= 0.6 or dd >= 0.6",
"do": "email",
"connection": "deal-team",
"subject": "{{symbol}} stake: breakdown ({{as_of}})",
"message": "{{symbol}} broke its 20-day low ({{breakdown|pct}}) or sits over 20% below its high ({{dd|pct}}). Report within 10 days: {{earn_soon|pct}}. 10% drawdown odds: {{drop10|pct}}."
},
{
"id": "status",
"when": "else",
"do": "slack",
"connection": "deal-team",
"message": "{{symbol}} ({{as_of}}): no breakdown. Above 50-day {{trend|pct}}."
}
],
"dry_run": true
}Response JSON (ETSY, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.9047,
"rule": "C > sma(C, 50)",
"basis": "rule"
},
"breakdown": {
"yes_no": 0.0586,
"rule": "C < lowest(L, 20)",
"basis": "rule"
},
"dd": {
"yes_no": 0.0604,
"rule": "C < 0.8 * max(H, 252)",
"basis": "rule"
},
"earn_soon": {
"yes_no": 0.0537,
"rule": "days_to_earnings <= 10",
"basis": "rule"
},
"drop10": {
"yes_no": 0.63
}
},
"context": {
"symbol": "ETSY",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "deal_team",
"fired": false,
"status": "skipped"
},
{
"id": "status",
"fired": true,
"status": "dry_run",
"do": "slack",
"connection": "deal-team",
"preview": {
"text": "ETSY (2026-10-30): no breakdown. Above 50-day 90%."
}
}
]
}Private equity · example 4
Lock-up expiry: is the tape strong enough to sell down?
Selling a block after the lock-up is easier into strength and volume; check EXPE for both before calling the banks.
- StateEXPE
- Questions5 asked
- Answersreal, captured
- Actions1 rule · dry run
State
{"symbol":"EXPE"} The server fills in the latest completed session.
Questions
strength | rule | (C - L) / (H - L) > 0.75Closed in the top quarter of the day's range |
vol | rule | V > avg(V, 20)Volume above its 20-day average |
liquid | rule | avg(C * V, 20) > 100000000Trades more than $100 million a day |
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 |
big5 | forecast | Will there be a big move in either direction in the next 5 days? A big move either way in 5 days |
Answers
| Question | Answer | Reading |
|---|---|---|
strengthClosed in the top quarter of the day's range | 0.7739 | true |
volVolume above its 20-day average | 0.712 | true |
liquidTrades more than $100 million a day | 0.9463 | true |
trendStacked averages: close > 20 EMA > 50 > 200 | 0.3791 | false |
big5A big move either way in 5 days | 0.22 | 22% · unlikely |
Actions
Rules on the answers decide what to send.
trend >= 0.6 and liquid >= 0.6→Webhookzapier-deal-logWhat it means
For EXPE on the session of 2026-10-30: True now: Closed in the top quarter of the day's range; Volume above its 20-day average; Trades more than $100 million a day. Not true: Stacked averages: close > 20 EMA > 50 > 200. Forecasts: A big move either way in 5 days 22%. No action fired: every rule was false.
A trending, liquid stock supports an overnight block; the check is logged to the deal tracker through Zapier.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "EXPE"
},
"questions": {
"strength": {
"type": "yes_no",
"ask": "(C - L) / (H - L) > 0.75"
},
"vol": {
"type": "yes_no",
"ask": "V > avg(V, 20)"
},
"liquid": {
"type": "yes_no",
"ask": "avg(C * V, 20) > 100000000"
},
"trend": {
"type": "yes_no",
"ask": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)"
},
"big5": {
"type": "yes_no",
"instructions": "Will there be a big move in either direction in the next 5 days?"
}
},
"actions": [
{
"id": "block_ready",
"when": "trend >= 0.6 and liquid >= 0.6",
"do": "webhook",
"connection": "zapier-deal-log",
"body": {
"event": "block_window_check",
"symbol": "{{symbol}}",
"trend": "{{trend}}",
"liquid": "{{liquid}}",
"big_move_odds": "{{big5}}",
"as_of": "{{as_of}}"
}
}
],
"dry_run": true
}Response JSON (EXPE, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"strength": {
"yes_no": 0.7739,
"rule": "(C - L) / (H - L) > 0.75",
"basis": "rule"
},
"vol": {
"yes_no": 0.712,
"rule": "V > avg(V, 20)",
"basis": "rule"
},
"liquid": {
"yes_no": 0.9463,
"rule": "avg(C * V, 20) > 100000000",
"basis": "rule"
},
"trend": {
"yes_no": 0.3791,
"rule": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)",
"basis": "rule"
},
"big5": {
"yes_no": 0.22
}
},
"context": {
"symbol": "EXPE",
"as_of": "2026-10-30"
},
"actions": [
{
"id": "block_ready",
"fired": false,
"status": "skipped"
}
]
}Private equity · example 5
How are listed alternative managers trading?
Listed asset managers are a read on fundraising sentiment; check BLK and GS as public proxies.
- State2 symbols
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"BLK"} then GS, one request each. The server fills in the latest completed session.
Questions
trend | rule | sma(C, 50) > sma(C, 200)50-day above the 200-day |
mom | rule | roc(C, 20) > 5Up more than 5% in 20 sessions |
dd | rule | C < 0.8 * max(H, 252)More than 20% off the 52-week high |
beat_spy | forecast | Will it beat SPY over the next month? Beating SPY over a month |
Answers
| Symbol | trendrule | momrule | ddrule | beat_spyforecast |
|---|---|---|---|---|
BLK | 0.9429 | 0.7402 | 0.0537 | 0.447 |
GS | 0.4316 | 0.1196 | 0.706 | 0.529 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 2 symbols: 50-day above the 200-day: true for BLK of 2. Up more than 5% in 20 sessions: true for BLK of 2. More than 20% off the 52-week high: true for GS of 2. Highest odds for “Beating SPY over a month”: GS at 53%.
Strong listed managers usually coincide with an easier fundraising market; weakness is a reason to expect slower LP commitments.
Request JSON (BLK; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "BLK"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "sma(C, 50) > sma(C, 200)"
},
"mom": {
"type": "yes_no",
"ask": "roc(C, 20) > 5"
},
"dd": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"beat_spy": {
"type": "yes_no",
"instructions": "Will it beat SPY over the next month?"
}
}
}Response JSON (BLK, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.9429,
"rule": "sma(C, 50) > sma(C, 200)",
"basis": "rule"
},
"mom": {
"yes_no": 0.7402,
"rule": "roc(C, 20) > 5",
"basis": "rule"
},
"dd": {
"yes_no": 0.0537,
"rule": "C < 0.8 * max(H, 252)",
"basis": "rule"
},
"beat_spy": {
"yes_no": 0.447
}
},
"context": {
"symbol": "BLK",
"as_of": "2026-10-30"
}
}Private equity · example 6
Leveraged loan market health for a refinancing
Before refinancing a portfolio company's debt, read the loan and high-yield markets through BKLN and HYG.
- State2 symbols
- Questions4 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"BKLN"} then HYG, one request each. The server fills in the latest completed session.
Questions
trend | English → rule | Is the stock above its 200-day moving average? |
breakdown | rule | C < lowest(L, 20)Closed under the 20-day low |
calm | English → rule | Is the 14-day ATR less than 2% of the price? |
down_week | forecast | Will the stock be lower in a week? Lower in a week |
Answers
| Symbol | trendrule | breakdownrule | calmrule | down_weekforecast |
|---|---|---|---|---|
BKLN | 0.9463 | 0.0609 | 0.9463 | 0.434 |
HYG | 0.1909 | 0.0811 | 0.9463 | 0.425 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 2 symbols: Is the stock above its 200-day moving average: true for BKLN of 2. Closed under the 20-day low: true for none of 2. Is the 14-day ATR less than 2% of the price: true for BKLN, HYG of 2. Highest odds for “Lower in a week”: BKLN at 43%.
Loan and high-yield funds in an uptrend with low volatility point to open credit markets; a breakdown argues for refinancing sooner.
Request JSON (BKLN; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "BKLN"
},
"questions": {
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"breakdown": {
"type": "yes_no",
"ask": "C < lowest(L, 20)"
},
"calm": {
"type": "yes_no",
"instructions": "Is the 14-day ATR less than 2% of the price?"
},
"down_week": {
"type": "yes_no",
"instructions": "Will the stock be lower in a week?"
}
}
}Response JSON (BKLN, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.9463,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"breakdown": {
"yes_no": 0.0609,
"rule": "C < lowest(L, 20)",
"basis": "rule"
},
"calm": {
"yes_no": 0.9463,
"rule": "atr(14) / C < 0.02",
"basis": "pattern"
},
"down_week": {
"yes_no": 0.434
}
},
"context": {
"symbol": "BKLN",
"as_of": "2026-10-30"
}
}Private equity · example 7
Consumer comps: how did NKE and LULU react to earnings?
A consumer brand deal: see how the listed comps were received at their last reports.
- State2 symbols
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"NKE"} then LULU, one request each. The server fills in the latest completed session.
Questions
beat | English → rule | Did the stock beat EPS estimates last quarter? |
rev_beat | English → rule | Did revenue beat estimates last quarter? |
fell | English → rule | Did the stock fall after its last earnings report? |
big | rule | abs(last_earnings_move) > 5Last earnings move bigger than 5% |
below_pre | English → rule | Is the stock trading below its pre-earnings price? |
Answers
| Symbol | beatrule | rev_beatrule | fellrule | bigrule | below_prerule |
|---|---|---|---|---|---|
NKE | 0.8591 | 0.1409 | 0.9463 | 0.2018 | 0.076 |
LULU | 0.8591 | 0.1409 | 0.9463 | 0.9463 | 0.8965 |
true false not known for rules; forecasts are odds. Hover a column for its question.
What it means
Session of 2026-10-30, 2 symbols: Did the stock beat EPS estimates last quarter: true for NKE, LULU of 2. Did revenue beat estimates last quarter: true for none of 2. Did the stock fall after its last earnings report: true for NKE, LULU of 2. Last earnings move bigger than 5%: true for LULU of 2.
Comps that fell hard after reports show how the market treats the category, which feeds the downside case.
Request JSON (NKE; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "NKE"
},
"questions": {
"beat": {
"type": "yes_no",
"instructions": "Did the stock beat EPS estimates last quarter?"
},
"rev_beat": {
"type": "yes_no",
"instructions": "Did revenue beat estimates last quarter?"
},
"fell": {
"type": "yes_no",
"instructions": "Did the stock fall after its last earnings report?"
},
"big": {
"type": "yes_no",
"ask": "abs(last_earnings_move) > 5"
},
"below_pre": {
"type": "yes_no",
"instructions": "Is the stock trading below its pre-earnings price?"
}
}
}Response JSON (NKE, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"beat": {
"yes_no": 0.8591,
"rule": "beat_eps_last > 0.5",
"basis": "pattern"
},
"rev_beat": {
"yes_no": 0.1409,
"rule": "beat_revenue_last > 0.5",
"basis": "pattern"
},
"fell": {
"yes_no": 0.9463,
"rule": "last_earnings_move < 0",
"basis": "pattern"
},
"big": {
"yes_no": 0.2018,
"rule": "abs(last_earnings_move) > 5",
"basis": "rule"
},
"below_pre": {
"yes_no": 0.076,
"rule": "C < pre_earnings_close",
"basis": "pattern"
}
},
"context": {
"symbol": "NKE",
"as_of": "2026-10-30"
}
}abs beat_eps_last beat_revenue_last last_earnings_move pre_earnings_close
Private equity · example 8
Healthcare services comps: UNH, CVS, CI, HUM
Check whether the managed-care group is in a drawdown before bidding on a healthcare services asset.
- State4 symbols
- Questions3 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"UNH"} then CVS, CI, HUM, one request each. The server fills in the latest completed session.
Questions
dd | rule | C < 0.8 * max(H, 252)More than 20% off the 52-week high |
trend | English → rule | Is the stock above its 200-day moving average? |
lowbars | rule | lowestbars(L, 120) <= 10Made its 120-day low within the last 10 sessions |
Answers
| Symbol | ddrule | trendrule | lowbarsrule |
|---|---|---|---|
UNH | 0.0559 | 0.9463 | 0.2515 |
CVS | 0.1764 | 0.7783 | 0.2843 |
CI | 0.0537 | 0.9231 | 0.081 |
HUM | 0.0537 | 0.9463 | 0.0537 |
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: More than 20% off the 52-week high: true for none of 4. Is the stock above its 200-day moving average: true for UNH, CVS, CI, HUM of 4. Made its 120-day low within the last 10 sessions: true for none of 4.
A group near fresh lows implies lower public multiples; the deal team adjusts the exit multiple in the base case.
Request JSON (UNH; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "UNH"
},
"questions": {
"dd": {
"type": "yes_no",
"ask": "C < 0.8 * max(H, 252)"
},
"trend": {
"type": "yes_no",
"instructions": "Is the stock above its 200-day moving average?"
},
"lowbars": {
"type": "yes_no",
"ask": "lowestbars(L, 120) <= 10"
}
}
}Response JSON (UNH, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"dd": {
"yes_no": 0.0559,
"rule": "C < 0.8 * max(H, 252)",
"basis": "rule"
},
"trend": {
"yes_no": 0.9463,
"rule": "C > sma(C, 200)",
"basis": "comparison"
},
"lowbars": {
"yes_no": 0.2515,
"rule": "lowestbars(L, 120) <= 10",
"basis": "rule"
}
},
"context": {
"symbol": "UNH",
"as_of": "2026-10-30"
}
}Private equity · example 9
Industrial comps breadth: GE, HON, MMM, UNP
For an industrial carve-out, see how many listed comps are in uptrends.
- State4 symbols
- Questions3 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"GE"} then HON, MMM, UNP, one request each. 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 |
adx | rule | adx(14) > 20 and diplus(14) > diminus(14)Trending up (ADX over 20 and +DI over −DI) |
near_high | rule | C >= 0.98 * max(H, 252)Within 2% of the 52-week high |
Answers
| Symbol | trendrule | adxrule | near_highrule |
|---|---|---|---|
GE | 0.1106 | 0.5561 | 0.0537 |
HON | 0.1039 | 0.129 | 0.0541 |
MMM | 0.6503 | 0.8694 | 0.1475 |
UNP | 0.7278 | 0.9237 | 0.2968 |
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: Stacked averages: close > 20 EMA > 50 > 200: true for MMM, UNP of 4. Trending up (ADX over 20 and +DI over −DI): true for MMM, UNP of 4. Within 2% of the 52-week high: true for none of 4.
Broad strength across comps supports a higher exit multiple assumption; one strong name with weak peers does not.
Request JSON (GE; the others differ only in the symbol)
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "GE"
},
"questions": {
"trend": {
"type": "yes_no",
"ask": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)"
},
"adx": {
"type": "yes_no",
"ask": "adx(14) > 20 and diplus(14) > diminus(14)"
},
"near_high": {
"type": "yes_no",
"ask": "C >= 0.98 * max(H, 252)"
}
}
}Response JSON (GE, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"trend": {
"yes_no": 0.1106,
"rule": "C > ema(C, 20) and ema(C, 20) > sma(C, 50) and sma(C, 50) > sma(C, 200)",
"basis": "rule"
},
"adx": {
"yes_no": 0.5561,
"rule": "adx(14) > 20 and diplus(14) > diminus(14)",
"basis": "rule"
},
"near_high": {
"yes_no": 0.0537,
"rule": "C >= 0.98 * max(H, 252)",
"basis": "rule"
}
},
"context": {
"symbol": "GE",
"as_of": "2026-10-30"
}
}Private equity · example 10
Exit timing on a listed stake: reversal candles at the high
A sell-down is planned into strength; watch for topping candles that suggest waiting.
- StateBKNG
- Questions5 asked
- Answersreal, captured
- Actionsnone
State
{"symbol":"BKNG"} The server fills in the latest completed session.
Questions
tweezer | rule | tweezer_top()tweezer top candle: Green then red, with highs within 0.1%. |
engulf | rule | engulfing_bear()engulfing bear candle: A red body that engulfs yesterday's green body. |
star | 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. |
near_high | rule | C >= 0.98 * max(H, 252)Within 2% of the 52-week high |
down_week | forecast | Will the stock be lower in a week? Lower in a week |
Answers
| Question | Answer | Reading |
|---|---|---|
tweezertweezer top candle: Green then red, with highs within 0.1%. | 0.3601 | false |
engulfengulfing bear candle: A red body that engulfs yesterday's green body. | 0.461 | on the line (false) |
starevening star candle: A green bar, a small bar that stays above its close, then a red bar closing below the middle of the first. | 0.3449 | false |
near_highWithin 2% of the 52-week high | 0.0537 | false |
down_weekLower in a week | 0.487 | 49% · close to even |
What it means
For BKNG on the session of 2026-10-30: Not true: tweezer top candle: Green then red, with highs within 0.1%.; 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.; Within 2% of the 52-week high. On the line: engulfing bear candle: A red body that engulfs yesterday's green body.. Forecasts: Lower in a week 49%.
A topping candle at the high is a reason to accelerate a planned sale only if the trend rules also weaken.
Request JSON
{
"model": "ora-fin-0.1.1",
"state": {
"symbol": "BKNG"
},
"questions": {
"tweezer": {
"type": "yes_no",
"ask": "tweezer_top()"
},
"engulf": {
"type": "yes_no",
"ask": "engulfing_bear()"
},
"star": {
"type": "yes_no",
"ask": "evening_star()"
},
"near_high": {
"type": "yes_no",
"ask": "C >= 0.98 * max(H, 252)"
},
"down_week": {
"type": "yes_no",
"instructions": "Will the stock be lower in a week?"
}
}
}Response JSON (BKNG, real)
{
"model": "ora-fin-0.1.1",
"answers": {
"tweezer": {
"yes_no": 0.3601,
"rule": "tweezer_top()",
"basis": "rule"
},
"engulf": {
"yes_no": 0.461,
"rule": "engulfing_bear()",
"basis": "rule"
},
"star": {
"yes_no": 0.3449,
"rule": "evening_star()",
"basis": "rule"
},
"near_high": {
"yes_no": 0.0537,
"rule": "C >= 0.98 * max(H, 252)",
"basis": "rule"
},
"down_week": {
"yes_no": 0.487
}
},
"context": {
"symbol": "BKNG",
"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 Buy side: Financial advisor / RIA, Wealth manager, Family office, Hedge fund PM, Quant researcher, Portfolio manager (long-only), Risk manager, VC / growth investor, Fund-of-funds allocator.