API Reference¶
This reference is organized by stable import surface and by conceptual family.
Recommended Imports¶
| Use case | Import surface |
|---|---|
| Notebook and exploratory work | ml4t.models |
| Structural model protocols | ml4t.models.api |
| Batch and result contracts | ml4t.models.types |
| Config objects | ml4t.models.configs |
| Cross-library handoff | ml4t.models.integration |
Package Root¶
The package root re-exports the main model classes, configs, batches, results, and integration helpers.
models
¶
Public package surface for ml4t-models.
AssetMapper
¶
Bases: Protocol
Protocol for mapping factor forecasts back to asset forecasts.
AssetPredictionModel
¶
Bases: Protocol
Protocol for direct asset-level predictive models.
FactorForecaster
¶
Bases: Protocol
Protocol for factor-premium forecasters.
LatentFactorModel
¶
Bases: Protocol
Protocol for structural latent-factor estimators.
PortfolioModel
¶
Bases: Protocol
Protocol for end-to-end portfolio learners.
PortfolioPostprocessor
¶
Bases: Protocol
Protocol for portfolio-weight post-processing hooks.
StochasticDiscountFactorEstimator
¶
Bases: Protocol
Protocol for stochastic discount factor models with weight-native outputs.
SAEModel
¶
Bases: BaseAssetPredictionModel[SAEConfig]
Checkpointed supervised autoencoder for direct asset prediction.
Source code in src/ml4t/models/asset_prediction/sae.py
AR1ForecasterConfig
dataclass
¶
AssetPredictionConfig
dataclass
¶
CAEConfig
dataclass
¶
DeepPortfolioConfig
dataclass
¶
DeepPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="deep_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
d_model=64,
n_heads=2,
lstm_layers=1,
temporal_mha_layers=1,
cross_attention_heads=2,
cross_attention_lag=1,
macro_gnn_heads=2,
adapter_hidden_mult=2,
)
EWMABaseForecasterConfig
dataclass
¶
ExpandingMeanForecasterConfig
dataclass
¶
IPCAConfig
dataclass
¶
LatentFactorConfig
dataclass
¶
LinearPortfolioConfig
dataclass
¶
LinearPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="linear_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
ridge_alpha=0.0001,
fit_intercept=True,
gross_exposure=1.0,
net_exposure=0.0,
max_abs_weight=None,
)
LSTMPortfolioConfig
dataclass
¶
LSTMPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="lstm_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
hidden_size=64,
n_layers=1,
)
MapperConfig
dataclass
¶
Config for asset-return or weight mappers.
PCAConfig
dataclass
¶
PipelineConfig
dataclass
¶
Declarative description of a latent-factor forecast pipeline.
PortfolioConfig
dataclass
¶
PortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="portfolio_model",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
)
RPPCAConfig
dataclass
¶
SAEConfig
dataclass
¶
SAEConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="sae",
task_type="regression",
bottleneck_dim=96,
aux_hidden_dim=96,
main_hidden_units=(896, 448, 448, 256),
dropout_rates=None,
noise_std=0.035,
alpha=1.0,
aux_weight=1.0,
n_epochs=50,
batch_size=None,
checkpoint_interval=5,
checkpoint_epochs=(),
default_checkpoint=None,
lr=0.0001,
)
StochasticDiscountFactorConfig
dataclass
¶
StochasticDiscountFactorConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="stochastic_discount_factor",
output_mode="weights",
state_dim_sdf=4,
state_dim_moment=32,
hidden_dim=64,
n_instruments=8,
dropout=0.05,
n_epochs_unc=256,
n_epochs_moment=64,
n_epochs_cond=1024,
checkpoint_interval=None,
checkpoint_epochs=(),
default_checkpoint=None,
expected_return_mapper="linear",
beta_state_dim=4,
beta_hidden_dim=64,
beta_n_epochs=256,
beta_checkpoint_interval=None,
beta_checkpoint_epochs=(),
beta_default_checkpoint=None,
beta_lr=0.001,
burn_in_epochs=0,
lr=0.001,
weight_decay=0.0,
)
AR1FactorForecaster
¶
Bases: BaseFactorForecaster[AR1ForecasterConfig]
Forecast factor premia with independent AR(1) models.
Source code in src/ml4t/models/forecasters/ar.py
EWMABaseFactorForecaster
¶
Bases: BaseFactorForecaster[EWMABaseForecasterConfig]
Forecast factor premia with exponentially weighted moving averages.
Source code in src/ml4t/models/forecasters/ewma.py
ExpandingMeanFactorForecaster
¶
Bases: BaseFactorForecaster[ExpandingMeanForecasterConfig]
Forecast factor premia with the training-sample mean.
Source code in src/ml4t/models/forecasters/mean.py
BacktestDataFeedInputs
dataclass
¶
BacktestDataFeedInputs(
feed_spec,
prices_frame=None,
prices_path=None,
signals=None,
context=None,
metadata=dict(),
)
Structured handoff payload for ml4t.backtest.DataFeed.
to_datafeed_kwargs
¶
Return kwargs compatible with ml4t.backtest.DataFeed.
Source code in src/ml4t/models/integration/backtest.py
ContextFrame
dataclass
¶
PredictionsFrame
dataclass
¶
ResolvedDatasetSchema
dataclass
¶
Resolved timestamp/entity column contract for a tabular dataset.
ResultsFrame
dataclass
¶
Tabular model results with optional export helpers.
to_dicts
¶
to_columnar
¶
Return the frame as columnar Python lists.
Source code in src/ml4t/models/integration/surfaces.py
to_polars
¶
write_parquet
¶
Write the frame to parquet when Polars is installed.
Source code in src/ml4t/models/integration/surfaces.py
SignalsFrame
dataclass
¶
WeightsFrame
dataclass
¶
CAEModel
¶
Bases: BaseLatentFactorModel[CAEConfig]
Conditional autoencoder with checkpoint-aware structural extraction.
Source code in src/ml4t/models/latent_factors/cae.py
IPCAModel
¶
Bases: BaseLatentFactorModel[IPCAConfig]
Instrumented PCA structural extractor for ragged cross-sections.
Source code in src/ml4t/models/latent_factors/ipca.py
PCAModel
¶
Bases: BaseLatentFactorModel[PCAConfig]
Persistent-panel PCA structural extractor.
Source code in src/ml4t/models/latent_factors/pca.py
RPPCAModel
¶
Bases: BaseLatentFactorModel[RPPCAConfig]
Persistent-panel RP-PCA structural extractor.
Source code in src/ml4t/models/latent_factors/rp_pca.py
BetaLambdaMapper
¶
LatentFactorForecastPipeline
¶
Compose structural extraction, factor forecasting, and asset mapping.
Source code in src/ml4t/models/pipelines.py
PortfolioAllocationPipeline
¶
Compose a portfolio model with optional weight post-processing hooks.
Source code in src/ml4t/models/pipelines.py
PortfolioPipelineFitResult
dataclass
¶
Fit summaries for a portfolio-allocation pipeline.
LinearStochasticDiscountFactorReturnMapper
¶
StochasticDiscountFactorBetaNetworkHead
¶
Paper-faithful beta-network predictive head for stochastic discount factor models.
Source code in src/ml4t/models/stochastic_discount_factor/mapper.py
StochasticDiscountFactorModel
¶
Bases: BaseStochasticDiscountFactorModel
Stochastic discount factor model with weight-native structural outputs.
Source code in src/ml4t/models/stochastic_discount_factor/model.py
AssetForecastResult
dataclass
¶
Asset-level expected-return forecasts.
AssetSignalResult
dataclass
¶
Asset-level predictive signals.
AssetWeightsResult
dataclass
¶
Cross-sectional asset-weight output indexed by date and asset.
CrossSectionBatch
dataclass
¶
CrossSectionBatch(
characteristics,
returns=None,
factor_returns=None,
context_features=None,
timestamps=(),
asset_ids=(),
mask=None,
metadata=dict(),
)
Dated observed cross-sections with a date-local slot axis.
FactorForecastResult
dataclass
¶
Forecast of latent factor premia.
FitSummary
dataclass
¶
FitSummary(
converged,
train_metrics=dict(),
val_metrics=dict(),
best_epoch=None,
history=(),
notes=(),
)
Fit outcome for a model or forecaster.
LatentFactorPrediction
dataclass
¶
Full prediction bundle from a latent-factor pipeline.
LatentFactorState
dataclass
¶
LatentFactorState(
asset_betas,
factor_returns=None,
checkpoint_epoch=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Structural latent-factor state extracted from a batch.
PersistentPanelBatch
dataclass
¶
PersistentPanelBatch(
returns=None,
characteristics=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Stable-entity panel for models such as PCA and RP-PCA.
PortfolioPrediction
dataclass
¶
Full prediction bundle from a portfolio-allocation pipeline.
PortfolioSequenceBatch
dataclass
¶
PortfolioSequenceBatch(
features,
returns=None,
vol_scale=None,
prev_weights=None,
mask=None,
group_ids=None,
costs=None,
adjacency_mask=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Sequence batch for end-to-end portfolio learners.
PortfolioWeightsResult
dataclass
¶
PortfolioWeightsResult(
weights,
checkpoint_step=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Portfolio-weight output for end-to-end allocators.
StochasticDiscountFactorState
dataclass
¶
StochasticDiscountFactorState(
asset_weights,
sdf_values=None,
checkpoint_epoch=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Structural state extracted from a stochastic discount factor model.
backtest_datafeed_inputs
¶
backtest_datafeed_inputs(
*,
prices_frame=None,
prices_path=None,
signals=None,
context=None,
schema=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
metadata=None,
)
Build a structured DataFeed handoff from model outputs and market-data metadata.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_asset_forecast
¶
backtest_inputs_from_asset_forecast(
forecast,
*,
prices_frame=None,
prices_path=None,
schema=None,
context=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from an asset-forecast result.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_asset_signal
¶
backtest_inputs_from_asset_signal(
signal,
*,
prices_frame=None,
prices_path=None,
schema=None,
context=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from an asset-signal result.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_weights
¶
backtest_inputs_from_weights(
weights,
*,
prices_frame=None,
prices_path=None,
schema=None,
as_context=False,
context_prefix="w_",
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from target-weight outputs.
Source code in src/ml4t/models/integration/backtest.py
context_frame_from_weights
¶
Convert asset weights to a wide context frame for backtest strategies.
Source code in src/ml4t/models/integration/surfaces.py
cross_section_batch_from_long_frame
¶
cross_section_batch_from_long_frame(
frame,
*,
schema=None,
feature_cols,
return_col=None,
context_cols=(),
timestamp_col=None,
entity_col=None,
metadata=None,
)
Build a ragged cross-sectional batch from a long-format frame.
Source code in src/ml4t/models/integration/data.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | |
persistent_panel_batch_from_long_frame
¶
persistent_panel_batch_from_long_frame(
frame,
*,
schema=None,
return_col=None,
feature_cols=(),
timestamp_col=None,
entity_col=None,
metadata=None,
)
Build a persistent panel batch from a long-format frame.
Source code in src/ml4t/models/integration/data.py
predictions_frame_from_asset_forecast
¶
Convert asset expected returns to a diagnostic-ready predictions frame.
Source code in src/ml4t/models/integration/surfaces.py
predictions_frame_from_asset_signal
¶
Convert asset-level signals to a diagnostic-ready predictions frame.
Source code in src/ml4t/models/integration/surfaces.py
resolve_dataset_schema
¶
resolve_dataset_schema(
frame,
*,
schema=None,
timestamp_col=None,
entity_col=None,
timestamp_candidates=(
"timestamp",
"datetime",
"date",
"time",
),
entity_candidates=(
"asset",
"symbol",
"ticker",
"instrument",
"security",
),
)
Resolve timestamp and entity columns from explicit names or ML4T-style metadata.
Source code in src/ml4t/models/integration/data.py
resolve_feed_spec_mapping
¶
resolve_feed_spec_mapping(
frame=None,
*,
schema=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
)
Resolve a FeedSpec-compatible mapping from schema metadata and overrides.
Source code in src/ml4t/models/integration/backtest.py
signals_frame_from_asset_weights
¶
Convert cross-sectional asset weights to a diagnostic-ready signals frame.
Source code in src/ml4t/models/integration/surfaces.py
signals_frame_from_portfolio_weights
¶
Convert portfolio weights to a diagnostic-ready signals frame.
Source code in src/ml4t/models/integration/surfaces.py
weights_frame_from_asset_weights
¶
Convert cross-sectional asset weights to a backtest-ready weights frame.
Source code in src/ml4t/models/integration/surfaces.py
weights_frame_from_portfolio_weights
¶
Convert portfolio weights to a backtest-ready weights frame.
Source code in src/ml4t/models/integration/surfaces.py
write_backtest_frames
¶
Write standardized prediction and weight artifacts for downstream ML4T tooling.
Source code in src/ml4t/models/integration/surfaces.py
Protocols¶
api
¶
Public protocols for ml4t-models.
LatentFactorModel
¶
Bases: Protocol
Protocol for structural latent-factor estimators.
FactorForecaster
¶
Bases: Protocol
Protocol for factor-premium forecasters.
AssetMapper
¶
Bases: Protocol
Protocol for mapping factor forecasts back to asset forecasts.
AssetPredictionModel
¶
Bases: Protocol
Protocol for direct asset-level predictive models.
StochasticDiscountFactorEstimator
¶
Bases: Protocol
Protocol for stochastic discount factor models with weight-native outputs.
PortfolioModel
¶
Bases: Protocol
Protocol for end-to-end portfolio learners.
PortfolioPostprocessor
¶
Bases: Protocol
Protocol for portfolio-weight post-processing hooks.
Typed Contracts¶
types
¶
Typed batches and result objects for ml4t-models.
PersistentPanelBatch
dataclass
¶
PersistentPanelBatch(
returns=None,
characteristics=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Stable-entity panel for models such as PCA and RP-PCA.
CrossSectionBatch
dataclass
¶
CrossSectionBatch(
characteristics,
returns=None,
factor_returns=None,
context_features=None,
timestamps=(),
asset_ids=(),
mask=None,
metadata=dict(),
)
Dated observed cross-sections with a date-local slot axis.
PortfolioSequenceBatch
dataclass
¶
PortfolioSequenceBatch(
features,
returns=None,
vol_scale=None,
prev_weights=None,
mask=None,
group_ids=None,
costs=None,
adjacency_mask=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Sequence batch for end-to-end portfolio learners.
FitSummary
dataclass
¶
FitSummary(
converged,
train_metrics=dict(),
val_metrics=dict(),
best_epoch=None,
history=(),
notes=(),
)
Fit outcome for a model or forecaster.
LatentFactorState
dataclass
¶
LatentFactorState(
asset_betas,
factor_returns=None,
checkpoint_epoch=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Structural latent-factor state extracted from a batch.
FactorForecastResult
dataclass
¶
Forecast of latent factor premia.
AssetForecastResult
dataclass
¶
Asset-level expected-return forecasts.
AssetSignalResult
dataclass
¶
Asset-level predictive signals.
AssetWeightsResult
dataclass
¶
Cross-sectional asset-weight output indexed by date and asset.
StochasticDiscountFactorState
dataclass
¶
StochasticDiscountFactorState(
asset_weights,
sdf_values=None,
checkpoint_epoch=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Structural state extracted from a stochastic discount factor model.
PortfolioWeightsResult
dataclass
¶
PortfolioWeightsResult(
weights,
checkpoint_step=None,
timestamps=(),
asset_ids=(),
metadata=dict(),
)
Portfolio-weight output for end-to-end allocators.
LatentFactorPrediction
dataclass
¶
Full prediction bundle from a latent-factor pipeline.
PortfolioPrediction
dataclass
¶
Full prediction bundle from a portfolio-allocation pipeline.
Configs¶
configs
¶
Public config dataclasses.
AssetPredictionConfig
dataclass
¶
SAEConfig
dataclass
¶
SAEConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="sae",
task_type="regression",
bottleneck_dim=96,
aux_hidden_dim=96,
main_hidden_units=(896, 448, 448, 256),
dropout_rates=None,
noise_std=0.035,
alpha=1.0,
aux_weight=1.0,
n_epochs=50,
batch_size=None,
checkpoint_interval=5,
checkpoint_epochs=(),
default_checkpoint=None,
lr=0.0001,
)
BaseModelConfig
dataclass
¶
Common configuration for ML4T models.
AR1ForecasterConfig
dataclass
¶
EWMABaseForecasterConfig
dataclass
¶
ExpandingMeanForecasterConfig
dataclass
¶
CAEConfig
dataclass
¶
IPCAConfig
dataclass
¶
LatentFactorConfig
dataclass
¶
PCAConfig
dataclass
¶
RPPCAConfig
dataclass
¶
StochasticDiscountFactorConfig
dataclass
¶
StochasticDiscountFactorConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="stochastic_discount_factor",
output_mode="weights",
state_dim_sdf=4,
state_dim_moment=32,
hidden_dim=64,
n_instruments=8,
dropout=0.05,
n_epochs_unc=256,
n_epochs_moment=64,
n_epochs_cond=1024,
checkpoint_interval=None,
checkpoint_epochs=(),
default_checkpoint=None,
expected_return_mapper="linear",
beta_state_dim=4,
beta_hidden_dim=64,
beta_n_epochs=256,
beta_checkpoint_interval=None,
beta_checkpoint_epochs=(),
beta_default_checkpoint=None,
beta_lr=0.001,
burn_in_epochs=0,
lr=0.001,
weight_decay=0.0,
)
MapperConfig
dataclass
¶
Config for asset-return or weight mappers.
PipelineConfig
dataclass
¶
Declarative description of a latent-factor forecast pipeline.
DeepPortfolioConfig
dataclass
¶
DeepPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="deep_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
d_model=64,
n_heads=2,
lstm_layers=1,
temporal_mha_layers=1,
cross_attention_heads=2,
cross_attention_lag=1,
macro_gnn_heads=2,
adapter_hidden_mult=2,
)
LinearPortfolioConfig
dataclass
¶
LinearPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="linear_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
ridge_alpha=0.0001,
fit_intercept=True,
gross_exposure=1.0,
net_exposure=0.0,
max_abs_weight=None,
)
LSTMPortfolioConfig
dataclass
¶
LSTMPortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="lstm_portfolio",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
hidden_size=64,
n_layers=1,
)
PortfolioConfig
dataclass
¶
PortfolioConfig(
seed=42,
device="cpu",
dtype="float64",
model_name="portfolio_model",
turnover_penalty=0.0,
dropout=0.1,
asset_embedding_dim=8,
group_embedding_dim=4,
use_group_embedding=True,
use_cost_in_context=True,
vvsn_hidden_dim=64,
batch_size=16,
learning_rate=0.0001,
weight_decay=0.0001,
max_grad_norm=1.0,
annualization_factor=252.0,
sharpe_eps=1e-08,
gamma_cost=0.5,
softmin_tau=0.2,
softmin_lambda=0.1,
burn_in=0,
max_iters=200,
eval_every=10,
metric_ema_alpha=0.45,
metric_min_delta=0.001,
early_stopping_patience=20,
early_stopping_burn_in_iters=20,
checkpoint_every=10,
checkpoint_steps=(),
default_checkpoint=None,
)
Pipelines¶
pipelines
¶
Composable pipelines for finance-native model workflows.
LatentFactorForecastPipeline
¶
Compose structural extraction, factor forecasting, and asset mapping.
Source code in src/ml4t/models/pipelines.py
PipelineFitResult
dataclass
¶
Fit summaries for each stage of a latent-factor pipeline.
PortfolioAllocationPipeline
¶
Compose a portfolio model with optional weight post-processing hooks.
Source code in src/ml4t/models/pipelines.py
PortfolioPipelineFitResult
dataclass
¶
Fit summaries for a portfolio-allocation pipeline.
Integration¶
integration
¶
Integration helpers for cross-library data contracts.
BacktestDataFeedInputs
dataclass
¶
BacktestDataFeedInputs(
feed_spec,
prices_frame=None,
prices_path=None,
signals=None,
context=None,
metadata=dict(),
)
Structured handoff payload for ml4t.backtest.DataFeed.
to_datafeed_kwargs
¶
Return kwargs compatible with ml4t.backtest.DataFeed.
Source code in src/ml4t/models/integration/backtest.py
ResolvedDatasetSchema
dataclass
¶
Resolved timestamp/entity column contract for a tabular dataset.
ContextFrame
dataclass
¶
PredictionsFrame
dataclass
¶
ResultsFrame
dataclass
¶
Tabular model results with optional export helpers.
to_dicts
¶
to_columnar
¶
Return the frame as columnar Python lists.
Source code in src/ml4t/models/integration/surfaces.py
to_polars
¶
write_parquet
¶
Write the frame to parquet when Polars is installed.
Source code in src/ml4t/models/integration/surfaces.py
SignalsFrame
dataclass
¶
WeightsFrame
dataclass
¶
backtest_datafeed_inputs
¶
backtest_datafeed_inputs(
*,
prices_frame=None,
prices_path=None,
signals=None,
context=None,
schema=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
metadata=None,
)
Build a structured DataFeed handoff from model outputs and market-data metadata.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_asset_forecast
¶
backtest_inputs_from_asset_forecast(
forecast,
*,
prices_frame=None,
prices_path=None,
schema=None,
context=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from an asset-forecast result.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_asset_signal
¶
backtest_inputs_from_asset_signal(
signal,
*,
prices_frame=None,
prices_path=None,
schema=None,
context=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from an asset-signal result.
Source code in src/ml4t/models/integration/backtest.py
backtest_inputs_from_weights
¶
backtest_inputs_from_weights(
weights,
*,
prices_frame=None,
prices_path=None,
schema=None,
as_context=False,
context_prefix="w_",
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
constants=None,
metadata=None,
)
Build DataFeed inputs directly from target-weight outputs.
Source code in src/ml4t/models/integration/backtest.py
resolve_feed_spec_mapping
¶
resolve_feed_spec_mapping(
frame=None,
*,
schema=None,
timestamp_col=None,
entity_col=None,
price_col=None,
open_col=None,
high_col=None,
low_col=None,
close_col=None,
volume_col=None,
bid_col=None,
ask_col=None,
mid_col=None,
bid_size_col=None,
ask_size_col=None,
calendar=None,
timezone=None,
data_frequency=None,
bar_type=None,
timestamp_semantics=None,
session_start_time=None,
)
Resolve a FeedSpec-compatible mapping from schema metadata and overrides.
Source code in src/ml4t/models/integration/backtest.py
cross_section_batch_from_long_frame
¶
cross_section_batch_from_long_frame(
frame,
*,
schema=None,
feature_cols,
return_col=None,
context_cols=(),
timestamp_col=None,
entity_col=None,
metadata=None,
)
Build a ragged cross-sectional batch from a long-format frame.
Source code in src/ml4t/models/integration/data.py
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | |
persistent_panel_batch_from_long_frame
¶
persistent_panel_batch_from_long_frame(
frame,
*,
schema=None,
return_col=None,
feature_cols=(),
timestamp_col=None,
entity_col=None,
metadata=None,
)
Build a persistent panel batch from a long-format frame.
Source code in src/ml4t/models/integration/data.py
resolve_dataset_schema
¶
resolve_dataset_schema(
frame,
*,
schema=None,
timestamp_col=None,
entity_col=None,
timestamp_candidates=(
"timestamp",
"datetime",
"date",
"time",
),
entity_candidates=(
"asset",
"symbol",
"ticker",
"instrument",
"security",
),
)
Resolve timestamp and entity columns from explicit names or ML4T-style metadata.
Source code in src/ml4t/models/integration/data.py
context_frame_from_weights
¶
Convert asset weights to a wide context frame for backtest strategies.
Source code in src/ml4t/models/integration/surfaces.py
predictions_frame_from_asset_forecast
¶
Convert asset expected returns to a diagnostic-ready predictions frame.
Source code in src/ml4t/models/integration/surfaces.py
predictions_frame_from_asset_signal
¶
Convert asset-level signals to a diagnostic-ready predictions frame.
Source code in src/ml4t/models/integration/surfaces.py
signals_frame_from_asset_weights
¶
Convert cross-sectional asset weights to a diagnostic-ready signals frame.
Source code in src/ml4t/models/integration/surfaces.py
signals_frame_from_portfolio_weights
¶
Convert portfolio weights to a diagnostic-ready signals frame.
Source code in src/ml4t/models/integration/surfaces.py
weights_frame_from_asset_weights
¶
Convert cross-sectional asset weights to a backtest-ready weights frame.
Source code in src/ml4t/models/integration/surfaces.py
weights_frame_from_portfolio_weights
¶
Convert portfolio weights to a backtest-ready weights frame.
Source code in src/ml4t/models/integration/surfaces.py
write_backtest_frames
¶
Write standardized prediction and weight artifacts for downstream ML4T tooling.
Source code in src/ml4t/models/integration/surfaces.py
Family Namespaces¶
| Namespace | Purpose |
|---|---|
ml4t.models.latent_factors |
structural latent-factor estimators |
ml4t.models.forecasters |
factor-premium forecasters |
ml4t.models.mappers |
asset-level mapping from factor forecasts |
ml4t.models.stochastic_discount_factor |
weight-native SDF estimation and return projections |
ml4t.models.asset_prediction |
direct asset-level predictors |
ml4t.models.portfolio |
end-to-end portfolio learners |