From 2e97c41e59f906e4e8804e70d100c26033a7d3c5 Mon Sep 17 00:00:00 2001 From: Ronit Jain Date: Thu, 15 Dec 2022 23:20:33 +0530 Subject: [PATCH 1/2] update readme --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c55633a8..e77419a4 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,7 @@ Usage: lean cloud live deploy [OPTIONS] PROJECT --notify-insights. Options: - --brokerage [Paper Trading|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Trading Technologies|Kraken] + --brokerage [Paper Trading|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Trading Technologies|Kraken|TDAmeritrade] The brokerage to use --ib-user-name TEXT Your Interactive Brokers username --ib-account TEXT Your Interactive Brokers account id @@ -306,6 +306,11 @@ Options: --kraken-api-secret TEXT Your Kraken API secret --kraken-verification-tier [Starter|Intermediate|Pro] Your Kraken Verification Tier + --tdameritrade-api-key TEXT Your TDAmeritrade API key + --tdameritrade-access-token TEXT + Your TDAmeritrade OAuth Access Token + --tdameritrade-account-number TEXT + Your TDAmeritrade account number --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 @@ -849,9 +854,9 @@ Options: --environment TEXT The environment to use --output DIRECTORY Directory to store results in (defaults to PROJECT/live/TIMESTAMP) -d, --detach Run the live deployment in a detached Docker container and return immediately - --brokerage [Paper Trading|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Terminal Link|Atreyu|Trading Technologies|Kraken] + --brokerage [Paper Trading|Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Terminal Link|Atreyu|Trading Technologies|Kraken|TDAmeritrade] The brokerage to use - --data-feed [Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Terminal Link|Kraken|IQFeed|Polygon Data Feed|Custom data only] + --data-feed [Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Pro|Binance|Zerodha|Samco|Terminal Link|Kraken|TDAmeritrade|IQFeed|Polygon Data Feed|Custom data only] The data feed to use --data-provider [Terminal Link|QuantConnect|Local] Update the Lean configuration file to retrieve data from the given provider @@ -957,6 +962,11 @@ Options: --kraken-api-secret TEXT Your Kraken API secret --kraken-verification-tier [Starter|Intermediate|Pro] Your Kraken Verification Tier + --tdameritrade-api-key TEXT Your TDAmeritrade API key + --tdameritrade-access-token TEXT + Your TDAmeritrade OAuth Access Token + --tdameritrade-account-number TEXT + Your TDAmeritrade account number --ib-enable-delayed-streaming-data BOOLEAN Whether delayed data may be used when your algorithm subscribes to a security you don't have a market data subscription for From 1c4d365b5b3ae19d8d581bd32f94fcdf1ab889fb Mon Sep 17 00:00:00 2001 From: Ronit Jain Date: Thu, 15 Dec 2022 23:56:39 +0530 Subject: [PATCH 2/2] update tests --- .../cloud/live/test_cloud_live_commands.py | 7 +++++-- tests/commands/test_live.py | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/tests/commands/cloud/live/test_cloud_live_commands.py b/tests/commands/cloud/live/test_cloud_live_commands.py index d061f56c..72090e72 100644 --- a/tests/commands/cloud/live/test_cloud_live_commands.py +++ b/tests/commands/cloud/live/test_cloud_live_commands.py @@ -187,7 +187,8 @@ def test_cloud_live_deploy_with_notifications(notice_method: str, configs: str) ("Samco", "USD:100"), ("Terminal Link", "USD:100"), ("Tradier", "USD:100"), - ("Zerodha", "USD:100")]) + ("Zerodha", "USD:100"), + ("TDAmeritrade", "USD:100")]) def test_cloud_live_deploy_with_live_cash_balance(brokerage: str, cash: str) -> None: create_fake_lean_cli_directory() @@ -264,7 +265,9 @@ def test_cloud_live_deploy_with_live_cash_balance(brokerage: str, cash: str) -> ("Tradier", ""), ("Tradier", "A:A 2T:1:145.1"), ("Zerodha", ""), - ("Zerodha", "A:A 2T:1:145.1")]) + ("Zerodha", "A:A 2T:1:145.1"), + ("TDAmeritrade", ""), + ("TDAmeritrade", "A:A 2T:1:145.1")]) def test_cloud_live_deploy_with_live_holdings(brokerage: str, holdings: str) -> None: create_fake_lean_cli_directory() diff --git a/tests/commands/test_live.py b/tests/commands/test_live.py index 92355580..2340a250 100644 --- a/tests/commands/test_live.py +++ b/tests/commands/test_live.py @@ -313,6 +313,11 @@ def test_live_aborts_when_lean_config_is_missing_properties(target: str, replace "tt-order-routing-host": "abc", "tt-order-routing-port": "abc", "tt-log-fix-messages": "no" + }, + "TDAmeritrade": { + "tdameritrade-account-number": "123", + "tdameritrade-api-key": "abc", + "tdameritrade-access-token": "abc", } } @@ -327,6 +332,7 @@ def test_live_aborts_when_lean_config_is_missing_properties(target: str, replace "Samco": brokerage_required_options["Samco"], "Terminal Link": brokerage_required_options["Terminal Link"], "Kraken": brokerage_required_options["Kraken"], + "TDAmeritrade": brokerage_required_options["TDAmeritrade"] } @@ -768,7 +774,9 @@ def test_live_passes_custom_python_venv_to_lean_runner_when_given_as_option(pyth ("Tradier", ""), ("Tradier", "USD:100"), ("Zerodha", ""), - ("Zerodha", "USD:100")]) + ("Zerodha", "USD:100"), + ("TDAmeritrade", ""), + ("TDAmeritrade", "USD:100")]) def test_live_passes_live_cash_balance_to_lean_runner_when_given_as_option(brokerage: str, cash: str) -> None: create_fake_lean_cli_directory() lean_runner= container.lean_runner @@ -830,7 +838,9 @@ def test_live_passes_live_cash_balance_to_lean_runner_when_given_as_option(broke ("Tradier", ""), ("Tradier", "A:A 2T:1:145.1"), ("Zerodha", ""), - ("Zerodha", "A:A 2T:1:145.1")]) + ("Zerodha", "A:A 2T:1:145.1"), + ("TDAmeritrade", ""), + ("TDAmeritrade", "A:A 2T:1:145.1")]) def test_live_passes_live_holdings_to_lean_runner_when_given_as_option(brokerage: str, holdings: str) -> None: create_fake_lean_cli_directory() lean_runner= container.lean_runner