List custom factors
GET /api/factors/custom
List all user-defined custom factors.
Example request
curl https://api.hyperoru.com/api/factors/custom
Example response
[
{ "id": 1, "name": "vol_momentum", "expression": "volume_change * momentum_1d", "created_at": "2026-04-01T00:00:00Z" }
]
Create custom factor
POST /api/factors/custom
Define a new custom factor.
Factor expression formula.
Human-readable description.
Example request
curl -X POST https://api.hyperoru.com/api/factors/custom \
-H "Content-Type: application/json" \
-d '{"name": "vol_momentum", "expression": "volume_change * momentum_1d", "description": "Volume-weighted momentum"}'
Example response
{
"id": 1,
"name": "vol_momentum",
"expression": "volume_change * momentum_1d"
}
Edit custom factor
PUT /api/factors/custom/
Update a custom factor definition.
Example request
curl -X PUT https://api.hyperoru.com/api/factors/custom/1 \
-H "Content-Type: application/json" \
-d '{"expression": "volume_change * momentum_1d * 1.5"}'
Example response
{
"id": 1,
"expression": "volume_change * momentum_1d * 1.5"
}
Delete custom factor
DELETE /api/factors/custom/
Delete a custom factor.
Example request
curl -X DELETE https://api.hyperoru.com/api/factors/custom/1
Example response
Effectiveness list
GET /api/factors/effectiveness
Get effectiveness metrics for all factors.
Example request
curl https://api.hyperoru.com/api/factors/effectiveness
Example response
[
{ "factor_name": "momentum_1d", "ic": 0.12, "rank_ic": 0.15, "win_rate": 0.58 }
]
Effectiveness history
GET /api/factors/effectiveness//history
Get historical effectiveness for a factor.
Example request
curl https://api.hyperoru.com/api/factors/effectiveness/momentum_1d/history
Example response
[
{ "date": "2026-04-01", "ic": 0.10 },
{ "date": "2026-04-08", "ic": 0.14 }
]
Effectiveness by window
GET /api/factors/effectiveness//by-window
Get effectiveness broken down by time window.
Example request
curl https://api.hyperoru.com/api/factors/effectiveness/momentum_1d/by-window
Example response
[
{ "window": "1d", "ic": 0.12 },
{ "window": "7d", "ic": 0.18 },
{ "window": "30d", "ic": 0.15 }
]
Factor library
GET /api/factors/library
List all built-in factors available in the system.
Example request
curl https://api.hyperoru.com/api/factors/library
Example response
[
{ "name": "momentum_1d", "category": "momentum", "description": "1-day price momentum" },
{ "name": "volume_change", "category": "volume", "description": "24h volume change" }
]
Factor values
GET /api/factors/values
Get current computed values for all factors across symbols.
Comma-separated symbol filter.
Example request
curl "https://api.hyperoru.com/api/factors/values?symbols=BTC,ETH"
Example response
{
"BTC": { "momentum_1d": 2.3, "volume_change": 15.0, "rsi_score": 55.0 },
"ETH": { "momentum_1d": -1.2, "volume_change": 8.0, "rsi_score": 48.0 }
}
Computation status
GET /api/factors/status
Check the status of factor computation jobs.
Example request
curl https://api.hyperoru.com/api/factors/status
Example response
{
"last_computed": "2026-04-09T12:00:00Z",
"computing": false,
"factors_count": 12
}
Trigger computation
POST /api/factors/compute
Trigger a factor computation cycle.
Example request
curl -X POST https://api.hyperoru.com/api/factors/compute
Example response
Estimate computation
GET /api/factors/compute/estimate
Estimate how long a computation cycle would take.
Example request
curl https://api.hyperoru.com/api/factors/compute/estimate
Example response
{
"estimated_seconds": 45,
"symbols_count": 50,
"factors_count": 12
}
Computation progress
GET /api/factors/compute/progress
Check the progress of an ongoing computation.
Example request
curl https://api.hyperoru.com/api/factors/compute/progress
Example response
{
"running": true,
"progress_pct": 60.0,
"symbols_done": 30,
"symbols_total": 50
}
Evaluate expression
POST /api/factors/evaluate
Evaluate a factor expression against current data.
Factor expression to evaluate.
Symbol to evaluate against.
Example request
curl -X POST https://api.hyperoru.com/api/factors/evaluate \
-H "Content-Type: application/json" \
-d '{"expression": "momentum_1d * volume_change", "symbol": "BTC"}'
Example response
{
"result": 34.5,
"components": { "momentum_1d": 2.3, "volume_change": 15.0 }
}
Validate expression
POST /api/factors/validate-expression
Validate a factor expression for syntax errors.
Example request
curl -X POST https://api.hyperoru.com/api/factors/validate-expression \
-H "Content-Type: application/json" \
-d '{"expression": "momentum_1d * volume_change"}'
Example response
{
"valid": true,
"errors": [],
"referenced_factors": ["momentum_1d", "volume_change"]
}
Expression functions
GET /api/factors/expression-functions
List all available functions for use in factor expressions.
Example request
curl https://api.hyperoru.com/api/factors/expression-functions
Example response
[
{ "name": "abs", "description": "Absolute value", "example": "abs(momentum_1d)" },
{ "name": "max", "description": "Maximum of two values", "example": "max(rsi, 50)" },
{ "name": "min", "description": "Minimum of two values", "example": "min(rsi, 80)" }
]