Paper trading
Run a paper-trading workflow over analyzed symbols. Use when user wants the live-verification stage in simulated form: trade rehearsal, ledger updates, A-share settlement rules, and explicit monitoring of what the local paper book does and does not model.From its SKILL.md
npx -y skills add NatsuFox/A-Stockit --skill paper-tradingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `python3 <bundle-root>/paper-trading/run.py <symbol> --side buy --quantity 100 [--price 18.2]`.
SKILL.md
6.2 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Paper Trading
Run a simulated trading workflow for: $ARGUMENTS
Overview
- Implementation status: code-backed
- Local entry script:
<bundle-root>/paper-trading/run.py - Primary purpose: maintain a local paper book with order simulation, cost basis tracking, cash updates, and basic A-share settlement constraints
- Workflow stage: stage 7
Live Trading & Monitoringin simulated mode - Local executor guarantee:
- account inspection when
--sideis omitted - JSON-backed paper-book updates when
--sideis provided - lot-size normalization, commission and stamp-duty handling, cost-basis updates, and T+1 sell-availability checks
- account inspection when
- Non-guarantees:
- no live trading or brokerage integration
- no automatic slippage, market-impact, concentration, or alert engine beyond what the local ledger actually stores
Use When
- The user wants to validate a trade idea with simulated execution before live trading.
- The user wants to track paper positions with a persistent local ledger.
- The user wants to review cash, positions, and trade history in a simulated account.
- The caller wants a controlled rehearsal surface between analysis and real capital.
Do Not Use When
- The user expects live trading or broker connectivity.
- The user has not yet decided on side, quantity, or thesis and instead needs analysis first.
- The user wants full historical strategy testing. Use
backtest-evaluator. - The user wants advanced portfolio analytics that the local paper ledger does not compute automatically.
Inputs
- One symbol for order mode.
- Optional
--side buy|sell; if omitted, the skill returns account status instead of placing an order. - Optional
--quantity,--price,--account,--initial-cash,--trade-date,--note. - Optional market inputs:
--csv,--start,--end,--sourcefor resolving a default price context. - Operational note:
- if
--priceis omitted, the runtime falls back to a current market price context rather than running an execution algorithm - the agent should say whether the execution price is user-specified or runtime-defaulted
- if
Execution
Step 1: Decide the mode
- Account status mode: no
--side; inspect the current paper book only. - Trade execution mode:
--sideis present; attempt a simulated buy or sell and update the paper book.
Step 2: Perform pre-trade checks around the local ledger
Before executing a simulated trade, the agent should review:
- whether the symbol and thesis source are clear
- whether quantity is lot-compatible for the market
- whether there is enough cash for a buy
- whether enough T+1-available shares exist for a sell
- whether the user is asking for a realistic execution rehearsal or only a bookkeeping update
These checks are partly enforced locally and partly should be stated by the agent when the user expects professional workflow discipline.
Step 3: Run the local executor
python3 <bundle-root>/paper-trading/run.py <symbol> --side buy --quantity 100 [--price 18.2]
Step 4: Interpret the result with realism disclosures
The local paper ledger handles cash, cost basis, lots, commission, stamp duty, and T+1 sell constraints. If the user expects richer execution realism, the agent should additionally state:
- whether slippage was explicitly modeled or not
- whether price-limit, suspension, or liquidity risk was checked outside the ledger
- whether concentration or portfolio risk checks were performed manually or remain unmodeled
Step 5: Link the paper trade back to the research loop
After execution or account review, the agent should identify:
- which thesis or plan the position belongs to
- what invalidation or monitoring conditions should be checked next
- whether
session-status,reports,analysis-history, orbacktest-evaluatorshould be used for follow-up
Output Contract
- Account mode: readable text beginning with
# Paper Account <account>. - Trade mode: readable text beginning with
# Paper Trade <trade_id>, followed by account state after the trade. - Side effects: writes a JSON paper ledger under the runtime area and appends paper-trade history.
- Local executor guarantee:
- ledger persistence
- cost-basis and lot tracking
- commission and stamp-duty modeling
- T+1 sell-availability enforcement
- Agent-required delivery standard:
- always state
This is simulated trading only; no real capital is at risk. - identify whether the price was user-specified or runtime-defaulted
- identify what realism layers were not modeled locally, especially slippage, market impact, ADV capacity, price-limit fillability, suspension risk, and portfolio-level concentration
- if presenting performance or risk interpretation beyond cash and positions, label the assumptions and calculation basis explicitly
- always state
Failure Handling
- Parse and argument errors: non-zero exit with a readable
命令错误message. - Invalid lot-normalized quantity: readable
执行失败:text with the lot-size requirement. - Insufficient cash: readable
执行失败:text. - Insufficient available shares for sell: readable
执行失败:text with the available T+1-adjusted quantity. - The skill never places live orders; all changes stay local to the paper ledger.
Key Rules
- Treat every result as simulated only.
- Be honest about what the local ledger models versus what the agent is layering on top.
- Respect A-share constraints such as lot sizes, T+1 sell availability, and sell-side stamp duty.
- Use this skill to validate process discipline before real execution, not to mimic a broker.
Composition
- Commonly follows
analysis,decision-support, orstrategy-design. - Pairs with
session-statusfor runtime context and withreportsoranalysis-historyfor artifact-linked review. - Serves as the simulated live-verification layer before any real-capital workflow outside the bundle.
What ships with it: 1 file
568 B alongside SKILL.md, 1 of them executable
- run.pyruns568 B
Gives 0 of the 12 instructions most finance skills give in ~1.3k tokens
Counted across 469 of the 469 authors here whose files we hold, read 2026-08-07
- Extract date vendor amount and descriptionin 15 of 469, across 3 files
- Scan folder for invoice filesin 14 of 469, across 2 files
- Rename files to standard formatin 14 of 469, across 2 files
- Show organization plan before movingin 14 of 469, across 2 files
- Generate summary CSVin 14 of 469, across 2 files
- Organize files by categoryin 13 of 469, across 1 file
- Preserve original filesin 13 of 469, across 1 file
- Flag files missing critical infoin 13 of 469, across 1 file
- Produce the requested output filein 9 of 469, across 4 files
- Build best, base, and worst case scenariosin 9 of 469, across 5 files
- Implement backoff if rate limit errors occurin 8 of 469, across 3 files
- Determine the weighted average cost of capitalin 8 of 469, across 4 files
Said here and by no other author read
- run the local python paper-trading executor
- state the execution price source
- disclose all unmodeled execution realism layers
- append each trade to the paper history
- persist all updates to the local JSON ledger
- enforce lot-size T+1 and stamp-duty rules
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.