wetrade
: uma biblioteca E-Trade Python construída para negociação automatizada de ações wetrade
wetrade
é uma biblioteca API E-Trade não oficial criada inicialmente para uso em sistemas de negociação headless. Ele fornece muitas funcionalidades integradas úteis e foi projetado para ser flexível e extensível e para acomodar uma ampla variedade de necessidades de negociação de ações.
Os recursos incluem:
wetrade
Para nossa documentação completa, confira: https://wetrade.readthedocs.io/en/latest/.
wetrade
Para acessar a API E-Trade, você precisará seguir as 4 etapas detalhadas na página de introdução do desenvolvedor E-Trade e, em seguida, solicitar uma chave de API por meio da página vinculada. Também é recomendado que você habilite dados em tempo real na central de assinaturas para não receber cotações atrasadas.
Instale wetrade
:
É uma boa ideia criar um novo ambiente virtual para um novo projeto Python
# create venv
python3 -m venv venv
# enter venv
source venv/bin/activate
Podemos então instalar wetrade
em nosso venv. Para login automático, também precisaremos instalar nosso navegador.
pip install wetrade
playwright install firefox
A seguir, você começará rapidamente usando nosso novo script de projeto automatizado!
python -m wetrade new-project
Agora você verá vários arquivos no diretório do seu projeto, incluindo um arquivo settings.py onde você inserirá suas informações de usuário e API e terá a opção de definir várias configurações wetrade
.
Além de settings.py , também criamos um Dockerfile para fácil implantação, bem como um arquivo requirements.txt e um arquivo de exemplo main.py que demonstra alguns usos básicos do wetrade:
principal.py
from wetrade . api import APIClient
from wetrade . account import Account
from wetrade . quote import Quote
from wetrade . order import LimitOrder
from wetrade . utils import setup_cloud_logging
def main ():
# Setup cloud logging (optional) and APIClient
setup_cloud_logging ()
client = APIClient ()
# Check out your account
account = Account ( client = client )
print ( 'My Account Key: ' , account . account_key )
print ( 'My Balance: ' , account . check_balance ())
# Get a stock quote
quote = Quote ( client = client , symbol = 'IBM' )
print ( f'Last { quote . symbol } Quote Price: ' , quote . get_last_price ())
# Place some orders and stuff
order1 = LimitOrder (
client = client ,
account_key = account . account_key ,
symbol = 'NVDA' ,
action = 'BUY' ,
quantity = 1 ,
price = 50.00 )
order1 . place_order ()
order1 . run_when_status (
'CANCELLED' ,
func = print ,
func_args = [ 'Test message' ])
order2 = LimitOrder (
client = client ,
account_key = account . account_key ,
symbol = 'NFLX' ,
action = 'BUY' ,
quantity = 1 ,
price = 50.00 )
order2 . place_order ()
order2 . run_when_status (
'CANCELLED' ,
order1 . cancel_order )
order2 . cancel_order ()
if __name__ == '__main__' :
main ()
wetrade
foi inicialmente projetado para ser executado sem controle e possui tratamento integrado para a maioria dos erros esperados de corretagem, servidor e API. Esta e a maioria das outras funcionalidades wetrade
são de uso totalmente opcional, e nossa estrutura modular permite que você utilize o quanto desejar da biblioteca. Nosso objetivo é adicionar consistentemente novas funcionalidades para dar suporte a casos de uso adicionais. Se você tiver algum comentário ou sugestão sobre novos recursos, não hesite em criar um problema ou entrar em contato com: [email protected]. Também criamos um servidor Discord onde você pode obter ajuda ou apenas conversar com outros usuários wetrade
.
Isenção de responsabilidade: wetrade é uma biblioteca API não oficial e não vem com nenhuma garantia de qualquer tipo. Não é de forma alguma endossado ou afiliado à E*TRADE Financial ou a qualquer organização associada. Certifique-se de ler e compreender os termos de serviço da API subjacente antes de usar este pacote. Os autores não se responsabilizam por quaisquer danos que possam resultar do uso deste pacote. Consulte o arquivo LICENSE para obter mais detalhes.