A small, fully static homage to early-2000s financial web pages — teal background, beveled tables, a scrolling tape, a blinking warning, and a hit counter. It is a styling and front-end exercise.
Every figure comes from a random-walk generator in js/data.js that runs in your browser. Reload the page and the "market" resets — because there is no market.
If you want this dashboard to show genuine quotes, replace the simulated feed with a call to a market-data API you have signed up for (for example a free tier from a reputable provider). The renderer only needs each item to expose last, open, vol, and a history array. Roughly:
last
open
vol
history
// replace PMData.refresh() with something like: async function refresh() { const r = await fetch( "https://YOUR-DATA-PROVIDER/quote?symbols=ACME,GIZMO&apikey=KEY" ); const json = await r.json(); // map json -> PMData.stocks[i].last / .open / .vol / .history }
Respect each provider's terms of service and rate limits, and keep API keys out of public client-side code (proxy through your own backend). Even with real quotes, displaying data is not the same as giving advice — keep the disclaimers.
Markets are risky. Past or simulated performance never predicts future results. Nobody — no bank, no algorithm, no website — can guarantee profits on short-term trades. If a site claims it can, that is a red flag. Talk to a licensed, fiduciary financial professional before investing real money.