Files
2026-02-18 20:44:28 +08:00

844 lines
50 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Quantitative Trading Platform - Interactive Mockup</title>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
<!-- Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<!-- Custom CSS -->
<link rel="stylesheet" href="css/style.css">
<style>
/* Base styles will be in css/style.css, but some critical ones here */
:root {
--primary-dark: #0a1929;
--secondary-dark: #1e2a38;
--accent-blue: #1976d2;
--accent-green: #4caf50;
--accent-red: #f44336;
--accent-purple: #9c27b0;
--accent-orange: #ff9800;
--text-primary: #ffffff;
--text-secondary: #b0bec5;
}
body {
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
overflow-x: hidden;
}
</style>
</head>
<body class="bg-dark text-light">
<!-- Top Navigation Bar -->
<nav class="navbar navbar-dark bg-primary-dark border-bottom border-secondary-dark">
<div class="container-fluid">
<a class="navbar-brand fw-bold" href="#">
<i class="bi bi-graph-up-arrow me-2"></i>
Quantitative Trading Platform
</a>
<div class="d-flex align-items-center">
<div class="me-3">
<span class="badge bg-success">LIVE</span>
<small class="text-muted ms-2">Mock Data</small>
</div>
<div class="btn-group">
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-person-circle"></i> James Tang
</button>
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-gear"></i>
</button>
</div>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<!-- Sidebar Navigation -->
<div class="col-md-3 col-lg-2 d-md-block bg-secondary-dark sidebar collapse border-end border-secondary-dark" id="sidebarMenu">
<div class="position-sticky pt-3">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" href="#dashboard" data-section="dashboard">
<i class="bi bi-speedometer2 me-2"></i>
Dashboard
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#data-management" data-section="data-management">
<i class="bi bi-database me-2"></i>
Data Management
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#strategy-engine" data-section="strategy-engine">
<i class="bi bi-cpu me-2"></i>
Strategy Engine
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#risk-management" data-section="risk-management">
<i class="bi bi-shield-exclamation me-2"></i>
Risk Management
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#trade-execution" data-section="trade-execution">
<i class="bi bi-arrow-left-right me-2"></i>
Trade Execution
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#reports" data-section="reports">
<i class="bi bi-file-text me-2"></i>
Reports & Analytics
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#alerts" data-section="alerts">
<i class="bi bi-bell me-2"></i>
Alerting System
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#configuration" data-section="configuration">
<i class="bi bi-sliders me-2"></i>
Configuration
</a>
</li>
</ul>
<hr class="border-secondary-dark my-4">
<div class="px-3">
<h6 class="text-uppercase text-muted mb-3">System Status</h6>
<div class="mb-2">
<small class="text-muted">Data Layer</small>
<div class="progress bg-dark" style="height: 4px;">
<div class="progress-bar bg-success" style="width: 95%"></div>
</div>
</div>
<div class="mb-2">
<small class="text-muted">Strategy Engine</small>
<div class="progress bg-dark" style="height: 4px;">
<div class="progress-bar bg-success" style="width: 88%"></div>
</div>
</div>
<div class="mb-2">
<small class="text-muted">Risk Management</small>
<div class="progress bg-dark" style="height: 4px;">
<div class="progress-bar bg-warning" style="width: 72%"></div>
</div>
</div>
</div>
</div>
</div>
<!-- Main Content Area -->
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 pt-3">
<!-- Section: Dashboard (Default) -->
<div id="dashboard-section" class="section-content">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-speedometer2 text-accent-blue me-2"></i>
Dashboard
</h1>
<div class="btn-toolbar">
<div class="btn-group me-2">
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-arrow-clockwise"></i> Refresh
</button>
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-calendar"></i> Today
</button>
</div>
</div>
</div>
<!-- Key Metrics Cards -->
<div class="row mb-4">
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-accent-green">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h6 class="card-subtitle text-muted">Total P&L</h6>
<h3 class="card-title mt-2 text-success">$42,580</h3>
</div>
<i class="bi bi-graph-up text-success fs-1"></i>
</div>
<p class="card-text">
<small class="text-muted">+12.4% MTD</small>
</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-accent-red">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h6 class="card-subtitle text-muted">Max Drawdown</h6>
<h3 class="card-title mt-2 text-danger">-$8,420</h3>
</div>
<i class="bi bi-graph-down text-danger fs-1"></i>
</div>
<p class="card-text">
<small class="text-muted">-4.2% from peak</small>
</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-accent-blue">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h6 class="card-subtitle text-muted">Win Rate</h6>
<h3 class="card-title mt-2 text-info">64.8%</h3>
</div>
<i class="bi bi-percent text-info fs-1"></i>
</div>
<p class="card-text">
<small class="text-muted">182 winning trades</small>
</p>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-accent-orange">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h6 class="card-subtitle text-muted">Active Strategies</h6>
<h3 class="card-title mt-2 text-warning">4</h3>
</div>
<i class="bi bi-cpu text-warning fs-1"></i>
</div>
<p class="card-text">
<small class="text-muted">2 in paper trading</small>
</p>
</div>
</div>
</div>
</div>
<!-- Charts Row -->
<div class="row mb-4">
<div class="col-lg-8">
<div class="card bg-primary-dark border-secondary-dark mb-3">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Portfolio Performance</h6>
</div>
<div class="card-body">
<canvas id="portfolioChart" height="250"></canvas>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card bg-primary-dark border-secondary-dark mb-3">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Top Holdings</h6>
</div>
<div class="card-body">
<div class="list-group list-group-flush">
<div class="list-group-item bg-transparent border-secondary-dark d-flex justify-content-between">
<span>AAPL</span>
<span class="text-success">+12.4%</span>
</div>
<div class="list-group-item bg-transparent border-secondary-dark d-flex justify-content-between">
<span>MSFT</span>
<span class="text-success">+8.7%</span>
</div>
<div class="list-group-item bg-transparent border-secondary-dark d-flex justify-content-between">
<span>GOOGL</span>
<span class="text-danger">-2.3%</span>
</div>
<div class="list-group-item bg-transparent border-secondary-dark d-flex justify-content-between">
<span>TSLA</span>
<span class="text-success">+15.2%</span>
</div>
<div class="list-group-item bg-transparent border-secondary-dark d-flex justify-content-between">
<span>NVDA</span>
<span class="text-success">+24.1%</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Recent Activity -->
<div class="row">
<div class="col-12">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark d-flex justify-content-between align-items-center">
<h6 class="mb-0">Recent Trades</h6>
<button class="btn btn-sm btn-outline-light">View All</button>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-dark table-hover mb-0">
<thead>
<tr>
<th>Time</th>
<th>Symbol</th>
<th>Action</th>
<th>Quantity</th>
<th>Price</th>
<th>P&L</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>10:45 AM</td>
<td>AAPL</td>
<td><span class="badge bg-success">BUY</span></td>
<td>50</td>
<td>$182.34</td>
<td class="text-success">+$420</td>
<td><span class="badge bg-success">Filled</span></td>
</tr>
<tr>
<td>10:30 AM</td>
<td>TSLA</td>
<td><span class="badge bg-danger">SELL</span></td>
<td>25</td>
<td>$245.67</td>
<td class="text-success">+$1,250</td>
<td><span class="badge bg-success">Filled</span></td>
</tr>
<tr>
<td>09:15 AM</td>
<td>MSFT</td>
<td><span class="badge bg-success">BUY</span></td>
<td>100</td>
<td>$412.89</td>
<td class="text-warning">Pending</td>
<td><span class="badge bg-warning">Pending</span></td>
</tr>
<tr>
<td>Yesterday</td>
<td>GOOGL</td>
<td><span class="badge bg-danger">SELL</span></td>
<td>75</td>
<td>$145.23</td>
<td class="text-danger">-$320</td>
<td><span class="badge bg-success">Filled</span></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Section: Data Management (Hidden) -->
<div id="data-management-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-database text-accent-blue me-2"></i>
Data Management
</h1>
<div class="btn-toolbar">
<div class="btn-group me-2">
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-plus-circle"></i> Add Source
</button>
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-arrow-clockwise"></i> Sync Now
</button>
</div>
</div>
</div>
<!-- Data Sources Cards -->
<div class="row mb-4">
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-accent-blue">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-3">
<h5 class="card-title mb-0">Moomoo API</h5>
<span class="badge bg-success">Connected</span>
</div>
<p class="card-text text-muted">Real-time market data, historical OHLCV, order execution</p>
<div class="mb-3">
<small class="text-muted">Rate Limit</small>
<div class="progress bg-dark" style="height: 6px;">
<div class="progress-bar bg-info" style="width: 65%"></div>
</div>
<small class="text-muted">42/60 requests per minute</small>
</div>
<div class="d-grid gap-2">
<button class="btn btn-outline-light btn-sm">Configure</button>
<button class="btn btn-outline-danger btn-sm">Disconnect</button>
</div>
</div>
</div>
</div>
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-accent-purple">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-3">
<h5 class="card-title mb-0">Alternative Data</h5>
<span class="badge bg-warning">Partial</span>
</div>
<p class="card-text text-muted">Economic calendar, news feeds, sentiment analysis</p>
<div class="mb-3">
<small class="text-muted">Data Quality</small>
<div class="progress bg-dark" style="height: 6px;">
<div class="progress-bar bg-warning" style="width: 78%"></div>
</div>
<small class="text-muted">78% completeness</small>
</div>
<div class="d-grid gap-2">
<button class="btn btn-outline-light btn-sm">Add Sources</button>
<button class="btn btn-outline-info btn-sm">Quality Report</button>
</div>
</div>
</div>
</div>
</div>
<!-- Data Quality Monitoring -->
<div class="row mb-4">
<div class="col-12">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Data Quality Dashboard</h6>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-3 text-center mb-3">
<div class="display-4 text-success">99.2%</div>
<small class="text-muted">Uptime</small>
</div>
<div class="col-md-3 text-center mb-3">
<div class="display-4 text-info">12ms</div>
<small class="text-muted">Avg Latency</small>
</div>
<div class="col-md-3 text-center mb-3">
<div class="display-4 text-warning">0.8%</div>
<small class="text-muted">Missing Data</small>
</div>
<div class="col-md-3 text-center mb-3">
<div class="display-4 text-danger">3</div>
<small class="text-muted">Anomalies Today</small>
</div>
</div>
<canvas id="dataQualityChart" height="150"></canvas>
</div>
</div>
</div>
</div>
</div>
<!-- Section: Strategy Engine (Hidden) -->
<div id="strategy-engine-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-cpu text-accent-purple me-2"></i>
Strategy Engine
</h1>
<div class="btn-toolbar">
<div class="btn-group me-2">
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-plus-circle"></i> New Strategy
</button>
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-play-circle"></i> Run Backtest
</button>
</div>
</div>
</div>
<!-- Active Strategies -->
<div class="row mb-4">
<div class="col-12">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark d-flex justify-content-between align-items-center">
<h6 class="mb-0">Active Strategies</h6>
<div class="btn-group">
<button class="btn btn-sm btn-outline-success">Live</button>
<button class="btn btn-sm btn-outline-warning">Paper</button>
<button class="btn btn-sm btn-outline-secondary">Paused</button>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-dark table-hover mb-0">
<thead>
<tr>
<th>Strategy</th>
<th>Type</th>
<th>Status</th>
<th>P&L</th>
<th>Win Rate</th>
<th>Sharpe</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<strong>Dual Momentum</strong>
<br><small class="text-muted">Large-cap US stocks</small>
</td>
<td><span class="badge bg-info">Trend Following</span></td>
<td><span class="badge bg-success">Live</span></td>
<td class="text-success">+$18,420</td>
<td>68.2%</td>
<td>1.85</td>
<td>
<button class="btn btn-sm btn-outline-light">Edit</button>
<button class="btn btn-sm btn-outline-warning">Pause</button>
</td>
</tr>
<tr>
<td>
<strong>Mean Reversion</strong>
<br><small class="text-muted">S&P 500 components</small>
</td>
<td><span class="badge bg-warning">Mean Reversion</span></td>
<td><span class="badge bg-warning">Paper Trading</span></td>
<td class="text-success">+$5,230</td>
<td>59.7%</td>
<td>1.12</td>
<td>
<button class="btn btn-sm btn-outline-light">Edit</button>
<button class="btn btn-sm btn-outline-success">Go Live</button>
</td>
</tr>
<tr>
<td>
<strong>Pairs Trading</strong>
<br><small class="text-muted">Tech sector pairs</small>
</td>
<td><span class="badge bg-purple">Statistical Arbitrage</span></td>
<td><span class="badge bg-secondary">Paused</span></td>
<td class="text-danger">-$2,150</td>
<td>52.4%</td>
<td>0.45</td>
<td>
<button class="btn btn-sm btn-outline-light">Edit</button>
<button class="btn btn-sm btn-outline-warning">Resume</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- Strategy Configuration -->
<div class="row">
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Backtest Results</h6>
</div>
<div class="card-body">
<canvas id="backtestChart" height="200"></canvas>
</div>
</div>
</div>
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Create New Strategy</h6>
</div>
<div class="card-body">
<form id="strategy-config-form">
<div class="mb-3">
<label class="form-label">Strategy Name</label>
<input id="strategy-name" type="text" class="form-control bg-dark border-secondary-dark text-light" placeholder="e.g., Momentum Breakout" required>
</div>
<div class="mb-3">
<label class="form-label">Strategy Type</label>
<select id="strategy-type" class="form-select bg-dark border-secondary-dark text-light">
<option value="trend">Trend Following</option>
<option value="mean-reversion">Mean Reversion</option>
<option value="arbitrage">Arbitrage</option>
<option value="ml">Machine Learning</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">Initial Capital</label>
<div class="input-group">
<span class="input-group-text bg-dark border-secondary-dark text-light">$</span>
<input id="initial-capital" type="number" class="form-control bg-dark border-secondary-dark text-light" value="100000" min="1000" step="1000" required>
</div>
</div>
<div class="row mb-3">
<div class="col-md-6 mb-3 mb-md-0">
<label class="form-label">Entry Lookback (bars)</label>
<input id="entry-lookback" type="number" class="form-control bg-dark border-secondary-dark text-light" value="20" min="1">
</div>
<div class="col-md-6">
<label class="form-label">Exit Lookback (bars)</label>
<input id="exit-lookback" type="number" class="form-control bg-dark border-secondary-dark text-light" value="50" min="1">
</div>
</div>
<div class="row mb-3">
<div class="col-md-6 mb-3 mb-md-0">
<label class="form-label">Risk per Trade (%)</label>
<input id="risk-per-trade" type="number" class="form-control bg-dark border-secondary-dark text-light" value="1" min="0.1" max="5" step="0.1">
</div>
<div class="col-md-6">
<label class="form-label">Max Positions</label>
<input id="max-positions" type="number" class="form-control bg-dark border-secondary-dark text-light" value="5" min="1">
</div>
</div>
<div class="mb-3">
<label class="form-label">Notes</label>
<textarea id="strategy-notes" class="form-control bg-dark border-secondary-dark text-light" rows="2" placeholder="Optional notes about this configuration"></textarea>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary">Save Configuration</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- Section: Risk Management (Hidden) -->
<div id="risk-management-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-shield-exclamation text-accent-orange me-2"></i>
Risk Management
</h1>
<div class="btn-toolbar">
<div class="btn-group me-2">
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-shield-check"></i> Run Audit
</button>
<button class="btn btn-outline-light btn-sm">
<i class="bi bi-file-earmark-text"></i> Export Report
</button>
</div>
</div>
</div>
<!-- Risk Metrics -->
<div class="row mb-4">
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-danger">
<div class="card-body text-center">
<div class="display-4 text-danger">4.2%</div>
<small class="text-muted">Max Drawdown</small>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-warning">
<div class="card-body text-center">
<div class="display-4 text-warning">1.85</div>
<small class="text-muted">Sharpe Ratio</small>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-info">
<div class="card-body text-center">
<div class="display-4 text-info">12.4%</div>
<small class="text-muted">Volatility (Annual)</small>
</div>
</div>
</div>
<div class="col-md-3 mb-3">
<div class="card bg-primary-dark border-success">
<div class="card-body text-center">
<div class="display-4 text-success">95%</div>
<small class="text-muted">VaR (1-day, 95%)</small>
</div>
</div>
</div>
</div>
<!-- Risk Controls -->
<div class="row">
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Circuit Breakers</h6>
</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label">Daily Loss Limit</label>
<div class="input-group">
<input type="number" class="form-control bg-dark border-secondary-dark text-light" value="5000">
<span class="input-group-text bg-dark border-secondary-dark text-light">USD</span>
</div>
<div class="form-text text-muted">Trading pauses if daily loss exceeds this amount</div>
</div>
<div class="mb-3">
<label class="form-label">Max Position Size</label>
<div class="input-group">
<input type="number" class="form-control bg-dark border-secondary-dark text-light" value="25">
<span class="input-group-text bg-dark border-secondary-dark text-light">%</span>
</div>
<div class="form-text text-muted">Maximum allocation to any single position</div>
</div>
<div class="mb-3">
<label class="form-label">Sector Concentration</label>
<div class="input-group">
<input type="number" class="form-control bg-dark border-secondary-dark text-light" value="40">
<span class="input-group-text bg-dark border-secondary-dark text-light">%</span>
</div>
<div class="form-text text-muted">Maximum allocation to any single sector</div>
</div>
<div class="d-grid">
<button class="btn btn-primary">Update Limits</button>
</div>
</div>
</div>
</div>
<div class="col-md-6 mb-3">
<div class="card bg-primary-dark border-secondary-dark">
<div class="card-header bg-transparent border-secondary-dark">
<h6 class="mb-0">Risk Dashboard</h6>
</div>
<div class="card-body">
<canvas id="riskChart" height="250"></canvas>
<div class="mt-3">
<div class="alert alert-warning mb-2">
<i class="bi bi-exclamation-triangle me-2"></i>
<strong>Warning:</strong> Tech sector concentration at 38% (limit: 40%)
</div>
<div class="alert alert-success mb-0">
<i class="bi bi-check-circle me-2"></i>
<strong>All Systems Normal:</strong> All risk limits within bounds
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Other sections would follow similar pattern -->
<!-- For brevity, showing only key sections in this mockup -->
<!-- Section: Trade Execution (Hidden - Placeholder) -->
<div id="trade-execution-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-arrow-left-right text-accent-green me-2"></i>
Trade Execution
</h1>
</div>
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>
Trade Execution interface would show real-time order management, execution quality metrics, and manual trading controls.
</div>
</div>
<!-- Section: Reports (Hidden - Placeholder) -->
<div id="reports-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-file-text text-accent-blue me-2"></i>
Reports & Analytics
</h1>
</div>
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>
Reports section would include performance attribution, trade journals, compliance reports, and export functionality.
</div>
</div>
<!-- Section: Alerts (Hidden - Placeholder) -->
<div id="alerts-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-bell text-accent-orange me-2"></i>
Alerting System
</h1>
</div>
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>
Alerting system would configure Telegram/email notifications for critical events, risk breaches, and performance milestones.
</div>
</div>
<!-- Section: Configuration (Hidden - Placeholder) -->
<div id="configuration-section" class="section-content d-none">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom border-secondary-dark">
<h1 class="h2">
<i class="bi bi-sliders text-accent-purple me-2"></i>
Configuration
</h1>
</div>
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>
Configuration interface would manage API keys, system settings, user preferences, and integration settings.
</div>
</div>
</main>
</div>
</div>
<!-- Bootstrap JS Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Custom JavaScript -->
<script src="js/mock-data.js"></script>
<script src="js/app.js"></script>
<script>
// Initialize the mockup when page loads
document.addEventListener('DOMContentLoaded', function() {
// Initialize the application
if (typeof initApp === 'function') {
initApp();
} else {
// Fallback initialization
console.log('Using fallback initialization');
// Set up navigation
const navLinks = document.querySelectorAll('.nav-link[data-section]');
navLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
const section = this.getAttribute('data-section');
// Hide all sections
document.querySelectorAll('.section-content').forEach(s => {
s.classList.add('d-none');
});
// Show selected section
const target = document.getElementById(`${section}-section`);
if (target) {
target.classList.remove('d-none');
}
// Update active state
navLinks.forEach(l => l.classList.remove('active'));
this.classList.add('active');
});
});
// Show dashboard by default
document.getElementById('dashboard-section').classList.remove('d-none');
document.querySelector('.nav-link[data-section="dashboard"]').classList.add('active');
}
});
</script>
</body>
</html>