Your backtest looked flawless. You went live. Two weeks later, the strategy was bleeding. Every quant has lived this. The answer is a loop: generate a strategy, test it, score it, feed the result back, and run it again until one survives out-of-sample.

Let's get straight to it.
>Bookmark this. We are the team behind Horizon, the platform that lets you type a trading strategy in plain English, backtest it in minutes, and deploy it live to your exchange. Loop engineering is the method behind that flow. Currently in closed beta. Join the waitlist at horizon.trade or DM @horizon_trade_x for early access.
That strategy died because it was one guess with nothing iterating on it. A single pass gives you a single attempt, and the first attempt is rarely the edge. The loop turns that one attempt into a search: each round keeps the variants that scored well and feeds the rest back in for refinement. We are going to break down how that loop works, the math that closes it, and the one step that separates a real edge from faster overfitting.
## Here is the roadmap:
• Why one prompt never finds the edge
• The loop that compounds, and the math that scores it (IC, ICIR, half-life)
• The one step that separates a real edge from faster overfitting
• How to run the whole loop without fooling yourself
• Where Horizon runs end-to-end
## Why one-shot prompting stalls
A single prompt gives you a single guess. The model returns a generic factor, you backtest it, and it usually fails, because the first idea is rarely the edge. Without a loop, every attempt starts from scratch and nothing compounds. The whole edge is in the iteration, and one-shot prompting has none of it.
## What loop engineering actually is
Loop engineering is a closed cycle: generate a hypothesis, test it, score it against a clear objective, read why it failed, and feed that back into the next generation. The shape is perceive, reason, act, observe, repeat. Each pass is cheap, and the system gets sharper because every result narrows the search. What matters is the process, because it turns dozens of mediocre attempts into one that holds up. This is the loop we built Horizon to run end to end.
## The metric that closes the loop
A loop without a scoring function just wanders. The standard objective in factor research is the information coefficient: the correlation between a factor's values today and the returns that follow, IC = corr(factorₜ, returnₜ₊₁). A single IC reading is noisy, so the number that actually matters is its consistency over time, the ICIR: ICIR = mean(IC) / std(IC). A factor with a modest but steady IC beats a flashy one that works once and breaks. The ICIR is what the loop optimizes toward.
## The decay check most people skip
Even a real factor has a shelf life. You can measure it: fit the signal's persistence as an AR(1) process and read its half-life, t½ = -ln(2) / ln(ρ), where ρ is how strongly the factor carries from one period to the next. A half-life of 50 days is a slow, tradeable edge. A half-life of two days means you are paying costs to chase noise. A good loop rejects short-half-life factors automatically.

## The step that separates edge from overfitting
Generated by Thread Navigator
Press ⌘ + S to quick-export
