shepherd

a simple quant trading bot with CLI interface

  • CLI shell command docs coming soon after I brush up the code and add more features ?
  • Minimal REST API, submitting and fetching orders from MongoDB Atlas (integrating w/ alpaca)
    • no front end yet :/

Features

  • clean CLI shell interface

  • utilizes alpaca API and yahoo finance API

  • concise commands for executing various orders and strategies

    • buy-side market orders
    • sell-side limit orders
    • trailing stop orders (supports both trail price and trail percentage)
    • bracket orders (stop-loss + take-profit or only stop-loss)
    • long-only price momentum strategy based on cumulative returns of stocks in S&P 500 coded from scratch
  • miscellaneous helpful commands

    • portfolio gain/loss
    • market open/close indicator
    • portfolio buying power indicator
    • closed orders display
    • asset check to see if it’s tradeable through alpaca API
  • REST API

    • GET and POST requests to /api/v1/order endpoint
    • historical and real-time data from IEX via websockets in works to /api/v1/marketData endpoint
    • custom ID system for orders
    • Integrated with MongoDB Atlas

To-Do

  • implement mean return and risk-adjusted return based long-only price momentum strategies
  • earnings-momentum strategy implementation
  • low-volatility anomaly strategy implementation
  • add a mean-reversion pairs trading strategy implementation
  • calendar spread strategy implementation
  • some form of sentiment analysis

GitHub

View Github