見出し画像

【株分析プログラミング入門!】Pythonでのローソクチャートの作り方

はじめに

株の分析は簡単なものであればエクセルで、少し手の込んだことをやりたければ解析ツールを利用すればある程度のことはできますが、

「こんな分析ができればいいのに…!!」などツールの制約に縛られない自由な発想で株を分析したいときには、自分の手でプログラミングするのが一番です。

今回は、すごくベーシックな例として、「ある特定の期間の株価の動きを見てみたい!」というニーズに対して、pythonを使ったコードを公開します。

題材としては、下記のページに掲載した四季報プロ500 2022年新春号のお宝銘柄として掲載された8銘柄の特定期間のチャートの作り方を扱います。
※上場廃止となった近鉄エクスプレスは除く。

今回紹介するコードを使えば、なんと全部で15行でできてしまいます。

15行だとプログラミング初心者やプログラミングに触れたことのない方でも何をしているかなんとなく想像しながら読み進めていけると思いますし、

初心者でも使いやすいJupyter notebookを使用する想定で解説を交えながら書いていこうと思いますので楽しみにしていてください!

pythonである銘柄の特定期間のローソク足チャートを描画する

まずは全体像から。htmlファイルをダウンロードしていただき、ブラウザで開いていただくと、全体像が見えます。

続いて、プログラミングの各ブロックの解説です。

[1] : 

import pandas as pd
from pandas_datareader.stooq import StooqDailyReader
from datetime import datetime as dt
import matplotlib.pyplot as plt
import mplfinance

必要なライブラリのインポートです。
各種ライブラリがなくてエラーが出た場合はインストールしてください。

[2] :

#分析期間の設定
start = dt(2021, 11, 26)
end   = dt(2022, 11, 26)

分析期間の設定です。2021年11月26日~2022年11月26日をターゲットとしています。

[3] :

#銘柄リストの作成
company_list = ["7867.JP", "1939.JP","9889.JP","2154.JP","7081.JP","8893.JP","1911.JP"]

分析したい銘柄のリストの作成です。企業名ではなく、銘柄コード名に.JPを付すことで[4]のブロックに出てくるStooqDailyReadeで株の情報を取得することができるようになります。

[4]: 

#特定期間の株価の取得
data_list = []
for company in company_list:
    stooq = StooqDailyReader(company, start=start, end=end)
    data_list.append(stooq.read().sort_values(by='Date',ascending=True))

StooqDailyReaderを使って[2]で設定した期間における[3]で設定した企業の株価の情報を取得します。取得した情報は日付の古い順に並び変えたうえでdata_listに格納します。

[5]: 

#ローソクチャートの作成
s = mplfinance.make_mpf_style(base_mpf_style='binance',rc={'figure.facecolor':'white','font.size': 10})
for data in data_list:
    mplfinance.plot(data, style=s, type='candle',figratio=(2, 1),volume=True)

まずはチャートのスタイル(図のスケールや文字サイズなど)を設定し、for文で8銘柄分のチャートを描画しています。

描画の実行結果は下記のようになります。

実行結果1:タカラトミー
実行結果2:四電工
実行結果3:JBCCホールディングス
実行結果4:オープンアップG(旧 夢真ビーネックスグループ)
実行結果5:コーユーレンティア
実行結果6:新日本建物
実行結果7:住友林業

おわりに

いかがでしたでしょうか。プログラミングで株価の分析ができるようになると、投資戦略の幅が格段に広がります。

例えば、「天気とある銘柄の株価は関係しているのでは?」など他のデータと組み合わせて分析しないと正解が見えてこないような仮説を立てた場合などにおいては、圧倒的にプログラミングによる分析が優位です。株価専用ツールだとできませんし、エクセルでも非常に労力がいります。

また、同じ作業をするのでもエクセルや他のツールを用いるよりプログラミングの方が断然早い場合が多々あります。

今回の記事をみてプログラミングに興味が出た方は、是非勉強して、投資における新しい武器を手に入れてみてくださいね!

プログラミング言語はたくさんありますが、株価の分析を想定したプログラミングを始める方には、今回の記事で使用したpythonがおススメです。

他の言語よりも簡単なので学習コストが低く、データ分析に向き、さらに世界中で最も広く使われている言語の一つなのでキャリアの幅を広げることにもつながるからです。

これから勉強をする方向けに筆者(プログラミング歴12年)のおススメの本を掲載しておきます。

とても易しい本なのでどなたでも挫折せずにpython入門ができるかなと思います!

※ちなみに、がっつりアフィリエイトリンクです(笑)。本記事を読んでプログラミングをやってみようかなと思ってくださった方は、ここから購入していただけると励みになりますので応援のほどよろしくお願いいたします!


これからも様々な「おかねに関する話題」を発信していくのでもしよろしければツィッターやnoteのフォローのほどよろしくお願いいたします!


この記事が参加している募集

スキしてみて

この記事が気に入ったらサポートをしてみませんか?