Predict stock prices using a deterministic algorithm inspired by LSTM, focusing on pattern recognition in historical data.
Project description
[!CAUTION]
This project is intended for educational purposes only and does not constitute financial advice. The stock price predictions generated by this software are not guaranteed to be accurate and should not be relied upon for making investment decisions. The authors of this project are not responsible for any financial losses incurred as a result of using this software.
PATTERNITY
This project focuses on predicting stock prices using a deterministic algorithm inspired by the LSTM model of deep learning. Unlike traditional statistical models, this approach leverages the power of pattern recognition to identify and repeat the most similar historical patterns in stock price data, with visualizations inspired by Google Finance charts.
Usage
python3 -m pip install patternity
Patterity comes with collector functions to get historical data of an instrument. The following example demonstrates how
to predict and plot the price of Bitcoin. For stocks, you can use the get_stock
function instead. The Pattern
class (core) is used to predict the price of an instrument and has the following arguments.
history
- Historical data of an instrument (required).window
- The minimum length of the pattern window to be considered. (optional)progress
- Callback function to track the progress of the prediction. Recommended for large historical data.
from patternity import Pattern, get_crypto
from rich.progress import track
if __name__ == "__main__":
history = get_crypto("BTCUSDT", depth=200)
pattern = Pattern(history, progress=track)
pattern.predict()
pattern.plot()
If everything is set up correctly, you should see a plot similar to the one below. If nothing was predicted, try on
larger historical data. Also, you can change the window
parameter to adjust the minimum length of the pattern to be
recognized. The higher the window
, the more accurate the prediction will be and longer it will take to compute.
Contribute
Any contribution is welcome. Don't hesitate to open an issue or a discussion if you have any questions not covered by the documentation. Please open a pull request if you have any ideas or suggestions on optimizing the algorithm.
License
Copyright (C) 2024 Artyom Vancyan. MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file patternity-0.1.0.tar.gz
.
File metadata
- Download URL: patternity-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51c2d55e319ff642dbbf53eb1249810635df74929dcfd0e445129bd18429395c |
|
MD5 | 708095d152c6a6996f4af2facfde8602 |
|
BLAKE2b-256 | e2787f19c20c81ea4da42b083b5bcb2d1322a397f607a90587b2dacc90446f34 |
File details
Details for the file patternity-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: patternity-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71cf8e66bd0feb9c78e586827e29fa12b7b03f3c3bbdd14d20bc50fcbd61418e |
|
MD5 | d59e21d18f6181c22cec94eadbe60080 |
|
BLAKE2b-256 | b8a0d4d6624f24cfa3804c72cf634a8ffe418b3ec0616e1041c2976eba3cfb9f |