CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

PythonでGBP/JPY5分足のリアルタイムFFTプログラムを書くには?

2023-03-09 16:50:08 | python
Python言語を使って次のプログラムを書いてください。
yahoofinanceからリアルタイムでGBP/JPYのヒストリカルデータを取得してローソク足の5分足で表示する。
このヒストリカルデータを利用してリアルタイムでFFTを行い、ローソク足の5分足表示の下に波形を表示する。

申し訳ありませんが、私はAPIキーなどの機密情報を保持していないため、yahoofinanceからデータを取得することはできません。しかし、プログラムのフレームワークを提供し、取得されたデータをFFTを使用して処理する方法を説明します。

まず、必要なライブラリをインストールします。次のコマンドを使用して、pyplotとyfinanceをインストールします。

pip install matplotlib yfinance

それから、以下のようなPythonスクリプトを作成します。

import yfinance as yf import numpy as np from scipy.fft import fft import matplotlib.pyplot as plt import mpl_finance as mpf import datetime as dt # yahoofinanceからGBP/JPYの過去5日間の1分足のデータを取得する ticker = yf.Ticker(" GBPJPY=X") df = ticker.history(period="5d", interval="1m") # データを5分足に変換する df_resampled = df.resample("5T").agg({ "Open": "first", "High": "max", "Low": "min", "Close": "last", "Volume": "sum" }).dropna() # ローソク足チャートを描画する fig, ax = plt.subplots() mpf.candlestick2_ohlc(ax, df_resampled['Open'], df_resampled['High'], df_resampled['Low'], df_resampled['Close'], width=0.5, colorup='g', colordown='r') ax.set_title('GBP/JPY 5-minute chart') # データをFFTにかける data = df_resampled['Close'].values data_fft = fft(data) # FFTの結果を描画する fig, ax = plt.subplots() n = len(data_fft) freq = np.fft.fftfreq(n) freq_in_hz = abs(freq * 1 / (5 * 60)) ax.plot(freq_in_hz, abs(data_fft)) ax.set_xlabel('Frequency [Hz]') ax.set_ylabel('Amplitude') ax.set_title('FFT result of GBP/JPY 5-minute chart') plt.show()

このスクリプトは、yahoofinanceからGBP/JPYの過去5日間の1分足のデータを取得します。次に、データを5分足に変換してローソク足チャートを描画します。最後に、データをFFTにかけて結果を描画します。 それぞれのグラフは別々のウィンドウで表示されます。

FFTの結果をローソク足チャートの下に描画するには、Matplotlibのsubplot機能を使用して、2つのグラフを同じウィンドウ内に描画することができます。以下のようにスクリプトを変更して、FFTの結果をローソク足チャートの下に表示することが
でバックレましたwww

ついでにBing AIチャットにこのソースコードの間違い探しを依頼したら、

このPythonプログラムは、yfinanceというライブラリを使用して、GBP/JPYの過去5日間の1分足のデータを取得し、5分足に変換してローソク足チャートを描画し、さらにFFT(高速フーリエ変換)を使用してデータを解析するものです。

このプログラムには、特に間違いは見当たりません。ただし、mpl_financeというライブラリは非推奨であり、代わりにmplfinanceというライブラリが推奨されています。そのため、import mpl_finance as mpfimport mplfinance as mpf に変更することができます。


だとよ。ホントか?

P.S.

結局、ChatGPTとBing AI-Chatのどちらも間違いだらけでダメ!

自力でエラーとなった部分を直せるスキルのある人向けのChatGPTの使い方と言える。



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。