You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
|
3 weeks ago
|
"""
|
||
|
|
Stock 15-minute return prediction experiments.
|
||
|
|
|
||
|
|
This module provides dataset loading and experiment utilities for
|
||
|
|
stock 15-minute (intraday) return prediction.
|
||
|
|
|
||
|
|
Example:
|
||
|
|
>>> from alpha_lab.stock_15m import Stock15mLoader
|
||
|
|
>>>
|
||
|
|
>>> loader = Stock15mLoader(
|
||
|
|
... normalization_mode='dual',
|
||
|
|
... positive_factor=1.0,
|
||
|
|
... negative_factor=2.0
|
||
|
|
... )
|
||
|
|
>>> dataset = loader.load(
|
||
|
|
... dt_range=['2020-01-01', '2023-12-31'],
|
||
|
|
... feature_path='/data/parquet/stock_1min_alpha158',
|
||
|
|
... kline_path='/data/parquet/stock_1min_kline'
|
||
|
|
... )
|
||
|
|
>>>
|
||
|
|
>>> # Extract training data
|
||
|
|
>>> X_train, y_train, w_train = dataset.to_numpy()
|
||
|
|
|
||
|
|
Training:
|
||
|
|
>>> from alpha_lab.stock_15m import train_model, TrainConfig
|
||
|
|
>>>
|
||
|
|
>>> config = TrainConfig(
|
||
|
|
... dt_range=['2020-01-01', '2023-12-31'],
|
||
|
|
... feature_path='/data/parquet/stock_1min_alpha158',
|
||
|
|
... kline_path='/data/parquet/stock_1min_kline'
|
||
|
|
... )
|
||
|
|
>>> model, metrics = train_model(config, output_dir='results/exp01')
|
||
|
|
"""
|
||
|
|
|
||
|
|
# Re-export all public APIs from src submodules
|
||
|
|
from .src import Stock15mLoader
|
||
|
|
|
||
|
|
try:
|
||
|
|
from .src import train_model, TrainConfig
|
||
|
|
__all__ = ['Stock15mLoader', 'train_model', 'TrainConfig']
|
||
|
|
except ImportError:
|
||
|
|
# xgboost or sklearn not installed
|
||
|
|
__all__ = ['Stock15mLoader']
|