trading-system

Trading System - Complete API Reference

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "trading-system" with this command: npx skills add alsk1992/cloddsbot/alsk1992-cloddsbot-trading-system

Trading System - Complete API Reference

Unified trading system with auto-logging to SQLite, bot management, and performance analytics.

Chat Commands

Portfolio

/trading portfolio # View all positions /trading portfolio poly # Positions on Polymarket /trading portfolio --value # Include current values

Performance

/trading stats # Overall statistics /trading stats --period 30d # Last 30 days /trading daily-pnl # Daily P&L breakdown /trading weekly-pnl # Weekly P&L /trading monthly-pnl # Monthly P&L

Trade History

/trading history # Recent trades /trading history --limit 50 # Last 50 trades /trading history --platform poly # Polymarket only /trading export # Export to CSV /trading export --format json # Export as JSON

Bot Management

/bot list # List all bots /bot register <name> <strategy> # Register new bot /bot start <name> # Start bot /bot stop <name> # Stop bot /bot status <name> # Bot status /bot delete <name> # Delete bot

Bot Strategies

/bot strategies # List available strategies /bot create mean-reversion --config {...} # Create with config /bot create momentum --lookback 14 # Momentum strategy /bot create arbitrage --min-spread 1 # Arbitrage strategy

TypeScript API Reference

Create Trading System

import { createTradingSystem } from 'clodds/trading';

const trading = createTradingSystem({ // Execution service execution: executionService,

// Auto-logging autoLog: true, logPath: './trades.db',

// Bot configuration bots: { enabled: true, maxConcurrent: 5, }, });

Portfolio

// Get portfolio const portfolio = await trading.getPortfolio();

console.log(Total value: $${portfolio.totalValue.toLocaleString()}); console.log(Unrealized P&#x26;L: $${portfolio.unrealizedPnl.toLocaleString()});

for (const position of portfolio.positions) { console.log([${position.platform}] ${position.market}); console.log( Side: ${position.side}); console.log( Size: ${position.size}); console.log( Avg price: ${position.avgPrice}); console.log( Current: ${position.currentPrice}); console.log( P&#x26;L: $${position.unrealizedPnl.toFixed(2)}); }

Statistics

// Get trading statistics const stats = await trading.getStats({ period: '30d' });

console.log(Total trades: ${stats.totalTrades}); console.log(Win rate: ${(stats.winRate * 100).toFixed(1)}%); console.log(Profit factor: ${stats.profitFactor.toFixed(2)}); console.log(Total P&#x26;L: $${stats.totalPnl.toLocaleString()}); console.log(Avg trade: $${stats.avgTrade.toFixed(2)}); console.log(Largest win: $${stats.largestWin.toFixed(2)}); console.log(Largest loss: $${stats.largestLoss.toFixed(2)}); console.log(Sharpe ratio: ${stats.sharpeRatio.toFixed(2)}); console.log(Max drawdown: ${(stats.maxDrawdown * 100).toFixed(1)}%);

Daily P&L

// Get daily P&L const dailyPnl = await trading.getDailyPnL({ days: 30 });

for (const day of dailyPnl) { const sign = day.pnl >= 0 ? '+' : ''; console.log(${day.date}: ${sign}$${day.pnl.toFixed(2)} (${day.trades} trades)); }

Export Trades

// Export to CSV await trading.exportTrades({ format: 'csv', path: './trades.csv', from: '2024-01-01', to: '2024-12-31', });

// Export to JSON const trades = await trading.exportTrades({ format: 'json', from: '2024-01-01', });

Bot Management

// List bots const bots = trading.bots.list();

// Register a bot await trading.bots.register({ name: 'my-arb-bot', strategy: 'arbitrage', config: { minSpread: 1, maxPositionSize: 500, platforms: ['polymarket', 'kalshi'], }, });

// Start bot await trading.bots.start('my-arb-bot');

// Get status const status = trading.bots.getStatus('my-arb-bot'); console.log(Running: ${status.isRunning}); console.log(Trades today: ${status.tradesToday}); console.log(P&#x26;L today: $${status.pnlToday});

// Stop bot await trading.bots.stop('my-arb-bot');

// Delete bot await trading.bots.delete('my-arb-bot');

Built-in Strategies

// Mean Reversion await trading.bots.register({ name: 'mean-rev', strategy: 'mean-reversion', config: { lookbackPeriod: 20, deviationThreshold: 2, positionSize: 100, }, });

// Momentum await trading.bots.register({ name: 'momentum', strategy: 'momentum', config: { lookbackPeriod: 14, entryThreshold: 0.6, exitThreshold: 0.4, positionSize: 100, }, });

// Arbitrage await trading.bots.register({ name: 'arb', strategy: 'arbitrage', config: { minSpread: 1, minLiquidity: 500, maxPositionSize: 1000, }, });

Custom Strategy

// Register custom strategy trading.bots.registerStrategy('my-strategy', { init: async (ctx) => { // Initialize state },

evaluate: async (ctx) => { // Return signals return [ { platform: 'polymarket', marketId: 'market-123', action: 'buy', side: 'YES', size: 100, reason: 'Signal triggered', }, ]; },

onTrade: (trade) => { console.log(Trade executed: ${trade.orderId}); },

cleanup: async () => { // Cleanup }, });

Auto-Logging

All trades are automatically logged to SQLite:

-- trades table SELECT * FROM trades WHERE platform = 'polymarket' ORDER BY timestamp DESC LIMIT 10;

-- Get win rate SELECT COUNT(CASE WHEN pnl > 0 THEN 1 END) * 100.0 / COUNT(*) as win_rate FROM trades;

Best Practices

  • Start with paper trading - Use dry-run mode first

  • Set position limits - Prevent overexposure

  • Monitor bots regularly - Don't set and forget

  • Review performance weekly - Adjust strategies

  • Export data regularly - Backup your trade history

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

binance-futures

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

trading-futures

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tts

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

auto-reply

No summary provided by upstream source.

Repository SourceNeeds Review