Model Submission

Streamline Your Finter Model Submission

Description

You can submit your alpha, portfolio, or flexible fund model using the finter CLI. When the command is executed from your working directory, the entire folder will be submitted. Therefore, it is important to ensure that there are no unnecessary files or folders in your working directory.

The finter CLI assumes that your working directory follows the structure outlined below.

working_directory
 ├── [am.py or pm.py or ffd.py]
 ├── Dockerfile (optional)
 ├── model_meta.json (automatically generated by cli)
 ├── other files or folders for model (e.g. ckpt file, python module)

The folder name of the working directory is used as model_alias.

In the working_directory, exactly one of am.py, pm.py, or ffd.py must exist, and model_type is determined as one of alpha, portfolio, or flexible_fund.

Synopsis

finter submit
--universe [kr_stock|us_etf|us_stock|vn_stock|vn_stock_deprecated|id_stock|crypto_spot_binance|world]
[--gpu]
[--custom-docker-file]
[--start <value>]
[--ignore-local-validation]
[--benchmark <value>]
[--bypass-validate]
[--staging]
[--legacy]

Options

universe (string): The name of the universe.

  • kr_stock

  • us_etf

  • us_stock

  • vn_stock

  • vn_stock_deprecated

  • id_stock

  • crypto_spot_binance

  • world

gpu (boolean | optional): Whether to use GPU machine.

custom-docker-file (boolean | optional): Whether to use custom docker file. If not provided, an appropriate Docker image will be used.

start (int | optional): Start date for submission in YYYYMMDD format. If not provided, the system will automatically calculate the start date during submission.

ignore-local-validation (boolean | optional): Skip validation tests in the environment where Finter is executed.

benchmark (string | optional): Benchmark model to use. Must be an `identity_name` or `universe`

bypass-validate (boolean | optional): Skip validation tests in submission Server.

staging (boolean | optional): Whether to use staging environment name.

Runtime

If you do not provide a custom Dockerfile, your submitted model will run on the default images below.

📌 Public ECR Images

Environment description

  • Finter (CPU) Environment

public.ecr.aws/d2s6t0y4/finter-env:0.1.0
  • Finter (GPU) Environment

public.ecr.aws/d2s6t0y4/finter-env:0.1.0-gpu

Customized Environment

Generally, you should use the provided base images without writing a Dockerfile. If you require additional packages, we can update the base image or supply a new one upon request.

If you need a customized Python environment, you must create a Dockerfile and submit it with your model. The Dockerfile must use one of the provided Finter Environment images as the base image.

When a custom Dockerfile is submitted, the submission process will include an additional step to build the image.

Example: Upgrading the finter package to version 0.4.74

The 0.1.0 image uses the uv package manager, while the 0.1.0-gpu image uses pip. The following Dockerfiles demonstrate how to install a specific version of finter with each package manager:

# Using uv (0.1.0 image)
FROM public.ecr.aws/d2s6t0y4/finter-env:0.1.0

RUN uv add finter==0.4.74
# Using pip (0.1.0-gpu image)
FROM public.ecr.aws/d2s6t0y4/finter-env:0.1.0-gpu

RUN pip install finter==0.4.74

Last updated

Was this helpful?