VWAP Z-Score Strategy: How We Evaluated c36 and Why It Still Was Not Promoted
CuteMarkets Team
Research

Repository reference: cutebacktests
Abstract
A VWAP z-score strategy can be profitable and still fail the admission test that matters. That is one of the clearest lessons from the c36 branch in this repository. The high-quality version of the strategy produced +16004 PnL on 15 trades with DSR 0.6400, yet the repo still refused to promote it because the exact failed gate was trades_per_week_ok.
This matters because it shows how a portfolio-minded research process differs from a marketing-minded one. A marketing process would stop at the profit figure and the positive DSR. A portfolio process asks whether the strategy is active enough, clean enough, and additive enough to justify a slot. In c36's case, the answer was still no.
Question
The useful question is not whether c36 made money. It did. The useful question is why the repo still kept it below c66 in the promotion ladder.
That question matters because many traders use "profitable" and "deployable" as if they meant the same thing. They do not. A profitable branch can still be too sparse, too unstable, or too narrow to serve the role a live portfolio needs it to serve.
Method: How the VWAP Z-Score Strategy Was Evaluated
As described in Episode 8, c36 is an option-native descendant of the c18 VWAP mean-reversion family. It uses VWAP residual z-scores, bounded VWAP slope, sigma constraints, relative-volume requirements, and short holding windows. The high-quality version requires stronger excursions and cleaner conditions. The opportunity version relaxes those conditions to gain trade count.
The evaluation then does not stop at raw PnL. The branch is judged in portfolio context. Is the quality branch active enough? Does the opportunity branch preserve the same quality if density increases? Does the strategy deserve promotion, open-paper status, or a lower rung?
Evidence / Results
The c36 results are now well defined in the repo:
c36_vwap_mr_option_native_quality_v1:+16004PnL,15trades,DSR 0.6400- failed only
trades_per_week_ok c36_vwap_mr_option_native_opportunity_v1:85trades,+2987PnL- denser version did not preserve the same quality profile
The portfolio map in Toward The One Piece Of Sharpe and PAPER_BOTS.md then places c36 below c66. It remains a backup_candidate or open_paper_only, not the lead paper bot.
What Worked
What worked was the signal itself. c36 is not a fake branch. It is one of the repo's few strategies that produced a clean positive quality result under a relatively strict research process. That is why it remains in the current crew at all.
The branch also worked as a diagnostic case. It showed that the repo was willing to separate "interesting enough to keep studying" from "strong enough to promote." That distinction is one of the healthiest things about the recent research process.
What Failed
What failed was the role fit. The strategy was too sparse in its best form, and the denser version was not good enough to justify replacing the selective one. That is a portfolio failure, not a conceptual failure.
The c36 result is valuable precisely because it is not dramatic. The branch did not die in a blow-up. It stopped below the promotion line because one important constraint stayed unresolved. This is how many real strategies remain stuck. They are good enough to keep alive and not good enough to scale.
Takeaway
The c36 VWAP z-score strategy made money, but it still was not promoted because the portfolio bar is higher than simple profitability. The exact failed gate, trades_per_week_ok, tells the whole story. The edge was real. The role fit was not.
If you want the wider signal-level view, VWAP Mean Reversion Backtest: The Logic, the Edge, and the Failure Modes covers the branch in more detail. If you want the density tradeoff, Intraday Mean Reversion Options: Why Signal Quality Drops When You Chase Density is the natural companion. Join the research log to get the next backtest and failure report.
Product links
Build the workflow with CuteMarkets
This article is part of the broader CuteMarkets product and research stack. Use the landing pages below to move from the blog into the specific API workflow you want to evaluate.
Learn Options From Zero
Send newcomers to the beginner path for calls, puts, chains, Greeks, IV, and risk.
Options Data API
See the primary product page for real-time and historical options data.
Historical Options Data API
Inspect the historical contracts, quotes, trades, and aggregates workflow.
Options Chain API
Go straight to chain snapshots, expirations, and strike discovery.
Pricing
Review plans before you move from free evaluation into production usage.