version = "3.12.4"
_TEST_SIZE: Final[float] = 0.1
+ _SKLEARN_TRAIN_TEST_SPLIT_KEYS: Final[frozenset[str]] = frozenset(
+ {"test_size", "train_size", "random_state", "shuffle", "stratify"}
+ )
+
# Substituted whenever the Weibull DI cutoff (``weibull_min.ppf``) is
# non-finite (cold start or degenerate fit). Preserves the prior
# pre-warm-up heuristic for the outlier-quantile cutoff scale.
_DI_CUTOFF_DEFAULT: Final[float] = 2.0
- _SKLEARN_TRAIN_TEST_SPLIT_KEYS: Final[frozenset[str]] = frozenset(
- {"test_size", "train_size", "random_state", "shuffle", "stratify"}
- )
_SQRT_2: Final[float] = np.sqrt(2.0)
optuna.study.StudyDirection.MAXIMIZE,
) * _OPTUNA_LABEL_N_OBJECTIVES
_OPTUNA_STORAGE_BACKENDS: Final[tuple[str, ...]] = ("file", "sqlite")
+ _STORAGE_FILE: Final[str] = _OPTUNA_STORAGE_BACKENDS[0]
+ _STORAGE_SQLITE: Final[str] = _OPTUNA_STORAGE_BACKENDS[1]
+
_OPTUNA_JOURNAL_QUARANTINE_TAG: Final[str] = "corrupt"
_OPTUNA_JOURNAL_RECOVERABLE_ERRORS: Final[tuple[type[Exception], ...]] = (
KeyError,
"standard",
"robust",
)
+ SCALER_DEFAULT: Final[ScalerType] = _SCALER_TYPES[0] # "minmax"
+ _SCALER_MAXABS: Final[str] = _SCALER_TYPES[1]
+ _SCALER_STANDARD: Final[str] = _SCALER_TYPES[2]
+ _SCALER_ROBUST: Final[str] = _SCALER_TYPES[3]
_SCALER_TYPES_SET: Final[frozenset[ScalerType]] = frozenset(_SCALER_TYPES)
- SCALER_DEFAULT: Final[ScalerType] = _SCALER_TYPES[0] # "minmax"
RANGE_DEFAULT: Final[tuple[float, float]] = (-1.0, 1.0)
_DISTANCE_METHODS: Final[tuple[DistanceMethod, ...]] = (
"compromise_programming",
"topsis",
)
+ _METHOD_COMPROMISE_PROGRAMMING: Final[str] = _DISTANCE_METHODS[0]
+ _METHOD_TOPSIS: Final[str] = _DISTANCE_METHODS[1]
_DISTANCE_METHODS_SET: Final[frozenset[DistanceMethod]] = frozenset(
_DISTANCE_METHODS
)
"kmeans2",
"kmedoids",
)
+ _CLUSTER_KMEANS: Final[str] = _CLUSTER_METHODS[0]
+ _CLUSTER_KMEANS2: Final[str] = _CLUSTER_METHODS[1]
+ _CLUSTER_KMEDOIDS: Final[str] = _CLUSTER_METHODS[2]
+
_DENSITY_METHODS: Final[tuple[DensityMethod, ...]] = ("knn", "medoid")
+ _DENSITY_KNN: Final[str] = _DENSITY_METHODS[0]
+ _DENSITY_MEDOID: Final[str] = _DENSITY_METHODS[1]
_SELECTION_CATEGORIES: Final[dict[str, tuple[SelectionMethod, ...]]] = {
"distance": _DISTANCE_METHODS,
*_CLUSTER_METHODS,
*_DENSITY_METHODS,
)
+ _SELECTION_KMEANS: Final[str] = _SELECTION_METHODS[2]
+ _SELECTION_KMEANS2: Final[str] = _SELECTION_METHODS[3]
+ _SELECTION_KMEDOIDS: Final[str] = _SELECTION_METHODS[4]
+ _SELECTION_KNN: Final[str] = _SELECTION_METHODS[5]
+ _SELECTION_MEDOID: Final[str] = _SELECTION_METHODS[6]
_SELECTION_METHODS_SET: Final[frozenset[SelectionMethod]] = frozenset(
_SELECTION_METHODS
)
"power_mean",
"weighted_sum",
)
+ _METRIC_EUCLIDEAN: Final[str] = _DISTANCE_METRICS[0]
+ _METRIC_MINKOWSKI: Final[str] = _DISTANCE_METRICS[1]
+ _METRIC_HELLINGER: Final[str] = _DISTANCE_METRICS[8]
+ _METRIC_SHELLINGER: Final[str] = _DISTANCE_METRICS[9]
+ _METRIC_POWER_MEAN: Final[str] = _DISTANCE_METRICS[15]
+ _METRIC_WEIGHTED_SUM: Final[str] = _DISTANCE_METRICS[16]
_DISTANCE_METRICS_SET: Final[frozenset[str]] = frozenset(_DISTANCE_METRICS)
# SciPy-compatible distance metrics: the first 8 entries of
# ``_DISTANCE_METRICS`` route to ``scipy.spatial.distance.cdist``.
_UNSUPPORTED_WEIGHTS_METRICS
)
- _METHOD_COMPROMISE_PROGRAMMING: Final[str] = _DISTANCE_METHODS[0]
- _METHOD_TOPSIS: Final[str] = _DISTANCE_METHODS[1]
- _METRIC_EUCLIDEAN: Final[str] = _DISTANCE_METRICS[0]
- _METRIC_MINKOWSKI: Final[str] = _DISTANCE_METRICS[1]
- _METRIC_HELLINGER: Final[str] = _DISTANCE_METRICS[8]
- _METRIC_SHELLINGER: Final[str] = _DISTANCE_METRICS[9]
- _METRIC_POWER_MEAN: Final[str] = _DISTANCE_METRICS[15]
- _METRIC_WEIGHTED_SUM: Final[str] = _DISTANCE_METRICS[16]
- _CLUSTER_KMEANS: Final[str] = _CLUSTER_METHODS[0]
- _CLUSTER_KMEANS2: Final[str] = _CLUSTER_METHODS[1]
- _SELECTION_KMEANS: Final[str] = _SELECTION_METHODS[2]
- _SELECTION_KMEANS2: Final[str] = _SELECTION_METHODS[3]
- _SELECTION_KMEDOIDS: Final[str] = _SELECTION_METHODS[4]
- _SELECTION_KNN: Final[str] = _SELECTION_METHODS[5]
- _SELECTION_MEDOID: Final[str] = _SELECTION_METHODS[6]
-
_PROBABILITY_DISTANCE_METRICS: Final[tuple[str, ...]] = (
"jensenshannon",
"hellinger",
"min",
"max",
)
+ _DENSITY_AGG_POWER_MEAN: Final[str] = _DENSITY_AGGREGATIONS[0]
+ _DENSITY_AGG_QUANTILE: Final[str] = _DENSITY_AGGREGATIONS[1]
+ _DENSITY_AGG_MIN: Final[str] = _DENSITY_AGGREGATIONS[2]
+ _DENSITY_AGG_MAX: Final[str] = _DENSITY_AGGREGATIONS[3]
_DENSITY_AGGREGATIONS_SET: Final[frozenset[DensityAggregation]] = frozenset(
_DENSITY_AGGREGATIONS
)
)
DATA_SPLIT_METHOD_DEFAULT: Final[str] = _DATA_SPLIT_METHODS[0]
_DATA_SPLIT_TIMESERIES: Final[str] = _DATA_SPLIT_METHODS[1]
- _CLUSTER_KMEDOIDS: Final[str] = _CLUSTER_METHODS[2]
- _DENSITY_KNN: Final[str] = _DENSITY_METHODS[0]
- _DENSITY_MEDOID: Final[str] = _DENSITY_METHODS[1]
- _DENSITY_AGG_POWER_MEAN: Final[str] = _DENSITY_AGGREGATIONS[0]
- _DENSITY_AGG_QUANTILE: Final[str] = _DENSITY_AGGREGATIONS[1]
- _DENSITY_AGG_MIN: Final[str] = _DENSITY_AGGREGATIONS[2]
- _DENSITY_AGG_MAX: Final[str] = _DENSITY_AGGREGATIONS[3]
- _SCALER_MAXABS: Final[str] = _SCALER_TYPES[1]
- _SCALER_STANDARD: Final[str] = _SCALER_TYPES[2]
- _SCALER_ROBUST: Final[str] = _SCALER_TYPES[3]
- _STORAGE_FILE: Final[str] = _OPTUNA_STORAGE_BACKENDS[0]
- _STORAGE_SQLITE: Final[str] = _OPTUNA_STORAGE_BACKENDS[1]
TIMESERIES_N_SPLITS_DEFAULT: Final[int] = 5
TIMESERIES_GAP_DEFAULT: Final[int] = 0
TIMESERIES_MAX_TRAIN_SIZE_DEFAULT: Final[int | None] = None
INTERFACE_VERSION = 3
_TRADE_DIRECTIONS: Final[tuple[TradeDirection, ...]] = ("long", "short")
+ _TRADE_LONG: Final[str] = _TRADE_DIRECTIONS[0]
+ _TRADE_SHORT: Final[str] = _TRADE_DIRECTIONS[1]
_TRADE_DIRECTIONS_SET: Final[frozenset[TradeDirection]] = frozenset(
_TRADE_DIRECTIONS
)
"direct",
"inverse",
)
+ _INTERPOLATION_DIRECT: Final[str] = _INTERPOLATION_DIRECTIONS[0]
+ _INTERPOLATION_INVERSE: Final[str] = _INTERPOLATION_DIRECTIONS[1]
_ORDER_TYPES: Final[tuple[OrderType, ...]] = ("entry", "exit")
- _TRADE_LONG: Final[str] = _TRADE_DIRECTIONS[0]
- _TRADE_SHORT: Final[str] = _TRADE_DIRECTIONS[1]
_ORDER_ENTRY: Final[str] = _ORDER_TYPES[0]
_ORDER_EXIT: Final[str] = _ORDER_TYPES[1]
_ORDER_TYPES_SET: Final[frozenset[OrderType]] = frozenset(_ORDER_TYPES)
_TRADING_MODES: Final[tuple[TradingMode, ...]] = ("spot", "margin", "futures")
- _INTERPOLATION_DIRECT: Final[str] = _INTERPOLATION_DIRECTIONS[0]
- _INTERPOLATION_INVERSE: Final[str] = _INTERPOLATION_DIRECTIONS[1]
_TRADING_MODE_SPOT: Final[str] = _TRADING_MODES[0]
_TRADING_MODE_MARGIN: Final[str] = _TRADING_MODES[1]
_TRADING_MODE_FUTURES: Final[str] = _TRADING_MODES[2]