Trading Runbook¶
Daily operations, procedures, and emergency responses.
Daily Schedule¶
Pre-Market (8:00 - 9:30 AM ET)¶
-
Check system health
-
Review overnight news for held positions
-
Check LaunchAgent status
-
Review error logs
Market Hours (9:30 AM - 4:00 PM ET)¶
- Monitor paper trader signals
- Review any triggered alerts
- NO manual intervention during automated trading
Post-Market (4:00 - 5:00 PM ET)¶
-
Review day's activity
-
Check P&L
-
Update trading journal (if significant events)
LaunchAgent Management¶
Check Status¶
# List all trading agents
launchctl list | grep -E "micro-cap|trading"
# Check specific agent
launchctl list com.bert.micro-cap-paper-trader
Start/Stop¶
# Stop agent
launchctl unload ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
# Start agent
launchctl load ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
View Logs¶
# Paper trader output
tail -f /tmp/micro_cap_paper_trader.log
# Monitor errors
tail -f /tmp/micro_cap_monitor_error.log
Emergency Procedures¶
Stop All Trading Immediately¶
# Unload all trading LaunchAgents
launchctl unload ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
launchctl unload ~/Library/LaunchAgents/com.bert.micro-cap-monitor.plist
# Verify stopped
launchctl list | grep micro-cap
Cancel Pending Orders¶
# Alpaca - Cancel all orders
uv run python3 -c "
from alpaca.trading.client import TradingClient
client = TradingClient('PAPER_KEY', 'PAPER_SECRET', paper=True)
client.cancel_orders()
print('All orders cancelled')
"
Close All Positions (Emergency)¶
# Only in emergency - liquidates everything
uv run python3 tools/emergency_liquidate.py --paper --confirm
Common Issues¶
LaunchAgent Not Running¶
# Check if plist is valid
plutil ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
# Check recent errors
grep -i error /tmp/micro_cap_*.log | tail -20
# Reload agent
launchctl unload ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
launchctl load ~/Library/LaunchAgents/com.bert.micro-cap-paper-trader.plist
API Rate Limited¶
- Wait 60 seconds
- Check if multiple scripts running simultaneously
- Consider adding delays between API calls
Market Data Stale¶
# Check yfinance
uv run python3 -c "import yfinance as yf; print(yf.Ticker('AAPL').info['regularMarketPrice'])"
Weekly Review¶
Every Friday after market close:
- Review week's P&L
- Analyze strategy performance
- Check for any needed parameter adjustments
- Update trading journal
- Plan next week's focus
Last Updated: January 2026