[PYTHON] FX-Datenerfassung mit der OANDA REST-API

Motivation

Bei der Erstellung eines automatischen Handelsbots für FX muss berücksichtigt werden, welche Strategie für den automatischen Handel verwendet werden soll. Und die Strategie muss dahingehend bewertet werden, wie gut sie ist. Dieser Artikel dient auch als Erinnerung daran, wie Sie FX-Daten mithilfe der OANDA REST-API erfassen, um die Leistung Ihrer Strategie zu überprüfen.

Wie macht man

1. OANDA-Registrierung

Die OANDA REST-API bezieht sich auf eine Gruppe von APIs, die von einem FX-Anbieter namens Oanda veröffentlicht wurden. Es gibt nur sehr wenige Unternehmen, die die FX-API veröffentlichen. Angesichts der Menge an Informationen im Internet ist es meiner Meinung nach besser, die OANDA REST-API für die FX-bezogene API zu verwenden. Um die API verwenden zu können, müssen Sie sich bei OANDA registrieren und einen API-Schlüssel erhalten. Sie können sich in ca. 5 Minuten über den unten stehenden Link registrieren

OANDA JAPAN

2. Installieren Sie oandapy V20

Registrieren Sie sich bei OANDA und erstellen Sie nach der Ausgabe des API-Schlüssels eine Umgebung, in der Sie die API aufrufen können. Es ist praktisch, den API-Schlüssel in einer separaten Datei abzulegen.


pip install oandapyV20

oanda_access_key.py


ACCOUNT_ID = "xxxxxxxxxxx"
PERSONAL_ACCESS_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

instruments_candles.py


from oandapyV20.endpoints.instruments import InstrumentsCandles
import oandapyV20
import oanda_access_key as oak

account_id = oak.ACCOUNT_ID
access_token = oak.PERSONAL_ACCESS_TOKEN

api = oandapyV20.API(access_token = access_token, environment = "practice")

3. Datenerfassung

Verwenden Sie Instrumentenkerzen, um historische Daten abzurufen. Offizielles Dokument Oandapy V20-Dokumentation In etwa handelt es sich um eine Stichprobe, die 15-Minuten-Daten erfasst und in den Datenrahmen ↓ eintaucht Danach können Sie frei kochen, indem Sie in die Datenbank eintauchen oder die Daten so verwenden, wie sie sind.


ic = InstrumentsCandles(
		instrument="USD_JPY", #Wählen Sie ein Währungspaar
		params={
			"granularity": "M15", #Wählen Sie die Art des Kerzenfußes
			"alignmentTimezone": "Japan", #Zeitzone
			# "count": 5000 #Anzahl der zu erfassenden Daten von-Wenn to angegeben ist, wird count nicht angegeben
			"from": start_datetime.strftime(datetime_format),
			"to": (start_datetime + relativedelta(days=date_window) - relativedelta(seconds=1)).strftime(datetime_format)
		}
	)
api.request(ic)
data = []
for candle in ic.response["candles"]:
	data.append(
		[
			candle['time'],
			candle['volume'],
			candle['mid']['o'],
			candle['mid']['h'],
			candle['mid']['l'],
			candle['mid']['c']
		]
	)
df = pd.DataFrame(data)

Recommended Posts

FX-Datenerfassung mit der OANDA REST-API
Abrufen von Salesforce-Daten mithilfe der REST-API
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Datenerfassung mit Python Googlemap API
Abrufen von Amazon-Daten mit Keep API # 1 Abrufen von Daten
Datenerfassungsnotiz mit der Backlog-API
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Bildersammlung mit der benutzerdefinierten Such-API von Google
Erstellen einer Google-Tabelle mit der Python / Google Data-API
Kenntnis der Verwendung der Aurora Severless Data API
SBI FX API
Erstellen wir eine REST-API mit SpringBoot + MongoDB
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
[Python] Abrufen von Insight-Daten mithilfe der Google My Business-API
Ich habe APN (Remote-Benachrichtigung) mithilfe der Parse.com-REST-API ausprobiert
Erstellen Sie mit GitHub Pages einen Pseudo-REST-API-Server
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Datenanalyse mit xarray
Datenbereinigung 2 Datenbereinigung mit DataFrame
Datenbereinigung mit Python
Ich habe versucht, Videos mit der Youtube Data API (Anfänger) zu suchen.
Erhalten Sie Daten mithilfe der API des Ministeriums für innere Angelegenheiten und Kommunikation
Zurücksetzen des Passworts über die API mit dem Django Rest Framework
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client