Add granular logging across all source files

Introduce logger infrastructure and add structured logging to every layer:
alpaca.ts (buy/sell/quote/clock), momentum-indicator.ts (evaluate flow),
momentum-strategy.ts (poll loop), index.ts (startup/cycle), and trading.ts
(market timing). Replace raw console.log calls with leveled logger. Update
all tests with appropriate console spies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jon
2026-02-09 17:00:15 -07:00
parent 075572a01c
commit 188a1dc8b0
13 changed files with 91 additions and 19 deletions

View File

@@ -1,4 +1,5 @@
import { Alpaca } from "./alpaca";
import { logger } from "./logger";
import { Strategy } from "./strategy";
import { isMarketOpen, waitForNextOpen } from "./trading";
@@ -25,11 +26,14 @@ export class Bot {
async runDay(): Promise<void> {
const open = await isMarketOpen(this.alpaca);
if (!open) {
console.log('waiting for open');
logger.info('waiting for open');
await waitForNextOpen(this.alpaca);
}
logger.info('market is open, running strategies');
const account = await this.alpaca.getAccount();
logger.debug(`got account: ${JSON.stringify(account)}`);
const totalCapital = parseFloat(account.cash);
logger.debug(`total capital: ${totalCapital}`);
await Promise.all(
this.allocations.map(async ({ strategy, capitalAllocation }) => {