Giter VIP home page Giter VIP logo

stock-bot's Introduction

Hi there 👋

I'm a fourth year student majoring in computer science named Ethan Posner, currently attending Vancouver Island University. I mostly code in Python, but have experience with JavaScript, PHP, HTML/CSS, C/C++, and Java.

I have lots of experience developing full-stack web applications using Python, PHP, HTML/CSS, and JavaScript. I gained lots of experience in this while working at Bytedeck Learning Society for my summer 2023 co-op.

I also developed Tekku in collaboration with Nicholas Hopkins. It is a full-stack PHP forum website, allowing users to post images under various topics.

I am very interested in projects which involve processing large amounts of data and returning meaningful results based on it.

My Projects

Most of my time is spent towards completing my bachelor's degree in computer science, but I'm also working on various programming projects.

I'm currently reading Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron. My goal is to become proficient with machine learning so that I can implement it into my stock trading program.

I'm currently working on:

  • Bitcoin Research Project: Undergraduate research project with goal of developing methods for tracing bitcoin transactions. Uses the Janusgraph graph database to efficiently query bitcoin data in a graph format.
  • Course Capsule: Website for students and teachers to share educational content for their courses, created using FastAPI, HTML/CSS/JavaScript.

I also have the following projects that I've created by myself in the past:

  • Tekku: A PHP forum website created using the L.A.M.P. stack, allowing users to post images under various topics. Dockerized to allow for easier deployment.
  • SQL Injection Example Website: Created in collaboration with Sebastian Van Den Bremt, a Django website that is vulnerable to SQL injection attacks. Demonstrates how easy this attack is to exploit.
  • Flashcard Tool: A tool for memorizing large amounts of information. It has been a great aid to my own personal studying.
    • Uses python's Tkinter GUI library
  • Music Player: A small program which can be used to play song files.
    • Uses python's Tkinter GUI library
  • Python Clock: A clock I created for schools to show when a class is currently happening, when it will end, the current time, the current date, and a fact or joke at the top.
    • Uses python's eel GUI library. Also implemented using python's Tkinter GUI library.

Want more?

Visit my website: https://ethanposner.com/.

stock-bot's People

Contributors

enprogames avatar toranian avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

toranian

stock-bot's Issues

Create Sample Django Webpage

Since we will want to host this app through django, we should create a sample webpage to get used to using it for this project. It should do the following:

  • Be hosted using python anywhere
  • Show a graph of a given stock using javascript charts

Add setup.sh to README

  • Most of the steps outlined in the installation instructions should be moved to the setup.sh file.
  • An entry should be added to just run setup.sh.

Create module for trading stocks.

This should include the following:

  • Trading abstract class
  • Alpaca trading class
  • Simulated trading class
  • Main class which gives the option to trade using any method

post-merge hook doesn't run

This hook is created when running setup.sh with the following bash code. But for some reason, the hook doesn't seem to run when a successful merge is performed.

echo -e "\n*** Installing post-merge hooks"
cat > .git/hooks/post-merge << EOF
#!/bin/bash

# This script will run on a successful merge

function report_result() {
    # Gets the return value '$?' of the last command and reports success or not
    if [[ $? -eq 0 ]]; then
        echo -e "Success."
    else
        echo -e "\nSomething went wrong! Bailing..."
        exit 1
    fi
}

echo -e "\n*** Running post-merge hook\n"
# venv
echo -e "\n*** Activating the python virtual environment for this script..."
OS=$(uname -a | cut -c1-5)
if [[ $OS =~ "Linux" ]]; then
    echo "Making adjustments due to bad choice of operating system"
    source venv/bin/activate
else
    source venv/Scripts/activate
fi
report_result
echo -e "Using: $(which python)"

# upgrade pip
echo -e "\n*** Updating pip to latest version...\n"
python -m pip install --upgrade pip
report_result

# pip install
echo -e "\n*** Installing latest Python requirements...\n"
python -m pip install -r requirements.txt
report_result

# pre-commit install
echo -e "\n*** Installing any new pre-commit hooks\n"
python -m pre_commit install
report_result
EOF

echo -e "post-merge hooks installed at .git/hooks/post-merge"
report_result

# set post-merge hook as executable
echo -e "\n*** Setting post-merge hook as executable\n"
chmod +x .git/hooks/post-merge
report_result

StockTrader.get_orders() doesn't return all orders ever made

The following code can be run to create a StockTrader class, trade a stock, and view all orders:

stock_trader_obj = trade_stocks.StockTrader('alpaca', {{'APCA_API_KEY_ID': "your api key id here", 'APCA_API_SECRET_KEY': "your api key secret key here"}})
stock_trader_obj.buy('msft', amount=5, notional=True)
orders = stock_trader_obj.get_orders()
for order in orders:
    print(order)

This doesn't return all orders, however, since the method alpaca_trade_api.list_orders() only lists orders which haven't been filled yet. It should list all orders ever made through the given alpaca account.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.