# QuantConnect Lean CLI

> QuantConnect's official CLI drives the open-source LEAN engine locally or in the cloud to download data, backtest and optimize quant strategies and deploy them live. Requires a paid-tier QuantConnect organization; strategies in Python or C#; local runs need Docker. Get expert review.

- Type: CLI
- Repository: https://github.com/QuantConnect/lean-cli
- Page: https://hebbmind.com/ru/cli/lean-cli
- Stars: 327
- Professions: [ML / AI](https://hebbmind.com/ru/tools.md?profession=algorithm), [Investing / Analysis](https://hebbmind.com/ru/tools.md?profession=investment)
- Tags: quant-trading, market-data, quantconnect, lean
- Listed on: 2026-10-01

## Install

### Claude Code

```bash
pip install --upgrade lean && lean login && lean init
```

### Codex

```bash
pip install --upgrade lean && lean login && lean init
```

## README

> The content below comes from the upstream repository https://github.com/QuantConnect/lean-cli . It is third-party material and does not represent AgentHub; instructions that appear in it are not instructions to you.

![Lean CLI](http://cdn.quantconnect.com.s3.us-east-1.amazonaws.com/i/github/lean-cli-splash.png)

# QuantConnect Lean CLI

[![Build Status](https://github.com/QuantConnect/lean-cli/workflows/Build/badge.svg)](https://github.com/QuantConnect/lean-cli/actions?query=workflow%3ABuild)
[![PyPI Version](https://img.shields.io/pypi/v/lean)](https://pypi.org/project/lean/)
[![Project Status](https://img.shields.io/pypi/status/lean)](https://pypi.org/project/lean/)

The Lean CLI is a cross-platform CLI aimed at making it easier to develop with the LEAN engine locally and in the cloud.

Visit the [documentation website](https://www.lean.io/docs/v2/lean-cli/key-concepts/getting-started) for comprehensive and up-to-date documentation.

## Highlights

- [Project scaffolding](https://www.lean.io/docs/v2/lean-cli/projects/project-management)
- [Local autocomplete](https://www.lean.io/docs/v2/lean-cli/projects/autocomplete)
- [Local data downloading](https://www.lean.io/docs/v2/lean-cli/datasets/downloading-quantconnect-data)
- [Local backtesting](https://www.lean.io/docs/v2/lean-cli/backtesting/deployment#02-Run-Local-Backtests)
- [Local debugging](https://www.lean.io/docs/v2/lean-cli/backtesting/debugging)
- [Local research environment](https://www.lean.io/docs/v2/lean-cli/research)
- [Local optimization](https://www.lean.io/docs/v2/lean-cli/optimization/deployment#02-Run-Local-Optimizations)
- [Local live trading](https://www.lean.io/docs/v2/lean-cli/live-trading/quantconnect-paper-trading#02-Deploy-Local-Algorithms)
- [Local backtest report creation](https://www.lean.io/docs/v2/lean-cli/backtesting/report#02-Generate-a-Report)
- [Cloud synchronization](https://www.lean.io/docs/v2/lean-cli/projects/cloud-synchronization)
- [Cloud backtesting](https://www.lean.io/docs/v2/lean-cli/backtesting/deployment#03-Run-Cloud-Backtests)
- [Cloud optimization](https://www.lean.io/docs/v2/lean-cli/optimization/deployment#03-Run-Cloud-Optimizations)
- [Cloud live trading](https://www.lean.io/docs/v2/lean-cli/live-trading/quantconnect-paper-trading#03-Deploy-Cloud-Algorithms)

## Installation

The CLI can be installed and updated by running `pip install --upgrade lean`.

Note that many commands in the CLI require Docker to run. See [Get Docker](https://docs.docker.com/get-docker/) for instructions on how to install Docker for your operating system.

**Note:** Some Linux users may need to install `tkinter` using the following commands:

``` 
For Python 3

sudo apt-get install python3-tk

For Python 2.7

sudo apt-get install python-tk
```
After installing the CLI, open a terminal in an empty directory and run `lean init`. This command downloads the latest configuration file and sample data from the [QuantConnect/Lean](https://github.com/QuantConnect/Lean) repository. We recommend running all Lean CLI commands in the same directory `lean init` was ran in.

## Usage

The Lean CLI supports multiple workflows. The examples below serve as a starting point, you're free to mix local and cloud features in any way you'd like.

A cloud-focused workflow (local development, cloud execution) with the CLI may look like this:
1. Open a terminal in the directory you ran `lean init` in.
2. Run `lean cloud pull` to pull remotely changed files.
3. Start programming locally and run backtests in the cloud with `lean cloud backtest "Project Name" --open --push` whenever there is something to backtest. The `--open` flag means that the backtest results will be opened in the browser when done, while the `--push` flag means that local changes are pushed to the cloud before running the backtest.
4. Whenever you want to create a new project, run `lean create-project "Project Name"` and `lean cloud push --project "Project Name"` to create a new project containing some basic code and to push it to the cloud.
5. When you're finished for the moment, run `lean cloud push` to push all locally changed files to the cloud.

A locally-focused workflow (local development, local execution) with the CLI may look like this:
1. Open a terminal in the directory you ran `lean init` in.
2. Run `lean create-project "Project Name"` to create a new project with some basic code to get you started.
3. Work on your strategy in `./Project Name`.
4. Run `lean research "Project Name"` to start a Jupyter Lab session to perform research in.
5. Run `lean backtest "Project Name"` to run a backtest whenever there's something to test. This runs your strategy in a Docker container containing the same packages as the ones used on QuantConnect.com, but with your own data.

You can save some typing by shortening command names to any unambiguous prefix. For example, `lean clo back` runs `lean cloud backtest`. If a prefix could match more than one command, the CLI shows you the options instead of guessing. They're handy for quick typing, but write out full command names in your scripts. A new command could later share the same prefix and break a shortcut that used to work.

## CLI Configurations

The following CLI configurations are available. Use the [`lean config list`](#lean-config-list) command to list them at any time.

<!-- configuration table start -->
| Key | Description |
| --- | --- |
| `user-id` | The user id used when making authenticated requests to the QuantConnect API. |
| `api-token` | The API token used when making authenticated requests to the QuantConnect API. |
| `default-language` | The default language used when creating new projects (allowed values: python, csharp). |
| `engine-image` | The Docker image used when running the LEAN engine (quantconnect/lean:latest if not set). |
| `research-image` | The Docker image used when running the research environment (quantconnect/research:latest if not set). |
| `database-update-frequency` | How often the databases are updated. The format is DD.HH:MM:SS. If the frequency is less than a day can just be HH:MM:SS. Update can be disabled by setting this option to a non-date value (-, _, ..., etc.). If unset, default value is 1 day |
<!-- configuration table end -->

## Commands

*Note: the readme only contains the `--help` text of all commands. Visit the [documentation website](https://www.lean.io/docs/v2/lean-cli/key-concepts/getting-started) for more comprehensive documentation.*

<!-- commands start -->
- [`lean backtest`](#lean-backtest)
- [`lean build`](#lean-build)
- [`lean cloud backtest`](#lean-cloud-backtest)
- [`lean cloud live`](#lean-cloud-live)
- [`lean cloud live broadcast`](#lean-cloud-live-broadcast)
- [`lean cloud live command`](#lean-cloud-live-command)
- [`lean cloud live deploy`](#lean-cloud-live-deploy)
- [`lean cloud live liquidate`](#lean-cloud-live-liquidate)
- [`lean cloud live stop`](#lean-cloud-live-stop)
- [`lean cloud object-store delete`](#lean-cloud-object-store-delete)
- [`lean cloud object-store get`](#lean-cloud-object-store-get)
- [`lean cloud object-store list`](#lean-cloud-object-store-list)
- [`lean cloud object-store ls`](#lean-cloud-object-store-ls)
- [`lean cloud object-store properties`](#lean-cloud-object-store-properties)
- [`lean cloud object-store set`](#lean-cloud-object-store-set)
- [`lean cloud optimize`](#lean-cloud-optimize)
- [`lean cloud pull`](#lean-cloud-pull)
- [`lean cloud push`](#lean-cloud-push)
- [`lean cloud status`](#lean-cloud-status)
- [`lean config get`](#lean-config-get)
- [`lean config list`](#lean-config-list)
- [`lean config set`](#lean-config-set)
- [`lean config unset`](#lean-config-unset)
- [`lean create-project`](#lean-create-project)
- [`lean data download`](#lean-data-download)
- [`lean data generate`](#lean-data-generate)
- [`lean decrypt`](#lean-decrypt)
- [`lean delete-project`](#lean-delete-project)
- [`lean encrypt`](#lean-encrypt)
- [`lean init`](#lean-init)
- [`lean library add`](#lean-library-add)
- [`lean library remove`](#lean-library-remove)
- [`lean live`](#lean-live)
- [`lean live add-security`](#lean-live-add-security)
- [`lean live cancel-order`](#lean-live-cancel-order)
- [`lean live command`](#lean-live-command)
- [`lean live deploy`](#lean-live-deploy)
- [`lean live liquidate`](#lean-live-liquidate)
- [`lean live stop`](#lean-live-stop)
- [`lean live submit-order`](#lean-live-submit-order)
- [`lean live update-order`](#lean-live-update-order)
- [`lean login`](#lean-login)
- [`lean logout`](#lean-logout)
- [`lean logs`](#lean-logs)
- [`lean object-store delete`](#lean-object-store-delete)
- [`lean object-store get`](#lean-object-store-get)
- [`lean object-store list`](#lean-object-store-list)
- [`lean object-store ls`](#lean-object-store-ls)
- [`lean object-store properties`](#lean-object-store-properties)
- [`lean object-store set`](#lean-object-store-set)
- [`lean optimize`](#lean-optimize)
- [`lean private-cloud add-compute`](#lean-private-cloud-add-compute)
- [`lean private-cloud start`](#lean-private-cloud-start)
- [`lean private-cloud stop`](#lean-private-cloud-stop)
- [`lean project-create`](#lean-project-create)
- [`lean project-delete`](#lean-project-delete)
- [`lean report`](#lean-report)
- [`lean research`](#lean-research)
- [`lean ui`](#lean-ui)
- [`lean whoami`](#lean-whoami)

### `lean backtest`

Backtest a project locally using Docker.

```
Usage: lean backtest [OPTIONS] PROJECT

  Backtest a project locally using Docker.

  If PROJECT is a directory, the algorithm in the main.py or Main.cs file inside it will be executed.
  If PROJECT is a file, the algorithm in the specified file will be executed.

  Go to the following url to learn how to debug backtests locally using the Lean CLI:
  https://www.lean.io/docs/v2/lean-cli/backtesting/debugging

  By default the official LEAN engine image is used. You can override this using the --image option. Alternatively you
  can set the default engine image for all commands using `lean config set engine-image <image>`.

Options:
  --output DIRECTORY              Directory to store results in (defaults to PROJECT/backtests/TIMESTAMP)
  -d, --detach                    Run the backtest in a detached Docker container and return immediately
  --debug [pycharm|ptvsd|debugpy|vsdbg|rider|local-platform]
                                  Enable a certain debugging method (see --help for more information)
  --data-provider-historical [Interactive Brokers|Oanda|Bitfinex|Coinbase Advanced Trade|Binance|Kraken|CharlesSchwab|IQFeed|Polygon|FactSet|AlphaVantage|CoinApi|ThetaData|QuantConnect|Local|Terminal Link|Bybit|TradeStation|Alpaca|Tastytrade|Eze|dYdX|Databento|Webull|Public]
                                  Update the Lean configuration file to retrieve data from the given historical provider
  --ib-user-name TEXT             Your Interactive Brokers username
  --ib-account TEXT               Your Interactive Brokers account id
  --ib-password TEXT              Your Interactive Brokers password
  --ib-host TEXT                  External Interactive Brokers Gateway Host (Optional).
  --ib-port TEXT                  External Interactive Brokers Gateway Port (Optional).
  --ib-weekly-restart-utc-time TEXT
                                  Weekly restart UTC time (hh:mm:ss). Each week on Sunday your algorithm is restarted at
                                  this time, and will require 2FA verification. This is required by Interactive Brokers.
                                  Use this option explicitly to override the default value. (Optional).
  --oanda-account-id TEXT         Your OANDA account id
  --oanda-access-token TEXT       Your OANDA API token
  --oanda-environment [Practice|Trade]
                                  The environment to run in, Practice for fxTrade Practice, Trade for fxTrade
  --bitfinex-api-key TEXT         Your Bitfinex API key
  --bitfinex-api-secret TEXT      Your Bitfinex API secret
  --coinbase-api-name TEXT        Your Coinbase Advanced Trade API name from file.
  --coinbase-api-private-key TEXT
                                  Your Coinbase Advanced Trade API private key from file.
  --binance-exchange-name [Binance|BinanceUS|Binance-USDM-Futures|Binance-COIN-Futures]
                                  Binance exchange name [Binance, BinanceUS, Binance-USDM-Futures, Binance-COIN-Futures]
  --binance-api-key TEXT          Your Binance API key
  --binanceus-api-key TEXT        Your Binance API key
  --binance-api-secret TEXT       Your Binance API secret
  --binanceus-api-secret TEXT     Your Binance API secret
  --kraken-api-key TEXT           Your Kraken API key
  --kraken-api-secret TEXT        Your Kraken API secret
  --kraken-verification-tier [Starter|Intermediate|Pro]
                                  Your Kraken Verification Tier
  --charles-schwab-user-name TEXT
                                  Your Charles Schwab login ID
  --charles-schwab-account-number TEXT
                                  The CharlesSchwab account number
  --iqfeed-iqconnect TEXT         The path to the IQConnect binary
  --iqfeed-username TEXT          Your IQFeed username
  --iqfeed-password TEXT          Your IQFeed password
  --iqfeed-version TEXT           The product version of your IQFeed developer account
  --iqfeed-host TEXT              The IQFeed host address (Optional).
  --polygon-api-key TEXT          Your Polygon.io API Key
  --polygon-license-type [Individual|Business]
                                  Select your Polygon.io subscription plan (Optional).
  --factset-auth-config-file FILE
                                  The path to the FactSet authentication configuration file
  --alpha-vantage-api-key TEXT    Your Alpha Vantage Api Key
  --alpha-vantage-price-plan [Free|Plan30|Plan75|Plan150|Plan300|Plan600|Plan1200]
                                  Your Alpha Vantage Premium API Key plan
  --coinapi-api-key TEXT          Your coinapi.io Api Key
  --coinapi-product [Free|Startup|Streamer|Professional|Enterprise]
                                  CoinApi pricing plan (https://www.coinapi.io/market-data-api/pricing)
  --thetadata-ws-url TEXT         The ThetaData host address (Optional).
  --thetadata-rest-url TEXT       The ThetaData host address (Optional).
  --thetadata-subscription-plan [Free|Value|Standard|Pro]
                                  Your ThetaData subscription price plan
  --terminal-link-connection-type [DAPI|SAPI]
                                  Terminal Link Connection Type [DAPI, SAPI]
  --terminal-link-environment [Production|Beta]
                                  The environment to run in
  --terminal-link-server-host TEXT
                                  The host of the TerminalLink server
  --terminal-link-server-port INTEGER
                                  The port of the TerminalLink server
  --terminal-link-openfigi-api-key TEXT
                                  The Open FIGI API key to use for mapping options
  --terminal-link-server-auth-id TEXT
                                  The Auth ID of the TerminalLink server
  --bybit-api-key TEXT            Your Bybit API key
  --bybit-api-secret TEXT         Your Bybit API secret
  --trade-station-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --trade-station-account-id TEXT
                                  The TradeStation account Id
  --alpaca-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --tastytrade-account-number TEXT
                                  The Tastytrade account number
  --eze-domain TEXT               Examples (broker provided): LIGHTSPEED, LIGHTSPEEDDELAY
  --eze-locale TEXT               Examples (broker provided): GLOBAL, AMERICAS, LIVE, DELAYED
  --eze-user-name TEXT            Your Eze Brokers username
  --eze-password TEXT             Your Eze Brokers password
  --dydx-private-key-hex TEXT     Your dYdX API private key in hex format
  --dydx-address TEXT             Your dYdX wallet address
  --dydx-subaccount-number INTEGER
                                  Your dYdX subaccount number
  --databento-api-key TEXT        Your Databento.com API Key
  --webull-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --webull-app-key TEXT           Your Webull App Key
  --webull-app-secret TEXT        Your Webull App Secret
  --webull-account-id TEXT        Your Webull account id
  --webull-use-2fa BOOLEAN        Whether two-factor authentication (2FA) should be used (Optional).
  --public-secret-key TEXT        Your Public.com API secret key
  --public-account-number TEXT    Your Public.com account number. Public lets you have more than one account, so this
                                  picks which one to trade.
  --download-data                 Update the Lean configuration file to download data from the QuantConnect API, alias
                                  for --data-provider-historical QuantConnect
  --data-purchase-limit INTEGER   The maximum amount of QCC to spend on downloading data during the backtest when using
                                  QuantConnect as historical data provider
  --release                       Compile C# projects in release configuration instead of debug
  --image TEXT                    The LEAN engine image to use (defaults to quantconnect/lean:latest)
  --python-venv TEXT              The path of the python virtual environment to be used
  --update                        Pull the LEAN engine image before running the backtest
  --backtest-name TEXT            Backtest name
  --extra-docker-config TEXT      Extra docker configuration as a JSON string. For more information https://docker-
                                  py.readthedocs.io/en/stable/containers.html
  --no-update                     Use the local LEAN engine image instead of pulling the latest version
  --parameter <TEXT TEXT>...      Key-value pairs to pass as backtest parameters. Values can be string, int, or float.
                                  Example: --parameter symbol AAPL --parameter period 10 --parameter threshold 0.05
  --lean-config FILE              The Lean configuration file that should be used (defaults to the nearest lean.json)
  --verbose                       Enable debug logging
  --help                          Show this message and exit.
```

_See code: [lean/commands/backtest.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/backtest.py)_

### `lean build`

Build Docker images of your own version of LEAN.

```
Usage: lean build [OPTIONS] [ROOT]

  Build Docker images of your own version of LEAN.

  ROOT must point to a directory containing the LEAN repository:
  https://github.com/QuantConnect/Lean

  When ROOT is not given, the current directory is used as root directory.

  This command performs the following actions:
  1. The lean-cli/foundation:latest image is built from Lean/DockerfileLeanFoundation(ARM).
  2. LEAN is compiled in a Docker container using the lean-cli/foundation:latest image.
  3. The lean-cli/engine:latest image is built from Lean/Dockerfile using lean-cli/foundation:latest as base image.
  4. The lean-cli/research:latest image is built from Lean/DockerfileJupyter using lean-cli/engine:latest as base image.
  5. The default engine image is set to lean-cli/engine:latest.
  6. The default research image is set to lean-cli/research:latest.

  When the foundation Dockerfile is the same as the official foundation Dockerfile, quantconnect/lean:foundation is used
  instead of building a custom foundation image.

Options:
  --tag TEXT  The tag to apply to custom images (defaults to latest)
  --verbose   Enable debug logging
  --help      Show this message and exit.
```

_See code: [lean/commands/build.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/build.py)_

### `lean cloud backtest`

Backtest a project in the cloud.

```
Usage: lean cloud backtest [OPTIONS] PROJECT

  Backtest a project in the cloud.

  PROJECT must be the name or id of the project to run a backtest for.

  If the project that has to be backtested has been pulled to the local drive with `lean cloud pull` it is possible to
  use the --push option to push local modifications to the cloud before running the backtest.

Options:
  --name TEXT                 The name of the backtest (a random one is generated if not specified)
  --push                      Push local modifications to the cloud before running the backtest
  --open                      Automatically open the results in the browser when the backtest is finished
  --parameter <TEXT TEXT>...  Key-value pairs to pass as backtest parameters. Values can be string, int, or float.
                              Example: --parameter symbol AAPL --parameter period 10 --parameter threshold 0.05
  --verbose                   Enable debug logging
  --help                      Show this message and exit.
```

_See code: [lean/commands/cloud/backtest.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/backtest.py)_

### `lean cloud live`

Interact with the QuantConnect cloud live deployments.

```
Usage: lean cloud live [OPTIONS] COMMAND [ARGS]...

  Interact with the QuantConnect cloud live deployments.

Options:
  --help  Show this message and exit.

Commands:
  broadcast  Broadcast a command to all running cloud live trading projects in an organization.
  command    Send a command to a running cloud live trading project.
  deploy     Start live trading for a project in the cloud.
  liquidate  Stops live trading and liquidates existing positions for a certain project.
  stop       Stops live trading for a certain project without liquidating existing positions.
```

### `lean cloud live broadcast`

Broadcast a command to all running cloud live trading projects in an organization.

```
Usage: lean cloud live broadcast [OPTIONS]

  Broadcast a command to all running cloud live trading projects in an organization.

Options:
  --data TEXT             The command to send, 'str' representation of a 'dict' e.g. "{ \"target\": \"BTCUSD\",
                          \"$type\":\"MyCommand\" }"  [required]
  --organization TEXT     The name or id of the organization to broadcast the command to, defaults to the organization
                          of the current Lean CLI directory
  --exclude-project TEXT  The name or id of the project to exclude from the broadcast, by default all projects are
                          included
  --verbose               Enable debug logging
  --help                  Show this message and exit.
```

_See code: [lean/commands/cloud/live/broadcast.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/live/broadcast.py)_

### `lean cloud live command`

Send a command to a running cloud live trading project.

```
Usage: lean cloud live command [OPTIONS] PROJECT

  Send a command to a running cloud live trading project.

Options:
  --data TEXT  The command to send, 'str' representation of a 'dict' e.g. "{ \"target\": \"BTCUSD\",
               \"$type\":\"MyCommand\" }"
  --verbose    Enable debug logging
  --help       Show this message and exit.
```

_See code: [lean/commands/cloud/live/command.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/live/command.py)_

### `lean cloud live deploy`

Start live trading for a project in the cloud.

```
Usage: lean cloud live deploy [OPTIONS] PROJECT

  Start live trading for a project in the cloud.

  PROJECT must be the name or the id of the project to start live trading for.

  By default an interactive wizard is shown letting you configure the deployment. If --brokerage is given the command
  runs in non-interactive mode. In this mode the CLI does not prompt for input or confirmation. In non-interactive mode
  the options specific to the given brokerage are required, as well as --node, --auto-restart, --notify-order-events and
  --notify-insights.

Options:
  --brokerage [Paper Trading|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Advanced Trade|Binance|Zerodha|Samco|Terminal Link|Trading Technologies|Kraken|CharlesSchwab|Bybit|TradeStation|Alpaca|Tastytrade|Eze|dYdX|Webull|Public|ClearStreet]
                                  The brokerage to use
  --data-provider-live [QuantConnect|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Advanced Trade|Binance|Zerodha|Samco|Terminal Link|Trading Technologies|Kraken|CharlesSchwab|Polygon|CoinApi|Bybit|TradeStation|Alpaca|Tastytrade|Eze|dYdX]
                                  The live data provider to use
  --ib-user-name TEXT             Your Interactive Brokers username
  --ib-account TEXT               Your Interactive Brokers account id
  --ib-password TEXT              Your Interactive Brokers password
  --ib-host TEXT                  External Interactive Brokers Gateway Host (Optional).
  --ib-port TEXT                  External Interactive Brokers Gateway Port (Optional).
  --ib-weekly-restart-utc-time TEXT
                                  Weekly restart UTC time (hh:mm:ss). Each week on Sunday your algorithm is restarted at
                                  this time, and will require 2FA verification. This is required by Interactive Brokers.
                                  Use this option explicitly to override the default value. (Optional).
  --ib-financial-advisors-group-filter TEXT
                                  Use this field to filter data by a specific financial advisor group within your
                                  Interactive Brokers account. Leave blank to include all groups. (Optional).
  --tradier-account-id TEXT       Your Tradier account id
  --tradier-access-token TEXT     Your Tradier access token
  --tradier-environment [live|paper]
                                  Whether the developer sandbox should be used
  --oanda-account-id TEXT         Your OANDA account id
  --oanda-access-token TEXT       Your OANDA API token
  --oanda-environment [Practice|Trade]
                                  The environment to run in, Practice for fxTrade Practice, Trade for fxTrade
  --bitfinex-api-key TEXT         Your Bitfinex API key
  --bitfinex-api-secret TEXT      Your Bitfinex API secret
  --coinbase-api-name TEXT        Your Coinbase Advanced Trade API name from file.
  --coinbase-api-private-key TEXT
                                  Your Coinbase Advanced Trade API private key from file.
  --binance-exchange-name [Binance|BinanceUS|Binance-USDM-Futures|Binance-COIN-Futures]
                                  Binance exchange name [Binance, BinanceUS, Binance-USDM-Futures, Binance-COIN-Futures]
  --binance-api-key TEXT          Your Binance API key
  --binanceus-api-key TEXT        Your Binance API key
  --binance-api-secret TEXT       Your Binance API secret
  --binanceus-api-secret TEXT     Your Binance API secret
  --binance-use-testnet [live|paper]
                                  Whether the testnet should be used
  --zerodha-api-key TEXT          Your Kite Connect API key
  --zerodha-access-token TEXT     Your Kite Connect access token
  --zerodha-product-type [mis|cnc|nrml]
                                  MIS if you are targeting intraday products, CNC if you are targeting delivery
                                  products, NRML if you are targeting carry forward products
  --zerodha-trading-segment [equity|commodity]
                                  EQUITY if you are trading equities on NSE or BSE, COMMODITY if you are trading
                                  commodities on MCX
  --zerodha-history-subscription [true|false]
                                  Whether you have a history API subscription for Zerodha
  --samco-client-id TEXT          Your Samco account Client ID
  --samco-client-password TEXT    Your Samco account password
  --samco-year-of-birth TEXT      Your year of birth (YYYY) registered with Samco
  --samco-product-type [mis|cnc|nrml]
                                  MIS if you are targeting intraday products, CNC if you are targeting delivery
                                  products, NRML if you are targeting carry forward products
  --samco-trading-segment [equity|commodity]
                                  EQUITY if you are trading equities on NSE or BSE, COMMODITY if you are trading
                                  commodities on MCX
  --terminal-link-server-auth-id TEXT
                                  The Auth ID of the TerminalLink server
  --terminal-link-environment [Production|Beta]
                                  The environment to run in
  --terminal-link-server-host TEXT
                                  The host of the SAPI server
  --terminal-link-server-port INTEGER
                                  The port of the SAPI server
  --terminal-link-emsx-broker TEXT
                                  The EMSX broker to use (Optional).
  --terminal-link-emsx-account TEXT
                                  The EMSX account to use (Optional).
  --terminal-link-emsx-team TEXT  The EMSX team to receive order events from (Optional).
  --terminal-link-openfigi-api-key TEXT
                                  The Open FIGI API key to use for mapping options
  --tt-user-name TEXT             Your Trading Technologies username
  --tt-session-password TEXT      Your Trading Technologies session password
  --tt-account-name TEXT          Your Trading Technologies account name
  --tt-rest-app-key TEXT          Your Trading Technologies REST app key
  --tt-rest-app-secret TEXT       Your Trading Technologies REST app secret
  --tt-rest-environment TEXT      The REST environment to run in
  --tt-order-routing-sender-comp-id TEXT
                                  The order routing sender comp id to use
  --kraken-api-key TEXT           Your Kraken API key
  --kraken-api-secret TEXT        Your Kraken API secret
  --kraken-verification-tier [Starter|Intermediate|Pro]
                                  Your Kraken Verification Tier
  --charles-schwab-user-name TEXT
                                  Your Charles Schwab login ID
  --charles-schwab-account-number TEXT
                                  The CharlesSchwab account number
  --bybit-api-key TEXT            Your Bybit API key
  --bybit-api-secret TEXT         Your Bybit API secret
  --bybit-vip-level [VIP0|VIP1|VIP2|VIP3|VIP4|VIP5|SupremeVIP|Pro1|Pro2|Pro3|Pro4|Pro5]
                                  Your Bybit VIP Level
  --bybit-use-testnet [live|paper|demo]
                                  Whether the testnet should be used
  --trade-station-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --trade-station-account-id TEXT
                                  The TradeStation account Id
  --alpaca-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --tastytrade-account-number TEXT
                                  The Tastytrade account number
  --eze-domain TEXT               Examples (broker provided): LIGHTSPEED, LIGHTSPEEDDELAY
  --eze-locale TEXT               Examples (broker provided): GLOBAL, AMERICAS, LIVE, DELAYED
  --eze-user-name TEXT            Your Eze Brokers username
  --eze-password TEXT             Your Eze Brokers password
  --eze-trading-account TEXT      Format: BANK;BRANCH;CUSTOMER;DEPOSIT
  --dydx-private-key-hex TEXT     Your dYdX API private key in hex format
  --dydx-address TEXT             Your dYdX wallet address
  --dydx-subaccount-number INTEGER
                                  Your dYdX subaccount number
  --dydx-environment [live|paper]
                                  Whether the developer sandbox should be used
  --webull-environment [live|paper]
                                  Whether Live or Paper environment should be used
  --webull-app-key TEXT           Your Webull App Key
  --webull-app-secret TEXT        Your Webull App Secret
  --webull-account-id TEXT        Your Webull account id
  --webull-use-2fa BOOLEAN        Whether two-factor authentication (2FA) should be used (Optional).
  --public-secret-key TEXT        Your Public.com API secret key
  --public-account-number TEXT    Your Public.com account number. Public lets you have more than one account, so this
                                  picks which one to trade.
  --clearstreet-access-token TEXT
                                  Your Clear Street API access token
  --clearstreet-account-id TEXT   Your Clear Street account id, the numeric id of the account the algorithm trades
  --polygon-api-key TEXT          Your Polygon.io API Key
  --polygon-license-type [Individual|Business]
                                  Select your Polygon.io subscription plan (Optional).
  --coinapi-api-key TEXT          Your coinapi.io Api Key
  --coinapi-product [Free|Startup|Streamer|Professional|Enterprise]
                                  CoinApi pricing plan (https://www.coinapi.io/market-data-api/pricing)
  --alpaca-api-key TEXT           Your Alpaca Api Key
  --alpaca-api-secret TEXT        Your Alpaca Api Secret
  --node TEXT                     The name or id of the live node to run on
  --auto-restart BOOLEAN          Whether automatic algorithm restarting must be enabled
  --notify-order-events BOOLEAN   Whether notifications must be sent for order events
  --notify-insights BOOLEAN       Whether notifications must be sent for emitted insights
  --notify-emails TEXT            A comma-separated list of 'email:subject' pairs configuring email-notifications. Wrap
                                  a subject containing ',' in double quotes, e.g. 'a@x.com:"Fills, orders"'
  --notify-webhooks TEXT          A comma-separated list of 'url:HEADER_1=VALUE_1:HEADER_2=VALUE_2:etc' pairs
                                  configuring webhook-notifications. Wrap a url (with ',' or a ':' outside its scheme
                                  and port) or a header (with ':' or ',') in double quotes, e.g.
                                  '"https://x.com/hook?t=1:2":"Auth=Bearer a:b"'
  --notify-sms TEXT               A comma-separated list of phone numbers configuring SMS-notifications
  --notify-telegram TEXT          A comma-separated list of 'user/group Id:token(optional)' pairs configuring telegram-
                                  notifications. Wrap a token containing ',' in double quotes
  --live-cash-balance TEXT        A comma-separated list of currency:amount pairs of initial cash balance
  --live-holdings TEXT            A comma-separated list of symbol:symbolId:quantity:averagePrice of initial portfolio
                                  holdings
  --push                          Push local modifications to the cloud before starting live trading
  --open                          Automatically open the live results in the browser once the deployment starts
  --show-secrets                  Show secrets as they are input
  --no-browser                    Display OAuth URL without opening the browser
  --verbose                       Enable debug logging
  --help                          Show this message and exit.
```

_See code: [lean/commands/cloud/live/deploy.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/live/deploy.py)_

### `lean cloud live liquidate`

Stops live trading and liquidates existing positions for a certain project.

```
Usage: lean cloud live liquidate [OPTIONS] PROJECT

  Stops live trading and liquidates existing positions for a certain project.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/live/liquidate.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/live/liquidate.py)_

### `lean cloud live stop`

Stops live trading for a certain project without liquidating existing positions.

```
Usage: lean cloud live stop [OPTIONS] PROJECT

  Stops live trading for a certain project without liquidating existing positions.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/live/stop.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/live/stop.py)_

### `lean cloud object-store delete`

Delete a value from the organization's cloud object store.

```
Usage: lean cloud object-store delete [OPTIONS] KEY

  Delete a value from the organization's cloud object store.

  :param key: The desired key name to delete.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/delete.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/delete.py)_

### `lean cloud object-store get`

Download an object store value to disk from the organization's cloud object store.

```
Usage: lean cloud object-store get [OPTIONS] [KEY]...

  Download an object store value to disk from the organization's cloud object store.

  :param key: The desired key to fetch, multiple can be provided.

Options:
  --destination-folder TEXT  The destination folder to download the object store values, if not provided will use to
                             current directory
  --verbose                  Enable debug logging
  --help                     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/get.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/get.py)_

### `lean cloud object-store list`

List all values for the given root key in the organization's cloud object store.

```
Usage: lean cloud object-store list [OPTIONS] [KEY]

  List all values for the given root key in the organization's cloud object store.

  :param key: The desired root key to list.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/list.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/list.py)_

### `lean cloud object-store ls`

Alias for 'list'

```
Usage: lean cloud object-store ls [OPTIONS] [KEY]

  List all values for the given root key in the organization's cloud object store.

  :param key: The desired root key to list.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/ls.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/ls.py)_

### `lean cloud object-store properties`

Get a value properties from the organization's cloud object store.

```
Usage: lean cloud object-store properties [OPTIONS] KEY

  Get a value properties from the organization's cloud object store.

  :param key: The desired key to fetch the properties for.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/properties.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/properties.py)_

### `lean cloud object-store set`

Sets the data to the given key in the organization's cloud object store.

```
Usage: lean cloud object-store set [OPTIONS] KEY PATH

  Sets the data to the given key in the organization's cloud object store.

  :param key: The key to set the data to. :param path: Path to the file containing the object data.

Options:
  --verbose  Enable debug logging
  --help     Show this message and exit.
```

_See code: [lean/commands/cloud/object_store/set.py](https://github.com/QuantConnect/lean-cli/blob/HEAD/lean/commands/cloud/object_store/set.py)_

### `lean cloud optimize`

Optimize a project in the cloud.

```
Usage: lean cloud optimize [OPTIONS] PROJECT

  Optimize a project in the cloud.

  PROJECT must be the name or id of the project to optimize.

  An interactive prompt will be shown to configure the optimizer. If --target is given the command runs in non-
  interactive mode. In this mode the CLI does not prompt for input and the following options become required: --target,
  --target-direction, --parameter, --node and --parallel-nodes.

```

> The README is long; the above is its first 40000 characters. Full content: https://github.com/QuantConnect/lean-cli
