June 2026: +9.35%, and a week we accidentally ran 3x our risk target
Live, real-capital, fully systematic. Live track record → · Methodology →
The headline is +9.35%, but part of it was earned during a week when a job failure left the account running roughly three times its risk target. That incident, how it was caught, and how it was fixed are disclosed in full under "What changed" below. Read the number with that caveat attached.
The numbers
| This month | YTD | Since inception | |
|---|---|---|---|
| Return | +9.35% | +48.80% | +45.41% |
| Sharpe (ann.) | +5.50 | +2.80 | +2.20 |
| Max drawdown in window (worst peak-to-trough) | −1.99% | −8.42% | −8.42% |
| Hit rate (daily) | 63.6% | 64.1% | 60.5% |
| Drawdown at month-end (vs all-time high) | −1.5% from peak |

The monthly and YTD Sharpe figures are annualised from very few observations (≈21 trading days in a single month) and are dominated by sampling noise. Read them as directional, not as estimates; the since-inception figure is the only one with a meaningful sample. This month's +5.50 is distorted further by the risk incident described below: the numerator was earned partly on oversized positions, while the buffering flaw held positions static and suppressed the realised volatility in the denominator, so treat it as an artifact rather than a result. The since-inception Sharpe here is computed on the full strategy-native daily series, while the value in the Benchmarks section below uses the narrower benchmark-overlap window, which is why the two differ. A daily hit rate near or below 50% is normal for a trend system: it is right on a minority of days and still profits because winning days are larger than losing ones.
Return, before and after costs
As a percentage of start-of-month capital, broken down the way Rob Carver reports his: mark-to-market before costs, then the costs themselves, then net.
| Line | % of capital |
|---|---|
| Mark-to-market (pre-cost) | +8.89% |
| Commissions | −0.16% |
| Slippage | +0.63% |
| Net | +9.35% |

Costs are estimated and expressed as a simple percentage of start-of-month capital, so they need not tie exactly to the compounded net return. Interest and platform fees are not tracked separately and are not shown.
A note on that positive slippage. A trend follower pays the spread, it does not earn it, so a +0.63% slippage line is not a real execution edge. Our slippage measurement carried a bug — a broker "no quote" value being read as if it were a real price — that was only fixed on 19 June, so this month's figure is unreliable and most likely an artifact. The +9.35% net return is taken from the broker's own daily account value (Interactive Brokers), not from this estimate, so the headline is unaffected; only the cost decomposition above is.
Time series
The month, day by day:

And the last couple of months for context:

Benchmarks
There is no freely published SG CTA Index, so the benchmark here is a liquid managed-futures ETF used as a transparent proxy.

| Since inception (live) | Strategy | DBMF (managed-futures ETF, SG CTA proxy) |
|---|---|---|
| Return (cumulative) | +45.4% | +15.2% |
| Volatility (annualised) | 26.7% (vs 25% target) | 12.3% |
| Sharpe (ann., rf=0) | +2.26 | +1.76 |
| Correlation to benchmark | 0.03 | — |

On a risk-adjusted basis the strategy and the proxy are close (compare the two Sharpe figures above), so the higher cumulative return reflects the strategy's higher volatility, not higher skill in this window. Two honesty notes on that comparison. Part of the volatility overshoot, and so part of the cumulative outperformance, is the late-May risk incident described below rather than the strategy's design. And these returns bear no management or performance fee, whereas the DBMF proxy is quoted net of its fund fees, which tilts the comparison in our favour. The genuine differentiator is the near-zero correlation (0.03, on a short live window, so a wide confidence interval): the strategy diversifies a managed-futures allocation rather than replicating it. Return is cumulative since the live track record began (it matches the chart above). Sharpe is shown with rf=0; deducting a risk-free rate would lower both figures.
Market by market
P&L by asset class this month, from the broker's own settlement marks (Interactive Brokers Flex). It reconciles to the headline NAV return; the bridge line is just interest and fees:
| Asset class | Contribution |
|---|---|
| FX | +6.11% |
| OilGas | +2.60% |
| Equity | +2.46% |
| Metals | +1.24% |
| Vol | +0.20% |
| Other | −0.09% |
| Ags | −0.18% |
| Bond | −0.23% |
| Sector | −1.95% |
| Interest, fees & financing | −0.81% |
| Net (NAV return) | +9.35% |

