mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-15 05:41:49 +00:00
Time-series forecasting (Exponential Smoothing) with Darts Integration (#1851)
* Working exponential with bugs * utilizing business datatime + fillers * working figures * expo with more functionality * historical forcasting feat. * numeric values for forcasted days * print pretty predictions * formatting * code cleanup * doc strings fix * more docs * quick fix * refactoring * poetry updates * typo * test script update * update requirements.txt * refactoring and Hugo website * Update _index.md * reverting poetry and requirements for now. * minor mod and removal of space * Update readme for forecasting * removal of old TF version * reqs and poetry * linting * merge main.yml from main * supress warnings due to lib version change * reverting main.yml * retrying expo on main.yml * fixing fundamentalanalysis version * update poetry fundamentalanalysis * type casting arg parse * seasonal period default update * update en.yml Co-authored-by: didierlopes.eth <dro.lopes@campus.fct.unl.pt> Co-authored-by: James Maslek <jmaslek11@gmail.com>
This commit is contained in:
1
i18n/en.yml
vendored
1
i18n/en.yml
vendored
@@ -486,6 +486,7 @@ en:
|
||||
stocks/pred/lstm: Long-Short Term Memory
|
||||
stocks/pred/conv1d: 1D Convolutional Neural Network
|
||||
stocks/pred/mc: Monte-Carlo simulations
|
||||
stocks/pred/expo: Probabilistic Exponential Smoothing
|
||||
crypto/load: load a specific cryptocurrency for analysis
|
||||
crypto/find: find coins
|
||||
crypto/_coin: Coin
|
||||
|
||||
26
openbb_terminal/README.md
vendored
26
openbb_terminal/README.md
vendored
@@ -186,17 +186,41 @@ Several features in this project utilize Machine Learning. Machine Learning Pyth
|
||||
|
||||
To enable the `prediction` menu install additional dependencies after installing main dependencies:
|
||||
|
||||
- On M1 mac
|
||||
- On Intel mac
|
||||
|
||||
```bash
|
||||
conda install -c conda-forge tensorflow==2.7.0
|
||||
conda install -c conda-forge -c pytorch u8darts-torch
|
||||
poetry install -E prediction
|
||||
```
|
||||
|
||||
- On M1 mac (make sure you are using miniconda3 or miniforge3)
|
||||
|
||||
```bash
|
||||
brew install cmake
|
||||
brew install gcc
|
||||
conda install -c apple tensorflow-deps
|
||||
conda install -c apple tensorflow-deps==2.8.0
|
||||
python -m pip install tensorflow-metal
|
||||
conda update pip
|
||||
conda update -c defaults numpy
|
||||
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
|
||||
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
|
||||
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/fb8323f2b170bd4ae97e1bac9bf3e2983af3fdb0/Formula/libomp.rb
|
||||
brew unlink libomp
|
||||
brew install libomp.rb
|
||||
pip3 install -r requirements.txt
|
||||
conda install -c conda-forge tensorflow==2.8.0
|
||||
conda install -c conda-forge -c pytorch u8darts-torch
|
||||
python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
|
||||
```
|
||||
|
||||
- On all other systems
|
||||
|
||||
```bash
|
||||
poetry install -E prediction
|
||||
conda install -c conda-forge -c pytorch u8darts-torch
|
||||
|
||||
```
|
||||
|
||||
If you are having trouble with Poetry (e.g. on a Windows system), simply install requirements.txt with pip
|
||||
|
||||
@@ -43,7 +43,7 @@ def display_exponential_smoothing(
|
||||
n_predict: int,
|
||||
trend: str = "N",
|
||||
seasonal: str = "N",
|
||||
seasonal_periods: int = 5,
|
||||
seasonal_periods: int = 7,
|
||||
s_end_date: str = "",
|
||||
export: str = "",
|
||||
time_res: str = "",
|
||||
|
||||
137
openbb_terminal/common/prediction_techniques/expo_model.py
Normal file
137
openbb_terminal/common/prediction_techniques/expo_model.py
Normal file
@@ -0,0 +1,137 @@
|
||||
"""Probabilistic Exponential Smoothing Model"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import logging
|
||||
from typing import Any, Tuple, Union
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from darts import TimeSeries
|
||||
from darts.models import ExponentialSmoothing
|
||||
from darts.dataprocessing.transformers import MissingValuesFiller
|
||||
from darts.utils.utils import ModelMode, SeasonalityMode
|
||||
from darts.metrics import mape
|
||||
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.rich_config import console
|
||||
|
||||
|
||||
TRENDS = ["N", "A", "M"]
|
||||
SEASONS = ["N", "A", "M"]
|
||||
PERIODS = [4, 5, 7]
|
||||
DAMPEN = ["T", "F"]
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def get_expo_data(
|
||||
data: Union[pd.Series, pd.DataFrame],
|
||||
trend: str = "A",
|
||||
seasonal: str = "A",
|
||||
seasonal_periods: int = 7,
|
||||
dampen: str = "F",
|
||||
n_predict: int = 30,
|
||||
start_window: float = 0.65,
|
||||
forecast_horizon: int = 3,
|
||||
) -> Tuple[Any, Any, Any, Any, Any]:
|
||||
|
||||
"""Performs Probabilistic Exponential Smoothing forecasting
|
||||
This is a wrapper around statsmodels Holt-Winters' Exponential Smoothing;
|
||||
we refer to this link for the original and more complete documentation of the parameters.
|
||||
|
||||
https://unit8co.github.io/darts/generated_api/darts.models.forecasting.exponential_smoothing.html?highlight=exponential
|
||||
|
||||
Parameters
|
||||
----------
|
||||
data : Union[pd.Series, np.ndarray]
|
||||
Input data.
|
||||
trend: str
|
||||
Trend component. One of [N, A, M]
|
||||
Defaults to ADDITIVE.
|
||||
seasonal: str
|
||||
Seasonal component. One of [N, A, M]
|
||||
Defaults to ADDITIVE.
|
||||
seasonal_periods: int
|
||||
Number of seasonal periods in a year (7 for daily data)
|
||||
If not set, inferred from frequency of the series.
|
||||
dampen: str
|
||||
Dampen the function
|
||||
n_predict: int
|
||||
Number of days to forecast
|
||||
start_window: float
|
||||
Size of sliding window from start of timeseries and onwards
|
||||
forecast_horizon: int
|
||||
Number of days to forecast when backtesting and retraining historical
|
||||
|
||||
Returns
|
||||
-------
|
||||
List[float]
|
||||
Adjusted Data series
|
||||
List[float]
|
||||
List of predicted values
|
||||
Any
|
||||
Fit Prob. Expo model object.
|
||||
"""
|
||||
|
||||
filler = MissingValuesFiller()
|
||||
data["date"] = data.index # add temp column since we need to use index col for date
|
||||
ticker_series = TimeSeries.from_dataframe(
|
||||
data,
|
||||
time_col="date",
|
||||
value_cols=["AdjClose"],
|
||||
freq="B",
|
||||
fill_missing_dates=True,
|
||||
)
|
||||
|
||||
ticker_series = filler.transform(ticker_series)
|
||||
ticker_series = ticker_series.astype(np.float32)
|
||||
_, val = ticker_series.split_before(0.85)
|
||||
|
||||
if trend == "M":
|
||||
trend = ModelMode.MULTIPLICATIVE
|
||||
elif trend == "N":
|
||||
trend = ModelMode.NONE
|
||||
else: # Default
|
||||
trend = ModelMode.ADDITIVE
|
||||
|
||||
if seasonal == "M":
|
||||
seasonal = SeasonalityMode.MULTIPLICATIVE
|
||||
elif seasonal == "N":
|
||||
seasonal = SeasonalityMode.NONE
|
||||
else: # Default
|
||||
seasonal = SeasonalityMode.ADDITIVE
|
||||
|
||||
damped = True
|
||||
if dampen == "F":
|
||||
damped = False
|
||||
|
||||
# Model Init
|
||||
model_es = ExponentialSmoothing(
|
||||
trend=trend,
|
||||
seasonal=seasonal,
|
||||
seasonal_periods=int(seasonal_periods),
|
||||
damped=damped,
|
||||
random_state=42,
|
||||
)
|
||||
|
||||
# Training model based on historical backtesting
|
||||
historical_fcast_es = model_es.historical_forecasts(
|
||||
ticker_series,
|
||||
start=float(start_window),
|
||||
forecast_horizon=int(forecast_horizon),
|
||||
verbose=True,
|
||||
)
|
||||
|
||||
# Show forecast over validation # and then +n_predict afterwards sampled 10 times per point
|
||||
probabilistic_forecast = model_es.predict(int(n_predict), num_samples=500)
|
||||
precision = mape(val, probabilistic_forecast) # mape = mean average precision error
|
||||
console.print(f"model {model_es} obtains MAPE: {precision:.2f}% \n") # TODO
|
||||
|
||||
return (
|
||||
ticker_series,
|
||||
historical_fcast_es,
|
||||
probabilistic_forecast,
|
||||
precision,
|
||||
model_es,
|
||||
)
|
||||
118
openbb_terminal/common/prediction_techniques/expo_view.py
Normal file
118
openbb_terminal/common/prediction_techniques/expo_view.py
Normal file
@@ -0,0 +1,118 @@
|
||||
"""Probabilistic Exponential Smoothing View"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import logging
|
||||
import os
|
||||
from typing import Union
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import pandas as pd
|
||||
|
||||
from openbb_terminal.config_terminal import theme
|
||||
from openbb_terminal.common.prediction_techniques import expo_model
|
||||
from openbb_terminal.config_plot import PLOT_DPI
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import (
|
||||
export_data,
|
||||
plot_autoscale,
|
||||
)
|
||||
from openbb_terminal.rich_config import console
|
||||
from openbb_terminal.common.prediction_techniques.pred_helper import (
|
||||
print_pretty_prediction,
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
# pylint: disable=too-many-arguments
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def display_expo_forecast(
|
||||
data: Union[pd.DataFrame, pd.Series],
|
||||
ticker_name: str,
|
||||
trend: str,
|
||||
seasonal: str,
|
||||
seasonal_periods: int,
|
||||
dampen: str,
|
||||
n_predict: int,
|
||||
start_window: float,
|
||||
forecast_horizon: int,
|
||||
export: str = "",
|
||||
):
|
||||
"""Display Probabilistic Exponential Smoothing forecast
|
||||
|
||||
Parameters
|
||||
----------
|
||||
data : Union[pd.Series, np.array]
|
||||
Data to forecast
|
||||
trend: str
|
||||
Trend component. One of [N, A, M]
|
||||
Defaults to ADDITIVE.
|
||||
seasonal: str
|
||||
Seasonal component. One of [N, A, M]
|
||||
Defaults to ADDITIVE.
|
||||
seasonal_periods: int
|
||||
Number of seasonal periods in a year
|
||||
If not set, inferred from frequency of the series.
|
||||
dampen: str
|
||||
Dampen the function
|
||||
n_predict: int
|
||||
Number of days to forecast
|
||||
start_window: float
|
||||
Size of sliding window from start of timeseries and onwards
|
||||
forecast_horizon: int
|
||||
Number of days to forecast when backtesting and retraining historical
|
||||
export: str
|
||||
Format to export data
|
||||
external_axes : Optional[List[plt.Axes]], optional
|
||||
External axes (2 axis is expected in the list), by default None
|
||||
"""
|
||||
(
|
||||
ticker_series,
|
||||
historical_fcast_es,
|
||||
predicted_values,
|
||||
precision,
|
||||
_,
|
||||
) = expo_model.get_expo_data(
|
||||
data,
|
||||
trend,
|
||||
seasonal,
|
||||
seasonal_periods,
|
||||
dampen,
|
||||
n_predict,
|
||||
start_window,
|
||||
forecast_horizon,
|
||||
)
|
||||
|
||||
# Plotting with Matplotlib
|
||||
external_axes = None
|
||||
if not external_axes:
|
||||
fig, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI)
|
||||
else:
|
||||
if len(external_axes) != 1:
|
||||
logger.error("Expected list of one axis item.")
|
||||
console.print("[red]Expected list of one axis item.\n[/red]")
|
||||
return
|
||||
ax = external_axes
|
||||
|
||||
# ax = fig.get_axes()[0] # fig gives list of axes (only one for this case)
|
||||
ticker_series.plot(label="Actual AdjClose", figure=fig)
|
||||
historical_fcast_es.plot(
|
||||
label="Back-test 3-Days ahead forecast (Exp. Smoothing)", figure=fig
|
||||
)
|
||||
predicted_values.plot(
|
||||
label="Probabilistic Forecast", low_quantile=0.1, high_quantile=0.9, figure=fig
|
||||
)
|
||||
ax.set_title(
|
||||
f"PES for ${ticker_name} for next [{n_predict}] days (Model MAPE={round(precision,2)}%)"
|
||||
)
|
||||
ax.set_ylabel("Adj. Closing")
|
||||
ax.set_xlabel("Date")
|
||||
theme.style_primary_axis(ax)
|
||||
|
||||
if not external_axes:
|
||||
theme.visualize_output()
|
||||
|
||||
numeric_forecast = predicted_values.quantile_df()["AdjClose_0.5"].tail(n_predict)
|
||||
print_pretty_prediction(numeric_forecast, data["AdjClose"].iloc[-1])
|
||||
|
||||
export_data(export, os.path.dirname(os.path.abspath(__file__)), "expo")
|
||||
@@ -557,7 +557,6 @@ def lambda_price_prediction_color(val: float, last_val: float) -> str:
|
||||
|
||||
def print_pretty_prediction(df_pred: pd.DataFrame, last_price: float):
|
||||
"""Print predictions"""
|
||||
console.print("")
|
||||
if rich_config.USE_COLOR:
|
||||
df_pred = pd.DataFrame(df_pred)
|
||||
df_pred.columns = ["pred"]
|
||||
|
||||
@@ -35,5 +35,9 @@ from openbb_terminal.common.prediction_techniques.mc_view import (
|
||||
display_mc_forecast as mc,
|
||||
)
|
||||
|
||||
from openbb_terminal.common.prediction_techniques.expo_view import (
|
||||
display_expo_forecast as expo,
|
||||
)
|
||||
|
||||
# Models
|
||||
models = _models(os.path.abspath(os.path.dirname(prediction_techniques.__file__)))
|
||||
|
||||
@@ -22,6 +22,8 @@ from openbb_terminal.common.prediction_techniques import (
|
||||
neural_networks_view,
|
||||
pred_helper,
|
||||
regression_view,
|
||||
expo_view,
|
||||
expo_model,
|
||||
)
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import (
|
||||
@@ -54,6 +56,7 @@ class PredictionTechniquesController(BaseController):
|
||||
"lstm",
|
||||
"conv1d",
|
||||
"mc",
|
||||
"expo",
|
||||
]
|
||||
|
||||
PATH = "/stocks/pred/"
|
||||
@@ -90,6 +93,10 @@ class PredictionTechniquesController(BaseController):
|
||||
choices["ets"]["-s"] = {c: {} for c in ets_model.SEASONS}
|
||||
choices["arima"]["-i"] = {c: {} for c in arima_model.ICS}
|
||||
choices["mc"]["--dist"] = {c: {} for c in mc_model.DISTRIBUTIONS}
|
||||
choices["expo"]["-t"] = {c: {} for c in expo_model.TRENDS}
|
||||
choices["expo"]["-s"] = {c: {} for c in expo_model.SEASONS}
|
||||
choices["expo"]["-p"] = {c: {} for c in expo_model.PERIODS}
|
||||
choices["expo"]["-dp"] = {c: {} for c in expo_model.DAMPEN}
|
||||
self.completer = NestedCompleter.from_nested_dict(choices)
|
||||
|
||||
def print_help(self):
|
||||
@@ -119,6 +126,7 @@ class PredictionTechniquesController(BaseController):
|
||||
mt.add_cmd("lstm")
|
||||
mt.add_cmd("conv1d")
|
||||
mt.add_cmd("mc")
|
||||
mt.add_cmd("expo")
|
||||
console.print(text=mt.menu_text, menu="Stocks - Prediction Techniques")
|
||||
|
||||
def custom_reset(self):
|
||||
@@ -713,3 +721,99 @@ class PredictionTechniquesController(BaseController):
|
||||
use_log=ns_parser.dist == "lognormal",
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def call_expo(self, other_args: List[str]):
|
||||
"""Process expo command"""
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
add_help=False,
|
||||
prog="expo",
|
||||
description="""
|
||||
Perform Probabilistic Exponential Smoothing forecast
|
||||
Trend: N: None, A: Additive, M: Multiplicative
|
||||
Seasonality: N: None, A: Additive, M: Multiplicative
|
||||
Dampen: T: True, F: False
|
||||
""",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-n",
|
||||
"--n_days",
|
||||
action="store",
|
||||
dest="n_days",
|
||||
type=check_positive,
|
||||
default=5,
|
||||
help="prediction days.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t",
|
||||
"--trend",
|
||||
action="store",
|
||||
dest="trend",
|
||||
choices=expo_model.TRENDS,
|
||||
default="A",
|
||||
help="Trend: N: None, A: Additive, M: Multiplicative.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-s",
|
||||
"--seasonal",
|
||||
action="store",
|
||||
dest="seasonal",
|
||||
choices=expo_model.SEASONS,
|
||||
default="A",
|
||||
help="Seasonality: N: None, A: Additive, M: Multiplicative.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-p",
|
||||
"--periods",
|
||||
action="store",
|
||||
dest="seasonal_periods",
|
||||
type=check_positive,
|
||||
default=7,
|
||||
help="Seasonal periods: 4: Quarterly, 7: Daily",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-d",
|
||||
"--dampen",
|
||||
action="store",
|
||||
dest="dampen",
|
||||
default="F",
|
||||
help="Dampening",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-w",
|
||||
"--window",
|
||||
action="store",
|
||||
dest="start_window",
|
||||
default=0.65,
|
||||
help="Start point for rolling training and forecast window. 0.0-1.0",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--forecasthorizon",
|
||||
action="store",
|
||||
dest="forecast_horizon",
|
||||
default=3,
|
||||
help="Days/Points to forecast when training and performing historical back-testing",
|
||||
)
|
||||
|
||||
ns_parser = parse_known_args_and_warn(
|
||||
parser, other_args, export_allowed=EXPORT_ONLY_FIGURES_ALLOWED
|
||||
)
|
||||
|
||||
if ns_parser:
|
||||
if self.target != "AdjClose":
|
||||
console.print("Expo Prediction designed for AdjClose prices\n")
|
||||
|
||||
expo_view.display_expo_forecast(
|
||||
data=self.stock,
|
||||
ticker_name=self.ticker,
|
||||
n_predict=ns_parser.n_days,
|
||||
trend=ns_parser.trend,
|
||||
seasonal=ns_parser.seasonal,
|
||||
seasonal_periods=ns_parser.seasonal_periods,
|
||||
dampen=ns_parser.dampen,
|
||||
start_window=ns_parser.start_window,
|
||||
forecast_horizon=ns_parser.forecast_horizon,
|
||||
export=ns_parser.export,
|
||||
)
|
||||
|
||||
@@ -5,6 +5,7 @@ import logging
|
||||
import os
|
||||
from datetime import datetime, timedelta, date
|
||||
from typing import List, Union, Optional, Iterable
|
||||
import warnings
|
||||
|
||||
import financedatabase as fd
|
||||
import matplotlib.pyplot as plt
|
||||
@@ -1064,6 +1065,7 @@ def additional_info_about_ticker(ticker: str) -> str:
|
||||
extra_info += "\n[param]Currency: [/param]USD"
|
||||
extra_info += "\n[param]Market: [/param]"
|
||||
calendar = mcal.get_calendar("NYSE")
|
||||
warnings.filterwarnings("ignore")
|
||||
sch = calendar.schedule(
|
||||
start_date=(datetime.now() - timedelta(days=3)).strftime("%Y-%m-%d"),
|
||||
end_date=(datetime.now() + timedelta(days=3)).strftime("%Y-%m-%d"),
|
||||
|
||||
233
poetry.lock
generated
vendored
233
poetry.lock
generated
vendored
@@ -1768,6 +1768,22 @@ category = "main"
|
||||
optional = true
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "lightgbm"
|
||||
version = "3.3.2"
|
||||
description = "LightGBM Python Package"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
numpy = "*"
|
||||
scikit-learn = "!=0.22.0"
|
||||
scipy = "*"
|
||||
|
||||
[package.extras]
|
||||
dask = ["dask[array] (>=2.0.0)", "dask[dataframe] (>=2.0.0)", "dask[distributed] (>=2.0.0)", "pandas"]
|
||||
|
||||
[[package]]
|
||||
name = "linearmodels"
|
||||
version = "4.26"
|
||||
@@ -1789,6 +1805,14 @@ scipy = ">=1.2"
|
||||
setuptools-scm = ">=6.4.2,<7.0.0"
|
||||
statsmodels = ">=0.11"
|
||||
|
||||
[[package]]
|
||||
name = "llvmlite"
|
||||
version = "0.38.1"
|
||||
description = "lightweight wrapper around basic LLVM functionality"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7,<3.11"
|
||||
|
||||
[[package]]
|
||||
name = "lxml"
|
||||
version = "4.8.0"
|
||||
@@ -2132,6 +2156,19 @@ doc = ["sphinx (>=4.5)", "pydata-sphinx-theme (>=0.8.1)", "sphinx-gallery (>=0.1
|
||||
extra = ["lxml (>=4.6)", "pygraphviz (>=1.9)", "pydot (>=1.4.2)", "sympy (>=1.10)"]
|
||||
test = ["pytest (>=7.1)", "pytest-cov (>=3.0)", "codecov (>=2.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "nfoursid"
|
||||
version = "1.0.0"
|
||||
description = "Implementation of N4SID, Kalman filtering and state-space models"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
matplotlib = ">=3.3"
|
||||
numpy = ">=1.19"
|
||||
pandas = ">=1.1"
|
||||
|
||||
[[package]]
|
||||
name = "nodeenv"
|
||||
version = "1.6.0"
|
||||
@@ -2184,6 +2221,18 @@ jupyter-server = ">=1.8,<2.0"
|
||||
[package.extras]
|
||||
test = ["pytest", "pytest-tornasync", "pytest-console-scripts"]
|
||||
|
||||
[[package]]
|
||||
name = "numba"
|
||||
version = "0.55.1"
|
||||
description = "compiling Python code using LLVM"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7,<3.11"
|
||||
|
||||
[package.dependencies]
|
||||
llvmlite = ">=0.38.0rc1,<0.39"
|
||||
numpy = ">=1.18,<1.22"
|
||||
|
||||
[[package]]
|
||||
name = "numpy"
|
||||
version = "1.21.2"
|
||||
@@ -3830,6 +3879,24 @@ anyio = ">=3.0.0,<4"
|
||||
[package.extras]
|
||||
full = ["itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests"]
|
||||
|
||||
[[package]]
|
||||
name = "statsforecast"
|
||||
version = "0.5.5"
|
||||
description = "Time series forecasting suite using statistical models"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
numba = "*"
|
||||
numpy = "*"
|
||||
pandas = "*"
|
||||
scipy = "*"
|
||||
statsmodels = "*"
|
||||
|
||||
[package.extras]
|
||||
ray = ["ray"]
|
||||
|
||||
[[package]]
|
||||
name = "statsmodels"
|
||||
version = "0.13.2"
|
||||
@@ -4083,6 +4150,17 @@ category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "torch"
|
||||
version = "1.11.0"
|
||||
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7.0"
|
||||
|
||||
[package.dependencies]
|
||||
typing-extensions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "tornado"
|
||||
version = "6.1"
|
||||
@@ -4264,6 +4342,37 @@ tzdata = {version = "*", markers = "platform_system == \"Windows\""}
|
||||
devenv = ["black", "pyroma", "pytest-cov", "zest.releaser"]
|
||||
test = ["pytest-mock (>=3.3)", "pytest (>=4.3)"]
|
||||
|
||||
[[package]]
|
||||
name = "u8darts"
|
||||
version = "0.19.0"
|
||||
description = "A python library for easy manipulation and forecasting of time series."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
holidays = ">=0.11.1"
|
||||
ipython = ">=7.0.0"
|
||||
joblib = ">=0.16.0"
|
||||
lightgbm = ">=2.2.3"
|
||||
matplotlib = ">=3.3.0"
|
||||
nfoursid = ">=1.0.0"
|
||||
numpy = ">=1.19.0"
|
||||
pandas = ">=1.0.5"
|
||||
requests = ">=2.22.0"
|
||||
scikit-learn = ">=1.0.1"
|
||||
scipy = ">=1.3.2"
|
||||
statsforecast = ">=0.5.2"
|
||||
statsmodels = ">=0.13.0"
|
||||
tqdm = ">=4.60.0"
|
||||
xarray = ">=0.17.0"
|
||||
|
||||
[package.extras]
|
||||
all = ["holidays (>=0.11.1)", "ipython (>=7.0.0)", "joblib (>=0.16.0)", "lightgbm (>=2.2.3)", "matplotlib (>=3.3.0)", "nfoursid (>=1.0.0)", "numpy (>=1.19.0)", "pandas (>=1.0.5)", "requests (>=2.22.0)", "scikit-learn (>=1.0.1)", "scipy (>=1.3.2)", "statsforecast (>=0.5.2)", "statsmodels (>=0.13.0)", "tqdm (>=4.60.0)", "xarray (>=0.17.0)", "pmdarima (>=1.8.0)", "tbats (>=1.1.0)", "pytorch-lightning (>=1.5.0)", "torch (>=1.8.0)", "prophet (>=1.0.0)", "pystan (>=2.19.1.1,<3.0.0.0)"]
|
||||
pmdarima = ["pmdarima (>=1.8.0)", "tbats (>=1.1.0)"]
|
||||
prophet = ["prophet (>=1.0.0)", "pystan (>=2.19.1.1,<3.0.0.0)"]
|
||||
torch = ["pytorch-lightning (>=1.5.0)", "torch (>=1.8.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "ujson"
|
||||
version = "5.2.0"
|
||||
@@ -4507,6 +4616,27 @@ python-versions = ">=3.7.0"
|
||||
[package.dependencies]
|
||||
h11 = ">=0.9.0,<1"
|
||||
|
||||
[[package]]
|
||||
name = "xarray"
|
||||
version = "2022.3.0"
|
||||
description = "N-D labeled arrays and datasets in Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
|
||||
[package.dependencies]
|
||||
numpy = ">=1.18"
|
||||
packaging = ">=20.0"
|
||||
pandas = ">=1.1"
|
||||
|
||||
[package.extras]
|
||||
accel = ["scipy", "bottleneck", "numbagg"]
|
||||
complete = ["netcdf4", "h5netcdf", "scipy", "pydap", "zarr", "fsspec", "cftime", "rasterio", "cfgrib", "pooch", "bottleneck", "numbagg", "dask", "matplotlib", "seaborn", "nc-time-axis"]
|
||||
docs = ["netcdf4", "h5netcdf", "scipy", "pydap", "zarr", "fsspec", "cftime", "rasterio", "cfgrib", "pooch", "bottleneck", "numbagg", "dask", "matplotlib", "seaborn", "nc-time-axis", "sphinx-autosummary-accessors", "sphinx-rtd-theme", "ipython", "ipykernel", "jupyter-client", "nbsphinx", "scanpydoc"]
|
||||
io = ["netcdf4", "h5netcdf", "scipy", "pydap", "zarr", "fsspec", "cftime", "rasterio", "cfgrib", "pooch"]
|
||||
parallel = ["dask"]
|
||||
viz = ["matplotlib", "seaborn", "nc-time-axis"]
|
||||
|
||||
[[package]]
|
||||
name = "xlsxwriter"
|
||||
version = "3.0.3"
|
||||
@@ -4576,7 +4706,7 @@ prediction = ["tensorflow"]
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.8,<3.10"
|
||||
content-hash = "00f97c4c48a0181981e02ef5002d7f4f97ee8d81c02d4b6ede9918dc29b849fd"
|
||||
content-hash = "160f2dde26257f63f0eb4335e1d31aa95e24070fac8afd8f50cef3986cb6e52f"
|
||||
|
||||
[metadata.files]
|
||||
absl-py = [
|
||||
@@ -5702,6 +5832,13 @@ libclang = [
|
||||
{file = "libclang-11.1.0-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:39d07c8965a3c963fb2686496339b6dbacf42acbd32e4bc7361373a45e98cebe"},
|
||||
{file = "libclang-11.1.0-py2.py3-none-win_amd64.whl", hash = "sha256:8cb0082a30b9e1e615d7f4211b0c428b607a9bd1e43ddc6c0cabdd9ea5b244bf"},
|
||||
]
|
||||
lightgbm = [
|
||||
{file = "lightgbm-3.3.2-py3-none-macosx_10_14_x86_64.macosx_10_15_x86_64.macosx_11_0_x86_64.whl", hash = "sha256:2e94bd1b3ab29d173102c9c1d80db2e27ad7e43b8ff5a74c5cb7984b37d19f45"},
|
||||
{file = "lightgbm-3.3.2-py3-none-manylinux1_x86_64.whl", hash = "sha256:f4cba3b4f29336ad7e801cb32d9b948ea4cc5300dda650b78bcdfe36b3e2c4b2"},
|
||||
{file = "lightgbm-3.3.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8e788c56853316fc5d35db726d81bd002c721038c856853952287f68082e0158"},
|
||||
{file = "lightgbm-3.3.2-py3-none-win_amd64.whl", hash = "sha256:e4f1529cad416066964f9af0efad208787861e9f2181b7f9ee7fc9bacc082d4f"},
|
||||
{file = "lightgbm-3.3.2.tar.gz", hash = "sha256:5d25d16e77c844c297ece2044df57651139bc3c8ad8c4108916374267ac68b64"},
|
||||
]
|
||||
linearmodels = [
|
||||
{file = "linearmodels-4.26-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9511653d58a213ad611680b826e7dcdfc03131b5db722390aa9fb50b0395b3af"},
|
||||
{file = "linearmodels-4.26-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52ac13bfa5765155a03f3bbc9bd68f8f9991ed58a75a53951a8767df87906b2c"},
|
||||
@@ -5722,6 +5859,36 @@ linearmodels = [
|
||||
{file = "linearmodels-4.26-cp39-cp39-win_amd64.whl", hash = "sha256:2a00b73dabde87949bc221c5f080371ada62604976fa119381d542cbf6bb83ee"},
|
||||
{file = "linearmodels-4.26.tar.gz", hash = "sha256:687194fc9a51d9119c32a94b5a1061dfc13398eac3d25e086bd06f80d8fda76b"},
|
||||
]
|
||||
llvmlite = [
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7dd2bd1d6406e7789273e3f8a304ed5d9adcfaa5768052fca7dc233a857be98"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a5e0ed215a576f0f872f47a70b8cb49864e0aefc8586aff5ce83e3bff47bc23"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:633c9026eb43b9903cc4ffbc1c7d5293b2e3ad95d06fa9eab0f6ce6ff6ea15b3"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b98da8436dbc29013ea301f1fdb0d596ab53bf0ab65c976d96d00bb6faa0b479"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0adce1793d66d009c554809f27baeb6258bf13f6fbaa12eff7443500caec25"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-win32.whl", hash = "sha256:8c64c90a8b0b7b7e1ed1912ba82c1a3f43cf25affbe06aa3c56c84050edee8ac"},
|
||||
{file = "llvmlite-0.38.1-cp310-cp310-win_amd64.whl", hash = "sha256:ab070266f0f51304789a6c20d4be91a9e69683ad9bd4861eb89980e8eb613b3a"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ed7528b8b85de930b76407e44b080e4f376b7a007c2879749599ff8e2fe32753"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7db018da2863034ad9c73c946625637f3a89635bc70576068bab4bd085eea90d"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c1e5805c92e049b4956ed01204c6647de6160ab9aefb0d67ea83ca02a1d889a"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5559e46c79b4017c3c25edc3b9512d11adc3689b9046120c685b0905c08d48a5"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-win32.whl", hash = "sha256:ef9aa574eff2e15f8c47b255da0db5dab326dc7f76384c307ae35490e2d2489a"},
|
||||
{file = "llvmlite-0.38.1-cp37-cp37m-win_amd64.whl", hash = "sha256:84d5a0163c172db2b2ae561d2fc0866fbd9f716cf13f92c0d41ca4338e682672"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a263252a68d85450110ec1f2b406c0414e49b04a4d216d31c0515ea1d59c3882"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:de8bd61480173930f2a029673e7cd0738fbbb5171dfe490340839ad7301d4cf0"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fbfbe546394c39db39a6898a51972aa131c8d6b0628517728b350552f58bdc19"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c4f26c6c370e134a909ac555a671fa1376e74c69af0208f25c0979472577a9d"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f95f455697c44d7c04ef95fdfce04629f48df08a832d0a0d9eb2363186dbb969"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-win32.whl", hash = "sha256:41e638a71c85a9a4a33f279c4cd812bc2f84122505b1f6ab8984ec7debb8548b"},
|
||||
{file = "llvmlite-0.38.1-cp38-cp38-win_amd64.whl", hash = "sha256:5c07d63df4578f31b39b764d3b4291f70157af7f42e171a8884ae7aaf989d1f7"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e11bd9929dcbd55d5eb5cd7b08bf71b0097ea48cc192b69d102a90dd6e9816f"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:edfa2c761cfa56cf76e783290d82e117f829bb691d8d90aa375505204888abac"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e609f7312a439b53b6f622d99180c3ff6a3e1e4ceca4d18aca1c5b46f4e3664"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f53c3448410cc84d0e1af84dbc0d60ad32779853d40bcc8b1ee3c67ebbe94b1"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c8fac4edbadefa4dddf5dc6cca76bc2ae81df211dcd16a6638d60cc41249e56"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-win32.whl", hash = "sha256:3d76c0fa42390bef56979ed213fbf0150c3fef36f5ea68d3d780d5d725da8c01"},
|
||||
{file = "llvmlite-0.38.1-cp39-cp39-win_amd64.whl", hash = "sha256:66462d768c30d5f648ca3361d657b434efa8b09f6cf04d6b6eae66e62e993644"},
|
||||
{file = "llvmlite-0.38.1.tar.gz", hash = "sha256:0622a86301fcf81cc50d7ed5b4bebe992c030580d413a8443b328ed4f4d82561"},
|
||||
]
|
||||
lxml = [
|
||||
{file = "lxml-4.8.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:e1ab2fac607842ac36864e358c42feb0960ae62c34aa4caaf12ada0a1fb5d99b"},
|
||||
{file = "lxml-4.8.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28d1af847786f68bec57961f31221125c29d6f52d9187c01cd34dc14e2b29430"},
|
||||
@@ -6026,6 +6193,10 @@ networkx = [
|
||||
{file = "networkx-2.8-py3-none-any.whl", hash = "sha256:1a1e8fe052cc1b4e0339b998f6795099562a264a13a5af7a32cad45ab9d4e126"},
|
||||
{file = "networkx-2.8.tar.gz", hash = "sha256:4a52cf66aed221955420e11b3e2e05ca44196b4829aab9576d4d439212b0a14f"},
|
||||
]
|
||||
nfoursid = [
|
||||
{file = "nfoursid-1.0.0-py3-none-any.whl", hash = "sha256:5714b25a978b4505b818ec79e1e69aa3c41664f4687e176ae49ae125771eabf0"},
|
||||
{file = "nfoursid-1.0.0.tar.gz", hash = "sha256:9dc20edeaf0203ebbff9ef6ccad6ff125d9ab73d6c1ab48934fdb24b37f5f097"},
|
||||
]
|
||||
nodeenv = [
|
||||
{file = "nodeenv-1.6.0-py2.py3-none-any.whl", hash = "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"},
|
||||
{file = "nodeenv-1.6.0.tar.gz", hash = "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"},
|
||||
@@ -6038,6 +6209,33 @@ notebook-shim = [
|
||||
{file = "notebook_shim-0.1.0-py3-none-any.whl", hash = "sha256:02432d55a01139ac16e2100888aa2b56c614720cec73a27e71f40a5387e45324"},
|
||||
{file = "notebook_shim-0.1.0.tar.gz", hash = "sha256:7897e47a36d92248925a2143e3596f19c60597708f7bef50d81fcd31d7263e85"},
|
||||
]
|
||||
numba = [
|
||||
{file = "numba-0.55.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:be56fb78303973e6c19c7c2759996a5863bac69ca87570543d9f18f2f287a441"},
|
||||
{file = "numba-0.55.1-1-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ee71407be9cba09b4f68afa668317e97d66d5f83c37ab4caa20d8abcf5fad32b"},
|
||||
{file = "numba-0.55.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39a109efc317e8eb786feff0a29476036971ce08e3280be8153c3b6c1ccba415"},
|
||||
{file = "numba-0.55.1-1-cp37-cp37m-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0dc8294b2b6b2dbe3a709787bbb1e6f9dcef62197429de8daaa714d77052eefe"},
|
||||
{file = "numba-0.55.1-1-cp37-cp37m-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:bcd5e09dba5e19ff7a1b9716a1ce58f0931cec09515683011e57415c6a33ac3d"},
|
||||
{file = "numba-0.55.1-1-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:64209d71b1e33415d5b1b177ed218d679062f844667dd279ee9094c4e3e2babc"},
|
||||
{file = "numba-0.55.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff5ed5c7665f8a5405af53332d224caca68358909abde9ca8dfef3495cdea789"},
|
||||
{file = "numba-0.55.1-1-cp38-cp38-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d80afc5618e66af2d101eff0e6214acb865136ae886d8b01414ca3dedd9166d6"},
|
||||
{file = "numba-0.55.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6d0042371880fa56ed58be27502b11a08bff0b6335f0ebde82af1a7aef5e1287"},
|
||||
{file = "numba-0.55.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4a5cb8930e729aeed96809524ca4df41b6f2432b379f220014ef4fdff21dbfe6"},
|
||||
{file = "numba-0.55.1-1-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:fee529ddc9c0584b932f7885735162e52344eded8c01c78c17e2768aa6787780"},
|
||||
{file = "numba-0.55.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:230e542649c7087454bc851d2e22b5e15694b6cf0549a27234d1baea6c2e0a87"},
|
||||
{file = "numba-0.55.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:adc88fe64f5235c8b1e7230ae29476a08ffb61a65e9f79f745bd357f215e2d52"},
|
||||
{file = "numba-0.55.1-cp310-cp310-win32.whl", hash = "sha256:a5af7f1d30f56029d1b9ea288372f924f9dcb322f0e6358f6d5203b20eb6f7a0"},
|
||||
{file = "numba-0.55.1-cp310-cp310-win_amd64.whl", hash = "sha256:71815c501b2f6309c432e98ff93a582a9bfb61da943e0cb9a52595fadbb1131d"},
|
||||
{file = "numba-0.55.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:53909143917ea4962cfbfae7038ac882987ff54cb2c408538ce71f83b356f106"},
|
||||
{file = "numba-0.55.1-cp37-cp37m-win32.whl", hash = "sha256:cddc13939e2b27782258826686800ae9c2e90b35c36ef1ab5ccfae7cedca0516"},
|
||||
{file = "numba-0.55.1-cp37-cp37m-win_amd64.whl", hash = "sha256:ac6ae19ff5093a42bf8b365550322a2e39650d608daa379dff71571272d88d93"},
|
||||
{file = "numba-0.55.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:77187ed09e6b25ae24b840e1acc4b5f9886b551cdc5f919ddad8e5933a6027d5"},
|
||||
{file = "numba-0.55.1-cp38-cp38-win32.whl", hash = "sha256:53ee562b873e00eaa26390690ac5d36b706782d429e5a18b255161f607f13c17"},
|
||||
{file = "numba-0.55.1-cp38-cp38-win_amd64.whl", hash = "sha256:02fb0ecd218ab1e1171cbaee11235a3a1f7dcf79dee3fa786243a2a6411f2fea"},
|
||||
{file = "numba-0.55.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:6aa8f18a003a0e4876826fe080e6038fc6da083899873b77172ec29c32e49b56"},
|
||||
{file = "numba-0.55.1-cp39-cp39-win32.whl", hash = "sha256:d5ee721ce884f8313802295633fdd3e7c83541e0917bafea2bdfed6aabab93bf"},
|
||||
{file = "numba-0.55.1-cp39-cp39-win_amd64.whl", hash = "sha256:b72350160eb9a73a36aa17d808f954353a263a0295d495497c87439d79bdaec7"},
|
||||
{file = "numba-0.55.1.tar.gz", hash = "sha256:03e9069a2666d1c84f93b00dbd716fb8fedde8bb2c6efafa2f04842a46442ea3"},
|
||||
]
|
||||
numpy = [
|
||||
{file = "numpy-1.21.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52a664323273c08f3b473548bf87c8145b7513afd63e4ebba8496ecd3853df13"},
|
||||
{file = "numpy-1.21.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a7b9db0a2941434cd930dacaafe0fc9da8f3d6157f9d12f761bbde93f46218"},
|
||||
@@ -7212,6 +7410,10 @@ starlette = [
|
||||
{file = "starlette-0.17.1-py3-none-any.whl", hash = "sha256:26a18cbda5e6b651c964c12c88b36d9898481cd428ed6e063f5f29c418f73050"},
|
||||
{file = "starlette-0.17.1.tar.gz", hash = "sha256:57eab3cc975a28af62f6faec94d355a410634940f10b30d68d31cb5ec1b44ae8"},
|
||||
]
|
||||
statsforecast = [
|
||||
{file = "statsforecast-0.5.5-py3-none-any.whl", hash = "sha256:f04affa6fcae9d9fae0be74f19bef043c18d80483060971c72975c9bfcdbd63d"},
|
||||
{file = "statsforecast-0.5.5.tar.gz", hash = "sha256:6a81ae36568f12aa64f862bdff5518da43e1a1fc14ced9b5d6917259fa9a362f"},
|
||||
]
|
||||
statsmodels = [
|
||||
{file = "statsmodels-0.13.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3e7ca5b7e678c0bb7a24f5c735d58ac104a50eb61b17c484cce0e221a095560f"},
|
||||
{file = "statsmodels-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:066a75d5585378b2df972f81a90b9a3da5e567b7d4833300c1597438c1a35e29"},
|
||||
@@ -7338,6 +7540,27 @@ toolz = [
|
||||
{file = "toolz-0.11.2-py3-none-any.whl", hash = "sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f"},
|
||||
{file = "toolz-0.11.2.tar.gz", hash = "sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33"},
|
||||
]
|
||||
torch = [
|
||||
{file = "torch-1.11.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:62052b50fffc29ca7afc0c04ef8206b6f1ca9d10629cb543077e12967e8d0398"},
|
||||
{file = "torch-1.11.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:866bfba29ac98dec35d893d8e17eaec149d0ac7a53be7baae5c98069897db667"},
|
||||
{file = "torch-1.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:951640fb8db308a59d9b510e7d1ad910aff92913323bbe4bc75435347ddd346d"},
|
||||
{file = "torch-1.11.0-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:5d77b5ece78fdafa5c7f42995ff9474399d22571cd6b2de21a5d666306a2ff8c"},
|
||||
{file = "torch-1.11.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:b5a38682769b544c875ecc34bcb81fbad5c922139b61319aacffcfd8a32f528c"},
|
||||
{file = "torch-1.11.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f82d77695a60626f2b7382d85bc566de8a6b3e50d32080755abc040db802e419"},
|
||||
{file = "torch-1.11.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b96654d42566080a134e784705f33f8536b3b95b5dcde357ed7879b1692a5f78"},
|
||||
{file = "torch-1.11.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8ee7c2e8d7f7020d5bfbc1bb91b9591044c26bbd0cee5e4f694cfd7ed8649260"},
|
||||
{file = "torch-1.11.0-cp37-none-macosx_10_9_x86_64.whl", hash = "sha256:6860b1d1bf0bb0b67a6bd47f85a0e4c825b518eea13b5d6101999dbbcbd5bc0c"},
|
||||
{file = "torch-1.11.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4322aa29f50da7f404db06cdf30896ea67b09f673af4a985afc7162bc897864d"},
|
||||
{file = "torch-1.11.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e4d2e0ddd652f30e94cff750220324ec45705d4ecc69658f773b3cb1c7a28dd0"},
|
||||
{file = "torch-1.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:34ce5ea4d8d85da32cdbadb50d4585106901e9f8a3527991daa70c13a09de1f7"},
|
||||
{file = "torch-1.11.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:0ccc85cd06227a3edf809e2c795fd5762c3d4e8a38b5c9f744c6e7cf841361bb"},
|
||||
{file = "torch-1.11.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:c1554e49d74f1b2c3e7202d77056ba2dd7465437585bac64062b580f714a44e9"},
|
||||
{file = "torch-1.11.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:58c7814502b1c129a650d7092033bbb0bbd64faf1a7941631aaa1aeaddc37570"},
|
||||
{file = "torch-1.11.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:831cf588f01dda9409e75576741d2823453990dee2983d670f2584b37a01adf7"},
|
||||
{file = "torch-1.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:44a1d02fd20f827f0f36dc26fdcfc45e793806a6ad52769a22260655a77a4369"},
|
||||
{file = "torch-1.11.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:50fd9bf85c578c871c28f1cb0ace9dfc6024401c7f399b174fb0f370899f4454"},
|
||||
{file = "torch-1.11.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:0e48af66ad755f0f9c5f2664028a414f57c49d6adc37e77e06fe0004da4edb61"},
|
||||
]
|
||||
tornado = [
|
||||
{file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"},
|
||||
{file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"},
|
||||
@@ -7445,6 +7668,10 @@ tzlocal = [
|
||||
{file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"},
|
||||
{file = "tzlocal-4.2.tar.gz", hash = "sha256:ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7"},
|
||||
]
|
||||
u8darts = [
|
||||
{file = "u8darts-0.19.0-py3-none-any.whl", hash = "sha256:8b9073afa0bf36ec4036ca176fbe5426772475455e6cba46be1f63cb2197f953"},
|
||||
{file = "u8darts-0.19.0.tar.gz", hash = "sha256:9cb55ab1ed8d634d93348ae046beadea4bdd12f2b2e49f1d1829841994d200ca"},
|
||||
]
|
||||
ujson = [
|
||||
{file = "ujson-5.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:754e9da96a24535ae5ab2a52e1d1dfc65a6a717c14063855b83f327fdf2173ea"},
|
||||
{file = "ujson-5.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6227597d0201ceadc902d1a8edaffaeb244050b197368ed25e6f6be0df170a6f"},
|
||||
@@ -7680,6 +7907,10 @@ wsproto = [
|
||||
{file = "wsproto-1.1.0-py3-none-any.whl", hash = "sha256:2218cb57952d90b9fca325c0dcfb08c3bda93e8fd8070b0a17f048e2e47a521b"},
|
||||
{file = "wsproto-1.1.0.tar.gz", hash = "sha256:a2e56bfd5c7cd83c1369d83b5feccd6d37798b74872866e62616e0ecf111bda8"},
|
||||
]
|
||||
xarray = [
|
||||
{file = "xarray-2022.3.0-py3-none-any.whl", hash = "sha256:560f36eaabe7a989d5583d37ec753dd737357aa6a6453e55c80bb4f92291a69e"},
|
||||
{file = "xarray-2022.3.0.tar.gz", hash = "sha256:398344bf7d170477aaceff70210e11ebd69af6b156fe13978054d25c48729440"},
|
||||
]
|
||||
xlsxwriter = [
|
||||
{file = "XlsxWriter-3.0.3-py3-none-any.whl", hash = "sha256:df0aefe5137478d206847eccf9f114715e42aaea077e6a48d0e8a2152e983010"},
|
||||
{file = "XlsxWriter-3.0.3.tar.gz", hash = "sha256:e89f4a1d2fa2c9ea15cde77de95cd3fd8b0345d0efb3964623f395c8c4988b7f"},
|
||||
|
||||
6
pyproject.toml
vendored
6
pyproject.toml
vendored
@@ -14,6 +14,7 @@ openbb = 'terminal:terminal'
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8,<3.10"
|
||||
iso8601 = "^0.1.14"
|
||||
FundamentalAnalysis = "^0.2.6"
|
||||
requests = "^2.25.1"
|
||||
alpha-vantage = "^2.3.1"
|
||||
finviz = "^1.3.4"
|
||||
@@ -102,7 +103,10 @@ Jinja2 = "3.0.3" # Remove pinned version when Voila supports 3.1
|
||||
click = "8.0.1" # Remove pinned version when Black supports 8.1
|
||||
kaleido = {version = "<=0.2.1", optional = true, extras = ["bots"]}
|
||||
Riskfolio-Lib = "^3.1.1"
|
||||
fundamentalanalysis = "^0.2.14"
|
||||
llvmlite = {version = "^0.38.1", extras = ["prediction"]}
|
||||
torch = {version = "^1.11.0", extras = ["prediction"]}
|
||||
u8darts = {extras = ["prediction"], version = "^0.19.0"}
|
||||
fundamentalanalysis = {version = "^0.2.14", extras = ["prediction"]}
|
||||
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
16
requirements-full.txt
vendored
16
requirements-full.txt
vendored
@@ -36,7 +36,7 @@ cfgv==3.3.1; python_full_version >= "3.6.1" and python_version >= "3.7"
|
||||
charset-normalizer==2.0.12; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4.0" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
|
||||
click==8.0.1; python_version >= "3.6"
|
||||
codespell==2.1.0; python_version >= "3.5"
|
||||
colorama==0.4.4; python_full_version >= "3.6.2" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and platform_system == "Windows" and python_version >= "3.8" and (python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.5.0") and sys_platform == "win32" and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or platform_system == "Windows" and python_version >= "3.7" and python_full_version >= "3.5.0") and (python_version >= "3.6" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.5.0" and platform_system == "Windows" and python_version >= "3.6") and (python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.5.0")
|
||||
colorama==0.4.4; python_full_version >= "3.6.2" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and platform_system == "Windows" and python_version >= "3.8" and (python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.5.0") and sys_platform == "win32" and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or platform_system == "Windows" and python_version >= "3.7" and python_full_version >= "3.5.0") and (python_version >= "3.7" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.5.0")
|
||||
commonmark==0.9.1; python_full_version >= "3.6.2" and python_full_version < "4.0.0"
|
||||
convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
|
||||
coverage==6.3.2; python_version >= "3.7"
|
||||
@@ -88,7 +88,7 @@ google-pasta==0.2.0
|
||||
grpcio==1.45.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.6"
|
||||
h11==0.13.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
h5py==3.6.0; python_version >= "3.7"
|
||||
hijri-converter==2.2.3; python_version >= "3.6"
|
||||
hijri-converter==2.2.3; python_version >= "3.7"
|
||||
holidays==0.11.3.1; python_version >= "3.6"
|
||||
identify==2.4.12; python_version >= "3.7"
|
||||
idna==3.3; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
|
||||
@@ -125,7 +125,9 @@ kiwisolver==1.4.2; python_version >= "3.7"
|
||||
korean-lunar-calendar==0.2.1; python_version >= "3.7" and python_full_version >= "3.7.0"
|
||||
lazy-object-proxy==1.7.1; python_version >= "3.6" and python_full_version >= "3.6.2"
|
||||
libclang==11.1.0
|
||||
lightgbm==3.3.2; python_version >= "3.7"
|
||||
linearmodels==4.26; python_version >= "3.8"
|
||||
llvmlite==0.38.1; python_version >= "3.7" and python_version < "3.11"
|
||||
lxml==4.8.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
|
||||
markdown-it-py==1.1.0; python_version >= "3.6" and python_version < "4.0"
|
||||
markdown==3.3.6; python_version >= "3.6"
|
||||
@@ -149,9 +151,11 @@ nbconvert==6.5.0; python_version >= "3.7"
|
||||
nbformat==5.3.0; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
nest-asyncio==1.5.5; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
networkx==2.8; python_version >= "3.8"
|
||||
nfoursid==1.0.0; python_version >= "3.7"
|
||||
nodeenv==1.6.0; python_version >= "3.7"
|
||||
notebook-shim==0.1.0; python_version >= "3.7"
|
||||
notebook==6.4.11; python_version >= "3.7"
|
||||
numba==0.55.1; python_version >= "3.7" and python_version < "3.11"
|
||||
numpy==1.21.2; python_version >= "3.7" and python_version < "3.11"
|
||||
oandapyv20==0.6.3
|
||||
oauthlib==3.2.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
@@ -270,6 +274,7 @@ sphinxcontrib-serializinghtml==1.1.5; python_version >= "3.6"
|
||||
squarify==0.4.3
|
||||
sseclient==0.0.27
|
||||
stack-data==0.2.0; python_full_version >= "3.6.2" and python_version >= "3.8"
|
||||
statsforecast==0.5.5; python_version >= "3.7"
|
||||
statsmodels==0.13.2; python_version >= "3.7"
|
||||
stevedore==3.5.0; python_version >= "3.7"
|
||||
tabulate==0.8.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||
@@ -291,8 +296,9 @@ tokenize-rt==4.2.1; python_full_version >= "3.6.2" and python_version >= "3.7"
|
||||
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7"
|
||||
tomli==2.0.1; python_version >= "3.8" and python_full_version >= "3.6.2" and python_version < "3.11"
|
||||
toolz==0.11.2; python_version >= "3.7" and python_full_version >= "3.7.0"
|
||||
torch==1.11.0; python_full_version >= "3.7.0"
|
||||
tornado==6.1; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
tqdm==4.64.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
tqdm==4.64.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
|
||||
tradingview-ta==3.2.10; python_version >= "3.6"
|
||||
traitlets==5.1.1; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
trio-websocket==0.9.2; python_version >= "3.7" and python_version < "4.0"
|
||||
@@ -304,9 +310,10 @@ types-requests==2.27.20
|
||||
types-setuptools==57.4.14
|
||||
types-six==1.16.15
|
||||
types-urllib3==1.26.13
|
||||
typing-extensions==4.2.0; python_version < "3.10" and python_full_version >= "3.6.2" and python_version >= "3.7"
|
||||
typing-extensions==4.2.0; python_version < "3.10" and python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
tzdata==2022.1; platform_system == "Windows" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
|
||||
tzlocal==4.2; python_version >= "3.6"
|
||||
u8darts==0.19.0; python_version >= "3.7"
|
||||
ujson==5.2.0; python_version >= "3.7"
|
||||
unidecode==1.3.4; python_version >= "3.7"
|
||||
update-checker==0.18.0; python_version >= "3.6" and python_version < "4.0"
|
||||
@@ -325,6 +332,7 @@ werkzeug==2.1.1; python_version >= "3.7"
|
||||
widgetsnbextension==3.6.0
|
||||
wrapt==1.14.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and python_version >= "3.8"
|
||||
wsproto==1.1.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
xarray==2022.3.0; python_version >= "3.8"
|
||||
xlsxwriter==3.0.3; python_version >= "3.7"
|
||||
yarl==1.7.2; python_version >= "3.6"
|
||||
yfinance==0.1.70
|
||||
|
||||
16
requirements.txt
vendored
16
requirements.txt
vendored
@@ -27,7 +27,7 @@ certifi==2021.10.8; python_full_version >= "3.7.1" and python_version < "4" and
|
||||
cffi==1.15.0; python_version >= "3.7"
|
||||
charset-normalizer==2.0.12; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4.0" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7")
|
||||
click==8.0.1; python_version >= "3.6"
|
||||
colorama==0.4.4; python_full_version >= "3.6.2" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and platform_system == "Windows" and python_version >= "3.8" and (python_version >= "3.6" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.5.0" and platform_system == "Windows" and python_version >= "3.6") and sys_platform == "win32"
|
||||
colorama==0.4.4; python_full_version >= "3.6.2" and python_full_version < "4.0.0" and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5") and platform_system == "Windows" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.5.0" and platform_system == "Windows" and python_version >= "3.7") and sys_platform == "win32"
|
||||
commonmark==0.9.1; python_full_version >= "3.6.2" and python_full_version < "4.0.0"
|
||||
convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
|
||||
cryptography==36.0.2; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
|
||||
@@ -67,7 +67,7 @@ gitdb==4.0.9; python_version >= "3.7"
|
||||
gitpython==3.1.27; python_version >= "3.7"
|
||||
grpcio==1.45.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.6"
|
||||
h11==0.13.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
hijri-converter==2.2.3; python_version >= "3.6"
|
||||
hijri-converter==2.2.3; python_version >= "3.7"
|
||||
holidays==0.11.3.1; python_version >= "3.6"
|
||||
idna==3.3; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4" and python_full_version < "4.0.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7")
|
||||
importlib-metadata==4.11.3; python_version < "3.10" and python_version >= "3.7"
|
||||
@@ -96,7 +96,9 @@ jupyterlab-widgets==1.1.0; python_version >= "3.6"
|
||||
jupyterlab==3.3.4; python_version >= "3.7"
|
||||
kiwisolver==1.4.2; python_version >= "3.7"
|
||||
korean-lunar-calendar==0.2.1; python_version >= "3.7" and python_full_version >= "3.7.0"
|
||||
lightgbm==3.3.2; python_version >= "3.7"
|
||||
linearmodels==4.26; python_version >= "3.8"
|
||||
llvmlite==0.38.1; python_version >= "3.7" and python_version < "3.11"
|
||||
lxml==4.8.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
|
||||
markupsafe==2.1.1; python_version >= "3.7"
|
||||
matplotlib-inline==0.1.3; python_full_version >= "3.6.2" and python_version >= "3.8"
|
||||
@@ -114,8 +116,10 @@ nbconvert==6.5.0; python_version >= "3.7"
|
||||
nbformat==5.3.0; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
nest-asyncio==1.5.5; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
networkx==2.8; python_version >= "3.8"
|
||||
nfoursid==1.0.0; python_version >= "3.7"
|
||||
notebook-shim==0.1.0; python_version >= "3.7"
|
||||
notebook==6.4.11; python_version >= "3.7"
|
||||
numba==0.55.1; python_version >= "3.7" and python_version < "3.11"
|
||||
numpy==1.21.2; python_version >= "3.7" and python_version < "3.11"
|
||||
oandapyv20==0.6.3
|
||||
oauthlib==3.2.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
@@ -211,6 +215,7 @@ soupsieve==2.3.2.post1; python_version >= "3.6" and python_full_version >= "3.6.
|
||||
squarify==0.4.3
|
||||
sseclient==0.0.27
|
||||
stack-data==0.2.0; python_full_version >= "3.6.2" and python_version >= "3.8"
|
||||
statsforecast==0.5.5; python_version >= "3.7"
|
||||
statsmodels==0.13.2; python_version >= "3.7"
|
||||
tabulate==0.8.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||
temporal-cache==0.1.4
|
||||
@@ -222,15 +227,17 @@ threadpoolctl==3.1.0; python_version >= "3.7" and python_full_version < "3.0.0"
|
||||
tinycss2==1.1.1; python_version >= "3.7"
|
||||
tomli==2.0.1; python_version >= "3.8" and python_full_version >= "3.6.2"
|
||||
toolz==0.11.2; python_version >= "3.7" and python_full_version >= "3.7.0"
|
||||
torch==1.11.0; python_full_version >= "3.7.0"
|
||||
tornado==6.1; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
tqdm==4.64.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
tqdm==4.64.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
|
||||
tradingview-ta==3.2.10; python_version >= "3.6"
|
||||
traitlets==5.1.1; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
trio-websocket==0.9.2; python_version >= "3.7" and python_version < "4.0"
|
||||
trio==0.20.0; python_version >= "3.7" and python_version < "4.0"
|
||||
typing-extensions==4.2.0; python_version < "3.10" and python_full_version >= "3.6.2" and python_version >= "3.7"
|
||||
typing-extensions==4.2.0; python_version < "3.10" and python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
tzdata==2022.1; platform_system == "Windows" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
|
||||
tzlocal==4.2; python_version >= "3.6"
|
||||
u8darts==0.19.0; python_version >= "3.7"
|
||||
ujson==5.2.0; python_version >= "3.7"
|
||||
unidecode==1.3.4; python_version >= "3.7"
|
||||
update-checker==0.18.0; python_version >= "3.6" and python_version < "4.0"
|
||||
@@ -246,6 +253,7 @@ websockets==10.3; python_version >= "3.7"
|
||||
widgetsnbextension==3.6.0
|
||||
wrapt==1.14.0; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
wsproto==1.1.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
xarray==2022.3.0; python_version >= "3.8"
|
||||
xlsxwriter==3.0.3; python_version >= "3.7"
|
||||
yarl==1.7.2; python_version >= "3.6"
|
||||
yfinance==0.1.70
|
||||
|
||||
1
scripts/test_stocks_pred.openbb
vendored
1
scripts/test_stocks_pred.openbb
vendored
@@ -11,4 +11,5 @@ rnn
|
||||
lstm
|
||||
conv1d
|
||||
mc
|
||||
expo
|
||||
exit
|
||||
30
website/content/terminal/common/prediction_techniques/expo/_index.md
vendored
Executable file
30
website/content/terminal/common/prediction_techniques/expo/_index.md
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
```
|
||||
usage: ets [-n N_DAYS] [-t TREND] [-s SEASONAL] [-p SEASONAL_PERIODS] [-e S_END_DATE] [-d DAMPED][-w START_WINDOW][-f FORECAST_HORIZON][-h]
|
||||
```
|
||||
|
||||
Performs Probabalistic Exponential Smoothing forecasting. This is a wrapper around statsmodels Holt-Winters' Exponential Smoothing;
|
||||
https://unit8co.github.io/darts/generated_api/darts.models.forecasting.exponential_smoothing.html
|
||||
|
||||
|
||||
```
|
||||
optional arguments:
|
||||
-n N_DAYS, --n_days N_DAYS
|
||||
prediction days. (default: 5)
|
||||
-t {N,A,M}, --trend {N,A,M}
|
||||
Trend: N: None, A: Additive, M: Multiplicative. (default: A)
|
||||
-s {N,A,M}, --seasonal {N,A,M}
|
||||
Seasonality: N: None, A: Additive, M: Multiplicative. (default: A)
|
||||
-p SEASONAL_PERIODS, --periods SEASONAL_PERIODS
|
||||
Seasonal periods: 4: Quarters, 5: Business Days, 7: Weekly (default: 5)
|
||||
-d DAMPED, --damped DAMPED
|
||||
Dampening (default: F)
|
||||
-w START_WINDOW, --window START_WINDOW
|
||||
Start point for rolling training and forecast window. 0.0-1.0 (default: 0.65)
|
||||
-f FORECAST_HORIZON, --forecasthorizon FORECAST_HORIZON
|
||||
Days/Points to forecast when training and performing historical back-testing
|
||||
(default: 3)
|
||||
-h, --help show this help message (default: False)
|
||||
--export EXPORT Export figure into png, jpg, pdf, svg (default: )
|
||||
```
|
||||
|
||||

|
||||
4
website/data/menu/main.yml
vendored
4
website/data/menu/main.yml
vendored
@@ -660,6 +660,8 @@ main:
|
||||
ref: "/terminal/common/prediction_techniques/conv1d"
|
||||
- name: mc
|
||||
ref: "/terminal/common/prediction_techniques/mc"
|
||||
- name: expo
|
||||
ref: "/terminal/common/prediction_techniques/expo"
|
||||
- name: Cryptocurrency
|
||||
ref: "/terminal/cryptocurrency"
|
||||
sub:
|
||||
@@ -1654,4 +1656,4 @@ main:
|
||||
- name: "Slack"
|
||||
ref: "/bots/slack"
|
||||
- name: "GroupMe"
|
||||
ref: "/bots/groupme"
|
||||
ref: "/bots/groupme"
|
||||
Reference in New Issue
Block a user