Compute a point-in-time factor risk covariance matrix
curl --request POST \
--url https://api.itoflow.ai/factor-risk/covariance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"as_of": "2026-06-30",
"symbols": [
"AAPL.US",
"MSFT.US"
],
"model_version": "global-equity-v1"
}
'import requests
url = "https://api.itoflow.ai/factor-risk/covariance"
payload = {
"as_of": "2026-06-30",
"symbols": ["AAPL.US", "MSFT.US"],
"model_version": "global-equity-v1"
}
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({
as_of: '2026-06-30',
symbols: ['AAPL.US', 'MSFT.US'],
model_version: 'global-equity-v1'
})
};
fetch('https://api.itoflow.ai/factor-risk/covariance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"annualization_factor": 252,
"base_currency": "USD",
"covariance": [
[
123
]
],
"model_version": "<string>",
"provenance": {
"classification_inputs": "point_in_time",
"factor_availability": {},
"factor_count": 123,
"pit_policy": "strict",
"psd_repaired": true,
"snapshot_instant": "<string>",
"style_inputs": "point_in_time"
},
"requested_as_of": "<string>",
"return_convention": "simple_daily",
"snapshot_as_of": "<string>",
"symbol_warnings": {},
"symbols": [
"<string>"
],
"warnings": [
"<string>"
]
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"error": "<string>",
"available": "<string>",
"billing_action": {
"href": "<string>",
"kind": "upgrade",
"label": "<string>"
},
"code": "<string>",
"currentVersion": 123,
"details": "<unknown>",
"expectedVersion": 123,
"message": "<string>",
"requested": "<string>",
"usage": "<unknown>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}Market data
Compute a point-in-time factor risk covariance matrix
Returns the asset covariance matrix for the requested symbols as of a historical date, built from the point-in-time factor model snapshot resolved at or before that date.
Operation ID: post__factor_risk_covariance.
POST
https://api.itoflow.ai
/
factor-risk
/
covariance
Compute a point-in-time factor risk covariance matrix
curl --request POST \
--url https://api.itoflow.ai/factor-risk/covariance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"as_of": "2026-06-30",
"symbols": [
"AAPL.US",
"MSFT.US"
],
"model_version": "global-equity-v1"
}
'import requests
url = "https://api.itoflow.ai/factor-risk/covariance"
payload = {
"as_of": "2026-06-30",
"symbols": ["AAPL.US", "MSFT.US"],
"model_version": "global-equity-v1"
}
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({
as_of: '2026-06-30',
symbols: ['AAPL.US', 'MSFT.US'],
model_version: 'global-equity-v1'
})
};
fetch('https://api.itoflow.ai/factor-risk/covariance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"annualization_factor": 252,
"base_currency": "USD",
"covariance": [
[
123
]
],
"model_version": "<string>",
"provenance": {
"classification_inputs": "point_in_time",
"factor_availability": {},
"factor_count": 123,
"pit_policy": "strict",
"psd_repaired": true,
"snapshot_instant": "<string>",
"style_inputs": "point_in_time"
},
"requested_as_of": "<string>",
"return_convention": "simple_daily",
"snapshot_as_of": "<string>",
"symbol_warnings": {},
"symbols": [
"<string>"
],
"warnings": [
"<string>"
]
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"error": "<string>",
"available": "<string>",
"billing_action": {
"href": "<string>",
"kind": "upgrade",
"label": "<string>"
},
"code": "<string>",
"currentVersion": 123,
"details": "<unknown>",
"expectedVersion": 123,
"message": "<string>",
"requested": "<string>",
"usage": "<unknown>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}{
"details": {
"invalid_symbols": [
"<string>"
],
"missing_symbol_count": 123,
"missing_symbols": [
"<string>"
],
"model_version": "<string>",
"reason": "stale_snapshot",
"requested_as_of": "<string>",
"snapshot_as_of": "<string>",
"symbol_count": 123
},
"error": "invalid_factor_risk_request",
"message": "<string>"
}Body
application/json
Symbols to build the asset covariance matrix for: up to 1000 distinct symbols after trimming and first-seen deduplication (the raw list may hold up to 5000 entries). Symbols are used as given; the server validates them when it builds the matrix.
Required array length:
1 - 5000 elementsRequired string length:
1 - 50Example:
["AAPL.US", "MSFT.US"]
Response
Point-in-time asset covariance matrix