The Syndicate is a backend simulation of an IPO (Initial Public Offering) Book Building System. It solves the critical engineering challenges of high-frequency financial markets: Fairness, Determinism, and Auditability.
Unlike standard e-commerce systems, an IPO engine cannot rely on "eventual consistency." It requires strict ACID compliance to ensure that when a Qualified Institutional Buyer (QIB) bids for $10M worth of shares, the allocation logic is mathematically reproducible and legally defensible.
- Database: SQLite (Strict Mode) using SQLAlchemy ORM for atomic transactions.
- Logic Engine: Deterministic Python algorithms for Price Discovery and Pro-Rata Allocation.
- Audit Module: A dedicated system that mathematically "replays" the logic to explain rejection or allocation to investors.
- Dynamic Price Bands: Validates bids against the regulatory High/Low band.
- Real-Time Discovery: Calculates the "Cut-off Price" based on demand vs. supply.
- Pro-Rata Algorithm: Handles oversubscription (e.g., 50x demand) by calculating fractional allocation factors.
- Audit Logs: Explains exactly why a bid was rejected (e.g., "Bid Price < Cut-off").
-
Clone the repository
git clone [https://github.com/yourusername/The-Syndicate-IPO-Engine.git](https://github.com/yourusername/The-Syndicate-IPO-Engine.git) cd The-Syndicate-IPO-Engine -
Create a Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
Run the main.py file to spin up an IPO for "TECH_AI", simulate a rush of 1,000 random investors, and perform the allocation.
python main.py
## ๐ License
Distributed under the MIT License. See LICENSE for more information.
## โ ๏ธ Disclaimer
This software is a simulation intended for educational and engineering demonstration purposes only. It is not a licensed financial trading platform and should not be used for actual monetary transactions or regulatory compliance without significant modification and legal review.