Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - asRot0/BullBearAI: BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data. · GitHub
Skip to content

Latest commit

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Project Progress Overview: BullBearAI

PythonJupyterLicenseStatus

This project is designed to predict stock market trends using traditional ML, deep learning, and a hybrid LSTM-CNN architecture. Below is the step-by-step progress with brief descriptions.

Project Structure

Data Loading & Initial Inspection

  • Loaded the raw stock market data (Netflix stock) from the data/raw/ directory.
  • Verified file integrity, parsed dates correctly, and ensured data types were appropriate.
  • Saved a clean version in data/processed/netflix_cleaned.csv.

Data Cleaning

  • Removed duplicates and handled any missing/null values.
  • Renamed columns for consistency and usability (Close/Last instead of Close*).
  • Converted all date fields to datetime format.
  • Ensured data is sorted chronologically.
  • Exported cleaned dataset to data/processed/.

Exploratory Data Analysis (EDA)

  • Visualized time-series trends of Close, Volume, and Open.
  • Used Seaborn and Matplotlib for:
    • Moving averages
    • Seasonal decomposition
    • Daily/Monthly return distributions
  • Checked for trends, volatility, and patterns.
  • Identified data gaps, outliers, or anomalies.
  • All EDA work is saved in notebooks/01_eda.ipynb.

Feature Engineering

Performed a comprehensive set of transformations to prepare predictive features:

Date-Based Features

  • Extracted: Year, Month, Day, DayOfWeek, and IsWeekend.

Lag Features

  • Created lagged versions of Close/Last and Volume (lags: 1, 2, 3 days).

Rolling Statistics

  • Computed rolling means, medians, stds, max, min for 7, 14, and 30-day windows.

Volatility Measures

  • Daily percentage change, return, and rolling return metrics.

Technical Indicators

  • Simple & Exponential Moving Averages (SMA, EMA)
  • RSI (Relative Strength Index)
  • MACD (Moving Average Convergence Divergence)
  • Bollinger Bands

Target Variable

  • Target_Close_Next_Day: Next day’s close price
  • Target_UpDown: Binary classification target (1 = price goes up, 0 = down)

Engineered dataset saved to: data/interim/engineered_features.csv.


Machine Learning Baseline Models (Regression)

This notebook builds baseline regression models to predict:

  • Target_Close_Next_Day — the actual next-day closing price of the stock.

Implemented Models:

  • Linear Regression
  • Support Vector Regression (SVR)
  • Random Forest Regressor
  • Gradient Boosting Regressor

Highlights:

  • Models trained on engineered features including lag features, rolling window stats, and technical indicators (e.g., RSI, MACD, Bollinger Bands).

  • Evaluation metrics include:

    • MAE (Mean Absolute Error)
    • RMSE (Root Mean Squared Error)
    • R² Score
  • Model Performance Metrics

    ModelMAERMSER² Score
    LR19.2522.43-0.30
    SVR27.8234.50-2.08
    RF9.0411.880.63
    GB8.7211.400.66
  • Visualizations:

    • Actual vs Predicted Prices (line plot)
    • Residual Plot (errors)
    • MAE & RMSE comparison bar charts

Time Series Modeling (ARIMA, SARIMA, GARCH)

This section compares three powerful time series models:

  • ARIMA: Captures trend using autoregressive and moving average components.
  • SARIMA: Extends ARIMA by modeling seasonality.
  • GARCH: Models time-varying volatility (useful for financial series).

Model Performance Metrics

ModelMAERMSE
ARIMA6.13488715.929801
SARIMA19.20596621.711764
  • MAE (Mean Absolute Error): Measures average absolute errors.
  • RMSE (Root Mean Squared Error): Penalizes large errors more.

Key Takeaways

  • ARIMA works well for capturing trend but may struggle with seasonality.
  • SARIMA provides improved results when seasonality is present.
  • GARCH is useful to understand and forecast volatility (especially useful in financial data like stock prices).

CNN-Based Model

Use deep learning (CNN) to model patterns in stock price sequences and predict future values with better local feature extraction than traditional models.

StepDescription
ScalingApplies MinMaxScaler to normalize prices between 0 and 1.
Sequence GenerationConverts time series into sequences using sliding windows.
CNN Architecture1D Convolution + MaxPooling + Dense layers.
TrainingCompiled with adam optimizer and mse loss.
EvaluationMAE, RMSE, and future price predictions plotted.

Performance Summary

MetricValue
MAE9.66
RMSE11.93

LSTM-Based Model

Leverage LSTM (a variant of RNN) for time series forecasting of stock prices using historical closing data. LSTMs are well-suited for sequential data due to their ability to preserve long-term memory and overcome the vanishing gradient problem in vanilla RNNs.

  • Close/Last: Normalized closing price.

  • Target_Close_Next_Day: Target value to predict (next day’s closing price).

  • LSTM Architecture:

    • Contains memory cells with gates (input, forget, and output).
    • Capable of learning both short-term and long-term temporal patterns.
  • Sliding Window: We use 60-day historical windows to predict the next day's price.

  • EarlyStopping: To avoid overfitting (patience = 10)

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE8.3355
RMSE10.2783

Hybrid CNN-LSTM Model

Combines 1D Convolutional Neural Networks (CNNs) and Long Short-Term Memory (LSTM) layers to model both local temporal patterns (via CNN) and long-term dependencies (via LSTM) in stock price data.

This hybrid approach captures short-term market fluctuations (via convolution) and sequential trends (via recurrence) more effectively than using either architecture alone.

  • Sliding Window: 60-day lookback window for sequence construction.
  • Regularization: Dropout and EarlyStopping (patience = 10) to mitigate overfitting.

Evaluation Metrics (on Inverse Scaled Real Prices)

MetricValue
MAE5.53
RMSE6.94

About

BullBearAI: Stock market prediction built for clarity. Uses a hybrid LSTM-CNN model to deliver actionable insights from complex financial data.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages