From 54a33419686033c4169a17730d8b1e62a9502ef3 Mon Sep 17 00:00:00 2001 From: Carter Bertolini Date: Fri, 27 Oct 2023 17:44:57 -0400 Subject: [PATCH] Filter action fetch response to eliminate partial order fills. --- src/alpaca/actions.ts | 4 +++- test/alpaca.test.ts | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/alpaca/actions.ts b/src/alpaca/actions.ts index cbe8955..b0efe5d 100644 --- a/src/alpaca/actions.ts +++ b/src/alpaca/actions.ts @@ -30,7 +30,9 @@ export class AlpacaActionProvider { pageToken: undefined as any, }) as Promise).then((activities) => { return new ActionFetchResponse( - activities.map((activity) => { + activities + .filter((activity) => activity.order_status === "filled") + .map((activity) => { return new Action( activity.symbol, parseInt(activity.qty, 10), diff --git a/test/alpaca.test.ts b/test/alpaca.test.ts index 7a98870..4bfd690 100644 --- a/test/alpaca.test.ts +++ b/test/alpaca.test.ts @@ -36,6 +36,10 @@ describe('Alpaca Tests', () => { expect(process.env.ALPACA_API_KEY).toBeDefined(); expect(process.env.ALPACA_SECRET_KEY).toBeDefined(); const exchange = new AlpacaExchange(process.env.ALPACA_API_KEY!, process.env.ALPACA_SECRET_KEY!, true); - expect(exchange.actionProvider.fetchActions(new ActionFetchOptions)).resolves.toBeDefined(); + + const actions = await exchange.actionProvider.fetchActions(new ActionFetchOptions); + logger.info(JSON.stringify(actions)); + + //expect(exchange.actionProvider.fetchActions(new ActionFetchOptions)).resolves.toBeDefined(); }); });