Stock Trading Platform.
A high-performance simulated equities trading engine. Model real-time market fluctuations, execute instant buy/sell orders, evaluate portfolio yield, and track audited transaction histories.
Simulated Stock Exchange Terminal
Execute live orders with $10,000 virtual balance. Prices fluctuate dynamically just like the Java Market.tickMarket() algorithm.
⚡ Trade Order Execution Panel
My Active Portfolio Holdings
0 Positions Active| Symbol | Company | Shares Owned | Avg Price Paid | Current Price | Current Value | Gain / Loss | Actions |
|---|
Transaction Audit Log
| Time | Type | Symbol | Quantity | Price | Total |
|---|
Official Video Walkthrough
Watch the full console run showcasing real-time market movements, order execution, and portfolio balance audits.
▶ Task 2 Demonstration — Stock Trading Platform In Action
Full HD RecordingSystem Architecture & Java OOP Design
Engineered with modular abstraction: separate market feeds, portfolio state, and immutable transaction records.
Market.java
Maintains the registry of equities via LinkedHashMap<String, Stock>. Runs the stochastic volatility simulation tickMarket().
Stock.java
Encapsulates ticker symbol, company name, previous price, and current price, computing point changes and percentage shifts.
Portfolio.java
Manages liquidity balance, tracks share holdings, executes buying power checks, and computes net market value.
Transaction.java
An immutable audit log storing BUY/SELL action enums, share volume, unit price, and timestamp for reporting.
public class Market { private Map<String, Stock> stocks; private Random random; public void tickMarket() { for (Stock stock : stocks.values()) { double change = (random.nextDouble() - 0.48) * stock.getPrice() * 0.03; double newPrice = Math.max(1.0, stock.getPrice() + change); stock.updatePrice(newPrice); } } }
How to Run Locally in Terminal
Launch the interactive console application inside your local Java environment.
Navigate into the task directory and compile with javac:
cd Task2_StockTradingPlatform javac *.java java Main