Engineerの研鑽

メインはプログラミング系ブログ(本の要約とかもします)

質問はCONTACTやコメントでお願い致します。

【コピペでできるpython】リアルタイムで為替レートを取得してみよう

f:id:yukiyukiponsu:20190518211340j:plain

こんにちは、ゆきぽんずです。

 

今日は以下のサイトを参考にpythonのoanda apiを使ってリアルタイムの為替レートを取っていきます

 

①oanda apiを使うためにすること : https://mathokapro.com/2018/10/25/post-265/

②oanda apiを使って為替レートを取得 : https://qiita.com/THERE2/items/f716565c884e7750c6c1

 

それでは早速やっていきます。

まずは、oandaでデモ口座を開きます。これは①のサイトが詳しく説明してくれているので割愛します。

 

次に、oanda apiをpipコマンドでインストールしてください。
pip install oandapyV20

 

インストールが完了したら以下のようなコードを作成してください。

#oandaAPI
import json
from oandapyV20 import API
from oandapyV20.endpoints.pricing import PricingInfo
from oandapyV20.exceptions import V20Error

#為替レートをリアルタイムに取得するAPI
accountID = "{自分が取得したID}"
accessToken = "{自分が取得したToken}"
api = API(access_token=accessToken, environment="practice")
params = { "instruments": "USD_JPY" }
pricing_info = PricingInfo(accountID=accountID, params=params)
try:
    api.request(pricing_info)
    response = pricing_info.response
    print(json.dumps(response, indent=4))  # 出力値を見やすく整形
except V20Error as e:
    print("Error: {}".format(e))

こちらのコードを実行してあげると以下のような結果が得られます!

{
    "time": "2020-03-04T12:04:07.294553353Z",
    "prices": [
        {
            "type": "PRICE",
            "time": "2020-03-04T12:04:05.950248199Z",
            "bids": [
                {
                    "price": "107.481",
                    "liquidity": 250000
                }
            ],
            "asks": [
                {
                    "price": "107.485",
                    "liquidity": 250000
                }
            ],
            "closeoutBid": "107.477",
            "closeoutAsk": "107.489",
            "status": "tradeable",
            "tradeable": true,
            "unitsAvailable": {
                "default": {
                    "long": "250000",
                    "short": "250000"
                },
                "openOnly": {
                    "long": "250000",
                    "short": "250000"
                },
                "reduceFirst": {
                    "long": "250000",
                    "short": "250000"
                },
                "reduceOnly": {
                    "long": "0",
                    "short": "0"
                }
            },
            "quoteHomeConversionFactors": {
                "positiveUnits": "1.00000000",
                "negativeUnits": "1.00000000"
            },
            "instrument": "USD_JPY"
        }
    ]
}

 

このように簡単に為替レートをリアルタイムでとることが出来ます。ただ自分はいいサイトに巡りあえずネットの波に飲まれていました。

 

色々躓いた結果、シンプルなコード、方法でリアルタイムの為替レートをとることが出来るようになりました。

 

いやーほんとうに大変でした。皆さんが私のサイトを参考にしてつまづくことなく、リアルタイムの為替レートが取得できるようになれば幸いです。

 

今日もブログを読んでくださりありがとうございます。

 

またいつか( ´∀`)bグッ!