wetrade
: 自動株取引用に構築された E-Trade Python ライブラリwetrade
概要wetrade
当初はヘッドレス取引システムで使用するために作成された非公式の E-Trade API ライブラリです。多くの便利な組み込み機能を提供し、柔軟性と拡張性があり、株式取引のさまざまなニーズに対応できるように設計されています。
特徴は次のとおりです。
wetrade
ドキュメント完全なドキュメントについては、https://wetrade.readthedocs.io/en/latest/ をご覧ください。
wetrade
を始めるE-Trade API にアクセスするには、E-Trade 開発者の開始ページで詳しく説明されている 4 つの手順に従い、リンクされたページから API キーをリクエストする必要があります。また、見積もりの受け取りが遅れないよう、サブスクリプション センターでリアルタイム データを有効にすることをお勧めします。
wetrade
をインストールします。
新しい Python プロジェクト用に新しい仮想環境を作成することをお勧めします。
# create venv
python3 -m venv venv
# enter venv
source venv/bin/activate
次に、 wetrade
venv にインストールできます。自動ログインするには、ブラウザもインストールする必要があります。
pip install wetrade
playwright install firefox
次に、自動化された新しいプロジェクト スクリプトを使用して、すぐに作業を開始します。
python -m wetrade new-project
プロジェクト ディレクトリに、ユーザーと API 情報を入力し、さまざまなwetrade
設定を構成するオプションがある settings.py ファイルを含むいくつかのファイルが表示されます。
settings.py に加えて、デプロイを容易にするDockerfile 、 requirements.txt 、基本的な Wetrade の使用法を示すサンプル ファイルmain.pyも作成しました。
main.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
は当初、ヘッドレスで実行するように設計されており、最も予期される仲介、サーバー、および API エラーに対する処理が組み込まれています。これと他のwetrade
機能の大部分は完全にオプションで使用でき、モジュール構造によりライブラリを好きなだけ利用できます。私たちの目標は、さらなるユースケースをサポートするために新しい機能を継続的に追加することです。新しい機能に関するコメントや提案がある場合は、遠慮なく問題を作成するか、[email protected] までご連絡ください。また、ヘルプを得たり、他のwetrade
ユーザーとチャットしたりできる Discord サーバーも作成しました。
免責事項: wetrade は非公式 API ライブラリであり、いかなる種類の保証もありません。 E*TRADE Financial または関連組織によって承認または提携されるものではありません。このパッケージを使用する前に、基盤となる API のサービス利用規約を必ず読んで理解してください。作者は、このパッケージの使用に起因する可能性のある損害に対して一切の責任を負いません。詳細については、LICENSE ファイルを参照してください。