Geben Sie den von der Oanda REST API in Python erhaltenen Wechselkurs in MongoDB ein

Hinweis. Beide verwenden das JSON-Format und sind daher sehr kompatibel.

Umgebung

Von hier vorerst. Auslassen der Umgebungskonstruktion von Python

Installieren Sie MongoDB unter Windows

Vergessen Sie nicht, den Behälter in Ihren PFAD zu legen. (Ich habe vergessen) http://qiita.com/yoh-nak/items/f0c429f10347ae7ec98b http://qiita.com/t-koyama/items/9b8804cbec59b3c93eb0

Installieren Sie Pymongo

pip install pymongo

Installieren Sie oandapy (Python-Wrapper für die oanda REST-API)

pip install oandapy

Anleitung

MongoDB Primer

http://qiita.com/saba1024/items/f2ad56f2a3ba7aaf8521 http://www.cuspy.org/diary/2012-04-17/the-little-mongodb-book-ja.pdf

Verwendung der Oanda API

http://developer.oanda.com/docs/jp/ Übrigens habe ich nicht versucht, die Sandbox-Umgebung zu verwenden, daher empfehle ich, die fxTrade Practice-Umgebung von Anfang an zu verwenden.

Wie man Pymongo benutzt

http://api.mongodb.com/python/

Wie man Oandapy verwendet

https://github.com/oanda/oandapy

Codebeispiel

Schlagen Sie die API mit Oandapy

import oandapy

oanda = oandapy.API(environment="practice", access_token="your_token")
response = oanda.get_history(instrument="EUR_USD",granularity="D",count=500)
EUR_USD_D = response.get("candles")

Allein damit können Sie die täglichen Euro-Dollar-Daten (500 Schritte) überwinden. Sie können auch Start und Ende angeben.

Daten in MongoDB einfügen

from pymongo import MongoClient

client = MongoClient('localhost',27017)
db = client.ex_rate
collection = db.eur_usd_d
collection.insert_many(d for d in EUR_USD_D)

Allein damit können die oben im JSON-Format erfassten täglichen Daten (500 Schritte) in der Sammlung (Tabelle) [eur_usd_d] der MongoDB-Datenbank [ex_rate] gespeichert werden. Selbst wenn der Inhalt von MongoDB leer ist, erstellen sie Datenbanken und Sammlungen ohne Erlaubnis.

Holen Sie sich eine Liste der verfügbaren Aktien

import oandapy
import pandas as pd

oanda = oandapy.API(environment="practice", access_token="your_token")

Geben Sie die Konto-ID in #account_id ein (nicht die ID bei der Anmeldung). response = oanda.get_instruments(account_id="xxxxxxx") insts = response.get("instruments") #In Pandas für eine einfache Anzeige df = pd.DataFrame(list(insts)) df.head()

↓ Ausgabe

displayName	instrument	maxTradeUnits	pip
0	AUD/CAD	AUD_CAD	10000000	0.0001
1	AUD/CHF	AUD_CHF	10000000	0.0001
2	AUD/HKD	AUD_HKD	10000000	0.0001
3	AUD/JPY	AUD_JPY	10000000	0.01
4	AUD/NZD	AUD_NZD	10000000	0.0001

Wenn Sie Daten von 5000 Schritten oder mehr erhalten möchten

Sie können es kontinuierlich abrufen, auch wenn die Anzahl, die Sie erhalten möchten, die Obergrenze von 5000 durch das folgende Verfahren überschreitet. Es kann einen klügeren Weg geben.

Holen Sie sich die Zeit der ersten Daten und konvertieren Sie das RFC3339-Format in das Python-Datetime-Format

dtime = dt.datetime.strptime(EUR_USD_H1[0]['time'],'%Y-%m-%dT%H:%M:%S.%fZ')

#Konvertieren Sie erneut in das RFC3339-Format rfc_endtime = dtime.isoformat('T')

