AQAI QuantAI research lab for systematic strategies

Automated analysis

This analysis was drafted by our research engine and has not been checked by a human editor. It may contain errors. It separates the paper’s own results from our tests, and any figures called ours come from our own backtest.

Our automated analysisOur backtest

Selling at resistance takes a strong downward push

Maeda proves the threshold; our minute-bar construction lost 3.5% from 2020 to 2024

2026-09-30 · 6 min read · Optimal liquidation · US equities and ETFs

Reviewing: Optimal Liquidation with Support and Resistance Levels under Multi-Skew Brownian Motion · Jun Maeda · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Intraday Two-Skew Support–Resistance Liquidation for Scheduled Long Entries

Backtest period 2020-01-01 to 2024-07-01 · hypothetical, net of modelled costs

Why these figures are not the paper's (2)

The paper reports no results of its own

This is a theoretical paper — derivations and proofs, with no measurement on market data. The backtest below is a strategy we built from its idea, not a test of anything the authors claimed.

Our own audit found this run does not follow the paper faithfully (5)

  • Permanent distinct point levels 0<L<H with fixed opposite-sign roles; price alone is the model state, not prior crossings: Infer finite-width zones from trailing minute bars, then freeze their distinct point representatives and roles for each trade rather than permanently across all calendar time. (invalidates: The paper's global time-homogeneous model optimality for the rolling empirical price process; the claim that its closed-form boundaries are optimal after a later level reset)
  • Estimate physical mu, sigma and level-specific skew coefficients; require r>0 and mu<r: Use trailing minute-return estimates and smoothed completed-zone exit frequencies as disclosed proxy skew estimates; reject inadmissible calibrations. (invalidates: Theorem 5.2 optimality for the actual stock/ETF price law; any assertion that empirical estimated beta equals the true local-time coefficient)
  • Liquidate on first exit of (a,b), including immediate sale when starting outside; retain both lower and upper stopping components: Observe exits at completed one-minute closes, execute on the following available observed close, and force a scheduled session-end sale. (invalidates: Theorem 5.2 optimality of the executed intraday exit; exact sale at b=H in regime C; the perpetual first-exit payoff identity)
  • Perpetual, one-unit liquidation under the physical measure rather than risk-neutral derivative pricing: Apply its physical-measure one-unit boundaries to scheduled, sized long entries with a finite trading session; make no risk-neutral valuation claim. (invalidates: Theorem 5.2 optimality for the finite-session trading objective; Proposition 5.1 as a guarantee of after-cost excess return)

1 further finding(s) are described in the note.

These are our findings about our own implementation, not criticisms of the paper. Read the figures below as a description of what we ran.

Jan 2020Total -3.5%Jul 2024
Sharpe
-0.21
Total Return
-3.5%
Max Drawdown
-10.3%
CAGR
-0.8%
Volatility
3.8%
Beta vs SPY
0.06
Trades
8,212

When µ < r, immediate sale wins unless support supplies a local-time push. Jun Maeda shows how that upward push can make waiting worthwhile. His claim about selling at resistance follows from what happens when the price also meets a downward push there.

This is a theory paper. It reports no empirical result and makes no claim about returns. The figures that follow come from the paper's numerical examples, apart from our own backtest in the last section.

The price process

Maeda uses a geometric multi-skew Brownian motion: geometric Brownian motion with an extra push at each of two fixed levels. Support L pushes the price upward through local time, with βL in (0,1). Resistance H > L pushes it downward, with βH in (−1,0). Local time accumulates only when the price occupies a level, so these pushes act on a set of Lebesgue measure zero. The process has no memory or regime flag; the levels keep their assigned roles. A holder of one unit solves the perpetual problem sup E[e^{−rτ}S_τ] under the physical measure, with r > µ.

The choice of measure matters. As Maeda explains, local time persists under any equivalent change of measure. Once either skew is non-zero, no equivalent martingale measure exists. His results give timing rules at a subjective discount rate, with no valuation claim.

The reason to wait begins at support. Over a short horizon t, expected local time grows like √t, against drift and discounting costs of order t. The support push wins over that horizon, leaving support strictly inside the continuation band. With base parameters r = 0.05, µ = 0.01, σ² = 0.04 and L = 1, βL = 0.05 gives a band of (0.975163, 1.025150), width 0.049987. Raising βL to 0.90 expands it to (0.625261, 1.465402). At βL = 0, the band disappears and immediate sale is optimal.

When does resistance become the exit?

First Maeda calculates the "L-band", the continuation interval obtained with the skew at H switched off. If that band ends at or below H, resistance cannot affect the decision: regime A. At βL = 0.30 and H = 3.0, the band remains (0.85690699, 1.15417976) for every βH in {0, −0.3, −0.6, −0.9}, identical to eight decimals.

Beyond that case, resistance separates two outcomes. In regime B, the continuation band straddles H. Smooth fit holds at both ends, while the slope breaks at H. In regime C, the upper boundary lands exactly at b = H; an inequality replaces smooth fit there.

The dividing line is permeability, π(β) = (1+β)/(1−β), the determinant of the matrix carrying the value function across a level. When the support-only band extends beyond H, sale exactly at H is optimal if and only if π(βH) ≤ V′(H−), equivalently βH ≤ β_H. For βL = 0.9 and H = 1.15, β_H = −0.392. Moving resistance toward support raises the strength required: at βL = 0.90, β*_H is −0.1498 for H = 1.30, −0.51463 for H = 1.10 and −0.67222 for H = 1.05. The transition is continuous. Its limiting slope dβH/db takes the values 0.752, 0.668 and 0.522 at those three H values, so the threshold does not jump.

Theorem 5.2 settles dominance for opposite-sign skews with nothing further to check. Maeda also shows why a solver's answer can look convincing and be wrong. Give both levels support strength, βL = βH = 0.60, with H = 2.2: the boundary system finds a root satisfying smooth fit to machine precision, although V − g = −0.1360 at x = 1.4346. The true solution has disjoint bands (0.7313, 1.3113) and (1.6089, 2.8848). The comparison argument in Section 7 identifies when the merged band really wins, at or below Hc = 1.79301900 in this example, and resolves the spurious root.

The conditions behind the trade

How often would a holder sell at resistance under the paper's own parameter draws? Of 400 random draws, with βL uniform on (0.05, 0.95), βH uniform on (−0.95, −0.05) and log(H/L) uniform on (0.02, 0.9), 301 fell in regime A, 18 in B and 81 in C. Selling at resistance applies in about one draw in five. In three out of four draws, resistance has no effect on the decision. These proportions belong to that sampling box; the paper does not estimate where real levels sit within it.

A trader would first need an estimate of support strength. The paper's forward examples share one base set, with µ/r = 0.2 and σ = 0.2. We did not find an estimate of βL for any real asset. Without one, the reported bands have no calibrated use. Width 0.050 is about 5% of support; width 0.840 allows a stock to move from 0.625 to 1.465 of its support level while the holder stays in.

Permanence is another demanding assumption. L and H must remain fixed and known across an infinite horizon. Maeda says a broken support level becoming resistance would require an auxiliary state that records the price's history, which his model deliberately omits. Real levels break and get redrawn. An estimate from a trailing window loses relevance when its level resets; after a reset, the optimality proof no longer describes the process being traded.

The payoff also assumes µ < r, linearity and frictionless execution. There are no transaction costs, impact or partial sales, and the paper names finite maturity as an extension. It models no costs. Since the support push supplies the value of waiting, costs reduce that value directly.

What exits reveal

Maeda poses an inverse question: can a holder's exits tell us where the levels are? For support, a band ending below resistance can give an exact answer. His closed-form inversion maps (0.856907, 1.154180) to L = 1.000000 and βL = 0.300000. Resistance strength is recoverable from the rule only in regime B. Regime C reveals H and the one-sided bound βH ≤ β*_H. As the paper puts it, "a mildly sticky resistance level and an impenetrable one generate identical behaviour." In regime A, "a level the holder arranges not to visit leaves no trace in the stopping rule."

This limit concerns exercise data. The paper notes that threshold estimators using high-frequency occupation times can still recover skew parameters; the obstacle here is inferring resistance strength from exits.

Our minute-bar construction lost 3.5%

Maeda reports no trading performance to compare with a backtest. Our construction used 1-minute bars from 1 January 2020 to 1 July 2024 and lost 3.50% in total. Sharpe was -0.21, Sortino -0.24 and maximum drawdown -10.30%. Annualised volatility was 3.76%, giving a Calmar of -0.08. Each year, the universe comprised the 60 highest-volume US stocks and ETFs, excluding ADRs.

We entered long at the 10:00 close. Pivots from 20 trailing sessions supplied L and H, with ±0.15% zones and at least 6 independent touches per level. Trailing minute moments supplied drift and volatility; r was set at 5% annually. Smoothed zone-exit frequencies served as proxies for βL and βH. We admitted a calibration only when it produced positive support skew, negative resistance skew and µ < r. The rule then solved for the band and sold at the next minute close following a close at or beyond either boundary. Any remaining position was closed at 15:55. We capped position size at 10% and leverage at 4.0. Costs were $0.0040 a share, with a $1.00 minimum. Fills used bar prices; impact and financing were not modeled.

Those returns describe our construction, one automated pass rather than a verdict on Maeda's work. Its connection to the theorem depends throughout on our proxies: finite-width zones for point levels, exit frequencies for local-time coefficients and a session close for a perpetual horizon. To isolate the exit rule's value, it would need comparison with paired 60-minute and frozen-resistance exits. We did not run the paired 60-minute and frozen-resistance exits. This run therefore cannot establish whether the band beat a timed sale. The gap is in our implementation and has no bearing on Maeda's theorems.

A zone-exit skew estimate for US equities would change our view if it stayed stable across level resets and was large enough to put β*_H within reach. For now, the model has no measured βL for any traded asset.

Our backtest stops at 2024-07-01, and everything after that date is deliberately left untouched so the same strategy can be checked out of sample later.

How our backtest worked

The steps the code we ran actually executed, from its strategy card. Ours, not the paper's — it is one automated implementation of the idea, not the authors' own.

For each instrument and eligible trading day:
  At 10:00 New York time, enter long at the observed minute close.
  From completed pre-entry bars, identify support L and resistance H;
    estimate drift, volatility and smoothed zone-exit skew proxies.
  If calibration is admissible, solve the auxiliary L-band, then select
    regime A, C or B and validate the resulting a &lt; L &lt; b.
  If the entry close is outside (a,b), submit an immediate liquidation
    for the next available eligible minute close.
  Otherwise, inspect completed closes through 15:54. After the first
    close &lt;= a or &gt;= b, sell at the next observed minute close.
  If still open, sell at the observed 15:55 close. Do not invent fills
    for missing execution bars; track unresolved positions.
  On paired eligible entries, separately simulate 60-minute and
    frozen-resistance exit benchmarks under their specified rules.