Recalculating BE% & GNASD for GEMF – USA Sub‐Fund (June 1, 2025)

Recalculating BE% & GNASD for GEMF – USA Sub‐Fund (June 1, 2025)

Introduction

On June 1, 2025, the M 60 DAATS values for our 28‐stock Global Equity Momentum Fund (GEMF) – USA Sub‐Fund have materially changed. Below we:

  1. Recompute Mean DAATS and σpop (in points).
  2. Derive GNASD (the “one‐sigma noise unit per instrument”, in points).
  3. Compute Breakeven % (BE %), also in points.
  4. Calculate each stock’s per‐instrument BE distance (in points).
  5. Link all formulae back to Dr. Brown’s Seven Laws of Volatility Stop‐Loss.

1. Definitions & Notation

  • N = number of instruments (28 equities).
  • ATR200(M60) = average true range over 200 M 60 bars (in points). (Law 1)
  • k = √P ≈ 15 (for P = 200). (Law 2)
  • DAATSi = k × ATR200_i (in points). (Law 3)
  • Given: DAATS values already in points for each stock.
  • Mean DAATS: mean_DAATS = (1/N) × Σi=1..N DAATSi (in points).
  • σpop (population standard deviation): σpop = √[ (1/N) × Σi=1..N (DAATSi − mean_DAATS)² ] (in points). (Law 7)
  • GNASD = σpop ÷ N (in points). (Law 7)
  • BE % = [GNASD ÷ mean_DAATS] × 100 (%.). (Laws 4 & 7)
  • BE distancei = (BE % / 100) × DAATSi (in points). (Law 4)
  • Post‐BE Trailing = subtract/add GNASD points from each new high/low. (Law 5)
  • Position Size = (Equity × Risk %) ÷ (DAATSi × \$ per point). (Law 6)

2. Updated DAATS Values (points)

TickerDAATS (points)
AAPL2779
MSFT4525
AMZN2908
GOOGL2431
TSLA7965
JNJ1348
JPM2608
BA2757
PG1519
V3347
WMT999
NVDA2221
BRK.B4586
HD3895
DIS1242
INTC362
META9052
NFLX15787
PEP1249
ADBE4319
CAT4024
GS7523
CVX1489
AXP3442
CRM3624
MCD2717
PFE272
CSCO592

3. Compute Mean DAATS & σpop (points)

Mean DAATS:
mean_DAATS = (1/28) × Σ DAATSi = 3556.5 points
(Sum of 28 DAATS = 99 582 points ÷ 28 ≈ 3556.5 points.)

σpop:
σpop = √[ (1/28) × Σ (DAATSi – 3556.5)² ] ≈ 3187.89 points


4. Compute GNASD (points)

By Law 7:
GNASD = σpop ÷ N = 3187.89 ÷ 28 ≈ 113.85 points
Rounded: GNASD ≈ 114 points.

This 114-point buffer is our “portfolio‐level one-sigma noise unit per stock.”


5. Compute Breakeven % (BE %)

By Laws 4 & 7:
BE% = (GNASD ÷ mean_DAATS) × 100% = (113.85 ÷ 3556.5) × 100% ≈ 3.2013%
Rounded: BE % ≈ 3.20 %.

Each stock must move in your favor by 3.20 % of its own DAATS (in points) to shift the stop to breakeven.


6. Per-Instrument Breakeven Distance (points)

For each instrument i: BE_disti = (BE% / 100) × DAATSi (in points).

TickerDAATS (pts)BE_dist ≈ 3.20% × DAATS (pts)Rounded (pts)
AAPL27790.0320 × 2779 ≈ 88.9389
MSFT45250.0320 × 4525 ≈ 144.80145
AMZN29080.0320 × 2908 ≈ 93.0693
GOOGL24310.0320 × 2431 ≈ 77.7978
TSLA79650.0320 × 7965 ≈ 254.88255
NFLX157870.0320 × 15787 ≈ 505.18505
PFE2720.0320 × 272 ≈ 8.709
CSCO5920.0320 × 592 ≈ 18.9419

Interpretation: If AAPL entry = 150 000 pts, once price ≥ 150 089 pts (i.e. +89 points), move stop → 150 000 (breakeven), then trail by 114 points.