response2 = oanda.get_history(instrument="EUR_USD",granularity="D",end=rfc_endtime,count=2)
EUR_USD_H2 = response2.get("candles")

for d in EUR_USD_H2:
    print(d)
for d in EUR_USD_H1:
    print(d)

↓ Ausgabe

{'time': '2017-08-28T21:00:00.000000Z', 'openBid': 1.19762, 'openAsk': 1.19787, 'highBid': 1.20698, 'highAsk': 1.20712, 'lowBid': 1.19451, 'lowAsk': 1.19471, 'closeBid': 1.19709, 'closeAsk': 1.19728, 'volume': 73642, 'complete': True}
{'time': '2017-08-29T21:00:00.000000Z', 'openBid': 1.19697, 'openAsk': 1.19731, 'highBid': 1.19839, 'highAsk': 1.19853, 'lowBid': 1.18803, 'lowAsk': 1.18821, 'closeBid': 1.18828, 'closeAsk': 1.18856, 'volume': 56980, 'complete': True}
{'time': '2017-08-30T21:00:00.000000Z', 'openBid': 1.18827, 'openAsk': 1.18857, 'highBid': 1.19119, 'highAsk': 1.19139, 'lowBid': 1.18225, 'lowAsk': 1.18238, 'closeBid': 1.19079, 'closeAsk': 1.19102, 'volume': 59987, 'complete': True}
{'time': '2017-08-31T21:00:00.000000Z', 'openBid': 1.19078, 'openAsk': 1.19103, 'highBid': 1.19794, 'highAsk': 1.19807, 'lowBid': 1.18485, 'lowAsk': 1.18508, 'closeBid': 1.18572, 'closeAsk': 1.18625, 'volume': 76954, 'complete': True}

Recommended Posts

Geben Sie den von der Oanda REST API in Python erhaltenen Wechselkurs in MongoDB ein
Abrufen der arXiv-API in Python
Klicken Sie in Python auf die Sesami-API
Klicken Sie auf die Web-API in Python
Verwenden Sie die Flickr-API von Python
Implementieren Sie die REST-API schnell in Python
Greifen Sie mit Python auf die Twitter-API zu
Erhalten Sie Wechselkurse von offenen Wechselkursen in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Tweet mit der Twitter-API in Python
MongoDB mit Python zum ersten Mal
Berühren Sie die Beispiel-v20-Python-Beispiele der OANDA v20-REST-API-Wrapper-Bibliothek für Python
Fügen Sie in Python gekratzten Text in eine Google-Tabelle ein
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Tipps zum Erreichen der ATND-API mit Python
[WP REST API v2] Laden Sie Bilder mit Python hoch
Klicken Sie in Python auf die Firebase Dynamic Links API
Versuchen Sie, direkt von Python 3 aus auf die YQL-API zuzugreifen
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
Importieren Sie den von "Schedule-kun" erhaltenen Zeitplan in Google Kalender
Python-Anfänger haben versucht, die REST-API an einem Tag zu implementieren
Betreiben Sie mongoDB von Python in einer Ubuntu-Umgebung. ① Einführung von mongoDB
Übersetzen von Visual Studio 2017 nach Python (Microsoft Translator Text API)
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Grundeinstellungen bei Verwendung der foursquare-API mit Python
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Suchen Sie den Teil 575 aus Wikipedia in Python
Treffen Sie Watsons REST-API von Python mit IBM Bluemix
Verwenden Sie die Such-API der National Parliament Library in Python
Setzen Sie Ubuntu in Raspi ein, setzen Sie Docker darauf und steuern Sie GPIO mit Python aus dem Container
C-API in Python 3
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Die erste API, die mit dem Python Djnago REST-Framework erstellt wurde
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Bearbeiten Sie die Zwischenablage in Python und fügen Sie die Tabelle in Excel ein
Drücken Sie in Python auf REST, um Daten von New Relic abzurufen
Generierung von Spezifikationen und Code in der REST-API-Entwicklung (Python Edition)