investing 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -60
- package/dist/algo-stategies/tv-scraper.d.ts +2 -0
- package/dist/algo-stategies/tv-scraper.d.ts.map +1 -0
- package/dist/alpaca/alpaca-mcp-client.d.ts +174 -0
- package/dist/alpaca/alpaca-mcp-client.d.ts.map +1 -0
- package/dist/alpaca/client.d.ts +21 -0
- package/dist/alpaca/client.d.ts.map +1 -0
- package/dist/archiver-web.es-BgXzilRH.cjs +1 -0
- package/dist/archiver-web.es-EPYdovFt.js +1 -0
- package/dist/correlate/metrics.d.ts +40 -0
- package/dist/correlate/metrics.d.ts.map +1 -0
- package/dist/correlate/model-persistence.d.ts +26 -0
- package/dist/correlate/model-persistence.d.ts.map +1 -0
- package/dist/correlate/predict-statistics.d.ts +14 -0
- package/dist/correlate/predict-statistics.d.ts.map +1 -0
- package/dist/correlate/rolling-stats.d.ts +27 -0
- package/dist/correlate/rolling-stats.d.ts.map +1 -0
- package/dist/correlate/types.d.ts +78 -0
- package/dist/correlate/types.d.ts.map +1 -0
- package/dist/correlate/xgboost-predictor.d.ts +19 -0
- package/dist/correlate/xgboost-predictor.d.ts.map +1 -0
- package/dist/correlate/xgboost-trainer.d.ts +112 -0
- package/dist/correlate/xgboost-trainer.d.ts.map +1 -0
- package/dist/db/client.d.ts +10 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/d1-http.d.ts +38 -0
- package/dist/db/d1-http.d.ts.map +1 -0
- package/dist/db/index.d.ts +8870 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/relations.d.ts +21 -0
- package/dist/db/relations.d.ts.map +1 -0
- package/dist/db/schema.d.ts +8845 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/debate-research/stock-agents-api.d.ts +129 -0
- package/dist/debate-research/stock-agents-api.d.ts.map +1 -0
- package/dist/index-C9OpAHBe.js +15 -0
- package/dist/index-CLlAnStL-B7EBGdAY.cjs +1 -0
- package/dist/index-CLlAnStL-C554ZmGF.js +1 -0
- package/dist/index-CcyBsxYm.cjs +13 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/leaders/nvsty-leaders.d.ts +63 -0
- package/dist/leaders/nvsty-leaders.d.ts.map +1 -0
- package/dist/leaders/zulu.d.ts +167 -0
- package/dist/leaders/zulu.d.ts.map +1 -0
- package/dist/live-data/dukascopy-client.d.ts +102 -0
- package/dist/live-data/dukascopy-client.d.ts.map +1 -0
- package/dist/llm/debate-generator.d.ts +32 -0
- package/dist/llm/debate-generator.d.ts.map +1 -0
- package/dist/prediction/analysis/categories.d.ts +37 -0
- package/dist/prediction/analysis/categories.d.ts.map +1 -0
- package/dist/prediction/analysis/detector.d.ts +15 -0
- package/dist/prediction/analysis/detector.d.ts.map +1 -0
- package/dist/prediction/analysis/greeks.d.ts +11 -0
- package/dist/prediction/analysis/greeks.d.ts.map +1 -0
- package/dist/prediction/analysis/price-changes.d.ts +12 -0
- package/dist/prediction/analysis/price-changes.d.ts.map +1 -0
- package/dist/prediction/api/analytics.d.ts +46 -0
- package/dist/prediction/api/analytics.d.ts.map +1 -0
- package/dist/prediction/api/gamma.d.ts +30 -0
- package/dist/prediction/api/gamma.d.ts.map +1 -0
- package/dist/prediction/api/leaderboard.d.ts +113 -0
- package/dist/prediction/api/leaderboard.d.ts.map +1 -0
- package/dist/prediction/api/markets.d.ts +62 -0
- package/dist/prediction/api/markets.d.ts.map +1 -0
- package/dist/prediction/api/prices.d.ts +32 -0
- package/dist/prediction/api/prices.d.ts.map +1 -0
- package/dist/prediction/constants.d.ts +7 -0
- package/dist/prediction/constants.d.ts.map +1 -0
- package/dist/prediction/db/debates.d.ts +41 -0
- package/dist/prediction/db/debates.d.ts.map +1 -0
- package/dist/prediction/db/leaderboard.d.ts +37 -0
- package/dist/prediction/db/leaderboard.d.ts.map +1 -0
- package/dist/prediction/db/markets.d.ts +91 -0
- package/dist/prediction/db/markets.d.ts.map +1 -0
- package/dist/prediction/db/positions.d.ts +73 -0
- package/dist/prediction/db/positions.d.ts.map +1 -0
- package/dist/prediction/db/prices.d.ts +37 -0
- package/dist/prediction/db/prices.d.ts.map +1 -0
- package/dist/prediction/db/trade-history.d.ts +108 -0
- package/dist/prediction/db/trade-history.d.ts.map +1 -0
- package/dist/prediction/index.d.ts +26 -0
- package/dist/prediction/index.d.ts.map +1 -0
- package/dist/prediction/sync/holders.d.ts +10 -0
- package/dist/prediction/sync/holders.d.ts.map +1 -0
- package/dist/prediction/sync/incremental-markets.d.ts +18 -0
- package/dist/prediction/sync/incremental-markets.d.ts.map +1 -0
- package/dist/prediction/sync/leaderboard.d.ts +25 -0
- package/dist/prediction/sync/leaderboard.d.ts.map +1 -0
- package/dist/prediction/sync/markets.d.ts +25 -0
- package/dist/prediction/sync/markets.d.ts.map +1 -0
- package/dist/prediction/sync/orchestration.d.ts +12 -0
- package/dist/prediction/sync/orchestration.d.ts.map +1 -0
- package/dist/prediction/sync/prices.d.ts +25 -0
- package/dist/prediction/sync/prices.d.ts.map +1 -0
- package/dist/prediction/sync/trade-history.d.ts +96 -0
- package/dist/prediction/sync/trade-history.d.ts.map +1 -0
- package/dist/prediction/sync.d.ts +4 -0
- package/dist/prediction/sync.d.ts.map +1 -0
- package/dist/prediction/types.d.ts +131 -0
- package/dist/prediction/types.d.ts.map +1 -0
- package/dist/prediction/utils/categorizer.d.ts +37 -0
- package/dist/prediction/utils/categorizer.d.ts.map +1 -0
- package/dist/predictos/index.d.ts +12 -0
- package/dist/predictos/index.d.ts.map +1 -0
- package/dist/stock-names-data/stock-names.json.d.ts +4 -0
- package/dist/stocks/find-wikipedia-urls.d.ts +6 -0
- package/dist/stocks/find-wikipedia-urls.d.ts.map +1 -0
- package/dist/stocks/finnhub-utils.d.ts +42 -0
- package/dist/stocks/finnhub-utils.d.ts.map +1 -0
- package/dist/stocks/finnhub-wrapper.d.ts +49 -0
- package/dist/stocks/finnhub-wrapper.d.ts.map +1 -0
- package/dist/stocks/import-stock-names.d.ts +2 -0
- package/dist/stocks/import-stock-names.d.ts.map +1 -0
- package/dist/stocks/index.d.ts +12 -0
- package/dist/stocks/index.d.ts.map +1 -0
- package/dist/stocks/quote-cache-service.d.ts +94 -0
- package/dist/stocks/quote-cache-service.d.ts.map +1 -0
- package/dist/stocks/sec-filing-api.d.ts +35 -0
- package/dist/stocks/sec-filing-api.d.ts.map +1 -0
- package/dist/stocks/stock-names-client.d.ts +10 -0
- package/dist/stocks/stock-names-client.d.ts.map +1 -0
- package/dist/stocks/stock-names.d.ts +26 -0
- package/dist/stocks/stock-names.d.ts.map +1 -0
- package/dist/stocks/types.d.ts +547 -0
- package/dist/stocks/types.d.ts.map +1 -0
- package/dist/stocks/unified-quote-example.d.ts +30 -0
- package/dist/stocks/unified-quote-example.d.ts.map +1 -0
- package/dist/stocks/unified-quote-service.d.ts +111 -0
- package/dist/stocks/unified-quote-service.d.ts.map +1 -0
- package/dist/stocks/yahoo-finance-wrapper.d.ts +344 -0
- package/dist/stocks/yahoo-finance-wrapper.d.ts.map +1 -0
- package/dist/stocks/yfinance-wrapper.d.ts +10 -0
- package/dist/stocks/yfinance-wrapper.d.ts.map +1 -0
- package/dist/trading-agents/agents/debate-facilitator.d.ts +26 -0
- package/dist/trading-agents/agents/debate-facilitator.d.ts.map +1 -0
- package/dist/trading-agents/agents/fund-manager.d.ts +11 -0
- package/dist/trading-agents/agents/fund-manager.d.ts.map +1 -0
- package/dist/trading-agents/agents/improved-researchers.d.ts +16 -0
- package/dist/trading-agents/agents/improved-researchers.d.ts.map +1 -0
- package/dist/trading-agents/agents/market-analyst.d.ts +8 -0
- package/dist/trading-agents/agents/market-analyst.d.ts.map +1 -0
- package/dist/trading-agents/agents/news-analyst.d.ts +8 -0
- package/dist/trading-agents/agents/news-analyst.d.ts.map +1 -0
- package/dist/trading-agents/agents/researchers.d.ts +22 -0
- package/dist/trading-agents/agents/researchers.d.ts.map +1 -0
- package/dist/trading-agents/agents/risk-team.d.ts +22 -0
- package/dist/trading-agents/agents/risk-team.d.ts.map +1 -0
- package/dist/trading-agents/agents/trader.d.ts +10 -0
- package/dist/trading-agents/agents/trader.d.ts.map +1 -0
- package/dist/trading-agents/example.d.ts +7 -0
- package/dist/trading-agents/example.d.ts.map +1 -0
- package/dist/trading-agents/graph/trading-graph.d.ts +59 -0
- package/dist/trading-agents/graph/trading-graph.d.ts.map +1 -0
- package/dist/trading-agents/index.d.ts +13 -0
- package/dist/trading-agents/index.d.ts.map +1 -0
- package/dist/trading-agents/tools/alpaca-mcp-tools.d.ts +46 -0
- package/dist/trading-agents/tools/alpaca-mcp-tools.d.ts.map +1 -0
- package/dist/trading-agents/tools/data-tools.d.ts +18 -0
- package/dist/trading-agents/tools/data-tools.d.ts.map +1 -0
- package/dist/trading-agents/tools/langchain-tools.d.ts +78 -0
- package/dist/trading-agents/tools/langchain-tools.d.ts.map +1 -0
- package/dist/trading-agents/types/index.d.ts +171 -0
- package/dist/trading-agents/types/index.d.ts.map +1 -0
- package/dist/trading-agents/utils/llm-client.d.ts +45 -0
- package/dist/trading-agents/utils/llm-client.d.ts.map +1 -0
- package/dist/trading-agents/utils/memory.d.ts +38 -0
- package/dist/trading-agents/utils/memory.d.ts.map +1 -0
- package/dist/trending-topics/wiki-page-views.d.ts +133 -0
- package/dist/trending-topics/wiki-page-views.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/package.json +47 -17
- package/data/globe.json +0 -182
- package/data/sector-info.json +0 -1540
- package/data/sectors-industries.json +0 -327
- package/data/stock-indexes.json +0 -106
- package/data/stock-names.json +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img width="400px" src="https://i.imgur.com/dE5Rfck.jpeg" />
|
|
3
|
+
</p>
|
|
4
|
+
<p align="center">
|
|
5
|
+
<a href="https://discord.gg/SJdBqBz3tV">
|
|
6
|
+
<img src="https://img.shields.io/discord/1110227955554209923.svg?label=Chat&logo=Discord&colorB=7289da&style=flat"
|
|
7
|
+
alt="Join Discord" />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://github.com/vtempest/stock-prediction-agent/discussions">
|
|
10
|
+
<img alt="GitHub Stars" src="https://img.shields.io/github/stars/vtempest/stock-prediction-agent" /></a>
|
|
11
|
+
<a href="https://github.com/vtempest/stock-prediction-agent/discussions">
|
|
12
|
+
<img alt="GitHub Discussions"
|
|
13
|
+
src="https://img.shields.io/github/discussions/vtempest/stock-prediction-agent" />
|
|
14
|
+
</a>
|
|
15
|
+
<!-- <a href="https://npmjs.org/package/stock-prediction-agent"><img src="https://img.shields.io/npm/v/stock-prediction-agent"/></a> -->
|
|
16
|
+
<a href="https://github.com/vtempest/stock-prediction-agent/pulse" alt="Activity">
|
|
17
|
+
<img src="https://img.shields.io/github/commit-activity/m/vtempest/stock-prediction-agent" />
|
|
18
|
+
</a>
|
|
19
|
+
<img src="https://img.shields.io/github/last-commit/vtempest/stock-prediction-agent.svg" alt="GitHub last commit" />
|
|
20
|
+
<img src="https://img.shields.io/badge/Next.js-16.0-black" alt="Next.js" />
|
|
21
|
+
|
|
22
|
+
</p>
|
|
23
|
+
<p align="center">
|
|
24
|
+
<a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request">
|
|
25
|
+
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"
|
|
26
|
+
alt="PRs Welcome" />
|
|
27
|
+
</a>
|
|
28
|
+
<a href="https://codespaces.new/vtempest/stock-prediction-agent">
|
|
29
|
+
<img src="https://github.com/codespaces/badge.svg" width="150" height="20" />
|
|
30
|
+
</a>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
# Investing Library
|
|
2
34
|
|
|
3
35
|
A comprehensive TypeScript/JavaScript library for investment analysis, trading automation, and financial data processing. This package provides reusable utilities for building investment applications, trading bots, and financial analysis tools.
|
|
4
36
|
|
|
@@ -16,9 +48,9 @@ A comprehensive TypeScript/JavaScript library for investment analysis, trading a
|
|
|
16
48
|
## Installation
|
|
17
49
|
|
|
18
50
|
```bash
|
|
19
|
-
npm
|
|
51
|
+
npm i investing
|
|
20
52
|
# or
|
|
21
|
-
|
|
53
|
+
bun i investing
|
|
22
54
|
# or
|
|
23
55
|
pnpm add investing
|
|
24
56
|
```
|
|
@@ -28,7 +60,7 @@ pnpm add investing
|
|
|
28
60
|
### Alpaca Trading Client
|
|
29
61
|
|
|
30
62
|
```typescript
|
|
31
|
-
import { createAlpacaClient } from
|
|
63
|
+
import { createAlpacaClient } from "investing";
|
|
32
64
|
|
|
33
65
|
// Create client with environment variables
|
|
34
66
|
const alpaca = createAlpacaClient({
|
|
@@ -43,44 +75,44 @@ console.log(`Portfolio value: $${account.portfolio_value}`);
|
|
|
43
75
|
|
|
44
76
|
// Place an order
|
|
45
77
|
const order = await alpaca.createOrder({
|
|
46
|
-
symbol:
|
|
78
|
+
symbol: "AAPL",
|
|
47
79
|
qty: 10,
|
|
48
|
-
side:
|
|
49
|
-
type:
|
|
50
|
-
time_in_force:
|
|
80
|
+
side: "buy",
|
|
81
|
+
type: "market",
|
|
82
|
+
time_in_force: "day",
|
|
51
83
|
});
|
|
52
84
|
```
|
|
53
85
|
|
|
54
86
|
### Fetch Stock Data
|
|
55
87
|
|
|
56
88
|
```typescript
|
|
57
|
-
import { getStockQuote, getHistoricalData } from
|
|
89
|
+
import { getStockQuote, getHistoricalData } from "investing";
|
|
58
90
|
|
|
59
91
|
// Get real-time quote
|
|
60
|
-
const quote = await getStockQuote(
|
|
92
|
+
const quote = await getStockQuote("AAPL");
|
|
61
93
|
console.log(`AAPL: $${quote.regularMarketPrice}`);
|
|
62
94
|
|
|
63
95
|
// Get historical data
|
|
64
|
-
const history = await getHistoricalData(
|
|
65
|
-
period1:
|
|
66
|
-
period2:
|
|
67
|
-
interval:
|
|
96
|
+
const history = await getHistoricalData("AAPL", {
|
|
97
|
+
period1: "2024-01-01",
|
|
98
|
+
period2: "2024-12-31",
|
|
99
|
+
interval: "1d",
|
|
68
100
|
});
|
|
69
101
|
```
|
|
70
102
|
|
|
71
103
|
### Polymarket Prediction Markets
|
|
72
104
|
|
|
73
105
|
```typescript
|
|
74
|
-
import { fetchMarkets, fetchLeaderboard } from
|
|
106
|
+
import { fetchMarkets, fetchLeaderboard } from "investing";
|
|
75
107
|
|
|
76
108
|
// Get active prediction markets
|
|
77
|
-
const markets = await fetchMarkets(50,
|
|
109
|
+
const markets = await fetchMarkets(50, "volume24hr");
|
|
78
110
|
console.log(`Top market: ${markets[0].question}`);
|
|
79
111
|
|
|
80
112
|
// Get top traders
|
|
81
113
|
const leaders = await fetchLeaderboard({
|
|
82
|
-
timePeriod:
|
|
83
|
-
orderBy:
|
|
114
|
+
timePeriod: "7d",
|
|
115
|
+
orderBy: "PNL",
|
|
84
116
|
limit: 10,
|
|
85
117
|
});
|
|
86
118
|
```
|
|
@@ -88,7 +120,7 @@ const leaders = await fetchLeaderboard({
|
|
|
88
120
|
### Trading Agents Framework
|
|
89
121
|
|
|
90
122
|
```typescript
|
|
91
|
-
import { createTradingGraph, MarketAnalyst } from
|
|
123
|
+
import { createTradingGraph, MarketAnalyst } from "investing";
|
|
92
124
|
|
|
93
125
|
// Create a trading agent system
|
|
94
126
|
const tradingSystem = createTradingGraph({
|
|
@@ -99,15 +131,15 @@ const tradingSystem = createTradingGraph({
|
|
|
99
131
|
new Trader(),
|
|
100
132
|
],
|
|
101
133
|
config: {
|
|
102
|
-
ticker:
|
|
134
|
+
ticker: "AAPL",
|
|
103
135
|
budget: 10000,
|
|
104
136
|
},
|
|
105
137
|
});
|
|
106
138
|
|
|
107
139
|
// Run analysis
|
|
108
140
|
const result = await tradingSystem.invoke({
|
|
109
|
-
ticker:
|
|
110
|
-
question:
|
|
141
|
+
ticker: "AAPL",
|
|
142
|
+
question: "Should I buy AAPL stock?",
|
|
111
143
|
});
|
|
112
144
|
```
|
|
113
145
|
|
|
@@ -116,7 +148,7 @@ const result = await tradingSystem.invoke({
|
|
|
116
148
|
### Alpaca Trading
|
|
117
149
|
|
|
118
150
|
```typescript
|
|
119
|
-
import { createAlpacaClient, AlpacaConfig } from
|
|
151
|
+
import { createAlpacaClient, AlpacaConfig } from "investing/alpaca";
|
|
120
152
|
```
|
|
121
153
|
|
|
122
154
|
#### `createAlpacaClient(config?: AlpacaConfig)`
|
|
@@ -124,12 +156,14 @@ import { createAlpacaClient, AlpacaConfig } from 'investing/alpaca';
|
|
|
124
156
|
Creates an Alpaca API client for trading operations.
|
|
125
157
|
|
|
126
158
|
**Parameters:**
|
|
159
|
+
|
|
127
160
|
- `config.paper` - Use paper trading (default: true)
|
|
128
161
|
- `config.keyId` - Alpaca API key ID
|
|
129
162
|
- `config.secretKey` - Alpaca secret key
|
|
130
163
|
- `config.baseUrl` - Custom base URL (optional)
|
|
131
164
|
|
|
132
165
|
**Environment Variables:**
|
|
166
|
+
|
|
133
167
|
- `ALPACA_API_KEY` or `APCA_API_KEY_ID`
|
|
134
168
|
- `ALPACA_SECRET` or `APCA_API_SECRET_KEY`
|
|
135
169
|
- `ALPACA_BASE_URL` (optional)
|
|
@@ -142,7 +176,7 @@ import {
|
|
|
142
176
|
getHistoricalData,
|
|
143
177
|
getSECFilings,
|
|
144
178
|
StockQuote,
|
|
145
|
-
} from
|
|
179
|
+
} from "investing/stocks";
|
|
146
180
|
```
|
|
147
181
|
|
|
148
182
|
#### `getStockQuote(symbol: string): Promise<StockQuote>`
|
|
@@ -164,7 +198,7 @@ import {
|
|
|
164
198
|
fetchMarkets,
|
|
165
199
|
fetchLeaderboard,
|
|
166
200
|
PolymarketMarket,
|
|
167
|
-
} from
|
|
201
|
+
} from "investing/prediction";
|
|
168
202
|
```
|
|
169
203
|
|
|
170
204
|
#### `fetchMarkets(limit?: number, sortBy?: string)`
|
|
@@ -172,6 +206,7 @@ import {
|
|
|
172
206
|
Fetch active prediction markets from Polymarket.
|
|
173
207
|
|
|
174
208
|
**Parameters:**
|
|
209
|
+
|
|
175
210
|
- `limit` - Number of markets to fetch (default: 50)
|
|
176
211
|
- `sortBy` - Sort field: 'volume24hr', 'liquidity', etc.
|
|
177
212
|
|
|
@@ -180,6 +215,7 @@ Fetch active prediction markets from Polymarket.
|
|
|
180
215
|
Get Polymarket leaderboard of top traders.
|
|
181
216
|
|
|
182
217
|
**Options:**
|
|
218
|
+
|
|
183
219
|
- `timePeriod` - '1d' | '7d' | '30d' | 'all'
|
|
184
220
|
- `orderBy` - 'VOL' | 'PNL'
|
|
185
221
|
- `limit` - Number of results (default: 20)
|
|
@@ -194,7 +230,7 @@ import {
|
|
|
194
230
|
BullResearcher,
|
|
195
231
|
BearResearcher,
|
|
196
232
|
Trader,
|
|
197
|
-
} from
|
|
233
|
+
} from "investing/trading-agents";
|
|
198
234
|
```
|
|
199
235
|
|
|
200
236
|
#### `createTradingGraph(config)`
|
|
@@ -202,6 +238,7 @@ import {
|
|
|
202
238
|
Creates a multi-agent trading system using LangGraph.
|
|
203
239
|
|
|
204
240
|
**Agents:**
|
|
241
|
+
|
|
205
242
|
- `MarketAnalyst` - Analyzes market conditions and trends
|
|
206
243
|
- `BullResearcher` - Researches bullish arguments
|
|
207
244
|
- `BearResearcher` - Researches bearish arguments
|
|
@@ -210,10 +247,11 @@ Creates a multi-agent trading system using LangGraph.
|
|
|
210
247
|
### Constants & Data
|
|
211
248
|
|
|
212
249
|
```typescript
|
|
213
|
-
import { STOCK_INDEXES, SECTORS, CATEGORIES } from
|
|
250
|
+
import { STOCK_INDEXES, SECTORS, CATEGORIES } from "investing/constants";
|
|
214
251
|
```
|
|
215
252
|
|
|
216
253
|
Pre-loaded data files available:
|
|
254
|
+
|
|
217
255
|
- `data/stock-indexes.json` - Major stock indexes (S&P 500, NASDAQ, etc.)
|
|
218
256
|
- `data/sectors-industries.json` - Industry classifications
|
|
219
257
|
- `data/sector-info.json` - Sector descriptions and metrics
|
|
@@ -223,7 +261,7 @@ Pre-loaded data files available:
|
|
|
223
261
|
### Utilities
|
|
224
262
|
|
|
225
263
|
```typescript
|
|
226
|
-
import { cn, setStateInURL } from
|
|
264
|
+
import { cn, setStateInURL } from "investing/utils";
|
|
227
265
|
```
|
|
228
266
|
|
|
229
267
|
#### `cn(...inputs: ClassValue[])`
|
|
@@ -239,12 +277,12 @@ Sync application state to URL parameters for shareable links.
|
|
|
239
277
|
Access pre-packaged data files:
|
|
240
278
|
|
|
241
279
|
```typescript
|
|
242
|
-
import stockIndexes from
|
|
243
|
-
import sectors from
|
|
244
|
-
import stockNames from
|
|
280
|
+
import stockIndexes from "investing/data/stock-indexes.json";
|
|
281
|
+
import sectors from "investing/data/sectors-industries.json";
|
|
282
|
+
import stockNames from "investing/data/stock-names.json";
|
|
245
283
|
|
|
246
284
|
console.log(`Total stocks: ${stockNames.length}`);
|
|
247
|
-
console.log(`S&P 500 stocks: ${stockIndexes[
|
|
285
|
+
console.log(`S&P 500 stocks: ${stockIndexes["S&P 500"].length}`);
|
|
248
286
|
```
|
|
249
287
|
|
|
250
288
|
## Environment Variables
|
|
@@ -278,7 +316,7 @@ import type {
|
|
|
278
316
|
StockQuote,
|
|
279
317
|
PolymarketMarket,
|
|
280
318
|
TradingAgent,
|
|
281
|
-
} from
|
|
319
|
+
} from "investing";
|
|
282
320
|
```
|
|
283
321
|
|
|
284
322
|
## Advanced Usage
|
|
@@ -286,10 +324,10 @@ import type {
|
|
|
286
324
|
### Custom Trading Strategy
|
|
287
325
|
|
|
288
326
|
```typescript
|
|
289
|
-
import { createTradingGraph, BaseTradingAgent } from
|
|
327
|
+
import { createTradingGraph, BaseTradingAgent } from "investing";
|
|
290
328
|
|
|
291
329
|
class MomentumTrader extends BaseTradingAgent {
|
|
292
|
-
name =
|
|
330
|
+
name = "momentum-trader";
|
|
293
331
|
|
|
294
332
|
async analyze(state: TradingState) {
|
|
295
333
|
// Implement your strategy
|
|
@@ -297,24 +335,24 @@ class MomentumTrader extends BaseTradingAgent {
|
|
|
297
335
|
const momentum = this.calculateMomentum(data);
|
|
298
336
|
|
|
299
337
|
return {
|
|
300
|
-
signal: momentum > 0.5 ?
|
|
338
|
+
signal: momentum > 0.5 ? "buy" : "sell",
|
|
301
339
|
confidence: Math.abs(momentum),
|
|
302
340
|
};
|
|
303
341
|
}
|
|
304
342
|
}
|
|
305
343
|
|
|
306
344
|
const strategy = new MomentumTrader();
|
|
307
|
-
const result = await strategy.analyze({ ticker:
|
|
345
|
+
const result = await strategy.analyze({ ticker: "TSLA" });
|
|
308
346
|
```
|
|
309
347
|
|
|
310
348
|
### Multi-Agent Debate System
|
|
311
349
|
|
|
312
350
|
```typescript
|
|
313
|
-
import { createDebateSystem } from
|
|
351
|
+
import { createDebateSystem } from "investing";
|
|
314
352
|
|
|
315
353
|
const debate = await createDebateSystem({
|
|
316
|
-
ticker:
|
|
317
|
-
agents: [
|
|
354
|
+
ticker: "NVDA",
|
|
355
|
+
agents: ["bull_researcher", "bear_researcher", "neutral_analyst"],
|
|
318
356
|
rounds: 3,
|
|
319
357
|
});
|
|
320
358
|
|
|
@@ -326,9 +364,9 @@ console.log(decision.reasoning);
|
|
|
326
364
|
### Batch Stock Analysis
|
|
327
365
|
|
|
328
366
|
```typescript
|
|
329
|
-
import { getStockQuote } from
|
|
367
|
+
import { getStockQuote } from "investing";
|
|
330
368
|
|
|
331
|
-
const tickers = [
|
|
369
|
+
const tickers = ["AAPL", "GOOGL", "MSFT", "AMZN"];
|
|
332
370
|
const quotes = await Promise.all(tickers.map(getStockQuote));
|
|
333
371
|
|
|
334
372
|
const summary = quotes.map((q, i) => ({
|
|
@@ -340,16 +378,21 @@ const summary = quotes.map((q, i) => ({
|
|
|
340
378
|
|
|
341
379
|
## Database Integration (Optional)
|
|
342
380
|
|
|
343
|
-
|
|
381
|
+
Database features target **Cloudflare D1 only**. Install the peer dependency:
|
|
344
382
|
|
|
345
383
|
```bash
|
|
346
|
-
npm install drizzle-orm
|
|
384
|
+
npm install drizzle-orm
|
|
347
385
|
```
|
|
348
386
|
|
|
387
|
+
On Cloudflare Workers the connection uses the `DB` binding. Outside Workers
|
|
388
|
+
(scripts, CI) it reaches the same D1 database over Cloudflare's REST API, which
|
|
389
|
+
needs `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_D1_TOKEN`, and optionally
|
|
390
|
+
`CLOUDFLARE_DATABASE_ID`.
|
|
391
|
+
|
|
349
392
|
Then import database schemas:
|
|
350
393
|
|
|
351
394
|
```typescript
|
|
352
|
-
import { db, stocksTable, positionsTable } from
|
|
395
|
+
import { db, stocksTable, positionsTable } from "investing/db";
|
|
353
396
|
|
|
354
397
|
// Query your database
|
|
355
398
|
const stocks = await db.select().from(stocksTable).limit(10);
|
|
@@ -365,26 +408,11 @@ See the `/examples` directory for complete working examples:
|
|
|
365
408
|
- `examples/trading-bot.ts` - Automated trading bot
|
|
366
409
|
- `examples/multi-agent-research.ts` - AI research agents
|
|
367
410
|
|
|
368
|
-
## Contributing
|
|
369
|
-
|
|
370
|
-
Contributions are welcome! Please read the contributing guidelines before submitting PRs.
|
|
371
|
-
|
|
372
|
-
## License
|
|
373
|
-
|
|
374
|
-
rights.institute/prosper
|
|
375
|
-
|
|
376
411
|
## Links
|
|
377
412
|
|
|
378
413
|
- [GitHub Repository](https://github.com/vtempest/ai-broker-investment-agent)
|
|
379
414
|
- [Documentation](https://invest.vtempest.com/docs)
|
|
380
415
|
- [Examples](./examples)
|
|
381
416
|
|
|
382
|
-
## Support
|
|
383
|
-
|
|
384
|
-
For issues and questions:
|
|
385
417
|
- [GitHub Issues](https://github.com/vtempest/ai-broker-investment-agent/issues)
|
|
386
418
|
- [Documentation](https://invest.vtempest.com/docs)
|
|
387
|
-
|
|
388
|
-
---
|
|
389
|
-
|
|
390
|
-
Built with ❤️ for the investment and trading community.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tv-scraper.d.ts","sourceRoot":"","sources":["../../src/algo-stategies/tv-scraper.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alpaca MCP Client
|
|
3
|
+
* Client for interacting with Alpaca Model Context Protocol server
|
|
4
|
+
* Provides trading, market data, and strategy tools
|
|
5
|
+
*/
|
|
6
|
+
export interface TradingStrategy {
|
|
7
|
+
id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
rules: StrategyRule[];
|
|
11
|
+
riskManagement: RiskManagement;
|
|
12
|
+
symbols: string[];
|
|
13
|
+
active: boolean;
|
|
14
|
+
createdAt?: string;
|
|
15
|
+
updatedAt?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface StrategyRule {
|
|
18
|
+
id: string;
|
|
19
|
+
type: 'entry' | 'exit' | 'position_sizing';
|
|
20
|
+
condition: RuleCondition;
|
|
21
|
+
action: RuleAction;
|
|
22
|
+
}
|
|
23
|
+
export interface RuleCondition {
|
|
24
|
+
indicator: string;
|
|
25
|
+
operator: 'greater_than' | 'less_than' | 'crosses_above' | 'crosses_below' | 'equals';
|
|
26
|
+
value: number | string;
|
|
27
|
+
timeframe?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface RuleAction {
|
|
30
|
+
type: 'buy' | 'sell' | 'close' | 'hold';
|
|
31
|
+
quantity?: number;
|
|
32
|
+
orderType: 'market' | 'limit' | 'stop' | 'stop_limit';
|
|
33
|
+
limitPrice?: number;
|
|
34
|
+
stopPrice?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface RiskManagement {
|
|
37
|
+
maxPositionSize: number;
|
|
38
|
+
stopLoss: number;
|
|
39
|
+
takeProfit: number;
|
|
40
|
+
maxDailyLoss: number;
|
|
41
|
+
trailingStop?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface ChatMessage {
|
|
44
|
+
role: 'user' | 'assistant' | 'system';
|
|
45
|
+
content: string;
|
|
46
|
+
timestamp: Date;
|
|
47
|
+
suggestions?: string[];
|
|
48
|
+
}
|
|
49
|
+
export interface MCPToolCall {
|
|
50
|
+
tool: string;
|
|
51
|
+
arguments: Record<string, any>;
|
|
52
|
+
}
|
|
53
|
+
export interface MCPToolResponse {
|
|
54
|
+
success: boolean;
|
|
55
|
+
data?: any;
|
|
56
|
+
error?: string;
|
|
57
|
+
isText?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Alpaca MCP Client Class
|
|
61
|
+
*/
|
|
62
|
+
export declare class AlpacaMCPClient {
|
|
63
|
+
private baseURL;
|
|
64
|
+
private apiKey?;
|
|
65
|
+
private apiSecret?;
|
|
66
|
+
constructor(config?: {
|
|
67
|
+
baseURL?: string;
|
|
68
|
+
apiKey?: string;
|
|
69
|
+
apiSecret?: string;
|
|
70
|
+
});
|
|
71
|
+
private callTool;
|
|
72
|
+
getAccount(): Promise<unknown>;
|
|
73
|
+
getPositions(): Promise<unknown>;
|
|
74
|
+
getPosition(symbol: string): Promise<unknown>;
|
|
75
|
+
getPortfolioHistory(params?: {
|
|
76
|
+
period?: string;
|
|
77
|
+
timeframe?: string;
|
|
78
|
+
start?: string;
|
|
79
|
+
end?: string;
|
|
80
|
+
}): Promise<unknown>;
|
|
81
|
+
placeOrder(params: {
|
|
82
|
+
symbol: string;
|
|
83
|
+
qty?: number;
|
|
84
|
+
notional?: number;
|
|
85
|
+
side: 'buy' | 'sell';
|
|
86
|
+
type: 'market' | 'limit' | 'stop' | 'stop_limit' | 'trailing_stop';
|
|
87
|
+
time_in_force?: 'day' | 'gtc' | 'ioc' | 'fok';
|
|
88
|
+
limit_price?: number;
|
|
89
|
+
stop_price?: number;
|
|
90
|
+
trail_percent?: number;
|
|
91
|
+
}): Promise<unknown>;
|
|
92
|
+
getOrders(params?: {
|
|
93
|
+
status?: 'open' | 'closed' | 'all';
|
|
94
|
+
limit?: number;
|
|
95
|
+
symbols?: string;
|
|
96
|
+
}): Promise<unknown>;
|
|
97
|
+
getOrder(orderId: string): Promise<unknown>;
|
|
98
|
+
cancelOrder(orderId: string): Promise<unknown>;
|
|
99
|
+
closePosition(symbol: string, qty?: number): Promise<unknown>;
|
|
100
|
+
closeAllPositions(): Promise<unknown>;
|
|
101
|
+
getQuote(symbol: string): Promise<unknown>;
|
|
102
|
+
getBars(params: {
|
|
103
|
+
symbol: string;
|
|
104
|
+
timeframe: string;
|
|
105
|
+
start?: string;
|
|
106
|
+
end?: string;
|
|
107
|
+
limit?: number;
|
|
108
|
+
}): Promise<unknown>;
|
|
109
|
+
getLatestBar(symbol: string): Promise<unknown>;
|
|
110
|
+
getSnapshot(symbol: string): Promise<unknown>;
|
|
111
|
+
searchAssets(params?: {
|
|
112
|
+
status?: 'active' | 'inactive';
|
|
113
|
+
asset_class?: 'us_equity' | 'crypto';
|
|
114
|
+
}): Promise<unknown>;
|
|
115
|
+
getOptionChain(params: {
|
|
116
|
+
underlying_symbol: string;
|
|
117
|
+
expiration_date?: string;
|
|
118
|
+
expiration_date_gte?: string;
|
|
119
|
+
expiration_date_lte?: string;
|
|
120
|
+
type?: 'call' | 'put';
|
|
121
|
+
strike_price_gte?: number;
|
|
122
|
+
strike_price_lte?: number;
|
|
123
|
+
}): Promise<unknown>;
|
|
124
|
+
placeOptionOrder(params: {
|
|
125
|
+
symbol: string;
|
|
126
|
+
side: 'buy' | 'sell';
|
|
127
|
+
qty: number;
|
|
128
|
+
type?: 'market' | 'limit';
|
|
129
|
+
limit_price?: number;
|
|
130
|
+
time_in_force?: 'day' | 'gtc';
|
|
131
|
+
}): Promise<unknown>;
|
|
132
|
+
getCryptoBars(params: {
|
|
133
|
+
symbol: string;
|
|
134
|
+
timeframe: string;
|
|
135
|
+
start?: string;
|
|
136
|
+
end?: string;
|
|
137
|
+
limit?: number;
|
|
138
|
+
}): Promise<unknown>;
|
|
139
|
+
getCryptoQuote(symbol: string): Promise<unknown>;
|
|
140
|
+
placeCryptoOrder(params: {
|
|
141
|
+
symbol: string;
|
|
142
|
+
qty?: number;
|
|
143
|
+
notional?: number;
|
|
144
|
+
side: 'buy' | 'sell';
|
|
145
|
+
type?: 'market' | 'limit';
|
|
146
|
+
limit_price?: number;
|
|
147
|
+
time_in_force?: 'day' | 'gtc' | 'ioc';
|
|
148
|
+
}): Promise<unknown>;
|
|
149
|
+
getWatchlists(): Promise<unknown>;
|
|
150
|
+
createWatchlist(name: string, symbols: string[]): Promise<unknown>;
|
|
151
|
+
addToWatchlist(watchlistId: string, symbol: string): Promise<unknown>;
|
|
152
|
+
deleteWatchlist(watchlistId: string): Promise<unknown>;
|
|
153
|
+
getMarketCalendar(params?: {
|
|
154
|
+
start?: string;
|
|
155
|
+
end?: string;
|
|
156
|
+
}): Promise<unknown>;
|
|
157
|
+
getCorporateActions(params: {
|
|
158
|
+
symbol: string;
|
|
159
|
+
types?: string;
|
|
160
|
+
start?: string;
|
|
161
|
+
end?: string;
|
|
162
|
+
}): Promise<unknown>;
|
|
163
|
+
chatWithAI(messages: ChatMessage[]): Promise<ChatMessage>;
|
|
164
|
+
generateStrategyFromDescription(description: string): Promise<TradingStrategy>;
|
|
165
|
+
}
|
|
166
|
+
export declare function getAlpacaMCPClient(): AlpacaMCPClient;
|
|
167
|
+
export declare const alpacaMCPClient: {
|
|
168
|
+
readonly instance: AlpacaMCPClient;
|
|
169
|
+
};
|
|
170
|
+
export declare function getAccount(): Promise<unknown>;
|
|
171
|
+
export declare function placeOrder(params: Parameters<AlpacaMCPClient['placeOrder']>[0]): Promise<unknown>;
|
|
172
|
+
export declare function getQuote(symbol: string): Promise<unknown>;
|
|
173
|
+
export declare function chatWithAI(messages: ChatMessage[]): Promise<ChatMessage>;
|
|
174
|
+
//# sourceMappingURL=alpaca-mcp-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alpaca-mcp-client.d.ts","sourceRoot":"","sources":["../../src/alpaca/alpaca-mcp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as Alpaca } from '@alpacahq/alpaca-trade-api';
|
|
2
|
+
export interface AlpacaConfig {
|
|
3
|
+
paper?: boolean;
|
|
4
|
+
keyId?: string;
|
|
5
|
+
secretKey?: string;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates an Alpaca API client with the provided configuration
|
|
10
|
+
* Supports both Trading API and Broker API
|
|
11
|
+
* @param config - Configuration options for the Alpaca client
|
|
12
|
+
* @returns Alpaca client instance
|
|
13
|
+
*/
|
|
14
|
+
export declare function createAlpacaClient(config?: Partial<AlpacaConfig>): Alpaca;
|
|
15
|
+
/**
|
|
16
|
+
* Creates an Alpaca Broker API client for creating and managing user accounts
|
|
17
|
+
* @param config - Broker API configuration
|
|
18
|
+
* @returns Alpaca Broker client instance
|
|
19
|
+
*/
|
|
20
|
+
export declare function createAlpacaBrokerClient(config?: Partial<AlpacaConfig>): Alpaca;
|
|
21
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/alpaca/client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,UAqChE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,UAetE"}
|