Convertissez des données FX 1 minute en données 5 minutes avec Python

Aperçu

La dernière fois a essayé d'afficher les données FX de ce site en Python. J'ai utilisé les données pendant 1 minute, mais parfois je voulais les convertir en une minute, je laisse donc le code d'implémentation.

environnement

Le meme que la derniere fois.

Affichage des données en 1 minute

Affichage graphique de HISTDATA_COM_ASCII_EURJPY_M1_201911.zip de ce site Faire. Après avoir téléchargé les données, exécutez ce qui suit.

import plotly.graph_objects as go

import pandas as pd
from datetime import datetime

df_one = df["2019-11-18": "2019-11-20"]

df_show = df_one

fig = go.Figure(data=[
    go.Candlestick(
        x=df_show.index,
        open=df_show.Open,
        high=df_show.High,
        low=df_show.Low,
        close=df_one.Close
    )
])

fig.show()

Il sera affiché comme suit. newplot (2).png

Convertir de 1 minute en 5 minutes

Vous pouvez le convertir en 5 minutes en utilisant le rééchantillonnage ci-dessous. Si vous modifiez le taux à 10T, 1H, etc., vous pouvez le convertir en n'importe quelle jambe.

df_five = pd.DataFrame()
rule = "5T"
df_five["Open"] = df_one["Open"].resample(rule).first()
df_five["Close"] = df_one["Close"].resample(rule).last()
df_five["High"] = df_one["High"].resample(rule).max()
df_five["Low"] = df_one["Low"].resample(rule).min()

Affichage des données en 5 minutes

Veuillez faire ce qui suit:

df_show = df_five

fig = go.Figure(data=[
    go.Candlestick(
        x=df_show.index,
        open=df_show.Open,
        high=df_show.High,
        low=df_show.Low,
        close=df_show.Close
    )
])

fig.show()

Il sera affiché comme suit. newplot (3).png

Je ne comprends pas vraiment la différence entre 1 minute et 5 minutes, alors comparons la durée et le début. 1 minute c'est ...

print(df_one.shape)
print(df_one.head())

'''
output: 
(4319, 5)
                        Open     High      Low    Close  Volume
datetime                                                       
2019-11-18 00:00:00  120.360  120.371  120.360  120.368       0
2019-11-18 00:01:00  120.368  120.372  120.360  120.360       0
2019-11-18 00:02:00  120.361  120.362  120.360  120.360       0
2019-11-18 00:03:00  120.360  120.376  120.360  120.376       0
2019-11-18 00:04:00  120.377  120.380  120.374  120.376       0
'''

5 minutes ...

print(df_five.shape)
print(df_five.head())

'''
output:
(864, 4)
                        Open    Close     High      Low
datetime                                               
2019-11-18 00:00:00  120.360  120.376  120.380  120.360
2019-11-18 00:05:00  120.376  120.382  120.387  120.369
2019-11-18 00:10:00  120.381  120.361  120.381  120.352
2019-11-18 00:15:00  120.361  120.354  120.365  120.341
2019-11-18 00:20:00  120.354  120.349  120.354  120.341
'''

C'est environ un cinquième de la taille, et l'encoche est également de cinq minutes. N'est-ce pas bon?

c'est tout!

Recommended Posts

Convertissez des données FX 1 minute en données 5 minutes avec Python
Convertir des données Excel en JSON avec python
Convertir la liste en DataFrame avec python
Convertir un mémo à la fois avec Python 2to3
Convertir Hiragana en Romaji avec Python (bêta)
Convertir des nombres chinois en nombres arabes avec Python
Exemple de conversion en ondelettes d'images en Python
Analyse de données avec python 2
Convertir 202003 en 2020-03 avec les pandas
Analyse de données avec Python
Convertissez les données avec la forme (nombre de données, 1) en (nombre de données,) avec numpy.
Convertir un PDF en image (JPEG / PNG) avec Python
Convertissez des PDF en images en masse avec Python
Convertir un fichier svg en png / ico avec Python
Convertir les valeurs d'époque Windows à ce jour avec python
J'ai essayé d'obtenir des données CloudWatch avec Python
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
Convertir une chaîne au format de liste caractère par caractère avec python
Exemple de données créées avec python
Connectez-vous à BigQuery avec Python
[python] Convertir la date en chaîne
Convertir numpy int64 en python int
Connectez-vous à Wikipedia avec Python
Obtenez des données Youtube avec python
Convertir les données csv, tsv en une matrice avec MovieLens en utilisant python comme exemple
Comment convertir des données détenues horizontalement en données détenues verticalement avec des pandas
Publiez sur Slack avec Python 3
Convertissez l'image au format .zip en PDF avec Python
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Convertir le projet Scratch en Python
[Python] Convertir Shift_JIS en UTF-8
Backtesting FX Systre avec Python (2)
Mémorandum PyInstaller Convertit Python [.py] en [.exe] avec 2 lignes
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Convertir le code python 3.x en python 2.x
Lire des données json avec python
Je veux pouvoir analyser des données avec Python (partie 3)
J'ai essayé de créer diverses "données factices" avec Python faker
20200329_Introduction à l'analyse de données avec Python 2nd Edition Personal Summary
Je veux pouvoir analyser des données avec Python (partie 4)
Convertir des images en sépia avec PIL (Python Imaging Library)
Je veux pouvoir analyser des données avec Python (partie 2)
Convertir une vidéo en noir et blanc avec ffmpeg + python + opencv
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Convertir .ipynb en .html (avec BatchFile)
[Python] Comment FFT des données mp3
Python: comment utiliser async avec
Lien pour commencer avec python
Convertir Markdown en PDF en Python
[Python] Ecrire dans un fichier csv avec Python
Ravi de vous rencontrer avec python
Essayez d'exploiter Facebook avec Python
Sortie vers un fichier csv avec Python
Comment gérer les données déséquilibrées
[Python] Obtenez des données économiques avec DataReader