feat: options/F&O positions only — exclude equity holdings

This commit is contained in:
Manohar 2026-05-08 17:06:42 +00:00
parent 60e5c7647d
commit f809fbdaa1

View file

@ -110,24 +110,12 @@ function normaliseHolding(h: AngelHolding): Position | null {
* Deduplicates by key (position wins over holding for same symbol).
*/
export async function fetchAllPositions(): Promise<Position[]> {
const [rawPositions, rawHoldings] = await Promise.all([
fetchPositions(),
fetchHoldings(),
]);
const map = new Map<string, Position>();
// Holdings first (lower priority)
for (const h of rawHoldings) {
const p = normaliseHolding(h);
if (p) map.set(p.key, p);
}
// Positions override (intraday / F&O takes precedence)
// Holdings excluded — options/F&O positions only
const rawPositions = await fetchPositions();
const results: Position[] = [];
for (const raw of rawPositions) {
const p = normalisePosition(raw);
if (p) map.set(p.key, p);
if (p) results.push(p);
}
return Array.from(map.values());
return results;
}