Get a strategy's optimized portfolio
curl --request GET \
--url https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"metadata": {
"numberStocks": 50,
"weightedLinguisticBeta": 0.12,
"marketBuzzCoverage": 25.4,
"annualizedReturn": 0.18,
"volatility": 0.09,
"cvar": 0.2,
"sharpeRatio": 1.5,
"expectedDailyReturn": 0.001,
"maxDrawdown": -0.25
},
"portfolio": [
{
"id": "b544d95b-43a6-4a50-a326-90552b05c551",
"symbol": "TSLA",
"name": "Tesla, Inc.",
"isin": "US88160R1014",
"exchange": "NASDAQ",
"market": "us",
"sector": "Consumer Cyclical",
"industry": "Auto - Manufacturers",
"marketCap": 902298200000,
"volAvg": 1250000,
"linguisticBeta": 0.12002,
"marketBuzz": 0.406,
"active": true,
"weight": 0.035,
"figi": "BBG000N9MNX3",
"mic": "XNAS",
"reasoning": "<string>",
"convictionScore": 0.75
}
]
}UserStrategies
Get a strategy's optimized portfolio
GET
/
strategies
/
{strategyId}
/
optimized-portfolio
Get a strategy's optimized portfolio
curl --request GET \
--url https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"metadata": {
"numberStocks": 50,
"weightedLinguisticBeta": 0.12,
"marketBuzzCoverage": 25.4,
"annualizedReturn": 0.18,
"volatility": 0.09,
"cvar": 0.2,
"sharpeRatio": 1.5,
"expectedDailyReturn": 0.001,
"maxDrawdown": -0.25
},
"portfolio": [
{
"id": "b544d95b-43a6-4a50-a326-90552b05c551",
"symbol": "TSLA",
"name": "Tesla, Inc.",
"isin": "US88160R1014",
"exchange": "NASDAQ",
"market": "us",
"sector": "Consumer Cyclical",
"industry": "Auto - Manufacturers",
"marketCap": 902298200000,
"volAvg": 1250000,
"linguisticBeta": 0.12002,
"marketBuzz": 0.406,
"active": true,
"weight": 0.035,
"figi": "BBG000N9MNX3",
"mic": "XNAS",
"reasoning": "<string>",
"convictionScore": 0.75
}
]
}Authorizations
Enter 'Bearer' followed by a space and then your JWT or API Key.
Example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
or Bearer YOUR_API_KEY_HERE
Path Parameters
UUID of the user strategy
Query Parameters
Minimum company market capitalization (USD) required for inclusion.
Required range:
x > 0Multiplier applied to expected returns in the optimization objective.
Required range:
x > 0Weight of the linguistic beta term in the optimization objective.
Required range:
0 <= x <= 1Annual risk-free rate assumption used for risk metrics.
Minimum number of holdings that must receive a positive weight.
Required range:
x > 10Minimum weight assigned to holdings counted toward the active position requirement.
Required range:
x > 0.0001Maximum weight allowed for any single holding.
Required range:
0 < x <= 1Penalty weight applied when allocations diverge from market buzz preferences.
Required range:
0 <= x <= 1Was this page helpful?