The AGI-Ops Index — Methodology, Python Engine & JSON API Reference
Complete technical specification for quantitative researchers and developers. Review the 4 audited accounting pillars, point-in-time anti-bias safeguards, Python pipeline logic, and interactive JSON endpoints.
The 4 Audited Accounting Pillars & Master Formula
Every company in the 54-stock universe is evaluated across four winsorized cross-sectional percentile sub-scores (0 to 100) and combined into a master 0–100 AGI-Ops Score.
AGI_Ops_Score = (0.35 × Productivity_Score) + (0.25 × Margin_Score) + (0.20 × SGA_Efficiency_Score) + (0.20 × AI_Investment_Score)Revenue Stability Guardrail: To prevent companies losing market share and conducting distress layoffs from artificially inflating their Revenue/Employee ratio, any firm with negative YoY revenue growth below -3.0% receives a 0.78× penalty multiplier on its composite score.
Revenue per Employee Growth (Δ Rev/Emp)
Combines YoY expansion in Total Revenue / Full-Time Employees (70% sub-weight) with log-normalized absolute revenue per employee (30% sub-weight). Captures structural output scaling per human worker.
Operating Margin Expansion (Δ OpMargin)
Measures YoY basis-point expansion in GAAP/IFRS Operating Income / Total Revenue (65% sub-weight) paired with current operating margin level (35% sub-weight), verifying that process automation converts into bottom-line profit.
SG&A Overhead Compression (−Δ SG&A/Rev)
Inverts the YoY change in Selling, General & Administrative / Total Revenue so that companies compressing corporate bureaucracy and sales overhead receive the highest percentile rank.
R&D + CapEx Commitment (With Profitability Gate)
Tracks (R&D + Capital Expenditure) / Total Revenue and YoY intensity change. Enforces an operating profitability gate (OpMargin ≥ 8%) so unprofitable cash-burners are not rewarded.
Point-in-Time SEC Lag, Causal Forward-Fill & Liquidity Gates
Designed to institutional standards to eliminate Look-Ahead Bias, Survivorship Bias, and Micro-Cap Distortion across all 16 quarterly rebalances (2022–2026).
Quarterly accounting statements are strictly lagged by 55 calendar days after the fiscal period-end date (`periodEndDate + 55d`) before entering any quarterly rebalance snapshot.
Price matrices use strictly causal .ffill() without .bfill(). Missing SG&A keys fall back to Operating Expense − R&D rather than dropping constituents.
Constituents must maintain Market Cap ≥ $2.0B and 60-Day ADDV ≥ $25.0M at each quarterly rebalance window to enter the Top 10 or Bottom 10 baskets.
# Excerpt from scripts/generate_agi_ops_quant.py
# Point-in-Time SEC Filing Lag & 4-Pillar Scoring Engine
FILING_LAG_DAYS = 55 # Strict 55-day operational lag post quarter-end
MIN_MARKET_CAP_USD = 2_000_000_000 # $2.0B minimum market cap gate
MIN_ADDV_USD = 25_000_000 # $25.0M minimum 60-day average daily dollar volume
def compute_point_in_time_agi_ops_score(df_cross_section: pd.DataFrame, cutoff_date: pd.Timestamp):
"""
Evaluates only financial statements whose effective availability date
(period_end_date + 55 days) is <= cutoff_date (eliminating Look-Ahead Bias).
"""
# 1. Winsorize raw accounting ratios at [5th, 95th] percentiles
# 2. Convert each pillar into a cross-sectional 0-100 percentile rank:
# - Productivity_Score: YoY Revenue/Employee growth + log(Rev/Emp)
# - Margin_Score: YoY Operating Margin expansion + absolute OpMargin
# - SGA_Efficiency: YoY SG&A/Revenue compression (-1 * delta_sga)
# - AI_Investment: R&D + CapEx intensity (with Operating Margin >= 8% gate)
agi_ops_score = (
0.35 * df_cross_section["Productivity_Score"]
+ 0.25 * df_cross_section["Margin_Score"]
+ 0.20 * df_cross_section["SGA_Efficiency_Score"]
+ 0.20 * df_cross_section["AI_Investment_Score"]
)
# Revenue Stability Guardrail: prevent shrinking companies firing staff
# due to demand collapse from masquerading as AI process optimizers.
shrinking_mask = df_cross_section["rev_growth_yoy"] < -0.03
agi_ops_score.loc[shrinking_mask] *= 0.78
return agi_ops_score.clip(0.0, 100.0).round(1)4 Static JSON Endpoints & Dynamic REST API v1
Click any of the 4 endpoint cards below to inspect its live JSON response payload, copy its URL, or download the raw file.
Daily cumulative returns and Base-100 index levels for the AGI-Ops Equal-Weight Index (54 firms), Top 10 Leaders, Bottom 10 Laggards, Efficiency Spread, and QQQ/IGV benchmarks.
Daily performance curves and average 0–100 sub-scores grouped across Hardware & Semiconductors, AI-Native, Cloud & Infra, and Enterprise SaaS.
Constituent profiles, 4-year spread metrics, and daily performance curves for the Top 10 Process Optimization Leaders vs. Bottom 10 Bloated Legacy Laggards.
Complete cross-sectional dataset of all 54 technology firms with 0–100 AGI-Ops scores, 4 audited accounting sub-scores, SEC filing lag metadata, liquidity metrics, and 4Y historical curves.
dateagi_ops_equal_weightagi_ops_leaders_top10agi_ops_laggards_bottom10leaders_laggards_spreadqqq_benchmarkrebalancedrebalanceQuartereffectiveFilingCutoff{
"indexName": "The AGI-Ops Index",
"ticker": "AGIOPS",
"filingLagDays": 55,
"totalSessions": 1004,
"latestPoint": {
"date": "2026-10-23",
"agi_ops_equal_weight": 219.68,
"agi_ops_leaders_top10": 510.87,
"agi_ops_laggards_bottom10": 88.32,
"leaders_laggards_spread": 422.56,
"qqq_benchmark": 159.03,
"igv_benchmark": 111.82,
"rebalanced": false,
"rebalanceQuarter": "2026-Q4",
"effectiveFilingCutoff": "2026-08-07",
"lean_long": 510.87,
"bloated_short": 88.32,
"long_short_spread": 422.56,
"LeanAI_EqualWeight": 219.68,
"QQQ": 159.03,
"IGV": 111.82,
"LeanAI_Index": 610.87,
"AGIOps_Index": 610.87,
"QQQ_Index": 259.03,
"IGV_Index": 211.82
}
}Ready-to-Copy cURL & Python Snippets
Pull the AGI-Ops Index time-series, sector curves, or the 54-company 0–100 scoring dataframe directly into your research environment.
# 1. Query the dynamic REST API v1 endpoint (supports ?range=1M|6M|1Y|2Y|4Y|MAX)
curl -s "https://indexlovers.com/api/v1/indices/agi-ops?range=4Y" | jq '.summary'
# 2. Download any of the 4 static JSON datasets directly
curl -O "https://indexlovers.com/data/agi-ops-general.json"
curl -O "https://indexlovers.com/data/agi-ops-sectors.json"
curl -O "https://indexlovers.com/data/agi-ops-extremes.json"
curl -O "https://indexlovers.com/data/agi-ops-constituents.json"import requests
import pandas as pd
BASE_URL = "https://indexlovers.com"
# 1. Load the 54-company AGI-Ops Leaderboard & Accounting Pillars
constituents = requests.get(f"{BASE_URL}/data/agi-ops-constituents.json", timeout=15).json()
df_scores = pd.DataFrame(constituents)
print("Top 5 AGI-Ops Process Optimization Leaders:")
print(df_scores[["rank", "ticker", "operationalSector", "agiOpsScore", "productivityScore", "marginScore", "return4Y"]].head(5))
# 2. Load 4-Year Daily Time-Series (with 55-day SEC filing lag enforced)
general = requests.get(f"{BASE_URL}/data/agi-ops-general.json", timeout=15).json()
df_ts = pd.DataFrame(general["timeseries"]).set_index("date")
print(f"Loaded {len(df_ts)} point-in-time trading sessions.")