rust-trading-development
Specific rules for trading feature development
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Skill: Rust Trading Development
When to use this skill
- Adding or modifying trading strategies
- Modifying the RiskManager or order validation
- Financial calculations (prices, quantities, P&L)
- Working with technical indicators
Templates available
| Template | Usage |
|---|---|
| (none yet) | Add trading-specific templates as needed |
Critical rules
Monetary precision (MANDATORY)
// ❌ FORBIDDEN
let price: f64 = 123.45;
let total = price * quantity;
// ✅ CORRECT
use rust_decimal::Decimal;
let price = Decimal::from_str("123.45").unwrap();
let total = price * quantity;
Why: Rounding errors in f64 can cause real financial losses.
Risk management
Every new strategy MUST respect the flow:
Analyst (generates TradeProposal)
→ RiskManager (validates)
→ Executor (executes if approved)
The RiskManager applies the validation chain:
- BuyingPowerValidator
- CircuitBreakerValidator
- PDTValidator
- PositionSizeValidator
- SectorCorrelationValidator
- SentimentValidator
Mandatory tests
For any trading feature:
- Unit tests for each technical indicator
- Integration tests for complete flows
- Backtests on historical data (if applicable)
Key files
| Path | Content |
|---|---|
src/domain/trading/ |
Trading entities (Order, Position, Trade) |
src/domain/risk/ |
Risk management, validators |
src/application/strategies/ |
Trading strategies |
src/application/analyst.rs |
Analyst agent |
src/application/risk_manager.rs |
RiskManager service |
Available technical indicators
The project uses the ta crate for indicators:
- SMA, EMA (moving averages)
- RSI (Relative Strength Index)
- MACD (Moving Average Convergence Divergence)
- Bollinger Bands
- ADX (Average Directional Index)
- ATR (Average True Range)
Example: Adding a new strategy
- Create the file in
src/application/strategies/ - Implement the
Strategytrait - Add the mode to
StrategyModeenum - Register in
StrategyFactory - Add tests
- Document in
docs/STRATEGIES.md
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-03
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!