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