Add project README

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jon
2026-02-01 17:51:46 -07:00
parent bf345243fd
commit 8872803563

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# fit
A TypeScript trading bot built on the Alpaca paper trading API. It runs pluggable strategies that use indicators to generate buy/sell signals.
## How it works
1. The **Bot** waits for market open via the Alpaca clock API
2. It runs all registered **Strategies** concurrently, each with its own capital allocation
3. Each strategy uses **Indicators** to evaluate market conditions and returns buy/sell **Signals**
4. The **Executor** processes the signals
5. The bot loops hourly, waiting for the next market open
## Setup
Requires an [Alpaca](https://alpaca.markets/) paper trading account. Create a `.env` file in the project root:
```
ALPACA_KEY_ID=your_key_id
ALPACA_SECRET_KEY=your_secret_key
```
Install dependencies:
```
npm install
```
## Running
```sh
# Build and run
npm run build
npm start
# Development (auto-reload)
npm run dev
# Docker
docker build -t fit .
docker run --env-file .env fit
```
## Testing and linting
```sh
npm test
npm run lint
```
## Project structure
```
src/
index.ts # Entry point, main loop
alpaca.ts # Alpaca API client wrapper
bot.ts # Orchestrator, runs strategies each day
executor.ts # Executes signals from strategies
indicator.ts # Indicator interface
strategy.ts # Strategy/Signal interfaces
trading.ts # Utilities (wait, market open, etc.)
momentum-indicator.ts # Samples QQQ direction after open
momentum-strategy.ts # Trades TQQQ/SQQQ based on momentum
```