Skip to content
Back to skills

Execution Position

ASecurity

Convert a trading signal into a sized, risk-gated PAPER order intent — or a refusal with reasons. Trigger for "这个信号该买多少", "帮我算仓位", "凯利公式下注多少", "现在要不要加仓", "position sizing", "how much should I buy", "simulate this trade", or whenever the user (1) has a signal/decision and asks for the size, (2) wants a trade checked against limits before acting, (3) asks about stops or exposure, or (4) another skill hands over a strategy/rebalance that needs execution shape. Fire even for casual "梭哈吗". Do NOT ...

  • 2 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 6, 2026
ai-agentspythongorails

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add artherahq/skills --skill execution-position --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Execution Position?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Execution Position
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artherahq-execution-position/badge)](https://www.skillsdirectory.com/skills/artherahq-execution-position)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: execution-position
description: >-
  Convert a trading signal into a sized, risk-gated PAPER order intent — or a
  refusal with reasons. Trigger for "这个信号该买多少", "帮我算仓位",
  "凯利公式下注多少", "现在要不要加仓", "position sizing", "how much should I
  buy", "simulate this trade", or whenever the user (1) has a signal/decision
  and asks for the size, (2) wants a trade checked against limits before
  acting, (3) asks about stops or exposure, or (4) another skill hands over a
  strategy/rebalance that needs execution shape. Fire even for casual "梭哈吗".
  Do NOT trigger for portfolio-wide weight construction (portfolio-optimization)
  or post-hoc risk analysis (risk-assessment). NEVER place live orders.
---

# Execution & Position

The distance between a good signal and a good trade is sizing, limits, and
costs. This skill is the boring adult at the door: it sizes with declared
inputs, checks the hard limits, prices the friction, and emits **paper
intents only**.

## Authority boundary (read first)

The gate's output is a `paper_only: true` intent. A request for live
execution FAILS the gate mechanically — live orders are a human decision made
outside this skill, in the broker's own interface. This mirrors the platform
rule: unimplemented broker paths return errors, never fake fills.

## Sizing doctrine

- **vol_target** (default): weight = risk budget / annualized vol. Needs a
  real volatility estimate; the gate refuses to guess when none is supplied.
- **kelly**: only from a **declared** edge (win rate + payoff ratio) — the
  declaration is the user's claim and ships verbatim in the intent for audit.
  Computing an edge from sample means is prohibited here (that is
  backtest-validation's jurisdiction, and even then it is a backtest, not an
  edge). Fraction hard-capped at 0.25: full Kelly on an estimated edge
  over-bets by construction.
- **fixed_weight**: explicit user weight, still subject to every gate.

## Workflow

1. Assemble the spec (`references/order-schema.md`): order, portfolio state,
   limits, market context (vol, ADV, spread). Missing limits get conservative
   defaults; missing volatility fails vol-target sizing honestly.
2. Run `python scripts/position_gate.py SPEC.json` (or `--demo`).
3. On PASS/WARN: present the intent — side, delta weight, notional, cost
   estimate in bps — plus every warning verbatim (a `noise_stop` warning is
   more valuable than the intent itself).
4. On FAIL: the deliverable is the refusal and its reasons. Do not shrink the
   order just enough to sneak past a limit without telling the user which
   limit it was.
5. Execution of the paper intent goes to the platform's paper-trading path;
   filled paper results can then feed risk-assessment.

## Guardrails

- `paper_only` on every intent; live requests fail mechanically.
- No volatility estimate → no vol-target size. No declared edge → no Kelly.
- Kelly fraction cap 0.25 is not negotiable via prompt.
- Cost figures are labeled estimates (linear impact placeholder).
- Liquidity gate: > 10% of ADV fails; no ADV data → check skipped and said so.

Files in this skill

  • SKILL.md3.1 KB
  • agents/openai.yaml276 B
  • references/order-schema.md2.6 KB
  • scripts/position_gate.py13.4 KB
  • scripts/test_position_gate.py2.9 KB
  • skill-policy.json285 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.