Skip to content

Commit

Permalink
visualization added
Browse files Browse the repository at this point in the history
  • Loading branch information
tedoaba committed Nov 11, 2024
1 parent 685da79 commit 653fde5
Show file tree
Hide file tree
Showing 10 changed files with 16 additions and 18 deletions.
Binary file added figures/correlation_matrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/daily_percentage_change.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/decomposed_time_series.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/forecast.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/moving_average_crossover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/normalized_price.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/rolling_stats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figures/train_test_split.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions scripts/main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# scripts/main.py

import os
import sys
import numpy as np
Expand Down
32 changes: 16 additions & 16 deletions src/eda/visualize.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def plot_normalized_prices(data):
plt.xlabel('Date')
plt.ylabel('Normalized Price')
plt.legend()
plt.savefig('../../figures/normalized_price.png', format='png', dpi=300)
plt.savefig('../figures/normalized_price.png', format='png', dpi=300)
plt.show()


Expand All @@ -30,7 +30,7 @@ def plot_percentage_change(data):
plt.xlabel('Date')
plt.ylabel('Daily % Change')
plt.legend()
plt.savefig('../../figures/daily_percentage_change.png', format='png', dpi=300)
plt.savefig('../figures/daily_percentage_change.png', format='png', dpi=300)
plt.show()


Expand Down Expand Up @@ -58,7 +58,7 @@ def decompose_time_series(data, column='TSLA'):
plt.legend(loc='upper left')

plt.tight_layout()
plt.savefig('../../figures/decomposed_time_series.png', format='png', dpi=300)
plt.savefig('../figures/decomposed_time_series.png', format='png', dpi=300)
plt.show()


Expand All @@ -85,7 +85,7 @@ def plot_moving_average_crossover(data, column='TSLA', short_window=50, long_win
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.savefig('../../figures/moving_average_crossover.png', format='png', dpi=300)
plt.savefig('../figures/moving_average_crossover.png', format='png', dpi=300)
plt.show()

def plot_rolling_stats(data):
Expand All @@ -102,20 +102,20 @@ def plot_rolling_stats(data):
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.savefig('../../figures/rolling_stats.png', format='png', dpi=300)
plt.savefig('../figures/rolling_stats.png', format='png', dpi=300)
plt.show()

def plot_correlation_matrix(data):
correlation_matrix = data[['TSLA', 'BND', 'SPY']].corr()
plt.figure(figsize=(8, 6))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title("Correlation Matrix of Asset Prices")
plt.savefig('../../figures/correlation_matrix.png', format='png', dpi=300)
plt.savefig('../figures/correlation_matrix.png', format='png', dpi=300)
plt.show()

def plot_stock_data(data, title="Stock Closing Price"):
data.plot(figsize=(12, 6), title=title, xlabel='Date', ylabel='Price')
plt.savefig('../../figures/stock_price.png', format='png', dpi=300)
plt.savefig('../figures/stock_price.png', format='png', dpi=300)
plt.show()

def plot_train_test_split(train, test):
Expand All @@ -124,7 +124,7 @@ def plot_train_test_split(train, test):
plt.plot(test, label='Test Data')
plt.legend()
plt.title("Train-Test Split")
plt.savefig('../../figures/train_test_split.png', format='png', dpi=300)
plt.savefig('../figures/train_test_split.png', format='png', dpi=300)
plt.show()

def plot_forecast(actual, forecast, title="Model Forecast vs Actual"):
Expand All @@ -133,7 +133,7 @@ def plot_forecast(actual, forecast, title="Model Forecast vs Actual"):
plt.plot(actual.index, forecast, label='Forecast', color='orange')
plt.legend()
plt.title(title)
plt.savefig('../../figures/forecast.png', format='png', dpi=300)
plt.savefig('../figures/forecast.png', format='png', dpi=300)
plt.show()


Expand All @@ -146,7 +146,7 @@ def plot_forecast_prophet(data, forecast, ticker, forecast_horizon):
plt.xlabel("Date")
plt.ylabel("Stock Price")
plt.legend()
plt.savefig('../../figures/forecast_prophet.png', format='png', dpi=300)
plt.savefig('../figures/forecast_prophet.png', format='png', dpi=300)
plt.show()

def plot_trend_volatility(trend, forecast):
Expand All @@ -157,7 +157,7 @@ def plot_trend_volatility(trend, forecast):
plt.ylabel("Trend Value")
plt.title("Trend and Volatility Analysis of Forecasted TSLA Stock Prices")
plt.legend()
plt.savefig('../../figures/trend_volatility.png', format='png', dpi=300)
plt.savefig('../figures/trend_volatility.png', format='png', dpi=300)
plt.show()

def plot_opportunities_and_risks(forecast, opportunity_periods, risk_periods):
Expand All @@ -170,15 +170,15 @@ def plot_opportunities_and_risks(forecast, opportunity_periods, risk_periods):
plt.xlabel("Date")
plt.ylabel("Stock Price")
plt.legend()
plt.savefig('../../figures/opportunities_and_risks.png', format='png', dpi=300)
plt.savefig('../figures/opportunities_and_risks.png', format='png', dpi=300)
plt.show()


def plot_missing_values_heatmap(data, title='Missing Values'):
plt.figure(figsize=(10, 6))
sns.heatmap(data, cmap='coolwarm', annot=True, fmt='0.0f')
plt.title(title)
plt.savefig('../../figures/missin_value_heatmap.png', format='png', dpi=300)
plt.savefig('../figures/missin_value_heatmap.png', format='png', dpi=300)
plt.show()

def plot_log_returns(log_returns, title='Log Returns'):
Expand All @@ -189,7 +189,7 @@ def plot_log_returns(log_returns, title='Log Returns'):
plt.xlabel('Date')
plt.ylabel('Log Returns')
plt.grid(True)
plt.savefig(f'../../figures/log_returns_{symbol}.png', format='png', dpi=300)
plt.savefig(f'../figures/log_returns_{symbol}.png', format='png', dpi=300)
plt.show()

def plot_volatility(volatility, title='Volatility'):
Expand All @@ -198,7 +198,7 @@ def plot_volatility(volatility, title='Volatility'):
plt.title(title)
plt.xlabel('Stock Symbol')
plt.ylabel('Volatility')
plt.savefig('../../figures/volatility.png', format='png', dpi=300)
plt.savefig('../figures/volatility.png', format='png', dpi=300)
plt.show()

def plot_portfolios(portfolios, min_vol_port, optimal_risky_port):
Expand All @@ -209,5 +209,5 @@ def plot_portfolios(portfolios, min_vol_port, optimal_risky_port):
plt.xlabel('Volatility')
plt.ylabel('Returns')
plt.legend()
plt.savefig('../../figures/portfolio.png', format='png', dpi=300)
plt.savefig('../figures/portfolio.png', format='png', dpi=300)
plt.show()

0 comments on commit 653fde5

Please sign in to comment.