virtualpixelz commited on
Commit
77285a9
·
verified ·
1 Parent(s): 8be75f6

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +717 -19
  3. prompts.txt +0 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Quant Trader
3
- emoji: 👁
4
- colorFrom: pink
5
- colorTo: red
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: quant-trader
3
+ emoji: 🐳
4
+ colorFrom: purple
5
+ colorTo: pink
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,717 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Quantitative Trading Model</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <style>
11
+ .gradient-bg {
12
+ background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
13
+ }
14
+ .sidebar {
15
+ transition: all 0.3s ease;
16
+ }
17
+ .chart-container {
18
+ position: relative;
19
+ height: 300px;
20
+ }
21
+ .signal-buy {
22
+ background-color: rgba(16, 185, 129, 0.1);
23
+ border-left: 3px solid #10b981;
24
+ }
25
+ .signal-sell {
26
+ background-color: rgba(239, 68, 68, 0.1);
27
+ border-left: 3px solid #ef4444;
28
+ }
29
+ .signal-neutral {
30
+ background-color: rgba(59, 130, 246, 0.1);
31
+ border-left: 3px solid #3b82f6;
32
+ }
33
+ .fade-in {
34
+ animation: fadeIn 0.5s ease-in-out;
35
+ }
36
+ @keyframes fadeIn {
37
+ from { opacity: 0; transform: translateY(10px); }
38
+ to { opacity: 1; transform: translateY(0); }
39
+ }
40
+ .scrollbar-hide::-webkit-scrollbar {
41
+ display: none;
42
+ }
43
+ </style>
44
+ </head>
45
+ <body class="bg-gray-100 font-sans">
46
+ <div class="flex h-screen overflow-hidden">
47
+ <!-- Sidebar -->
48
+ <div class="sidebar bg-white w-64 flex-shrink-0 shadow-lg hidden md:block">
49
+ <div class="p-4 gradient-bg text-white">
50
+ <h1 class="text-xl font-bold">Quant Trading Model</h1>
51
+ <p class="text-blue-200 text-sm">Hybrid Momentum & Mean Reversion</p>
52
+ </div>
53
+ <nav class="mt-4">
54
+ <div class="px-4 py-2">
55
+ <div class="relative">
56
+ <input type="text" placeholder="Search..." class="w-full px-3 py-2 bg-gray-100 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500">
57
+ <i class="fas fa-search absolute right-3 top-3 text-gray-400"></i>
58
+ </div>
59
+ </div>
60
+ <div class="mt-2">
61
+ <a href="#" class="block px-4 py-3 text-blue-600 bg-blue-50 font-medium">
62
+ <i class="fas fa-chart-line mr-2"></i> Dashboard
63
+ </a>
64
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
65
+ <i class="fas fa-cogs mr-2"></i> Strategy Configuration
66
+ </a>
67
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
68
+ <i class="fas fa-database mr-2"></i> Data Management
69
+ </a>
70
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
71
+ <i class="fas fa-chart-bar mr-2"></i> Backtesting
72
+ </a>
73
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
74
+ <i class="fas fa-robot mr-2"></i> Live Trading
75
+ </a>
76
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
77
+ <i class="fas fa-file-alt mr-2"></i> Reports
78
+ </a>
79
+ <a href="#" class="block px-4 py-3 text-gray-600 hover:bg-gray-100">
80
+ <i class="fas fa-bell mr-2"></i> Alerts
81
+ </a>
82
+ </div>
83
+ </nav>
84
+ <div class="absolute bottom-0 w-full p-4 border-t">
85
+ <div class="flex items-center">
86
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="User" class="w-8 h-8 rounded-full">
87
+ <div class="ml-2">
88
+ <p class="text-sm font-medium">John Doe</p>
89
+ <p class="text-xs text-gray-500">Quantitative Analyst</p>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+
95
+ <!-- Main Content -->
96
+ <div class="flex-1 flex flex-col overflow-hidden">
97
+ <!-- Top Navigation -->
98
+ <header class="bg-white shadow-sm z-10">
99
+ <div class="flex items-center justify-between px-6 py-3">
100
+ <div class="flex items-center">
101
+ <button class="md:hidden mr-4 text-gray-500 focus:outline-none">
102
+ <i class="fas fa-bars text-xl"></i>
103
+ </button>
104
+ <h2 class="text-lg font-semibold text-gray-800">Strategy Dashboard</h2>
105
+ </div>
106
+ <div class="flex items-center space-x-4">
107
+ <button class="p-2 text-gray-500 hover:text-gray-700 focus:outline-none">
108
+ <i class="fas fa-bell"></i>
109
+ </button>
110
+ <button class="p-2 text-gray-500 hover:text-gray-700 focus:outline-none">
111
+ <i class="fas fa-question-circle"></i>
112
+ </button>
113
+ <div class="relative">
114
+ <button class="flex items-center focus:outline-none">
115
+ <span class="mr-2 text-sm font-medium">John Doe</span>
116
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="User" class="w-8 h-8 rounded-full">
117
+ </button>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </header>
122
+
123
+ <!-- Content Area -->
124
+ <main class="flex-1 overflow-y-auto p-6 bg-gray-100">
125
+ <!-- Strategy Overview -->
126
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-6">
127
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
128
+ <div class="flex items-center justify-between">
129
+ <div>
130
+ <p class="text-gray-500 text-sm">Total Return</p>
131
+ <h3 class="text-2xl font-bold text-green-600">+42.8%</h3>
132
+ </div>
133
+ <div class="bg-green-100 p-3 rounded-full">
134
+ <i class="fas fa-chart-line text-green-600 text-xl"></i>
135
+ </div>
136
+ </div>
137
+ <div class="mt-4">
138
+ <div class="h-1 w-full bg-gray-200 rounded-full">
139
+ <div class="h-1 bg-green-500 rounded-full" style="width: 75%"></div>
140
+ </div>
141
+ <p class="text-xs text-gray-500 mt-1">Outperforming benchmark by 18.2%</p>
142
+ </div>
143
+ </div>
144
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
145
+ <div class="flex items-center justify-between">
146
+ <div>
147
+ <p class="text-gray-500 text-sm">Sharpe Ratio</p>
148
+ <h3 class="text-2xl font-bold text-blue-600">1.87</h3>
149
+ </div>
150
+ <div class="bg-blue-100 p-3 rounded-full">
151
+ <i class="fas fa-bolt text-blue-600 text-xl"></i>
152
+ </div>
153
+ </div>
154
+ <div class="mt-4">
155
+ <div class="flex items-center">
156
+ <span class="text-xs font-medium text-blue-600">Excellent</span>
157
+ <span class="text-xs text-gray-500 ml-auto">Benchmark: 1.12</span>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
162
+ <div class="flex items-center justify-between">
163
+ <div>
164
+ <p class="text-gray-500 text-sm">Max Drawdown</p>
165
+ <h3 class="text-2xl font-bold text-red-600">-12.4%</h3>
166
+ </div>
167
+ <div class="bg-red-100 p-3 rounded-full">
168
+ <i class="fas fa-arrow-down text-red-600 text-xl"></i>
169
+ </div>
170
+ </div>
171
+ <div class="mt-4">
172
+ <div class="flex items-center">
173
+ <span class="text-xs font-medium text-red-600">Controlled</span>
174
+ <span class="text-xs text-gray-500 ml-auto">Benchmark: -18.7%</span>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
179
+ <div class="flex items-center justify-between">
180
+ <div>
181
+ <p class="text-gray-500 text-sm">Win Rate</p>
182
+ <h3 class="text-2xl font-bold text-purple-600">64.2%</h3>
183
+ </div>
184
+ <div class="bg-purple-100 p-3 rounded-full">
185
+ <i class="fas fa-trophy text-purple-600 text-xl"></i>
186
+ </div>
187
+ </div>
188
+ <div class="mt-4">
189
+ <div class="flex items-center">
190
+ <span class="text-xs font-medium text-purple-600">Good</span>
191
+ <span class="text-xs text-gray-500 ml-auto">Avg Trade: $142</span>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+ <!-- Charts and Data -->
198
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
199
+ <!-- Equity Curve -->
200
+ <div class="bg-white rounded-lg shadow p-6 lg:col-span-2 fade-in">
201
+ <div class="flex items-center justify-between mb-4">
202
+ <h3 class="text-lg font-semibold">Equity Curve</h3>
203
+ <div class="flex space-x-2">
204
+ <button class="px-3 py-1 text-xs bg-blue-100 text-blue-600 rounded-full">1Y</button>
205
+ <button class="px-3 py-1 text-xs bg-gray-100 text-gray-600 rounded-full">3Y</button>
206
+ <button class="px-3 py-1 text-xs bg-gray-100 text-gray-600 rounded-full">5Y</button>
207
+ <button class="px-3 py-1 text-xs bg-gray-100 text-gray-600 rounded-full">All</button>
208
+ </div>
209
+ </div>
210
+ <div class="chart-container">
211
+ <canvas id="equityChart"></canvas>
212
+ </div>
213
+ </div>
214
+
215
+ <!-- Strategy Allocation -->
216
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
217
+ <h3 class="text-lg font-semibold mb-4">Strategy Allocation</h3>
218
+ <div class="flex justify-center">
219
+ <div class="w-40 h-40">
220
+ <canvas id="allocationChart"></canvas>
221
+ </div>
222
+ </div>
223
+ <div class="mt-4 space-y-2">
224
+ <div class="flex items-center">
225
+ <div class="w-3 h-3 bg-blue-500 rounded-full mr-2"></div>
226
+ <span class="text-sm">Momentum (58%)</span>
227
+ </div>
228
+ <div class="flex items-center">
229
+ <div class="w-3 h-3 bg-green-500 rounded-full mr-2"></div>
230
+ <span class="text-sm">Mean Reversion (32%)</span>
231
+ </div>
232
+ <div class="flex items-center">
233
+ <div class="w-3 h-3 bg-gray-400 rounded-full mr-2"></div>
234
+ <span class="text-sm">Cash (10%)</span>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <!-- Recent Signals and Performance -->
241
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
242
+ <!-- Recent Signals -->
243
+ <div class="bg-white rounded-lg shadow p-6 fade-in">
244
+ <h3 class="text-lg font-semibold mb-4">Recent Trading Signals</h3>
245
+ <div class="space-y-3 max-h-96 overflow-y-auto scrollbar-hide">
246
+ <div class="p-3 rounded-lg signal-buy">
247
+ <div class="flex items-center justify-between">
248
+ <div>
249
+ <span class="font-medium">Buy Signal</span>
250
+ <p class="text-xs text-gray-500">ES1! (E-mini S&P 500)</p>
251
+ </div>
252
+ <span class="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">Momentum</span>
253
+ </div>
254
+ <div class="mt-2 flex justify-between items-center">
255
+ <span class="text-sm">Entry: 4523.25</span>
256
+ <span class="text-xs text-gray-500">2 mins ago</span>
257
+ </div>
258
+ </div>
259
+ <div class="p-3 rounded-lg signal-sell">
260
+ <div class="flex items-center justify-between">
261
+ <div>
262
+ <span class="font-medium">Sell Signal</span>
263
+ <p class="text-xs text-gray-500">NQ1! (Nasdaq 100)</p>
264
+ </div>
265
+ <span class="text-xs bg-red-100 text-red-800 px-2 py-1 rounded-full">Reversion</span>
266
+ </div>
267
+ <div class="mt-2 flex justify-between items-center">
268
+ <span class="text-sm">Entry: 15432.50</span>
269
+ <span class="text-xs text-gray-500">15 mins ago</span>
270
+ </div>
271
+ </div>
272
+ <div class="p-3 rounded-lg signal-neutral">
273
+ <div class="flex items-center justify-between">
274
+ <div>
275
+ <span class="font-medium">Neutral Signal</span>
276
+ <p class="text-xs text-gray-500">RTY1! (Russell 2000)</p>
277
+ </div>
278
+ <span class="text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full">Regime Shift</span>
279
+ </div>
280
+ <div class="mt-2 flex justify-between items-center">
281
+ <span class="text-sm">Exit: 1987.75</span>
282
+ <span class="text-xs text-gray-500">32 mins ago</span>
283
+ </div>
284
+ </div>
285
+ <div class="p-3 rounded-lg signal-buy">
286
+ <div class="flex items-center justify-between">
287
+ <div>
288
+ <span class="font-medium">Buy Signal</span>
289
+ <p class="text-xs text-gray-500">CL1! (Crude Oil)</p>
290
+ </div>
291
+ <span class="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">Momentum</span>
292
+ </div>
293
+ <div class="mt-2 flex justify-between items-center">
294
+ <span class="text-sm">Entry: 82.45</span>
295
+ <span class="text-xs text-gray-500">1 hour ago</span>
296
+ </div>
297
+ </div>
298
+ <div class="p-3 rounded-lg signal-sell">
299
+ <div class="flex items-center justify-between">
300
+ <div>
301
+ <span class="font-medium">Sell Signal</span>
302
+ <p class="text-xs text-gray-500">GC1! (Gold)</p>
303
+ </div>
304
+ <span class="text-xs bg-red-100 text-red-800 px-2 py-1 rounded-full">Reversion</span>
305
+ </div>
306
+ <div class="mt-2 flex justify-between items-center">
307
+ <span class="text-sm">Entry: 1942.30</span>
308
+ <span class="text-xs text-gray-500">2 hours ago</span>
309
+ </div>
310
+ </div>
311
+ </div>
312
+ </div>
313
+
314
+ <!-- Performance Metrics -->
315
+ <div class="bg-white rounded-lg shadow p-6 fade-in lg:col-span-2">
316
+ <h3 class="text-lg font-semibold mb-4">Detailed Performance Metrics</h3>
317
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
318
+ <div class="bg-gray-50 p-4 rounded-lg">
319
+ <h4 class="text-sm font-medium text-gray-500 mb-2">Risk Metrics</h4>
320
+ <div class="space-y-3">
321
+ <div>
322
+ <div class="flex justify-between text-sm">
323
+ <span>Sharpe Ratio</span>
324
+ <span class="font-medium">1.87</span>
325
+ </div>
326
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
327
+ <div class="bg-blue-600 h-1.5 rounded-full" style="width: 85%"></div>
328
+ </div>
329
+ </div>
330
+ <div>
331
+ <div class="flex justify-between text-sm">
332
+ <span>Sortino Ratio</span>
333
+ <span class="font-medium">2.34</span>
334
+ </div>
335
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
336
+ <div class="bg-green-600 h-1.5 rounded-full" style="width: 90%"></div>
337
+ </div>
338
+ </div>
339
+ <div>
340
+ <div class="flex justify-between text-sm">
341
+ <span>Max Drawdown</span>
342
+ <span class="font-medium">-12.4%</span>
343
+ </div>
344
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
345
+ <div class="bg-red-600 h-1.5 rounded-full" style="width: 40%"></div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ </div>
350
+ <div class="bg-gray-50 p-4 rounded-lg">
351
+ <h4 class="text-sm font-medium text-gray-500 mb-2">Trade Metrics</h4>
352
+ <div class="space-y-3">
353
+ <div>
354
+ <div class="flex justify-between text-sm">
355
+ <span>Win Rate</span>
356
+ <span class="font-medium">64.2%</span>
357
+ </div>
358
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
359
+ <div class="bg-purple-600 h-1.5 rounded-full" style="width: 64%"></div>
360
+ </div>
361
+ </div>
362
+ <div>
363
+ <div class="flex justify-between text-sm">
364
+ <span>Profit Factor</span>
365
+ <span class="font-medium">1.92</span>
366
+ </div>
367
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
368
+ <div class="bg-yellow-600 h-1.5 rounded-full" style="width: 76%"></div>
369
+ </div>
370
+ </div>
371
+ <div>
372
+ <div class="flex justify-between text-sm">
373
+ <span>Avg Trade Duration</span>
374
+ <span class="font-medium">2.4h</span>
375
+ </div>
376
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
377
+ <div class="bg-indigo-600 h-1.5 rounded-full" style="width: 60%"></div>
378
+ </div>
379
+ </div>
380
+ </div>
381
+ </div>
382
+ <div class="bg-gray-50 p-4 rounded-lg">
383
+ <h4 class="text-sm font-medium text-gray-500 mb-2">Market Regimes</h4>
384
+ <div class="space-y-3">
385
+ <div>
386
+ <div class="flex justify-between text-sm">
387
+ <span>Trending Markets</span>
388
+ <span class="font-medium">+28.7%</span>
389
+ </div>
390
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
391
+ <div class="bg-blue-600 h-1.5 rounded-full" style="width: 72%"></div>
392
+ </div>
393
+ </div>
394
+ <div>
395
+ <div class="flex justify-between text-sm">
396
+ <span>Ranging Markets</span>
397
+ <span class="font-medium">+14.1%</span>
398
+ </div>
399
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
400
+ <div class="bg-green-600 h-1.5 rounded-full" style="width: 35%"></div>
401
+ </div>
402
+ </div>
403
+ <div>
404
+ <div class="flex justify-between text-sm">
405
+ <span>High Volatility</span>
406
+ <span class="font-medium">+5.2%</span>
407
+ </div>
408
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
409
+ <div class="bg-red-600 h-1.5 rounded-full" style="width: 13%"></div>
410
+ </div>
411
+ </div>
412
+ </div>
413
+ </div>
414
+ <div class="bg-gray-50 p-4 rounded-lg">
415
+ <h4 class="text-sm font-medium text-gray-500 mb-2">Strategy Components</h4>
416
+ <div class="space-y-3">
417
+ <div>
418
+ <div class="flex justify-between text-sm">
419
+ <span>Momentum</span>
420
+ <span class="font-medium">+32.4%</span>
421
+ </div>
422
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
423
+ <div class="bg-purple-600 h-1.5 rounded-full" style="width: 65%"></div>
424
+ </div>
425
+ </div>
426
+ <div>
427
+ <div class="flex justify-between text-sm">
428
+ <span>Mean Reversion</span>
429
+ <span class="font-medium">+10.4%</span>
430
+ </div>
431
+ <div class="w-full bg-gray-200 rounded-full h-1.5 mt-1">
432
+ <div class="bg-yellow-600 h-1.5 rounded-full" style="width: 21%"></div>
433
+ </div>
434
+ </div>
435
+ </div>
436
+ </div>
437
+ </div>
438
+ </div>
439
+ </div>
440
+
441
+ <!-- Recent Trades -->
442
+ <div class="bg-white rounded-lg shadow overflow-hidden fade-in">
443
+ <div class="p-6 border-b">
444
+ <h3 class="text-lg font-semibold">Recent Trades</h3>
445
+ </div>
446
+ <div class="overflow-x-auto">
447
+ <table class="min-w-full divide-y divide-gray-200">
448
+ <thead class="bg-gray-50">
449
+ <tr>
450
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Symbol</th>
451
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Type</th>
452
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Entry</th>
453
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Exit</th>
454
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">P&L</th>
455
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Duration</th>
456
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
457
+ </tr>
458
+ </thead>
459
+ <tbody class="bg-white divide-y divide-gray-200">
460
+ <tr>
461
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">ES1!</td>
462
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Buy</td>
463
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">4523.25</td>
464
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">4541.75</td>
465
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-green-600">+$368.50</td>
466
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1h 24m</td>
467
+ <td class="px-6 py-4 whitespace-nowrap">
468
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Closed</span>
469
+ </td>
470
+ </tr>
471
+ <tr>
472
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">NQ1!</td>
473
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Sell</td>
474
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15432.50</td>
475
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">15387.25</td>
476
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-green-600">+$542.75</td>
477
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">2h 15m</td>
478
+ <td class="px-6 py-4 whitespace-nowrap">
479
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Closed</span>
480
+ </td>
481
+ </tr>
482
+ <tr>
483
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">CL1!</td>
484
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Buy</td>
485
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">82.45</td>
486
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td>
487
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-blue-600">+$127.80</td>
488
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">45m</td>
489
+ <td class="px-6 py-4 whitespace-nowrap">
490
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">Active</span>
491
+ </td>
492
+ </tr>
493
+ <tr>
494
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">GC1!</td>
495
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Sell</td>
496
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1942.30</td>
497
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1935.75</td>
498
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-green-600">+$655.00</td>
499
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">3h 8m</td>
500
+ <td class="px-6 py-4 whitespace-nowrap">
501
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">Closed</span>
502
+ </td>
503
+ </tr>
504
+ <tr>
505
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">RTY1!</td>
506
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Buy</td>
507
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1987.75</td>
508
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1975.50</td>
509
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-red-600">-$122.50</td>
510
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">4h 22m</td>
511
+ <td class="px-6 py-4 whitespace-nowrap">
512
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">Stopped</span>
513
+ </td>
514
+ </tr>
515
+ </tbody>
516
+ </table>
517
+ </div>
518
+ <div class="bg-gray-50 px-6 py-3 flex items-center justify-between border-t border-gray-200">
519
+ <div class="flex-1 flex justify-between sm:hidden">
520
+ <a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50"> Previous </a>
521
+ <a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50"> Next </a>
522
+ </div>
523
+ <div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
524
+ <div>
525
+ <p class="text-sm text-gray-700">
526
+ Showing <span class="font-medium">1</span> to <span class="font-medium">5</span> of <span class="font-medium">124</span> trades
527
+ </p>
528
+ </div>
529
+ <div>
530
+ <nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
531
+ <a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
532
+ <span class="sr-only">Previous</span>
533
+ <i class="fas fa-chevron-left"></i>
534
+ </a>
535
+ <a href="#" aria-current="page" class="z-10 bg-blue-50 border-blue-500 text-blue-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 1 </a>
536
+ <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 2 </a>
537
+ <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 3 </a>
538
+ <span class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700"> ... </span>
539
+ <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 8 </a>
540
+ <a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
541
+ <span class="sr-only">Next</span>
542
+ <i class="fas fa-chevron-right"></i>
543
+ </a>
544
+ </nav>
545
+ </div>
546
+ </div>
547
+ </div>
548
+ </div>
549
+ </main>
550
+ </div>
551
+ </div>
552
+
553
+ <script>
554
+ // Equity Curve Chart
555
+ const equityCtx = document.getElementById('equityChart').getContext('2d');
556
+ const equityChart = new Chart(equityCtx, {
557
+ type: 'line',
558
+ data: {
559
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
560
+ datasets: [
561
+ {
562
+ label: 'Strategy',
563
+ data: [100000, 102500, 104800, 107200, 110500, 112300, 115600, 117800, 120400, 123500, 126800, 130200],
564
+ borderColor: '#3b82f6',
565
+ backgroundColor: 'rgba(59, 130, 246, 0.05)',
566
+ borderWidth: 2,
567
+ fill: true,
568
+ tension: 0.3
569
+ },
570
+ {
571
+ label: 'Benchmark',
572
+ data: [100000, 101200, 102800, 104500, 106000, 107500, 109200, 110800, 112500, 114000, 115500, 117200],
573
+ borderColor: '#94a3b8',
574
+ backgroundColor: 'rgba(148, 163, 184, 0.05)',
575
+ borderWidth: 1,
576
+ borderDash: [5, 5],
577
+ fill: true,
578
+ tension: 0.3
579
+ }
580
+ ]
581
+ },
582
+ options: {
583
+ responsive: true,
584
+ maintainAspectRatio: false,
585
+ plugins: {
586
+ legend: {
587
+ position: 'top',
588
+ },
589
+ tooltip: {
590
+ mode: 'index',
591
+ intersect: false,
592
+ }
593
+ },
594
+ scales: {
595
+ y: {
596
+ beginAtZero: false,
597
+ ticks: {
598
+ callback: function(value) {
599
+ return '$' + value.toLocaleString();
600
+ }
601
+ }
602
+ }
603
+ },
604
+ interaction: {
605
+ mode: 'nearest',
606
+ axis: 'x',
607
+ intersect: false
608
+ }
609
+ }
610
+ });
611
+
612
+ // Allocation Chart
613
+ const allocationCtx = document.getElementById('allocationChart').getContext('2d');
614
+ const allocationChart = new Chart(allocationCtx, {
615
+ type: 'doughnut',
616
+ data: {
617
+ labels: ['Momentum', 'Mean Reversion', 'Cash'],
618
+ datasets: [{
619
+ data: [58, 32, 10],
620
+ backgroundColor: [
621
+ '#3b82f6',
622
+ '#10b981',
623
+ '#94a3b8'
624
+ ],
625
+ borderWidth: 0
626
+ }]
627
+ },
628
+ options: {
629
+ responsive: true,
630
+ maintainAspectRatio: false,
631
+ cutout: '70%',
632
+ plugins: {
633
+ legend: {
634
+ display: false
635
+ }
636
+ }
637
+ }
638
+ });
639
+
640
+ // Fade in animation for elements
641
+ document.addEventListener('DOMContentLoaded', function() {
642
+ const fadeElements = document.querySelectorAll('.fade-in');
643
+ fadeElements.forEach((el, index) => {
644
+ setTimeout(() => {
645
+ el.style.opacity = '1';
646
+ }, index * 100);
647
+ });
648
+ });
649
+
650
+ // Simulate real-time updates
651
+ setInterval(() => {
652
+ // Update equity chart with new data point
653
+ const newLabel = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
654
+ const newData = equityChart.data.datasets[0].data[equityChart.data.datasets[0].data.length - 1] +
655
+ (Math.random() * 2000 - 1000);
656
+ const newBenchmark = equityChart.data.datasets[1].data[equityChart.data.datasets[1].data.length - 1] +
657
+ (Math.random() * 1000 - 500);
658
+
659
+ // Shift data if too many points
660
+ if (equityChart.data.labels.length > 20) {
661
+ equityChart.data.labels.shift();
662
+ equityChart.data.datasets[0].data.shift();
663
+ equityChart.data.datasets[1].data.shift();
664
+ }
665
+
666
+ equityChart.data.labels.push(newLabel);
667
+ equityChart.data.datasets[0].data.push(newData);
668
+ equityChart.data.datasets[1].data.push(newBenchmark);
669
+ equityChart.update();
670
+
671
+ // Simulate new signal
672
+ const signals = ['Buy Signal', 'Sell Signal', 'Neutral Signal'];
673
+ const instruments = ['ES1!', 'NQ1!', 'CL1!', 'GC1!', 'RTY1!'];
674
+ const signalTypes = ['Momentum', 'Reversion', 'Regime Shift'];
675
+ const randomSignal = signals[Math.floor(Math.random() * signals.length)];
676
+ const randomInstrument = instruments[Math.floor(Math.random() * instruments.length)];
677
+ const randomPrice = (Math.random() * 5000 + 1000).toFixed(2);
678
+ const randomType = signalTypes[Math.floor(Math.random() * signalTypes.length)];
679
+
680
+ const signalContainer = document.querySelector('.space-y-3');
681
+ const newSignal = document.createElement('div');
682
+
683
+ if (randomSignal === 'Buy Signal') {
684
+ newSignal.className = 'p-3 rounded-lg signal-buy';
685
+ } else if (randomSignal === 'Sell Signal') {
686
+ newSignal.className = 'p-3 rounded-lg signal-sell';
687
+ } else {
688
+ newSignal.className = 'p-3 rounded-lg signal-neutral';
689
+ }
690
+
691
+ newSignal.innerHTML = `
692
+ <div class="flex items-center justify-between">
693
+ <div>
694
+ <span class="font-medium">${randomSignal}</span>
695
+ <p class="text-xs text-gray-500">${randomInstrument}</p>
696
+ </div>
697
+ <span class="text-xs ${randomSignal === 'Buy Signal' ? 'bg-green-100 text-green-800' :
698
+ randomSignal === 'Sell Signal' ? 'bg-red-100 text-red-800' :
699
+ 'bg-blue-100 text-blue-800'} px-2 py-1 rounded-full">${randomType}</span>
700
+ </div>
701
+ <div class="mt-2 flex justify-between items-center">
702
+ <span class="text-sm">${randomSignal === 'Neutral Signal' ? 'Exit' : 'Entry'}: ${randomPrice}</span>
703
+ <span class="text-xs text-gray-500">just now</span>
704
+ </div>
705
+ `;
706
+
707
+ signalContainer.prepend(newSignal);
708
+
709
+ // Keep only last 5 signals
710
+ if (signalContainer.children.length > 5) {
711
+ signalContainer.removeChild(signalContainer.lastChild);
712
+ }
713
+
714
+ }, 10000); // Update every 10 seconds
715
+ </script>
716
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=virtualpixelz/quant-trader" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
717
+ </html>
prompts.txt ADDED
File without changes