diff --git a/src/exchange.ts b/src/exchange.ts new file mode 100644 index 0000000..c53e963 --- /dev/null +++ b/src/exchange.ts @@ -0,0 +1,9 @@ +import { Account } from "./interface/account"; +import {Quote} from "./interface/quote" + +interface Exchange { + name: string; + + fetchAccounts: () => Account[]; + fetchQuote: (symbol: string) => Quote; +} \ No newline at end of file diff --git a/src/interface/account.ts b/src/interface/account.ts new file mode 100644 index 0000000..97e3ea6 --- /dev/null +++ b/src/interface/account.ts @@ -0,0 +1,3 @@ +export interface Account { + fetchPortfolio: () => Portfolio; +} \ No newline at end of file diff --git a/src/interface/portfolio.ts b/src/interface/portfolio.ts new file mode 100644 index 0000000..15706e9 --- /dev/null +++ b/src/interface/portfolio.ts @@ -0,0 +1,17 @@ +export interface Position { + readonly symbol: string; + + readonly quantity: number; + + readonly dateAcquired: Date; + + readonly pricePaid: number; + readonly price: number; + + readonly change: number; + readonly changePct: number; +} + +export interface Portfolio { + readonly positions: Position[]; +} \ No newline at end of file diff --git a/src/interface/quote.ts b/src/interface/quote.ts new file mode 100644 index 0000000..fd84a23 --- /dev/null +++ b/src/interface/quote.ts @@ -0,0 +1,3 @@ +export class Quote { + +} \ No newline at end of file