Skip to content
Back to skills

Trade Tracking

ASecurity

Track trade profitability with automatic logging to Obsidian or Notion. Simple CLI for adding/closing trades, auto-generates notes with PnL and win rate metrics.

  • 36 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
ai-agentspythonbashapidatabaseperformance

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 10, 2026

npx -y skills add theheavenlyd3mon/hermes-profiles --skill trade-tracking --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Trade Tracking?

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

Security grade badge for Trade Tracking
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/theheavenlyd3mon-trade-tracking/badge)](https://www.skillsdirectory.com/skills/theheavenlyd3mon-trade-tracking)

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: trade-tracking
description: "Track trade profitability with automatic logging to Obsidian or Notion. Simple CLI for adding/closing trades, auto-generates notes with PnL and win rate metrics."
version: 1.0.0
platforms: [macos, linux]
triggers: [trade tracking, trade logging, profitability tracking, PnL tracking, trade journal, obsidian trades, notion trades]
metadata:
  hermes:
    tags: [trading, finance, obsidian, notion, logging, performance]
---

# Trade Tracking

Simple system to track whether trades are profitable or not, with automatic logging to Obsidian or Notion.

## When to Use

- User wants to track trade outcomes (profitable/unprofitable)
- User wants automatic logging to their note-taking system
- User wants simple PnL tracking, not complex portfolio analytics
- Integration with AI-Trader or other signal sources

## Architecture

```
trade_tracker.py      # Main CLI and Trade class
trade_logger.py       # Platform-specific logging (Obsidian/Notion)
trade_config.json     # Configuration
ai_trader_integration.py  # Example integration
```

## Quick Start

### 1. Track Trades

```bash
# Add a trade
python3 trade_tracker.py add AAPL buy 150.50 10

# Close a trade (auto-logs to configured platform)
python3 trade_tracker.py close AAPL 155.25

# Check profitability
python3 trade_tracker.py check
# Output: Overall: PROFITABLE ($47.50)
```

### 2. Setup Logging

#### Obsidian (Default)
```bash
python3 trade_tracker.py setup obsidian
```

#### Notion
```bash
python3 trade_tracker.py setup notion [page_id]
```

## Key Design Decisions

### 1. Simple Over Complex
- Just track entry/exit prices and quantity
- Calculate PnL and profitability (yes/no)
- Win rate and total PnL summary
- No Sharpe ratio, drawdown, or complex metrics (user explicitly wanted simple)

### 2. Automatic Logging
- Trades auto-log when closed (not manual)
- Creates Obsidian notes or Notion pages automatically
- Template-based for consistency

### 3. Modular Design
- Separate tracker (data) from logger (output)
- Config-driven platform selection
- Easy to add new logging platforms

## Configuration

### trade_config.json

```json
{
  "default_platform": "obsidian",
  "obsidian": {
    "enabled": true,
    "vault_path": "/path/to/vault",
    "notes_folder": "Trade Tracking",
    "template": "# Trade: {{symbol}}\n\n**Status:** {{status}}\n..."
  },
  "notion": {
    "enabled": true,
    "database_id": "",
    "page_id": ""
  }
}
```

## Quick Reference

### Commands
```bash
# Add trade
python trade_tracker.py add SYMBOL SIDE PRICE QUANTITY
python trade_tracker.py add AAPL buy 150.50 10

# Close trade (auto-logs)
python trade_tracker.py close SYMBOL EXIT_PRICE
python trade_tracker.py close AAPL 155.25

# Check profitability
python trade_tracker.py check              # Overall
python trade_tracker.py check AAPL         # Specific symbol

# Summary
python trade_tracker.py summary

# Setup
python trade_tracker.py setup obsidian [folder]
python trade_tracker.py setup notion [page_id]

# Test
python scripts/test_setup.py
```

### Expected Output
```
# Add
Added buy 10.0 AAPL @ $150.50

# Close
Logged AAPL to Obsidian: /path/to/AAPL_2026-05-21.md
Closed AAPL @ $155.25

# Check
Overall: PROFITABLE ($47.50)

# Summary
Trade Summary:
  Total Calls: 1
  Profitable: 1
  Total PnL: $47.50
  Win Rate: 100.0%
  Overall: PROFITABLE
```

## Pitfalls

1. **Circular imports**: trade_logger.py defines its own Trade class to avoid importing from trade_tracker.py. Don't try to share the class - it creates circular dependencies.

2. **Missing entry_time**: Trade class must have `entry_time` field, and `add_call()` must set it to `datetime.now().isoformat()`. Logger expects this field.

3. **exit_time vs closed_at**: Both fields exist but serve different purposes. `closed_at` is for internal tracking, `exit_time` is for logging. Set both in `close_call()`.

4. **Platform not configured**: If default platform has no database_id/page_id (Notion) or vault_path (Obsidian), logging fails silently with warning. Always run `setup` first.

5. **Practice trade integration**: When providing practice trade recommendations from oracle-analyst, always include exact `python3 trade_tracker.py add` commands. Users need the specific command to log trades, not just the recommendation. See `references/practice-trade-integration.md` for workflow details.

## Obsidian Note Template

```markdown
# Trade: {{symbol}}

**Status:** {{status}}
**Entry:** {{entry_price}} @ {{entry_time}}
**Exit:** {{exit_price}} @ {{exit_time}}
**Quantity:** {{quantity}}
**PnL:** {{pnl}}
**Profitable:** {{profitable}}

## Notes
{{note}}
```

## Philosophy

**Simple > comprehensive.** The user typically wants one answer: "am I profitable?" Keep it minimal. Do NOT propose QuantConnect, portfolio optimization libraries, or multi-broker integrations unless asked. Default to the simplest thing that answers "profitable or not."

## AI-Trader Gap

AI-Trader (ai4trade.ai) does NOT track realized PnL, closed trade history, or win rate. See `references/ai-trader-gap.md` for API evidence and workaround strategy. Use this tracker as the external PnL layer for AI-Trader signals.

## Integration Examples

### AI-Trader Integration

```python
from trade_tracker import TradeTracker

tracker = TradeTracker()

# Log AI-Trader signal
tracker.add_call(
    symbol="BTC",
    side="buy",
    entry_price=65000.00,
    quantity=0.1
)

# Close when ready (auto-logs to Obsidian)
tracker.close_call("BTC", 67000.00)

# Check profitability
print(tracker.check_profitability())
```

### Custom Integration

```python
from trade_tracker import TradeTracker

tracker = TradeTracker()

# Add trade from any source
tracker.add_call(
    symbol="NVDA",
    side="buy",
    entry_price=800.00,
    quantity=5
)

# Close at exit price
tracker.close_call("NVDA", 850.00)

# Get summary
summary = tracker.get_summary()
print(f"Win rate: {summary['win_rate']}%")
print(f"Total PnL: ${summary['total_pnl']}")
```

## Files

### Templates (copy and modify)
- `templates/trade_tracker.py` - Main tracking system with CLI
- `templates/trade_logger.py` - Logging to Obsidian/Notion
- `templates/trade_config.json` - Configuration

### References
- `references/implementation-notes.md` - Pitfalls, lessons learned, and technical details

### Scripts
- `scripts/test_setup.py` - Verify installation and configuration

## Quick Setup

1. Copy templates to your project:
   ```bash
   cp templates/trade_tracker.py .
   cp templates/trade_logger.py .
   cp templates/trade_config.json .
   ```

2. Configure for your platform:
   ```bash
   # Edit trade_config.json with your vault path or Notion details
   ```

3. Run setup:
   ```bash
   python trade_tracker.py setup obsidian
   # or
   python trade_tracker.py setup notion [page_id]
   ```

4. Verify installation:
   ```bash
   python scripts/test_setup.py
   ```

## Future Extensions

- Web dashboard for visualization
- Risk metrics (Sharpe, max drawdown)
- Benchmark comparison (SPY, BTC)
- Multi-portfolio support
- Real-time price integration

Files in this skill

  • SKILL.md6.9 KB
  • references/ai-trader-gap.md1.2 KB
  • references/implementation-notes.md3.6 KB
  • scripts/test_setup.py5.9 KB
  • templates/trade_logger.py9.9 KB
  • templates/trade_tracker.py10.2 KB

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…