Python 株式投資

Pythonで株価のローソク足データを平均足に変換する方法【コード解説】

2022年10月8日

こんにちは。TATです。

今日のテーマは「Pythonで株価のローソク足データを平均足に変換する方法」です。

 

悩んでいる人

Pythonでローソク足データから平均足を計算したい

 

Pythonを使って、ローソク足から平均足を計算する方法について解説します。

平均足を使うと、ローソク足に比べて陽線あるいは陰線が連続して出現しやすくなるのでトレンドの把握がより分かりやすくなります。

 

必要なPythonコードも全て公開するのでご自由に使い回していただけたらと思います。

 

平均足とは?

まずは平均足について簡単に確認しておきましょう。

 

平均足の特徴

ローソク足に修正を加えた指標

平均足とは、ローソク足に修正を加えた指標です。

特にFXでは人気の指標でたくさんの方に利用されています。

 

トレンドが把握しやすい

平均足の1番の特徴は、トレンドの把握がしやすいということです。

陽線あるいは陰線が連続して出現しやすいため、トレンドの把握が容易になります。

 

平均足の見方

次に平均足の見方についてまとめます。

 

基本的には陽線なら上昇トレンド陰線なら下落トレンドとして捉えます。

また、トレンドの勢い転換のサインも見ることができます。

 

平均足の見方

  • トレンド
    • 陽線:上昇トレンド
    • 陰線:下落トレンド
  • 強いトレンド
    • 上ヒゲのある陽線:強い上昇トレンド
    • 下ヒゲのある陰線:強い下落トレンド
  • トレンドの鈍化・転換の兆し
    • 下ヒゲのある陽線:上昇トレンドの鈍化、トレンド転換の兆し
    • 上ヒゲのある陰線:下落トレンドの鈍化、トレンド転換の兆し

 

平均足の計算方法

次に平均足の計算方法です。

ローソク足データから計算することができます。

 

高値と安値については、ローソク足と同じものを使います。

変更が必要になるのは始値終値です。

 

平均足の計算方法

  • 始値:
    • 1日目:前日ローソク足の始値・高値・安値・終値の平均値
    • 2日目以降:前日平均足の始値と終値の平均値
  • 終値:当日ローソク足の始値・高値・安値・終値の平均値

 

終値は当日ローソク足の始値・高値・安値・終値の平均値になります。

始値は前日平均足の始値と終値の平均値となります。

この場合、1日目の計算ができないので、便宜的に1日目は前日ローソク足の始値・高値・安値・終値の平均値として計算されます。

 

Pythonでローソク足から平均足を計算する

それでは、平均足の特徴や計算方法がわかったところで、ここからはPythonを使ってローソク足から平均足を計算してみます。

 

まずは全コードをどうぞ

まずは必要なコードを全て公開してしまいます。

細かい解説は後から順番に行なっていきます。

 

ここでは例として2022年1月1日〜2022年6月30日までのトヨタ自動車(証券コード: 7203)の株価データを使用しています。

それではどうぞ!

 

分かりやすくするために、なるべく多くのコメントをつけました。

これで、ローソク足から平均足を計算することができます。

 

コードの解説

ここからコードの中身について順番に解説していきます。

 

株価データの取得

まずは株価データの取得です。

ここではpandas_datareaderを使って、トヨタ自動車の株価を取得しています。

 

参考記事【日本株対応】Pythonで株価データを取得する方法まとめ

参考
【日本株対応】Pythonで株価のローソク足データを取得する方法まとめ【CSV、ライブラリ、スクレイピング】

続きを見る

 

カラムの並び替え

次にカラムの並び替えを行っています。

 

これは後々チャートで表示する際に都合が良いためです。

始値、高値、安値、終値、出来高の順番に並び替えています。

 

平均足のデータを格納するためにdfをコピーしてdf_meanを定義

次に、平均足のデータを格納するための変数df_meanを定義します。

 

これはdfをコピーすればOKです。

高値と安値はそのまま利用するのでコピーしてしまったほうが後々楽になります。

 

平均足の終値を計算

次に平均足の終値の計算です。

これはローソク足の始値、高値、安値、終値の平均を計算すれば完了です。

 

mean(axis=1)とすれば、各行で平均を計算できます。

 

平均足の始値を計算

最後に平均足の始値を計算します。

ここが少し厄介なところです。

 

 

まず、1日目の値を計算するために、前日のローソク足の始値、高値、安値、終値の平均値を計算します。

