Skip to content

UBH-Fall-2024/StockBot

Repository files navigation

sTockBOT📈📈

Robot ❌ Automation with AI✅

Built with the tools and technologies:

Python


🔗 Table of Contents


📍 Overview

The Stock Trading Simulator is a web-based application that enables users to simulate stock trading in a realistic yet risk-free environment. Using virtual currency, users can buy and sell stocks based on historical market data, allowing them to practice trading strategies without any financial risk. This simulator provides an ideal platform for beginners to learn stock trading basics and for experienced traders to test strategies under real-world market conditions.

The market data is simulated with a slight delay, allowing users to experience the influence of market trends and learn to make informed decisions over time. The simulator also includes a user-friendly interface for managing portfolios, viewing historical performance, and analyzing market trends to enhance the learning experience.


👾 Features

  • Virtual Currency: Users start with a fixed amount of virtual money to trade stocks without real financial risk.
  • Simulated Market Data: Stock prices follow real market data with a delay, providing an authentic trading experience.
  • Portfolio Management: Users can view their current holdings, track profits and losses, and manage trades.
  • Historical Data Visualization: Visual representations of stock trends to help users make informed decisions.
  • Educational Insights: Tips and insights on market behavior to assist users in understanding the stock market.

📁 Project Structure

└── StackBot.git/
    ├── .github
    │   └── .keep
    ├── README.md
    ├── ai.py
    ├── api_class.py
    ├── bot.log
    ├── main.py
    ├── model.ipynb
    ├── model.py
    ├── network.txt
    ├── pool_handler.py
    ├── refreshtoken.txt
    ├── requirements.txt
    └── temp_datasets
        ├── NVDA-2023-11-10-2024-11-09.csv
        └── NVDA-2023-11-11-2024-11-10.csv

📂 Project Index

STACKBOT.GIT/
__root__
network.txt ❯ REPLACE-ME
model.py ❯ REPLACE-ME
ai.py ❯ REPLACE-ME
model.ipynb ❯ REPLACE-ME
refreshtoken.txt ❯ REPLACE-ME
main.py ❯ REPLACE-ME
pool_handler.py ❯ REPLACE-ME
requirements.txt ❯ REPLACE-ME
api_class.py ❯ REPLACE-ME
.github
.keep ❯ REPLACE-ME

🚀 Getting Started

☑️ Prerequisites

Before getting started with StackBot.git, ensure your runtime environment meets the following requirements:

  • Programming Language: Python
  • Package Manager: Pip

⚙️ Installation

Install StackBot.git using one of the following methods:

Build from source:

  1. Clone the StackBot.git repository:
❯ git clone https://github.com/UBH-Fall-2024/StackBot.git
  1. Navigate to the project directory:
cd StackBot.git
  1. Install the project dependencies:

Using pip  

❯ pip install -r requirements.txt

🤖 Usage

Run StackBot.git using the following command: Using pip  

❯ python {entrypoint}

🧪 Testing

Run the test suite using the following command: Using pip  

❯ pytest

📌 Project Roadmap

  • Task 1: Implemented Simulator Basic Functionality
  • Task 2: Developed AI Model to Predict Data.
  • Task 3: Managing Multiple Stocks at Once.
  • Task 4: Implementing Advance Conditions for Smoother UX.

🔰 Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/UBH-Fall-2024/StackBot.git
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

🎗 License

Copyright 2024 UBHackers

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


🙌 Acknowledgments

I would like to express my gratitude to everyone who contributed to the development of this Stock Trading Simulator.

  • Mentors and Professors: Thank you for sharing your knowledge and insights, which helped shape the foundational concepts behind this project.
  • Open Source Community: I am grateful to the developers and contributors of the open-source libraries and APIs used in this project. Your work provided essential tools and - resources that made the creation of this simulator possible.
  • Friends and Family: Your encouragement and support kept me motivated throughout the development process.
  • Testers and Early Users: Thank you for your feedback, which was invaluable in improving the simulator’s functionality and user experience.

This project is a result of collaborative learning and shared resources, and I am grateful for the guidance, inspiration, and support received from this wonderful community.