Run simulations to find out if there is a potential to predict where stock prices will be in the immediate future (5 to 30 days) based on recent price movements.
Bytestock is a research project by Slate, Ryan Alumkal, and Nolawi Teklehaimanot.
You can check out the code behind the core program or the web interface.
To read the documentation, click below.
CLICK HERE TO READ DOCUMENTATION
Allows users to input a stock ticker of choice (Ex: AAPL) that they want to run simulations on to predict where stock prices will be in the immediate future (5 to 30 days) based on recent price movements.
Provides information about bytestock and legal information regarding data provided by the site.
Provides live hourly updates on 18 popular tech-focused company stocks.
If the stock has been falling, a red arrow along with red text showing the % the stock has been down for the day will be shown. If the stock has been rising, a green arrow along with green text showing the % the stock has been up for the day will be shown.
The data is cached hourly, meaning, the price information will be updated every hour and the user will not have to wait for the price to be fetched.
The gitignore file includes files that should not be pushed to the public github repository. These include but are not limited to files with sensitive information such as API keys and passwords, files that are unreadable such as binaries, and files that do not serve much purpose for others to see such as log files.
Provides information about 'Bytestock Core' including its objective.
Calculations for stock simulations and predictions on stock price in the immediate future, written in Go.
func readLines(path string) ([]string, error)
func sum(arr []int) float64
func average(array []float64) float64
func normalDist(weekly_ratio_average float64, weekly_ratio_standard_deviation float64) float64
func weekly_ratio_calculation(index int, close_data []float64) float64
func weekly_ratio_average_calculations(weekly_ratio_values []float64, comparison int) float64
func weekly_ratio_standard_deviation_calculation(weekly_ratio_values []float64, comparison int) float64
func simulation_and_probability_calculations(index int, close_data []float64, weekly_ratio_average float64, weekly_ratio_standard_deviation float64, period int) (int, int)
func main()
Uses yfinance
library to get data from "Yahoo! Finance".
def getOCHLData(ticker, days: int) ->list:
Parameters:
-
ticker: User requested stock ticker (Ex: AAPL)
-
days: Number of days to be considered when fetching data, 1095 days (3 years) by default
Fetches data including open days, daily open, daily close, daily adjusted close (used for the actual simulations), daily high, daily low values, and returns to main.py
.
def getRealTimeOCHL(ticker, days:int) ->list:
Parameters:
- ticker:
This is the modules file. It is similar to a requirements.txt file for python and holds the names of all the modules/library needed for the program to run.
Main program of bytestock-core.
Calls calculations.py
and data.py
files.
Purpose of each function:
def main()->None:
The main function of the program, asks user for preferred stock ticker.
Holds values of various data fetched from data.py
file including open days, daily open, daily close, daily adjusted close (used for the actual simulations), daily high, and daily low values.
Calls calculation file calculations.py
which runs simulations to find out if there is a potential to predict where stock prices will be in the immediate future (5 to 30 days) based on recent price movements.
Lists all the dates the stock markets are closed to observe U.S. holidays
def getDateTimefromTicks(self):
This function gets the date from the ticks.
def getFancyDateTimefromTicks(self):
This function gets the formatted date from the ticks.
def getDayFromDate(self):
This function gets the day from the date.
def getMarketCloseDates(self):
This function gets the market closed dates.
def isMarketClosed(self):
This function checks if the market is closed.
def wasMarketClosedFrom(self):
This function checks if the market was closed from a certain date.
def telemetry(self):
This function logs everytime the user queries a stock.
This folder holds files for every single page including about, live_crypto, live_stock, etc.
This file opens up the markdown file and writes each line to streamlit. Streamlit automatically creates the formatting for markdown.
This file is used to generate a live updating page of cryptocurrencies and their within-the-hour USD exchange rate.
This file is used to generate a live updating page of select technology sector stocks and their within-the-hour USD price.
This file contains the actual about.md, and contains this documentation within it.
This file contains a list of a stock tickers which are used by the Live Stock file.
This is a folder that contains pictures that are used in this documentation. They include the bytestock logo, and pictures of the website.
This is the main file that runs the home page and links the other pages.
This is the README file used on github primarily.