AIお助けボックスAIお助けボックスAIで楽しいこと、便利なことを何でもするサイト。最後に初めにイムちゃん今回は、FXチャートをPythonで作成する方法を紹介するね。x今回は、FXチャートをPythonで作成する方法を紹介します。FXの予想をAIで試してみようと思い試行錯誤する中で、学習データとしてFXチャートをPythonで作成してみました。FXチャートとはFXチャートとは、外国為替市場(FX市場)における通貨ペアの価格変動をグラフで可視化したものです。トレーダーは、FXチャートを使って、市場のトレンド、価格の変動パターン、買いシグナルや売りシグナルを分析し、取引戦略を立てます。FXチャートの種類FXチャートには用途に応じて様々なものがあります。ローソク足の形で表示します。過去の価格データを線で結んで表示します。価格の変動を棒グラフで表示します。今回作成したチャート今回は、以下の3種類のチャートを作成しました。ローソク足チャートサポートライン/抵抗線付きの折れ線チャートサポートライン/抵抗線付きのローソク足チャート抵抗線とは抵抗線とは、FXチャート分析において、価格が上昇しづらく、反転しやすい価格帯を示す水平線のことです。抵抗線は、過去の高値圏で形成され、価格がそのレベルを超えることを阻害する役割を果たします。価格が抵抗線に近づくと、買い手が弱気になり、売り手が優勢になりやすい傾向があります。そのため、抵抗線は価格が反転する可能性を示す重要なシグナルになります。サポートラインとはサポートラインとは、FXチャート分析において、価格が下がりづらく、反転しやすい価格帯を示す水平線のことです。サポートラインは、過去の安値圏で形成され、価格がそのレベルを下回ることを支える役割を果たします。価格がサポートラインに近づくと、売り手が弱気になり、買い手が優勢になりやすい傾向があります。そのため、サポートラインは価格が反転する可能性を示す重要なシグナルになります。為替データはGMOクリック証券よりダウンロードしました。GMOクリック証券は会員なら無料で1分足の為替データをダウンロードできます。為替データはGMOクリック証券以外の証券会社でも提供していますので、ご自身が利用されている証券会社などから入手して下さい。以下の形式のデータであれば、どこから入手して頂いても問題ありません。実際のデータ今回用意したデータはこちらになります。USDJPY_20240701.csvFXチャート作成pythonプログラムFXチャート作成pythonプログラムは以下になります。データ準備(3分足データの取得)デイトレードの場合、3分足が良いらしいので、1分足のCSV為替データを読み込み、3分足に加工しています。dfpandasとはpandasとは、Pythonでデータ分析を行うための強力なライブラリです。データ分析に必要な機能を幅広く提供しています。pandasは、2次元のデータをDataFrameという構造に格納し、簡単に高速な集計処理などが行えます。上記ソースの出力結果は以下になります。今回用意した為替レートのCSVファイルは1日分あります。1日分のレコードを全部一つの3分足にしたら、横に物凄く長いグラフになってしまい分析に使えませんので、適切な範囲に分割します。120分)として、開始時刻を30分ごとずらして複数のチャートを作成しました。ロウソク足チャートの作成ソースmplfinanceライブラリでロウソク足チャートを作成します。ライブラリを実行するだけなので簡単です。plt.close(fig)mplfinanceとはmplfinanceは、matplotlibをベースにした、金融データの可視化に特化したPythonライブラリです。matplotlibの機能を活用し、ローソク足チャート、OHLCチャート、ボリュームチャートなど、金融データ分析でよく使われるチャートを簡単に作成することができます。チャートの色、線の太さ、スタイル、チャートの背景色など、様々な要素を容易にカスタマイズできます。mplfinanceはmatplotlibのpyplotモジュールを使ってチャートを描画するため、matplotlibの機能を使って、チャートをさらにカスタマイズできます。matplotlibとはmatplotlibは、Pythonでグラフや図を作成するための強力なライブラリです。データの可視化に広く使われており、折れ線グラフ、散布図、ヒストグラム、棒グラフ、円グラフ、3Dグラフなど、様々な種類のグラフを作成できます。抵抗線付きの折れ線グラフを作成ソース抵抗線付きの折れ線グラフはtrendlnライブラリで簡単に作成出来ます。ライブラリを実行するだけなので簡単です。plt.close(fig)trendlnとはtrendlnは、Pythonのライブラリで、金融データのチャートにトレンドライン(トレンドライン、サポートライン、レジスタンスライン)を自動で描画する機能を提供します。trendlnはmatplotlibのpyplotモジュールを使ってチャートを描画するため、matplotlibの機能を使って、チャートをさらにカスタマイズできます。抵抗線付きのロウソク足チャートの作成ソース抵抗線付きのロウソク足チャートを作成出来るライブラリは無いので、強引に作成しました。具体的には前述のロウソク足チャートのグラフと、抵抗線付きの折れ線グラフをPILライブラリで合成しました。os.remove(chat2_name)ソースの説明mplfinanceとtrendlnはどちらもpyplotモジュールを使っているので、チャートの合成が可能なはずなのですが、なかなかうまくいかず、画像の重ね合わせで合成しちゃいました(;^_^A具体的にはロウソク足チャートの画像はmplfinanceで普通に生成し、抵抗線/サポートラインはtrendlnで生成したグラフから抵抗線/サポートライン以外のオブジェクトを除去し透過画像にし、ロウソク足チャートの上に重ね合わせました。ずれていますが、分析する上では問題無い範囲のチャートが作れたと思います。生成されたチャート一式ロウソク足チャート抵抗線/サポートライン付きの折れ線チャート抵抗線/サポートライン付きのロウソク足チャート最後に本記事は、Pythonを用いたFXチャート作成の技術的な解説を目的としており、投資を推奨するものではありません。FX取引は価格変動のリスクを伴うため、投資の最終決定は、ご自身の判断と責任で行ってください。Pythonライブラリで無限の可能性!プロフィールプロフィール84(ばっしーぃ⤴)システムエンジニア歴20年の二児の父。世間の荒波にもまれ生きてきて、AIで人手不足の分野が改善することを切に願っています。