curl --request GET \
--url https://api.leneutre.trade/v1/opportunities/seriesconst options = {method: 'GET'};
fetch('https://api.leneutre.trade/v1/opportunities/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.leneutre.trade/v1/opportunities/series"
response = requests.get(url)
print(response.text){
"from": "2023-11-07T05:31:56Z",
"stepHours": 4,
"markets": {
"hyperliquid:ETH": {
"long": [
-10.95,
-11.2,
null
],
"short": [
10.95,
11.2,
null
]
}
}
}{
"error": "Too many requests: wait, then try again."
}{
"error": "<string>",
"detail": "<string>"
}Markets' last day, week or 30 days
Markets’ carry over the window asked: the last 24 hours in steps of 1 hour, 7 days in steps of 4 hours, or 30 days in steps of 12 hours. They are the opportunities list’s sparklines: a page asks for its rows’ markets, rather than one history per pair. A pair’s spread at a step is its long leg’s long plus its short leg’s short. Each market is served from memory until its venue’s next history pass has stored its hours, within about 20 seconds of that pass’s end, and 15 minutes at most (5 while its venue reports no pass), each window apart; without markets, every paired market is read at once, and served from memory for 5 minutes.
curl --request GET \
--url https://api.leneutre.trade/v1/opportunities/seriesconst options = {method: 'GET'};
fetch('https://api.leneutre.trade/v1/opportunities/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.leneutre.trade/v1/opportunities/series"
response = requests.get(url)
print(response.text){
"from": "2023-11-07T05:31:56Z",
"stepHours": 4,
"markets": {
"hyperliquid:ETH": {
"long": [
-10.95,
-11.2,
null
],
"short": [
10.95,
11.2,
null
]
}
}
}{
"error": "Too many requests: wait, then try again."
}{
"error": "<string>",
"detail": "<string>"
}Query Parameters
How far back the steps go.
24h, 7d, 30d Up to 100 markets, comma-separated, as venue:market; every paired market without it.
"aster:ETHUSDT,hyperliquid:ETH"
Response
Each paired market's steps, oldest first.
The first step's start: the window ends at the current hour, which isn't paid yet, as the averages count them.
The hours each step averages: 1, 4 or 12.
4
Keyed by venue:market, as the opportunities give their legs: every market in a matched group with at least one other that has history in the window.
Show child attributes
Show child attributes
{
"hyperliquid:ETH": {
"long": [-10.95, -11.2, null],
"short": [10.95, 11.2, null]
}
}