The Orion Financial Terminal shows the market and the macro picture around your instruments in panels, and every series it shows can be read by a strategy. It is coming soon: in the released app the Terminal row in the sidebar is greyed out and says so. Staff accounts use it already, for testing.
Everything runs on your own computer for now. The desktop app's engine fetches each series from its source and keeps it in the data folder on this machine; nothing goes through our servers, and the browser build says the Terminal needs the desktop app.
The command line
Type an instrument, then a function, then arguments, and press Enter. The list under the line suggests functions, instruments and series together while you type: Up and Down move through it, Tab takes a suggestion, Escape closes it.
| You type | You get |
|---|---|
curve | The US Treasury yield curve, today and a week ago |
curve ust date=2024-04-10 vs=2024-01-02 | The curve on one day against another |
ustreasury/par.10y series | One series: its newest value, its history and every observation |
ustreasury/par.10y series asof=2024-04-15 | The series as it was known on that day |
find treasury 10y | Every series whose name or tags hold those words |
help curve or curve? | The help of one function |
A series id is the source and a code with a slash between them. A subject alone opens its default function: a series id opens Series.
Panels
The main line opens a new panel. Every panel has its own command line (the terminal icon in its title bar), which changes that panel instead. Drag the corner, or focus it and use the arrow keys, to resize a panel; the cross closes it. The dot at the left of the title is the panel's link group: panels of the same colour share their instrument, so changing it in one moves the others.
Views saves the panels under a name and opens them again later. Views are kept on this computer.
Functions
The Functions tab lists every function by area, with its help, its arguments and examples you can run with a click. Plugins add functions of their own: a plugin can declare panels that show its data as a chart, a table or a curve.
Sources
The Sources tab is the Terminal's settings. It lists every source with its tier:
- Free: public data we may show, such as the US Treasury, the Federal Reserve, the ECB or Eurostat, each with the credit line its terms ask for.
- Your key: paid services such as Massive, Tiingo, Twelve Data, Alpha Vantage, Financial Modeling Prep, Finnhub or your own Databento account. They work with your key and only on this computer.
- Licence needed: data we plan to license. They work now with a key of your own.
Open a source to read its terms, see the hosts its requests go to and how many it sends a minute, switch it off, enter its key, or refresh it. A key is stored encrypted on this computer, is shown again only by its last four characters, and is sent to the source itself and nowhere else. It never reaches our servers.
A source that is listed and not built yet says so. A refresh fetches what can still change; Fetch full history goes back as far as the source allows.
Point in time
The Terminal keeps every value with the time it was released and the time this computer first saw it. When a source corrects a number, the correction is stored as a revision beside the old value, never over it. Series shows the newest values, and asof= shows what was known on a day.
In a strategy
A Python strategy reads a Terminal series with ctx.series:
pythondef on_market(self, ctx):
ten = ctx.series("ustreasury/par.10y")
two = ctx.series("ustreasury/par.2y")
if ten is not None and two is not None and ten < two:
ctx.signal("EXIT")The answer is the value known at the bar's time, with the revision that was current then, or None before anything was released. It reads what the Terminal stored on this computer, so refresh the source in the Terminal first. required=True stops the run with terminal_series_missing instead of answering None.
A server run cannot read Terminal series: they are fetched on your computer and the server has no copy. Such a run is refused when you start it, with terminal_series_local, and so is a strategy on our servers in Live. Run the strategy on this computer.
Blocks have a Series block among the sources: search the Terminal's series by name or id, and wire its value into any input a number goes into. Required stops the run when nothing was released yet, as required=True does. A blocks strategy reads the same values as ctx.series, and its document holds the read as {"terminal": "ustreasury/par.10y"}.
Exports cannot carry a Terminal series: TradingView, MetaTrader 5 and cTrader read their own data, never the Terminal's cache on your computer. An export of a strategy that reads one is refused and names the series; the Python code prints it as ctx.series.
Rust and C# strategies have no call for Terminal series yet. A source that names one is refused before it builds, with the series and the reason. Read it in a Python or blocks strategy.
Alerts
Alerts watch while the app runs, whatever view is open, and fire as a message in the app and, when you allow it, as a desktop notification. They are kept on this computer.
| You type | You get |
|---|---|
EURUSD alert crossup=1.10 | An alert when the price crosses above 1.10 |
BTCUSD alert move=3 window=1h | An alert on a move of 3% within an hour, either way |
XAUUSD alert ind=rsi above=70 tf=H4 | An alert while the RSI on four hour bars is above 70 |
bls/cpi.headline alert on=surprise expected=0.3 | An alert when a new value differs from 0.3 |
alert signal=deploy events=exit | An alert when the strategy in Live Deploy exits |
alerts | Every alert with its state and the newest value it saw |
alertlog | What fired, newest first |
The line fills in the alert; press Enter or Create to keep it. An alert fires once, or every time with a pause between, as you choose.
- Price reads a quote from a source you have a key for, a running Live slot's newest bar, or the newest bar of the data on this computer, whichever is newest. Data older than half an hour does not fire: the alert shows Stale until fresher data arrives.
- Indicator computes the catalogue's indicator on closed bars of the data on this computer, once a minute.
- Release refreshes the series' source with your key, as often as you choose, and fires on a new value, a value past a level, a surprise against a figure you give, an expected series or the value before, or a revision. A first look only remembers what is there. A source that needs a key shows Needs a key.
- Signal fires when a strategy in Live Test or Live Deploy enters or exits.