Skip to main content

A Streamlit-based ARIMA model library for stock analysis generating ARIMA reports

Project description

Streamtick An automated time-series toolkit for stock market analysis.

Welcome to Streamtick! This Python library provides a robust set of automated tools for analyzing historical stock data, performing model diagnostics, and generating reliable forecasts. It’s designed to automate the heavy lifting of the time-series workflow, giving you actionable insights quickly.

Installation To install Streamtick, you first need to save the following dependencies into a file named requirements.txt and install them:

Save these lines to requirements.txt

streamlit==1.36.0 pandas>=2.2.0 numpy>=1.26.4 yfinance==0.2.38 plotly>=5.21.0 statsmodels>=0.14.2 pmdarima>=2.0.3

Then install

pip install -r requirements.txt

Library Methods and Usage All of Streamtick's core functions are independently callable. You can simply import them and use them in any script or Jupyter Notebook. The library methods cover four essential phases of time-series analysis: Preparation, Identification, Estimation, and Validation.

  1. Preparation Methods The preparation phase helps ensure your data is properly structured for modeling.

decompose_series: This function breaks down the raw time series into its core components: Trend, Seasonality, and Residual. It is used for initial data inspection. You call it by specifying the ticker and the number of historical years, for example: decompose_series(ticker='TSLA', years=3).

make_stationary: This function shows the effect of differencing (the d term in ARIMA) on the data. It confirms whether the data's mean is stable, which is a requirement for successful ARIMA modeling. You call it by providing the stock ticker and the number of historical years: make_stationary(ticker='TSLA', years=3).

  1. Identification Methods check_autocorrelation: This method helps determine the optimal starting parameters (p and q) for the ARIMA model. It does this by analyzing ACF (Autocorrelation) and PACF (Partial Autocorrelation) data, which measure the correlation within the series over time. To run it, you call: check_autocorrelation(ticker='TSLA', years=3).

  2. Estimation Method tick_arima: This is the main automated forecasting tool. It utilizes the pmdarima library to automatically find the optimal ARIMA parameters, fits the model to the historical data, and generates the final price forecast. It also prints the full ARIMA statistical report (including AIC, BIC, and coefficient tables) to the console upon successful fitting. You call it by specifying the ticker, the number of years of data to use for training, and the number of days you want to forecast: tick_arima(ticker='AAPL', years=5, forecast_days=30).

Quick Code Examples To demonstrate how to call these methods, here is a complete breakdown using the 'TSLA' ticker:

Preparation and Identification from streamtick import decompose_series, make_stationary, check_autocorrelation

Breaks down the series into its trend, seasonal, and residual parts.

decompose_series(ticker='TSLA', years=3)

Confirms data stationarity after differencing.

make_stationary(ticker='TSLA', years=3)

Identifies model order based on ACF and PACF data.

check_autocorrelation(ticker='TSLA', years=3)

tick_arima() ArimaReport()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamtick-0.0.4.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamtick-0.0.4-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file streamtick-0.0.4.tar.gz.

File metadata

  • Download URL: streamtick-0.0.4.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for streamtick-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c1c563eaa9d12650a8c0184ebd8c02a6aa8f790617b4f4b4a810836c65e09882
MD5 0c10a652ffe6767fe3b35a53b7ab1588
BLAKE2b-256 d58acc3b010f8abb1fff04192981b6071491b07bd5313ea72cb01e98b9540398

See more details on using hashes here.

File details

Details for the file streamtick-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: streamtick-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for streamtick-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ca8031b82942869eee88cb38d956d423e892a7c8319af54adf192e762d372ea0
MD5 1149c2535ae1e80edd6edeb9982670aa
BLAKE2b-256 ea8b9665aaa9a1b0c957206a5e0e782bee1523f38b24ea7a51e067c89a949ab7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page