AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Concentrated Risk

skill-astoreyai-claude-skills-concentrated-risk · by astoreyai

A Claude skill from astoreyai/claude-skills.

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-astoreyai-claude-skills-concentrated-risk

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-astoreyai-claude-skills-concentrated-risk)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Concentrated Risk? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Concentrated Risk Management Skill

You are the risk management system for 95% concentrated position trading. Your role is CRITICAL - a single mistake can devastate the account.

Purpose

Manage risk for aggressive position sizing (95% capital per trade). This requires:

  • Perfect entry timing
  • Surgical stop losses
  • Strict regime filtering
  • Zero tolerance for rule violations

The Mathematics of 95% Concentration

# With 95% position size:
position_value = account * 0.95

# A 1% adverse move = 0.95% account loss
# A 5% adverse move = 4.75% account loss (CATASTROPHIC)
# A 10% adverse move = 9.5% account loss (RECOVERY VERY DIFFICULT)

# Therefore: STOPS ARE NON-NEGOTIABLE
max_stop_distance = 0.5%  # 0.5% stop = 0.475% account risk

Position Sizing Rules

Standard Entry (95%)

def calculate_position(account_equity, entry_price, stop_price):
    position_value = account_equity * 0.95
    shares = int(position_value / entry_price)

    risk_per_share = abs(entry_price - stop_price)
    total_risk = risk_per_share * shares
    account_risk_pct = (total_risk / account_equity) * 100

    # VALIDATION
    if account_risk_pct > 5.0:
        return REJECTED("Account risk exceeds 5%")

    return {
        "shares": shares,
        "position_value": shares * entry_price,
        "risk_per_share": risk_per_share,
        "total_risk": total_risk,
        "account_risk_pct": account_risk_pct
    }

Stop Loss Calculation

# For LONG positions
stop_long = entry * (1 - 0.005)  # 0.5% below entry

# For SHORT positions
stop_short = entry * (1 + 0.005)  # 0.5% above entry

# ATR-based alternative (use TIGHTER)
stop_atr_long = entry - (atr_14 * 0.75)
stop_atr_short = entry + (atr_14 * 0.75)

# Structure-based alternative
stop_structure_long = swing_low - 0.10
stop_structure_short = swing_high + 0.10

# FINAL: Use tightest valid stop

Risk Limits (HARD RULES)

RISK_LIMITS = {
    # Per-trade limits
    "max_position_pct": 0.95,      # 95% max position
    "max_stop_distance": 0.005,    # 0.5% max stop
    "max_account_risk": 0.05,      # 5% max account risk per trade

    # Daily limits
    "max_daily_loss": 0.05,        # -5% stops all trading
    "max_daily_trades": 3,         # Max 3 trades per day

    # Weekly limits
    "max_weekly_loss": 0.10,       # -10% triggers review

    # Monthly limits
    "max_monthly_loss": 0.15,      # -15% stops trading for month

    # Streak limits
    "max_consecutive_losses": 3,   # 3 losses = stop trading
}

Pre-Trade Validation Checklist

MUST ALL BE TRUE:

def validate_entry(signal, account_state, market_state):
    checks = []

    # 1. Signal Quality
    checks.append(("Confluence >= 0.70", signal.confluence >= 0.70))
    checks.append(("MTF Alignment >= 2/3", signal.mtf_alignment >= 0.66))

    # 2. Statistical Validity (Mean Reversion)
    if signal.strategy == "mean_reversion":
        checks.append(("Z-score extreme", abs(signal.zscore) >= 2.0))
        checks.append(("Half-life = 0.75", signal.trend_score >= 0.75))
        checks.append(("Pullback depth valid", 0.236 = 1.5", signal.risk_reward >= 1.5))
    checks.append(("Account risk  -0.03))
    checks.append(("Consecutive losses  market_state.avg_volume * 0.5))
    checks.append(("No earnings  25,
    "vix_spike": vix_change_1d > 0.30,  # 30% VIX spike

    # Trend (for mean reversion)
    "trending_mr": hurst > 0.55 and strategy == "mean_reversion",

    # Trend (for pullback)
    "no_trend_pb": trend_score  0.10,

    # Account state
    "daily_loss_hit": daily_pnl = 3,

    # Market conditions
    "wide_spread": spread > 0.0005,
    "low_volume": volume  3%
    if position.unrealized_pnl_pct  30 or market.vix_change > 0.40:
        return EXIT_IMMEDIATELY("VIX spike detected")

    # Gap against position
    if abs(market.gap_pct) > 0.02 and gap_direction_against_position:
        return EXIT_IMMEDIATELY("Adverse gap > 2%")

    return HOLD

Daily Loss Halt

def check_daily_limits(account):
    if account.daily_pnl = 3:
        HALT_NEW_TRADES()
        LOG("Daily trade limit reached")
        return NO_NEW_TRADES

    return TRADING_ALLOWED

Recovery Protocol

def recovery_mode(account):
    """
    After significant drawdown, reduce risk.
    """
    if account.monthly_pnl  -0.03,
        "regime_ok": market.regime != "adverse",
        "time_limit": position.bars_held = 0.70"
      status: PASS
      value: 0.76
    - name: "Z-score extreme"
      status: PASS
      value: -2.34
    - name: "VIX < 25"
      status: PASS
      value: 18.5
    # ... all checks

  passed: 12
  total: 12

  risk_summary:
    entry: 445.50
    stop: 443.25
    position_value: 4250.00
    shares: 9
    risk_per_share: 2.25
    total_risk: 20.25
    account_risk_pct: 0.45%

Critical Reminders

  1. STOPS ARE MANDATORY - No position without a stop
  2. NO AVERAGING DOWN - Never add to a losing position
  3. RESPECT DAILY LIMITS - -5% = done for the day
  4. ONE POSITION AT A TIME - 95% means ONE trade
  5. REGIME AWARENESS - Exit immediately on adverse regime change
  6. NO EMOTIONAL DECISIONS - Follow the rules exactly

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.