GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

maxbbraun

trump2cash – トランプのつぶやき によって供給される株式取引ボット

投稿日:

トランプのつぶやき http://trump2cash.biz によって供給される株式取引ボット

トランプ2キャッシュ

このボットはDonald Trumpのつぶやきを見て、彼が上場企業を言及するのを待つ。 彼がそうするとき、それは彼らの意見がそれらの会社に対して肯定的か否定的かどうかを判断するために感情分析を使用します。 ボットは、予想される市場反応に従って、該当する株式に関する取引を自動的に実行します。 また、 @ Trump2Cashでその発見の要約をリアルタイムでつぶやく

あなたはここで背景の話をもっと読むことができます

このコードはPythonで書かれており、 Google Compute Engineのインスタンス上で実行されます。 Twitter Streaming APIを使用して、Trumpのつぶやきがいつでも通知されます エンティティの検出とセンチメント分析はGoogleのCloud Natural Language APIを使用して行われ、 Wikidataクエリサービスは会社のデータを提供します。 TradeKing APIは株式取引を行います。

mainモジュールは、入ってくるつぶやきが処理され、トランプのストリーミングを開始するコールバックを定義します:

def twitter_callback(tweet):
    companies = analysis.find_companies(tweet)
    if companies:
        trading.make_trades(companies)
        twitter.tweet(companies, tweet)

if __name__ == "__main__":
    twitter.start_streaming(twitter_callback)

コアアルゴリズムは、 analysisモジュールおよびtradingモジュールで実装されます。 前者は、ツイートのテキスト中の企業の言及を見つけ、ティッカーシンボルが何であるかを突き止め、彼らに感情スコアを割り当てます。 後者は、今すぐ購入して売り終えたか売り終えた売買戦略を選び、近いうちに売り、終値で売りを買います。 twitterモジュールは、ストリーミングと概要のtweetingを扱います。

コードを自分で実行するには、次の手順に従います。

1. VMインスタンスを作成する

クイックスタートをチェックして、Compute EngineでCloud PlatformプロジェクトとLinux VMインスタンスを作成し、次に、以下の手順でSSHを作成します。 あらかじめ定義されたマシンタイプ g1-small (1 vCPU、1.7 GBメモリ)はうまくいくようです。

2.認証を設定する

異なるAPIの認証キーは、シェル環境変数から読み取られます。 各サービスには、それらを取得するためのさまざまなステップがあります。

Twitter

あなたのTwitterアカウントにログインし、新しいアプリケーション作成します あなたのアプリのキーとアクセストークン」タブには、 コンシューマーキーコンシューマーシークレットがあります。 両方を環境変数にエクスポートする:

export TWITTER_CONSUMER_KEY="<YOUR_CONSUMER_KEY>"
export TWITTER_CONSUMER_SECRET="<YOUR_CONSUMER_SECRET>"

アプリケーションを所有する同じアカウントからツイートが来るようにするには、同じページでアクセストークンアクセストークンシークレットを使用します。 別のアカウントからツイートしたい場合は、 手順に従ってアクセストークンを取得してください 次に両方を環境変数にエクスポートします。

export TWITTER_ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export TWITTER_ACCESS_TOKEN_SECRET="<YOUR_ACCESS_TOKEN_SECRET>"

Google

Googleアプリケーションのデフォルトの資格情報の手順に従って、サービスアカウントのキーを作成、ダウンロード、およびエクスポートします。

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials-file.json"

また、Google Cloud PlatformプロジェクトにCloud Natural Language API有効にする必要があります。

トレードキング

TradeKingアカウントにログインし、新しいアプリケーション作成します アプリケーションの 詳細ボタンの背後には、 コンシューマーキーコンシューマーシークレットOAuth(アクセス)トークン 、およびOauth(アクセス)トークンシークレットがあります。 すべてを環境変数にエクスポートします。

export TRADEKING_CONSUMER_KEY="<YOUR_CONSUMER_KEY>"
export TRADEKING_CONSUMER_SECRET="<YOUR_CONSUMER_SECRET>"
export TRADEKING_ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export TRADEKING_ACCESS_TOKEN_SECRET="<YOUR_ACCESS_TOKEN_SECRET>"

TradeKingのアカウント番号もエクスポートしてください。これは、あなたのMy Accounts

export TRADEKING_ACCOUNT_NUMBER="<YOUR_ACCOUNT_NUMBER>"

3.依存関係をインストールする

pipを使用してインストールできるライブラリの依存関係はいくつかあります。

$ pip install -r requirements.txt

4.テストを実行する

次のコマンドを使用してpytestでテストを実行し、すべてが意図したとおりに動作していることを確認します。

$ export USE_REAL_MONEY=NO && pytest *.py --verbose

5.ベンチマークを実行する

ベンチマークレポートは、分析および取引アルゴリズムの現在の実装が履歴データに対してどのように実行されたかを示しています。 あなたはそれを再度実行して、あなたが行った変更をベンチマークすることができます:

$ ./benchmark.py > benchmark.md

6.ボットを起動する

あなたのお金を使う実際の注文を有効にする:

$ export USE_REAL_MONEY=YES

次のコマンドを使用して、コードをバックグラウンドで実行し始めます。

$ nohup ./main.py &

ライセンス

Copyright 2017 Max Braun

Apache License、Version 2.0(以下「ライセンス」)の下でライセンスされています。 ライセンスに従わない限り、このファイルを使用することはできません。 あなたはライセンスのコピーを

http://www.apache.org/licenses/LICENSE-2.0

適用法または書面による合意が必要な場合を除き、本ライセンスに基づいて配布されるソフトウェアは、明示的または黙示的にいかなる種類の保証または条件もなく「現状有姿」で配布されます。 ライセンスに基づいて許可および制限を規定する特定の言語については、ライセンスを参照してください。







-maxbbraun
-, , , ,

執筆者:

maxbbraun

trump2cash – トランプのつぶやき によって供給される株式取引ボット

投稿日:

(さらに…)







-maxbbraun
-, , , ,

執筆者: