webull
lumibot
Our great sponsors
webull | lumibot | |
---|---|---|
6 | 44 | |
588 | 682 | |
- | 8.7% | |
0.0 | 9.7 | |
about 1 month ago | 7 days ago | |
Python | Python | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webull
-
Hello World Programs for API Stock Trading
### Alpaca #### # pip install alpaca_trade_api # Import Alpaca Package import alpaca_trade_api as tradeapi # Set API Keys api_key = '' secret_key = 'ENTER ALPACA SECRET KEY HERE' # Initialize Alpaca Trading Object alpaca_client = tradeapi.REST(api_key, secret_key, raw_data=True) # Validate Client Object Works print(alpaca_client.get_account()) # Submit a fractional trade (market order only) orderNumber = alpaca_client.submit_order(symbol='AAPL', qty=0.1234, side='buy', type='market', time_in_force='day')['client_order_id'] # Submit a limit order (fractional shares not allowed) orderNumber = alpaca_client.submit_order(symbol='AAPL', qty=5, side='sell', type='limit', limit_price='138.00', time_in_force='gtc')['client_order_id'] ### Tradier ### # pip install tradier-python # Import Tradier Package from tradier_python import TradierAPI # Set API Keys account_id = '' access_token = 'ENTER TRADIER ACCESS TOKEN HERE' # Initialize Tradier Trading Object tradier_client = TradierAPI(token=access_token, default_account_id=account_id, endpoint='https://api.tradier.com/') # Validate Client Object Works print(tradier_client.get_profile()) # Submit a limit order (fractional shares not allowed) orderNumber = order_number = tradier_client.order_equity(symbol='IBM', side='buy', quantity='10', order_type='limit', limit_price='138.00', duration='day' )['id'] ### Ally ### # pip install AllyInvestPy # Import Ally Package from ally import * # Set API Keys account_id = '' token_secret = 'ENTER ALLY TOKEN SECRET HERE' token_key = 'ENTER ALLY TOKEN KEY HERE' api_key = 'ENTER ALLY API KEY HERE' # Initialize Ally Trading Object ally_client = AllyAPI(account_id, token_secret, token_key, api_key, response_format="json") # Validate Client Object Works print(ally_client.get_account(id=account_id)) # Submit a limit order (fractional shares not allowed) orderInfo = ally_client.order_common_stock(ticker='APPL', shares=10, type='Limit', price='138.00', account_nbr=account_id, side='Buy') ### Webull ### # pip install webull # Import Webull Package from webull import webull # It's necessary to get and create below webull credentials file # Follow steps in this URL: https://github.com/tedchou12/webull/wiki/Workaround-for-Login # Tip: You need to enter trade token and do a search for "refreshToken" in order to locate and retrieve extInfo response fh = open('c:/temp/webull_credentials.json', 'r') credential_data = json.load(fh) fh.close() print(credential_data) print(credential_data['refreshToken']) print(credential_data['accessToken']) print(credential_data['tokenExpireTime']) print(credential_data['uuid']) # Initialize Webull Trading Object webull_client = webull() # Set Webull Tokens webull_client._refresh_token = credential_data['refreshToken'] webull_client._access_token = credential_data['accessToken'] webull_client._token_expire = credential_data['tokenExpireTime'] webull_client._uuid = credential_data['uuid'] # Refresh Webull Token to Extend Expiration for 1 Week n_data = webull_client.refresh_login() credential_data['refreshToken'] = n_data['refreshToken'] credential_data['accessToken'] = n_data['accessToken'] credential_data['tokenExpireTime'] = n_data['tokenExpireTime'] # Update credentials file with new values file = open('c:/temp/webull_credentials.json', 'w') json.dump(credential_data, file) file.close() # Validate Client Object Works print(webull_client.get_account_id()) # Submit Order (Fractional Shares Not Allowed) # Enter phone number, password, and trade token information webull_client.login('+1-2125551234', '') webull_client.get_trade_token('123456') # It's annoying but the two lines above, login() and get_trade_token() functions must be executed before EACH trade is placed orderNumber = webull_client.place_order(stock='AAPL', action='BUY', orderType='LMT', quant=10.0, price='138.00')['data']['orderId']
- The Naked Smoking Gun
-
Broker for swing trading
WeBull. No commissions. $5 minimum for fractional shares. 1am ET start of trading APIs here. Caveat is phone app has better UI than the desktop app, imo.
-
Where is the official docs for the webull api?
Apart from their wiki, they don't seem to have official documentation!
-
Where to get pre-market prices?
webull - GitHub - tedchou12/webull: Unofficial APIs for Webull.
lumibot
What are some alternatives?
degiro-api - Unofficial DeGiro stock broker API. See your portfolio and set up orders in the market like wall street
algobot - Cryptocurrency trading bot with a graphical user interface with support for simulations, backtests, optimizations, and running live bots.
best-of-python - 🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.
backtesting.py - :mag_right: :chart_with_upwards_trend: :snake: :moneybag: Backtest trading strategies in Python.
awesome-python - An opinionated list of awesome Python frameworks, libraries, software and resources.
blankly - 🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
pyrh - Python Framework to make trades with the unofficial Robinhood API
pybroker - Algorithmic Trading in Python with Machine Learning
waldur-mastermind - Waldur MasterMind is a hybrid cloud orchestrator.
LiuAlgoTrader - Framework for algorithmic trading
example-hftish - Example Order Book Imbalance Algorithm
sc-trade-tools - Issues repository for SC Trade Tools