curl --request POST \
--url https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"companyIds": [
"<string>"
]
}
'import requests
url = "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
payload = { "companyIds": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({companyIds: ['<string>']})
};
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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
payload := strings.NewReader("{\n \"companyIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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
}
]
}Optimize a strategy's portfolio over a subset of companies
curl --request POST \
--url https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"companyIds": [
"<string>"
]
}
'import requests
url = "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
payload = { "companyIds": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({companyIds: ['<string>']})
};
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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.noonum.ai/v1/strategies/{strategyId}/optimized-portfolio"
payload := strings.NewReader("{\n \"companyIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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.
x > 0Multiplier applied to expected returns in the optimization objective.
x > 0Weight of the linguistic beta term in the optimization objective.
0 <= x <= 1Annual risk-free rate assumption used for risk metrics.
Minimum number of holdings that must receive a positive weight.
x >= 2Minimum weight assigned to holdings counted toward the active position requirement.
x > 0.0001Maximum weight allowed for any single holding.
0 < x <= 1Penalty weight applied when allocations diverge from market buzz preferences.
0 <= x <= 1Body
Company IDs to consider before the other filters are applied. When omitted or empty, the full strategy set is used.
Was this page helpful?