Skip to main content

Latest

Our API also supports retrieving the latest values of our signals using the Get Latest Signals endpoint. It supports querying across any signal code or tag and will return an array of all matching data. This endpoint is useful if you only need the last data point for a large array of signals or want to preliminarily probe our data sets across specific tags.

For example if you wish to query the latest signal data for the Crude Oil commodity you would simply:

import datetime

import requests
from pprint import pprint
import pydantic

class Latest(pydantic.BaseModel):
Level: float
Momentum: float
Aggregate: float
Date: datetime.datetime

class LatestSignal(pydantic.BaseModel):
latest: Latest
version: int
point_in_time: datetime.datetime
currency_iso: Optional[str]
signal_code: Optional[str]
region_name: Optional[str]
country_iso: Optional[str]
currency_iso: Optional[str]
sector_name: Optional[str]
commodity_name: Optional[str]
basket_name: Optional[str]
model_name: Optional[str]

url = "https://api.clearmacro.com/api/v3/signal/latest/"
headers = {"accept": "application/json", "X-API-KEY": "YOUR_API_KEY"}
response = requests.get(url=url, headers=headers)
latest_signal = LatestSignal(**response.json())
[
{
"latest": {
"Level": 5.583242410078751,
"Momentum": 5.9578690505161775,
"Aggregate": 5.770555730297464,
"Date": "2023-08-23T00:00:00"
},
"version": 0,
"point_in_time": "2023-08-24T04:59:59.964000",
"signal_code": "CMDTMOVAA",
"commodity_name": "Crude Oil"
},
{
"latest": {
"Level": 5.664115747937343,
"Momentum": 5.920676827073083,
"Aggregate": 5.792396287505213,
"Date": "2023-08-23T00:00:00"
},
"version": 0,
"point_in_time": "2023-08-24T05:00:22.723000",
"signal_code": "CMDTVOL",
"commodity_name": "Crude Oil"
}
...
]