Subset selection
Public
DecisionFocusedLearningBenchmarks.PortfolioOptimization.PortfolioOptimizationBenchmark
— Typestruct PortfolioOptimizationBenchmark <: AbstractBenchmark
Benchmark problem for the portfolio optimization problem.
Data is generated using the process described in: https://arxiv.org/abs/2307.13565.
Fields
d::Int64
: number of assetsp::Int64
: size of feature vectorsdeg::Int64
: hypermarameter for data generationν::Float32
: another hyperparameter, should be positiveΣ::Matrix{Float32}
: covariance matrixγ::Float32
: maximum variance of portfolioL::Matrix{Float32}
: useful for dataset generationf::Vector{Float32}
: useful for dataset generation
DecisionFocusedLearningBenchmarks.PortfolioOptimization.PortfolioOptimizationBenchmark
— MethodPortfolioOptimizationBenchmark(
;
d,
p,
deg,
ν,
seed
) -> PortfolioOptimizationBenchmark
Constructor for PortfolioOptimizationBenchmark
.
DecisionFocusedLearningBenchmarks.Utils.generate_dataset
— Functiongenerate_dataset(
bench::PortfolioOptimizationBenchmark;
...
) -> Vector
generate_dataset(
bench::PortfolioOptimizationBenchmark,
dataset_size::Int64;
seed,
type
) -> Vector
Generate a dataset of labeled instances for the portfolio optimization problem.
DecisionFocusedLearningBenchmarks.Utils.generate_maximizer
— Methodgenerate_maximizer(
bench::PortfolioOptimizationBenchmark
) -> DecisionFocusedLearningBenchmarks.PortfolioOptimization.var"#portfolio_maximizer#3"{Float32, Matrix{Float32}, Int64}
Create a function solving the MIQP formulation of the portfolio optimization problem.
DecisionFocusedLearningBenchmarks.Utils.generate_statistical_model
— Methodgenerate_statistical_model(
bench::PortfolioOptimizationBenchmark
) -> Flux.Dense{typeof(identity), Matrix{Float32}}
Initialize a linear model for bench
using Flux
.