shiftを使うと簡単に計算できます。

 

2日目以降の計算には、前日の平均足の始値と終値が必要になるので、forループで順番に計算しています。

1日目は前日データがないのでnp.nan として、2日目以降は前日のデータを使って計算します。

 

np.nanmeanを使うとnp.nanを除去して平均値を計算してくれるので、2日目の計算では始値は無視して終値の値がそのまま使われます。

最後に計算結果(price_open)を、df["Open"]に上書きしてあげれば完成です。

 

チャートで可視化してみる

平均足の計算ができたので、結果をチャートで確認してみましょう。

比較のためにローソク足と平均足を並べて表示してみます。

 

mplfinanceを使う

Pythonでローソク足チャートを描くためにはいくつかのライブラリが利用できます。

ここでは短いコードでローソク足チャートが描けるmplfinanceを使って可視化してみます。

 

 

上(OHLC)がローソク足、下(Mean)が平均足です。

mplfinanceでローソク足チャートを描くには、mplfinance.plotを使います。

 

この際、最初の引数にDataFrameを指定します。

このDataFrameにはindexをDateにして、カラムを左から順番に始値、高値、安値、終値の順番にしておく必要があります。

あらかじめカラムを並び替えておいたのはこのためです。

 

参考記事【コード解説】Pythonで株価チャートを描く【mplfinance編】

参考
Pythonのmplfinanceで株価のローソク足チャートを描く方法【コード解説】

続きを見る

 

平均足では陽線あるいは陰線が連続して出現しやすい

結果を比べると、平均足の方が陽線あるいは陰線が連続して出現しやすいことがわかります。

平均足を使えば、トレンドの把握が容易になり、この特徴を活かしてトレード戦略にも応用することができます。

 

 

まとめ

本記事では、「Pythonで株価のローソク足データを平均足に変換する方法」について解説しました。

 

平均足はローソク足データさえあれば簡単に計算することができます。

Pythonを使えば短いコードで変換できるので便利です。

 

平均足を使えばトレンドの把握が容易になり、さらにトレンドの強弱や転換のポイントも察知することができるようになるので、使いこなせるとトレードの武器になります。

是非とも、本記事でご紹介したコードを使ってみてください。

 

ここまで読んでくださり、ありがとうございました。

 

Pythonおすすめ学習法

Udemy

Udemyの特徴

  • 高品質の動画教材がリーズナブルに購入できる
  • セール中なら定価の90%オフなどの価格破壊が起こる
  • 講師に直接掲示板から質問ができ、疑問を解消しながらスムーズに学習できる
  • 動画はダウンロード可能で、隙間時間に効率的に学習できる
  •  30日間の返金保証、一度購入すれば視聴期限なく受講可能

\30日返金保証/

Udemy 公式サイトへ

セール中なら90%オフとかで購入可能です!

キカガク

キカガクの特徴

  • Pythonだけでなく、数学の基礎から、環境構築、AIアプリケーション開発まで一気通貫で学べる
  • 自走できるAI・DX人材を育成
  • オンデマンドの講義 + プロの講師に質問し放題、定期的なメンタリング付き
  • 今後増える動画コンテンツを含め、全ての動画コンテンツが一生見放題
  • 専門実践教育訓練給付金制度を利用すると最大で受講料の70%が還元される

\Pythonだけでなく、機械学習やAIの基礎から学べる/

キカガクを詳しく見る

企業の研修材料にも採用される実績と信頼のあるスクールです!

データミックス

データミックスの特徴

  • データサイエンティストが開発・監修した体系的かつ実践的に学べるカリキュラム
  • 「スキル」のみでなく、データサイエンスの本質である「理論」や「思考」が学べる
  • エンジニアに限らず、多様なキャリアを形成・構築できる
  • オンラインチャットツールによる質問対応やコミュニティなどの充実したフォロー体制
  • 専門実践教育訓練給付金の対象講座で授業料の最大70%還付

\データサイエンスとビジネスが学べる/

データミックス(datamix)を詳しく見る!

エンジニア転職だけでなく起業やフリーランスなど多様なキャリア形成・構築に繋がる

「Python」×「株式投資」

Pythonで株式データを扱う記事はこちらでまとめています。

収集・管理しているデータの販売もしています。

Pythonで株価データを扱う方法まとめ【データの取得・分析・可視化等、なんでもできます】

オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータを販売します!


-Python, 株式投資
-, , ,

© 2022 気ままなブログ