RE:CZ

Capital Persistence Battle Experimental Design

Quantitative Finance

👤 Quantitative traders, capital management strategy researchers, investment professionals interested in Anti-Martingale strategies.
This article details the experimental design for the Capital Persistence Battle, with the core concept of using a benchmark account as a reference and a betting account that dynamically adjusts positions using an Anti-Martingale strategy. Key components include: time scale t as discrete market moments; the benchmark account trades with fixed positions to provide a cumulative profit and loss curve; the betting account calculates input cash flow C(t) and benchmark stop-loss amount StopLoss(t) based on benchmark performance, constructs a risk control line RiskLine(t) and risk capital VC(t), and determines position size via the formula Position(t) = floor(VC(t) / StopLoss(t)); it defines handling logic for profit-taking and stop-loss events, as well as trading suspension conditions during observation periods. The overall aim is to maximize the efficiency of risk capital utilization, achieving aggressive yet controlled betting.
  • ✨ Time scale t is a discrete market moment used for all time series.
  • ✨ The benchmark account trades with fixed positions, providing cumulative profit and loss BasePnL(t) as a reference.
  • ✨ The betting account uses an Anti-Martingale strategy, dynamically adjusting positions based on benchmark performance.
  • ✨ Input cash flow C(t) and benchmark stop-loss amount StopLoss(t) are calculated from the benchmark account's historical performance.
  • ✨ The risk control line RiskLine(t) moves downward over time, ensuring unrealized profit and loss does not fall below this line.
📅 2026-02-02 · 883 words · ~4 min read
  • Capital Persistence Battle
  • Experimental Design
  • Anti-Martingale
  • Capital Management
  • Risk Control
  • Position Sizing
  • Benchmark Account
  • Betting Account

Capital Persistence War Experimental Design

2026-02-02

Reorganize the underlying concepts of the experimental design, as the details of the AI-generated code still need refinement.

Time Scale t

The time scale t is discrete, representing each moment in the market. It can be minutes, hours, days, etc. Typically, it refers to each K-line. Many time series will be discussed next, and their independent variable is t.

Benchmark Account

The benchmark account is an account that does not use any capital management strategy. It always trades with an initial position size of 1 unit. The performance of the benchmark account is used to guide the capital management of the betting account.

  • Cumulative P&L of the Benchmark Account, BasePnL(t), a time series with an initial value of 0. It always trades with an initial position size of 1 unit. The resulting cumulative P&L curve.

Betting Account

The betting account uses an Anti-Martingale capital management strategy, dynamically adjusting the position size based on the performance of the benchmark account.

Important Parameters:

  • Target Take-Profit Amount M_T, determined by the betting strategy parameters.

Objects of Study:

  • Unrealized P&L UnrealizedPnL(t), a time series representing the unrealized P&L of the benchmark account's current position. Initial value is 0.
  • Realized P&L RealizedPnL(t), a time series representing the realized P&L of the benchmark account. Initial value is 0.
  • Cumulative P&L PnL(t), a time series representing the profit and loss generated by the system. It is always equal to PnL(t) = UnrealizedPnL(t) + RealizedPnL(t). This PnL is the net value curve. It can be linearly scaled to any initial capital size. The performance of the betting model can be observed through PnL(t).

Risk Control

Determining Input Cash Flow

Input Cash Flow C(t), a time series representing the speed of input cash flow (note: not the total amount).

Derived from the historical performance of the benchmark account and dynamically updated.

The recommended calculation method is: Calculate the maximum loss / time duration from each trade of the benchmark account and use that value as C(t).

Constructing a Hard Risk Control Line

Risk Control Line RiskLine, initial value is 0.

Naturally iterates as RiskLine(t+1) = RiskLine(t) - C(t). Upon taking profit, RiskLine is reset to 0.

The risk control line moves downward over time. At any moment, it is guaranteed that UnrealizedPnL(t) >= RiskLine(t).

Venture Capital (VC)

Always equal to VC(t) = UnrealizedPnL(t) - RiskLine(t), representing the capital currently available for betting, which bears the full risk of loss. Venture capital is always non-negative.

Determining Position Size

In principle, under risk control conditions, bet as aggressively as possible to maximize the utilization efficiency of venture capital. Any action that wastes venture capital is meaningless. Each position size is determined with the resolve to risk the maximum loss that would deplete VC(t), not wasting any portion of venture capital.

Benchmark Stop-Loss Amount, StopLoss(t)

Represents the maximum floating loss amount set per unit of position for the current position, i.e., the stop-loss amount during the holding period. If this stop-loss line is touched during the holding period, it will cause an intraday exit. The benchmark stop-loss amount is derived from the historical performance of the benchmark account and dynamically updated.

The recommended calculation method is: Calculate the maximum intraday floating loss from each trade of the benchmark account and use that value as StopLoss(t). Note: Calculate the intraday floating loss, not the final P&L. For long positions, use the lowest price; for short positions, use the highest price.

Position Size, a non-negative integer representing the multiple of the betting account's position relative to the benchmark account's position.

if StopLoss(t) > 0 then
    Position(t) = max(1, floor(VC(t) / StopLoss(t)))
else
    Position(t) = 0
end if

Note: If StopLoss(t) = 0.01 and VC(t) = 1, this means we would open a position 100 times the size of the benchmark position. This appears to be a very aggressive position. For example, the minimum trade amount for a BTC contract is 0.0001 BTC, so a 100x position would only be a 0.01 BTC position, which doesn't seem as intimidating. However, it will still be necessary to observe whether this multiple is too large, making it impractical in actual operation.

Observation Period

When C(t) is 0 or StopLoss(t) is 0, it indicates an observation period. No trading is conducted; only C(t) and StopLoss(t) are updated. Position(t) is always 0.

Take-Profit Event

When UnrealizedPnL(t) >= M_T, a take-profit event is triggered, and take-profit processing is performed. Since take-profit is triggered intraday, UnrealizedPnL(t) can only reach M_T and cannot exceed it. When checking for take-profit events, the highest floating profit during the holding period must be used. For long positions, use the highest price; for short positions, use the lowest price.

Record the take-profit event, reset RiskLine(t) = UnrealizedPnL(t) = 0, making VC(t) = 0.

RealizedPnL(t) += M_T
UnrealizedPnL(t) = 0
RiskLine(t) = 0

The observed information C(t) and StopLoss(t) remain unchanged.

Stop-Loss Event

When the maximum floating loss during the holding period >= StopLoss(t), a stop-loss event is triggered, and stop-loss processing is performed.

Record the stop-loss event. UnrealizedPnL(t) can only draw down to RiskLine(t) at most, i.e., VC(t) = 0.

Stop-loss is also intraday. Once a stop-loss occurs, the current trade is terminated. Even if the price rebounds later, the loss is locked in. The risk control capital will be zeroed out, but no state actually needs to be reset. Stop-loss occurs, but the system continues running.

The benchmark account and the observed information C(t) and StopLoss(t) remain unchanged.

See Also

Referenced By