Top contributors
- KRW — +3.86% (FX). Forecast driven mainly by the mrinasset1000 and relcarry rules.
- SGXNK — +3.09% (Equity). Forecast driven mainly by the mrinasset1000 and relmomentum40 rules.
- RB — +2.53% (OilGas).
- SMI — +2.04% (Equity). Forecast driven mainly by the assettrend2 and skewabs365 rules.
- IBEX35 — +0.80% (Equity). Forecast driven mainly by the assettrend2 and assettrend4 rules.
Worst contributors
- RS1 — −1.56% (Equity). Forecast driven mainly by the assettrend2 and assettrend4 rules.
- N225M — −1.32% (Equity). Forecast driven mainly by the mrinasset1000 and carry10 rules.
- IXR — −1.09% (Sector). Forecast driven mainly by the skewrv180 and relmomentum80 rules.
- DJUSRE — −0.70% (Sector). Forecast driven mainly by the mrinasset1000 and skewrv365 rules.
- MNTPX — −0.54% (Equity). Forecast driven mainly by the mrinasset1000 and assettrend8 rules.

Asset class attribution: FX was the dominant driver (+6.11%), led by the Korean won (KRW, +3.86%), the single largest contributor. Energy (+2.60%) and equity indexes (+2.46%) added, though the equity block was highly dispersed: SGXNK, SMI and IBEX35 were among the top five while RS1, N225M and MNTPX were among the worst five. The one clean drag was the equity-sector sleeve (Sector −1.95%, chiefly IXR and DJUSRE). Participation was broad: 77 instruments produced non-zero contribution this month, and the daily hit rate (63.6%) was the highest of the captured window. One caveat on that top FX line: the KRW short was one of the positions left oversized by the late-May incident described under "What changed", so part of this month's headline gain was earned on a position larger than the system would have chosen.
How the rules performed
Corrected 3 October 2026. The rule table and chart in this section were first published with a sign error. When the system was short a market, every rule behind that position was booked with the inverse of the market's P&L, so a short that made money showed its rules losing. The figures below are recomputed from the same daily log with the sign fixed. Nothing else in this post changed.
Each market's daily P&L is split among the three rules with the largest weighted forecast that day, and each share is signed by whether the rule pointed the same way as the position held. So this shows which rules were behind the positions held, not what each would have earned on its own. The log covers all 22 of June's trading days. Over those days the rules sum to +2.60% and the account returned +9.35%.
Live rule-family attribution for the month:

