[PYTHON]

Übersicht Letztes Mal hat versucht, die FX-Daten von dieser Site in Python anzuzeigen. Ich habe die Daten 1 Minute lang verwendet, aber manchmal wollte ich sie in eine beliebige Minute konvertieren, damit ich den Implementierungscode belasse. Umgebung Wie beim letzten Mal. 1-minütige Datenanzeige

Diagrammanzeige von HISTDATA_COM_ASCII_EURJPY_M1_201911.zip von dieser Site Machen. Führen Sie nach dem Herunterladen der Daten die folgenden Schritte aus.

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()

Es wird wie folgt angezeigt. newplot (2).png

Konvertieren Sie von 1 Minute auf 5 Minuten

Sie können es mit dem folgenden Resample in 5 Minuten konvertieren. Wenn Sie die Rate auf 10T, 1H usw. ändern, können Sie sie in ein beliebiges Bein umwandeln.

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()

5-minütige Datenanzeige

Bitte machen Sie folgendes:

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()

Es wird wie folgt angezeigt. newplot (3).png

Ich verstehe den Unterschied zwischen 1 Minute und 5 Minuten nicht wirklich, also vergleichen wir die Länge und den Anfang. 1 Minute ist ...

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 Minuten ...

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
'''

Es ist ungefähr ein Fünftel der Größe und die Kerbe ist auch fünf Minuten. Ist es nicht gut

das ist alles!

Recommended Posts