Skip to content

Commit a9689c8

Browse files
Adding Docker Containerization
1 parent 92027f6 commit a9689c8

File tree

1 file changed

+46
-23
lines changed

1 file changed

+46
-23
lines changed

README.md

Lines changed: 46 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,33 @@ python -m streamlit run main.py
8989
```
9090
- The dashboard will open in your default browser: http://localhost:8501/
9191

92+
## Project Setup Using Docker Containerization:
93+
1. Start the Docker Engine Locally or Use Any Service
94+
2. Navigate to the project Root directory:
95+
```bash
96+
cd RealTime-Trade-Simulator
97+
```
98+
3. Run DockerFile:
99+
```bash
100+
docker-compose up --build
101+
```
102+
4. Wait for Generating the Image
103+
##### How Docker Image Builds Looks
104+
105+
![image](https://github.com/user-attachments/assets/313cbbc6-a55a-45a5-bcde-ecc218aa8080)
106+
<details>
107+
<summary><b>Docker Image Starts the Server Locally</b></summary><br>
108+
109+
![image](https://github.com/user-attachments/assets/44e594fb-0200-47de-beff-0c627af5df5f)
110+
</details>
111+
<details>
112+
<summary><b>Project Docker Container</b></summary><br>
113+
114+
![image](https://github.com/user-attachments/assets/79e7e298-1fe5-4509-ae7d-06e065e3c0e2)
115+
</details>
116+
117+
5. Now Simply use the Project using Docker Container
118+
92119
## Dashboard Panels
93120
- **_Metrics_**: Shows current best bid/ask, spread, mid price, bid/ask volumes, latency, and health status.
94121
- **_Charts_**: Real-time line charts for mid price, spread, and latency over time.
@@ -98,35 +125,31 @@ python -m streamlit run main.py
98125

99126
## Model Documentation 🧠
100127

101-
### 1. Slippage Model (`models/slippage_model.py`)
102-
- **Model Used**: Linear Regression
103-
- **Purpose**: Estimate price deviation based on order size, volatility, and spread.
104-
- **Features**:
105-
- `order_size_usd`
106-
- `market_volatility`
107-
- `spread_percent`
108-
- **Target**: `slippage_bps` (slippage in basis points)
109-
110-
### 2. Market Impact Model (`models/market_impact.py`)
111-
- **Methodology**: Almgren–Chriss Framework
112-
- **Assumptions**:
113-
- Temporary and permanent impact modeled with linear coefficients
114-
- Market volume as liquidity proxy
128+
### 1. Slippage Model
129+
**Path**: `models/slippage_model.py`
130+
- **Model**: Linear Regression
131+
- **Purpose**: Estimate price deviation from order size, volatility, and spread.
132+
- **Features**: `order_size_usd`, `market_volatility`, `spread_percent`
133+
- **Target**: `slippage_bps`
134+
135+
### 2. Market Impact Model
136+
**Path**: `models/market_impact.py`
137+
- **Framework**: Almgren–Chriss
138+
- **Assumptions**:
139+
- Linear coefficients for temporary and permanent impact
140+
- Liquidity proxy via market volume
115141
- **Equation**:
116142
`impact = η * (Q / V) + λ * (Q / V)^2`
117-
Where:
118143
- `Q`: order size
119144
- `V`: market volume
120145
- `η`, `λ`: impact coefficients
121146

122-
### 3. Maker vs Taker Model (`models/maker_taker_model.py`)
123-
- **Model Used**: Logistic Regression
124-
- **Purpose**: Predict execution likelihood for limit orders.
125-
- **Features**:
126-
- `spread`
127-
- `volatility`
128-
- `order_type`
129-
- `relative_price_distance`
147+
### 3. Maker vs Taker Model
148+
**Path**: `models/maker_taker_model.py`
149+
- **Model**: Logistic Regression
150+
- **Purpose**: Predict limit order execution likelihood.
151+
- **Features**: `spread`, `volatility`, `order_type`, `relative_price_distance`
152+
130153

131154
## Utility Modules 🧰
132155

0 commit comments

Comments
 (0)