| Rule family | Contribution | Hit rate |
|---|---|---|
| relcarry | +2.02% | 55% |
| skewabs365 | +0.74% | 55% |
| carry10 | +0.57% | 58% |
| breakout20 | +0.52% | 65% |
| relmomentum20 | +0.19% | 53% |
| relmomentum40 | +0.14% | 41% |
| skewrv365 | +0.13% | 70% |
| accel16 | +0.13% | 64% |
| normmom8 | +0.11% | 100% |
| relmomentum10 | +0.06% | 62% |
| relmomentum80 | +0.05% | 78% |
| breakout160 | +0.04% | 73% |
| accel32 | +0.01% | 45% |
| momentum8 | +0.00% | 100% |
| accel64 | −0.00% | 0% |
| assettrend64 | −0.02% | 71% |
| assettrend2 | −0.02% | 46% |
| assettrend32 | −0.02% | 0% |
| momentum4 | −0.03% | 33% |
| normmom4 | −0.03% | 33% |
| breakout320 | −0.06% | 54% |
| assettrend16 | −0.07% | 53% |
| assettrend8 | −0.08% | 20% |
| skewrv180 | −0.11% | 54% |
| breakout40 | −0.15% | 46% |
| mrinasset1000 | −0.41% | 41% |
| assettrend4 | −0.55% | 51% |
| skewabs180 | −0.58% | 48% |
Rule attribution is gross of costs and computed on a forecast-attributed basis — a different decomposition from the NAV return at the top of this post — so the column does not sum to the net figure.
What changed
No strategy or parameter changes this month; the rules are unchanged. But two operational problems surfaced, both tracing to one decision in late May: expanding the traded universe by roughly half, from about 170 markets to 260, in a few days. The underlying lesson is that we scaled the universe faster than our rebuild and reconciliation plumbing could safely absorb, and both failures below are downstream of that.
We briefly carried far more risk than intended. On 26 May the overnight model-rebuild job was killed when the machine ran out of memory. That night's position-sizing step then ran on a stale, mismatched snapshot of the freshly-expanded universe, sized 19 positions far too large in a single cycle, and a separate buffering flaw held that oversized book in place instead of trading it back toward target. For roughly a week the account ran about 77% annualised risk against its 25% target, call it three times our risk limit, with broker margin near 85% of account value.
Two uncomfortable admissions. First, detection was luck: the problem surfaced on 28 May during an unrelated broker-gateway investigation, not from a risk alert. We do run an automatic risk overlay, but its caps were set too loosely to throttle a failure of this size, and it reads the same sizing inputs that were corrupted, so it scaled to the wrong target rather than halting. Second, the absence of a margin call owed as much to a calm week as to any control; at 85% margin usage a sharp adverse move could have forced liquidation. While the oversized book persisted, the broker also began rejecting new orders.
The position weights were frozen on 28 May to stop a repeat, and the oversized positions were wound back down over the following couple of weeks; by month-end portfolio risk was back within its normal range at 11% and margin at 17.6% (see "Current positioning" below). Read the month's return with that in mind: some of it was earned while carrying more risk than the system is designed to take, and the KRW gain flagged above is the clearest example. The control that was missing is the one now being built: a portfolio-level risk ceiling that halts trading on a large one-cycle jump, independent of the sizing step. Already shipped are a configuration-consistency check and a refusal to trade on a stale model file.
We were briefly stuck in a few orphan positions. The same universe churn added and then removed several markets without correctly rebuilding the frozen configuration or flattening what we still held. Two distinct things followed. A handful of full-size contracts we still held were dropped from the active set, which froze their target and left the positions stranded: real positions, off-target, that no longer traded themselves back to flat and had to be unwound by hand through mid-June. Separately, seven markets that were briefly promoted and then dropped left behind zero-position bookkeeping records that the reporting layer kept probing, producing a daily run of internal alerts; those records were already flat, so that half was noise, not exposure. Both are fixed: a test now blocks the configuration gap (2 June), the report layer ignores the orphaned records so the false alerts stopped (6 June), and a daily audit now pages on any stranded position that remains.
Current positioning
- Annualised portfolio risk: 11.0%
- Margin usage: 17.6%
Costs and slippage
All-in trading cost this month was −0.16% commissions and +0.63% slippage. Slippage is signed so that a positive number means price improvement versus the decision price; a negative figure is a cost (spread and market impact paid). As noted under "Return, before and after costs", this month's positive slippage is very likely a measurement artifact rather than genuine price improvement: a broker "no quote" value was being read as a real price until the fix on 19 June. Treat the figure as unreliable until clean fills accumulate.
Looking forward
The drawdown state going into July is shallow (−1.5% from peak), after the strongest month since March. Three things are worth flagging honestly. First, the two operational issues above are resolved: risk and margin are back within their normal range (11% and 17.6% at month-end), the stranded positions are unwound, and the false alerts have stopped. But part of June's return was earned while carrying more risk than intended, so discount the headline accordingly. Second, the positive slippage (+0.63%) is almost certainly a measurement artifact rather than real execution edge (see the note under costs), and should disappear now that the underlying bug is fixed. Third, realised volatility since inception (26.7%) continues to run a little above the 25% target, and part of that is the incident rather than design. The live themes into July are the FX trend, KRW in particular, and the equity-sector short sleeve, which was the cleanest drag this month. Nothing in the signal mix or universe changed; the same daily forecast → optimal-position → buffer-trade pipeline carries the allocation into July.
PAST PERFORMANCE IS NOT NECESSARILY INDICATIVE OF FUTURE RESULTS. Returns are calculated from broker-reported account values, so they reflect execution prices and any commissions, fees, financing charges, interest and currency effects included in those values. Cost breakdowns shown separately are estimates. These returns do not deduct advisory fees that would apply to a client account. The account shown is the operator's own (proprietary) capital. Benchmark is a managed-futures ETF used as a proxy, not the SG CTA Index. Full methodology and disclaimers on the live dashboard.
Plaintape LLC is registered with the CFTC as a Commodity Trading Advisor (NFA ID 0580378) and its NFA membership application is pending. The firm is not yet accepting client accounts. Registration does not imply that the CFTC or NFA has approved or endorsed the firm, its trading program, or the material on this site. Registration-status note added 2026-08-09; it describes the firm's status today, not its status during the period reported above.