シストレ

OANDA シストレ(oandapyV20) の始め方 【導入編】

投稿日:2020年10月25日 更新日:

OANDAを Cloud9 (AWS) + OandapyV20 (Python) 環境で始めるための、クイックスタート記事です。

OANDA シストレ(oandapyV20) の始め方 記事一覧

前提条件

  • OANDA口座 (プロコース) は開設済み
  • Pythonの基礎知識あり

もくじ

  • Cloud9を導入する
  • Cloud9の環境を整える
  • OANDAのAPIキーを入手する
  • Cloud9でAPIを動かしてみる

Cloud9を導入する

IDE (統合開発環境) として、Cloud9というものを準備します。Cloud9はその名の通りクラウドベースなので、①どこからでも同じ環境が再現でき、②端末ごとに環境を準備しなおす必要がないのでオススメです。

利用については750時間の利用分、無料利用が可能です (これ以降は利用方法にもよりますが、数千円/月程度かかる感覚です)。

AWS (Amazaon Web Service) のアカウントが必要なので、ここから作成してください (通販のAmazonとメールアドレスは共用できるものの、別にアカウントを作る必要があります)。

下記の画面に、必要情報を入力してください。

パーソナルを選択し、他の情報も入力します。なぜか半角英数しか受け付けないので、ローマ字入力です。変な話、細かいところはあまり見られません。

クレジットカードの情報を入力します。記載の通り1USD (= 100円ほど) の課金が発生しますが、カードが有効であることが確認できると差し戻されます。

指示に従って、本人確認をします。

ベーシックプラン (無料) を選択します。

「コンソールにサインイン」を選択します。

ルートユーザーを選択し、先程の登録で利用したEメールアドレスとパスワードを入力して、次へ進みます。

cloud9を検索、選択します。

「Create environment」をクリックします。突然の英語ですが、冷静に。

適当な名前をName欄に入れて、「Next step」をクリックします。

何も触らず、「Next step」をクリックします。

「Create environment」をクリックします。

これでCloud9の準備は完了です。設定が終わるまで、少し待ちます。

以後、AWS→アカウント→AWSマネジメントコンソール→サインイン&Cloud9を検索、とアクセスすることで、Cloud9でプログラムができます。

※課金について
750時間の無料枠利用後は、基本的にAWSの請求情報ページを逐次確認しながら、Cloud9を利用していくしかないと考えています。こちらのページも、参考にしてみてください。

※セキュリティについて
AWSの利用に際して、①権限の少ないユーザーアカウントを別途作成し、②2段階認証を利用することが推奨されています。「IAMユーザ」というキーワードで調べてみてください。

Cloud9の環境を整える

Cloud9の環境に、Oandaへ接続するために必要なパッケージをインストールします。画面下部の”ec2-user:~/environment $”のところで、下記のコマンドを入力してください。

ec2-user:~/environment $ python3 -m pip install --upgrade pip
ec2-user:~/environment $ python3 -m pip install oandapyV20 --user 
ec2-user:~/environment $ python3 -m pip install requests --user
ec2-user:~/environment $ python3 -m pip install six --user

また後で戻ってくるので、このCloud9のページをお気に入りに登録しておいてください。

OANDAのAPIキーを入手する

OANDAでシストレをするとき、プログラムから自分の口座情報等に接続する必要があります。ここで必要になるID/パスワードのことを、APIキーだと思ってください。

(OANDA口座に、一時的にでも25万円以上を入れておいてください。25万円未満だと、API発行時に「口座残高が25万円未満の方はご利用頂けません」とアナウンスされてしまいます)

OANDAに接続します。

画面を少し下り、ログインをクリックします。その後、普通にログインしてください。

画面少し下側にある「口座情報」内の、Account IDをメモします (後で使います)。

メニュー→API→APIアクセスの管理、と進みます。

REST APIの管理、をクリックします。

発行する、をクリックします。

表示されるPersonal Access Tokenを、メモします (後で使います)。

Cloud9でAPIを動かしてみる

Welcomeのタブを閉じてしまいましょう。いりません。

画面左側のフォルダのところで、右クリック→New Fileをクリックします。「test.py」という名前でも付けてください。

その後、test.pyをダブルクリックすると、test.pyの編集画面が開きます。

test.pyに、下記をコピペします (Account IDとPersonal Access Tokenは、自分でメモったものに差し替えてください)。

from oandapyV20 import API
import oandapyV20.endpoints.trades as trades
import json

accountID = 'メモった Account ID'
access_token = 'メモった Personal Access Token'
api = API(access_token=access_token, environment='live')
# デモ環境利用の場合は、上記'live'を'practice'に差し替え

r = trades.TradesList(accountID)
print("REQUEST:{}".format(r))
rv = api.request(r)
print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))

その後、画面中央上部の”Run”をクリックします。画面下部に新しいタブが開き、ERROR以外の結果が返ってきていたら成功です。

30分待っていれば勝手に電源が落ちるのであまり気にする必要はないと思いますが、気になる方は下記のコマンドで電源を強制的に落としてください (コマンドを入れた後は、該当タブを速やかに閉じてください)。

ec2-user:~/environment $ sudo poweroff

お疲れ様でした。「OANDA シストレの始め方 【環境編】」はこれで終了です。次回の記事では、もう少し実用的なところにまで、踏み込んでいきます。



-シストレ
-, , , ,

執筆者:


  1. […] 過去記事も参照しつつAWSのアカウントを作り、S3の画面に入ってください。開いた後に「Create bucket」をクリックします。 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



関連記事

no image

OANDA シストレ(oandapyV20) の始め方 【関数編3】

OANDAで、シストレ/APIを利用する際にお世話になる関数の紹介です。 OANDA シストレ(oandapyV20) の始め方 記事一覧 導入編関数編1関数編2関数編3 ←本記事Pandas編(作成 …

no image

OANDA シストレ(oandapyV20) の始め方 【関数編1】

OANDAで、シストレ/APIを利用する際にお世話になる関数の紹介です。情報は、基本的に公式ドキュメント (英語) から引っ張ってきています。 OANDA シストレ(oandapyV20) の始め方 …

no image

OANDA シストレ(oandapyV20) の始め方 【Pandas編】

OANDAで、シストレ/APIを利用する際にお世話になるPandasの紹介です。 OANDA シストレ(oandapyV20) の始め方 記事一覧 導入編関数編1関数編2関数編3Pandas編 ←本記 …

OANDA シストレ(oandapyV20) の始め方 【BOT編】

OANDA (oandapyV20)で、ゴールデンクロスで買い、デッドクロスで売るBOTを作ってみます。 下記の要素は、プログラム中で指定できるようにします。 単位期間 (年月日等)移動平均を取る期間 …

no image

OANDA シストレ(oandapyV20) の始め方 【関数編2】

OANDAで、シストレ/APIを利用する際にお世話になる関数の紹介です。情報は、基本的に公式ドキュメント (英語) から引っ張ってきています。 OANDA シストレ(oandapyV20) の始め方 …

プロフィール

タクマ
−−−−−−−−

東南アジア(ミャンマー&フィリピン)でNW系システムインテグレーターとして6年ほど駐在していました。本を1000冊以上読んだり、プログラミングをしていたりします。嫁さんはタイ人です。
ーー
Twitterまとめのまとめ
YouTube Find!
SNS Trends

−−−−−−−−