awt_quant.forecast.stochastic.portfolio package¶
Submodules¶
awt_quant.forecast.stochastic.portfolio.portfolio_forecast module¶
Portfolio Forecasting using Monte Carlo Simulations & Copula Models.
This module extends SPDEMCSimulator to forecast a portfolio of assets.
- Classes:
PortfolioForecast: Forecasts portfolio performance using copula-based simulations.
- class awt_quant.forecast.stochastic.portfolio.portfolio_forecast.PortfolioForecast(portfolio, equation, train_test_split, start_date='2022-01-01', end_date='2022-03-01', dt=1, num_paths=1000, plot_vol=False, plot_sim=False)[source]¶
Bases:
SPDEMCSimulatorForecasts a portfolio using Monte Carlo simulations and copula models.
- - portfolio
Dictionary with stock symbols, positions, and quantities.
- - equation
Stochastic Differential Equation model (CIR, GBM, Heston, OU).
- - assets
List of SPDEMCSimulator instances for each stock.
- - train_data, test_data
Aggregated portfolio data.
- __init__(portfolio, equation, train_test_split, start_date='2022-01-01', end_date='2022-03-01', dt=1, num_paths=1000, plot_vol=False, plot_sim=False)[source]¶
Initializes PortfolioForecast with a list of stocks and positions.
- Parameters:
portfolio (dict) – Dictionary containing symbols, quantities, and positions.
equation (str) – Chosen stochastic model (CIR, GBM, Heston, OU).
train_test_split (float) – Ratio of training data.
start_date (str) – Start date for data collection.
end_date (str) – End date for data collection.
dt (int) – Time step size.
num_paths (int) – Number of simulation paths.
plot_vol (bool) – Plot volatility models.
plot_sim (bool) – Plot individual stock simulations.
awt_quant.forecast.stochastic.portfolio.portfolio_simulations module¶
- awt_quant.forecast.stochastic.portfolio.portfolio_simulations.run_portfolio_simulation(portfolio, equation, start_date, end_date, train_test_split, num_paths=1000, plot_vol=False, plot_sim=False, num_sim=100)[source]¶
Runs a single portfolio simulation using the chosen stochastic differential equation.
- Parameters:
portfolio (dict) – Dictionary containing symbols, positions, and quantities.
equation (str) – Chosen stochastic model (CIR, GBM, Heston, OU).
start_date (str) – Start date for simulation.
end_date (str) – End date for simulation.
train_test_split (float) – Ratio of training data.
num_paths (int) – Number of simulation paths (default: 1000).
plot_vol (bool) – Whether to plot volatility models (default: False).
plot_sim (bool) – Whether to plot individual stock simulations (default: False).
num_sim (int) – Number of simulations for error estimation (default: 100).
- awt_quant.forecast.stochastic.portfolio.portfolio_simulations.compare_multiple_portfolio_simulations(portfolios, equation_classes, end_dates, forecast_periods, train_test_splits, num_paths=1000, num_sim=100, plot_vol=False, plot_sim=False)[source]¶
Compares multiple portfolio simulations across different stochastic models and settings.
- Parameters:
portfolios (list[dict]) – List of portfolios with stock symbols and positions.
equation_classes (list[str]) – List of stochastic models to test.
end_dates (list[str]) – End dates for different simulations.
train_test_splits (list[float]) – Different train-test split ratios.
num_paths (int) – Number of Monte Carlo paths (default: 1000).
num_sim (int) – Number of simulations for error estimation (default: 100).
plot_vol (bool) – Whether to plot volatility models (default: False).
plot_sim (bool) – Whether to plot individual stock simulations (default: False).
- Returns:
Dataframe containing forecast errors and summaries.
- Return type:
pd.DataFrame
Module contents¶
Portfolio Forecasting using Monte Carlo Simulations & Copula Models.
This module extends SPDEMCSimulator to forecast a portfolio of assets.
- Classes:
PortfolioForecast: Forecasts portfolio performance using copula-based simulations.
run_portfolio_simulation: Runs a single portfolio simulation.
compare_multiple_portfolio_simulations: Compares multiple portfolio simulations.
- class awt_quant.forecast.stochastic.portfolio.PortfolioForecast(portfolio, equation, train_test_split, start_date='2022-01-01', end_date='2022-03-01', dt=1, num_paths=1000, plot_vol=False, plot_sim=False)[source]¶
Bases:
SPDEMCSimulatorForecasts a portfolio using Monte Carlo simulations and copula models.
- - portfolio
Dictionary with stock symbols, positions, and quantities.
- - equation
Stochastic Differential Equation model (CIR, GBM, Heston, OU).
- - assets
List of SPDEMCSimulator instances for each stock.
- - train_data, test_data
Aggregated portfolio data.
- __init__(portfolio, equation, train_test_split, start_date='2022-01-01', end_date='2022-03-01', dt=1, num_paths=1000, plot_vol=False, plot_sim=False)[source]¶
Initializes PortfolioForecast with a list of stocks and positions.
- Parameters:
portfolio (dict) – Dictionary containing symbols, quantities, and positions.
equation (str) – Chosen stochastic model (CIR, GBM, Heston, OU).
train_test_split (float) – Ratio of training data.
start_date (str) – Start date for data collection.
end_date (str) – End date for data collection.
dt (int) – Time step size.
num_paths (int) – Number of simulation paths.
plot_vol (bool) – Plot volatility models.
plot_sim (bool) – Plot individual stock simulations.
- awt_quant.forecast.stochastic.portfolio.run_portfolio_simulation(portfolio, equation, start_date, end_date, train_test_split, num_paths=1000, plot_vol=False, plot_sim=False, num_sim=100)[source]¶
Runs a single portfolio simulation using the chosen stochastic differential equation.
- Parameters:
portfolio (dict) – Dictionary containing symbols, positions, and quantities.
equation (str) – Chosen stochastic model (CIR, GBM, Heston, OU).
start_date (str) – Start date for simulation.
end_date (str) – End date for simulation.
train_test_split (float) – Ratio of training data.
num_paths (int) – Number of simulation paths (default: 1000).
plot_vol (bool) – Whether to plot volatility models (default: False).
plot_sim (bool) – Whether to plot individual stock simulations (default: False).
num_sim (int) – Number of simulations for error estimation (default: 100).
- awt_quant.forecast.stochastic.portfolio.compare_multiple_portfolio_simulations(portfolios, equation_classes, end_dates, forecast_periods, train_test_splits, num_paths=1000, num_sim=100, plot_vol=False, plot_sim=False)[source]¶
Compares multiple portfolio simulations across different stochastic models and settings.
- Parameters:
portfolios (list[dict]) – List of portfolios with stock symbols and positions.
equation_classes (list[str]) – List of stochastic models to test.
end_dates (list[str]) – End dates for different simulations.
train_test_splits (list[float]) – Different train-test split ratios.
num_paths (int) – Number of Monte Carlo paths (default: 1000).
num_sim (int) – Number of simulations for error estimation (default: 100).
plot_vol (bool) – Whether to plot volatility models (default: False).
plot_sim (bool) – Whether to plot individual stock simulations (default: False).
- Returns:
Dataframe containing forecast errors and summaries.
- Return type:
pd.DataFrame