7. Link Back to Dr. Brown’s Seven Laws

  1. Law 1 (Volatility Unit): ATR200(M60) is one volatility exposure. DAATSi = 15 × ATR, all in points.
  2. Law 2 (Exposure-Scaling): Initial buffer = 15 exposures. For breakeven/trailing, local exposure Li = 0.48 ATR (≃ 0.032×15).
    \(\displaystyle L_i = \frac{\text{BE_dist}_i}{\text{ATR}_i} = 15 × 0.032 = 0.48\) ATR.
  3. Law 3 (Initial-Stop = DAATS): Stop₀ = Entry ± DAATSi (points).
  4. Law 4 (Breakeven-Fraction): Shift to breakeven once price moves ≥ BE_disti (points).
    \(\displaystyle \text{BE_dist}_i = \bigl(\tfrac{\text{BE%}}{100}\bigr) × \text{DAATS}_i.\)
  5. Law 5 (Trailing-Exposure): After breakeven, trail by fixed GNASD = 114 points behind each new high/low.
  6. Law 6 (Tiered-Risk Allocation): Position size = (Equity × Risk %) ÷ (DAATSi × \$ per point).
    E.g. if 1 point = $0.01 per share, risk = $500, AAPL DAATS = 2779 pts → risk per share = 2779×0.01 = $27.79 → shares ≈ $500 ÷ 27.79 ≈ 18 shares.
  7. Law 7 (Universe Volatility): GNASD = σpop ÷ N (points), BE % = (σpop)/(N × mean_DAATS)×100. • σpop = 3187.89 pts, N = 28 → GNASD ≈ 113.85 pts. • BE % ≈ 113.85/(28×3556.5)×100 ≈ 3.20 %.

8. Implementation Pseudocode (All in Points)

Inputs:
  Universe = {instrument₁, …, instrument₂₈}
  DAATS_pts[i]            // Provided above, in points
  N = 28
  Equity                  // e.g. 100 000 USD
  RiskPct                 // e.g. 0.005 for 0.5%
  PointValue_per_share[i] // e.g. $0.01 per point per share (broker‐specific)
  DailyBiasFilter(i)      // returns true if Daily MACD bias aligns
  M60RegimeFilter(i)      // returns true if M60 EMA50/EMA89 regime aligns

// 1. Compute portfolio statistics
mean_DAATS_pts = (Σ DAATS_pts[i], i=1..28) / 28
sigma_pop_pts  = sqrt( (1/28) × Σ (DAATS_pts[i] - mean_DAATS_pts)² )
GNASD_pts      = sigma_pop_pts / 28             // ≈ 113.85 → round to 114
BE_percent     = (sigma_pop_pts) / (28 × mean_DAATS_pts) × 100  // ≈ 3.20%

// 2. For each instrument i:
for i in 1..28:
    DAATS_i   = DAATS_pts[i]                   // in points
    BE_dist_i = (BE_percent / 100) × DAATS_i    // in points

    // Check higher‐timeframe filters:
    if !DailyBiasFilter(i) then skip
    if !M60RegimeFilter(i) then skip

    entry_price_pts = GetEntryPrice(i)         // in points
    if direction == LONG:
        stop_pts = entry_price_pts - DAATS_i
    else:
        stop_pts = entry_price_pts + DAATS_i

    // Law 6: position sizing
    risk$_       = Equity × RiskPct            // e.g. $500
    $per_point   = PointValue_per_share[i]     // e.g. $0.01
    shares       = floor( risk$_ / (DAATS_i × $per_point) )
    if shares < 1 then skip                  // minimum lot size

    is_breakeven  = false
    high_BE       = -∞
    low_BE        = +∞

    // 3. On each new tick/bar (M1/M5/M15/M30):
    current_price_pts = GetCurrentPrice(i)

    if !is_breakeven:
        profit_pts = (current_price_pts - entry_price_pts) if LONG
                   else (entry_price_pts - current_price_pts)
        if profit_pts ≥ BE_dist_i:
            is_breakeven = true
            stop_pts     = entry_price_pts
            high_BE      = current_price_pts
            low_BE       = current_price_pts
    else:
        if direction == LONG:
            high_BE    = max(high_BE, current_price_pts)
            trail_stop = high_BE - GNASD_pts
            stop_pts   = max(stop_pts, trail_stop)
        else:
            low_BE     = min(low_BE, current_price_pts)
            trail_stop = low_BE + GNASD_pts
            stop_pts   = min(stop_pts, trail_stop)

    // Optional: enforce M60 DAATS floor
    if direction == LONG:
        floor_stop = entry_price_pts - DAATS_i
        stop_pts   = max(stop_pts, floor_stop)
    else:
        floor_stop = entry_price_pts + DAATS_i
        stop_pts   = min(stop_pts, floor_stop)

    // 4. Exit condition
    if (direction == LONG  and current_price_pts ≤ stop_pts) or
       (direction == SHORT and current_price_pts ≥ stop_pts):
        CloseTrade(i)
        break

About the Author

Dr. Glen Brown
Founder, President & CEO of Global Accountancy Institute, Inc. and Global Financial Engineering, Inc. With 25+ years in proprietary trading and quantitative research, Dr. Brown developed the Seven‐Law Volatility Stop‐Loss framework and the GATS platform. All research remains in-house; we generate revenue solely from trading performance.

Business Model

Global Accountancy Institute, Inc. and Global Financial Engineering, Inc. operate a fully closed research-&-trade model. We do not license software or accept external capital. All intellectual property—including GATS algorithms, stop-loss rules, and automation scripts—is proprietary. Trading profits are our only revenue source, ensuring complete alignment between research and performance.

Risk Disclaimer

This material is educational only and does not constitute financial advice. Trading equities involves substantial risk of loss. Past performance is not indicative of future results. Always consult a qualified advisor before making trading decisions, and only trade with capital you can afford to lose.




Leave a Reply