Skip to content

Portable, intuitive, and highly preformant stock exchange simulator for educational and learning purposes.

Notifications You must be signed in to change notification settings

SemtexProject/semtex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulated Exchange Market Trading and Execution System (SEMTEX)

Overview

Welcome to the Simulated Exchange Market Trading and Execution System repository! This project aims to provide a comprehensive and dynamic simulated environment for stock market trading and execution. Users can leverage this system for educational purposes, gaining hands-on experience in simulated trading activities.

Features

  • Realistic simulation of market conditions.
  • Interactive trading interface offering a web-based client and a low-level gRPC interface for high-frequency trading applications.
  • High throughput and reliability packaged wit a robust and scalable architecture.
  • Support for multiple trading strategies, including market, limit, stop, and stop-limit orders along with a variety of time-in-force options.

Getting Started

The SEMTEX system is packaged as a Docker container, which can be easily deployed on any machine with Docker installed. To get started, follow the steps below.

Prerequisites

Installation

  1. Clone the repository and navigate to the project directory
git clone https://github.com/masonhgn/semtex.git && cd semtex
  1. Create a network for the client and server to communicate
docker network create exchange-network
  1. Build and deploy client and server
cd server/exchange && docker build -t exchange-server .
cd ../client/src && docker build -t exchange-client .
  1. Verify that the containers are created (No containers should be in an "Exited" state)
docker ps
  1. Run the server, then the client
docker run -d --name exchange-server --network exchange-network exchange-server
docker run --name exchange-client --network exchange-network exchange-client

Note: The project may take a few minutes to start up. If the project is not running, try running the command again.

Documentation

Extensive documentation for the project is in progress and will be available soon. In the meantime, please refer to the source code for more information.

License

This project is licensed under the MIT License.

Happy trading!

About

Portable, intuitive, and highly preformant stock exchange simulator for educational and learning purposes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages