mvbhr commited on
Commit
f5138a5
·
verified ·
1 Parent(s): c3ad97a

Upload pages/api/stocks.js with huggingface_hub

Browse files
Files changed (1) hide show
  1. pages/api/stocks.js +64 -0
pages/api/stocks.js ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export default function handler(req, res) {
2
+ const generateRandomPrice = (base, volatility = 0.02) => {
3
+ return base * (1 + (Math.random() - 0.5) * volatility)
4
+ }
5
+
6
+ const generateChange = () => {
7
+ return (Math.random() - 0.48) * 10
8
+ }
9
+
10
+ const stocks = [
11
+ { symbol: 'AAPL', name: 'Apple Inc.', basePrice: 178.50 },
12
+ { symbol: 'MSFT', name: 'Microsoft', basePrice: 378.85 },
13
+ { symbol: 'GOOGL', name: 'Alphabet', basePrice: 139.62 },
14
+ { symbol: 'AMZN', name: 'Amazon', basePrice: 145.78 },
15
+ { symbol: 'META', name: 'Meta Platforms', basePrice: 312.45 },
16
+ { symbol: 'TSLA', name: 'Tesla', basePrice: 248.50 },
17
+ { symbol: 'NVDA', name: 'NVIDIA', basePrice: 485.09 },
18
+ { symbol: 'NFLX', name: 'Netflix', basePrice: 445.03 },
19
+ ]
20
+
21
+ const stocksData = stocks.map(stock => {
22
+ const price = generateRandomPrice(stock.basePrice)
23
+ const change = generateChange()
24
+ const changePercent = (change / stock.basePrice) * 100
25
+
26
+ return {
27
+ ...stock,
28
+ price: price.toFixed(2),
29
+ change: change.toFixed(2),
30
+ changePercent: changePercent.toFixed(2),
31
+ volume: Math.floor(Math.random() * 100000000) + 10000000,
32
+ marketCap: (price * 1000000000).toFixed(0),
33
+ }
34
+ })
35
+
36
+ const marketOverview = {
37
+ sp500: {
38
+ value: 4514.02,
39
+ change: 15.36,
40
+ changePercent: 0.34
41
+ },
42
+ nasdaq: {
43
+ value: 14113.70,
44
+ change: 123.45,
45
+ changePercent: 0.88
46
+ },
47
+ dow: {
48
+ value: 35430.42,
49
+ change: -45.12,
50
+ changePercent: -0.13
51
+ },
52
+ vix: {
53
+ value: 14.82,
54
+ change: -0.45,
55
+ changePercent: -2.95
56
+ }
57
+ }
58
+
59
+ res.status(200).json({
60
+ stocks: stocksData,
61
+ marketOverview,
62
+ timestamp: new Date().toISOString()
63
+ })
64
+ }