初心者でもできる!Pythonを使った株価分析の基礎知識を解説

  • URLをコピーしました!

「株価の動きをもっと楽にチェックしたい」「Excelで一つずつ数字を入力するのは疲れた」と感じたことはありませんか?

投資銘柄が増えてくると、手作業でデータを集めるのには限界があります。

そんな時に味方になってくれるのが、プログラミング言語のPythonです。

難しそうに聞こえるかもしれませんが、実はたった数行のコードを書くだけで、世界中の株価データを一瞬で集めてグラフにすることができます。この記事では、専門知識がなくても今日から始められる株価分析の基礎を、手順を追って丁寧に解説します。

目次

Pythonで株価分析をするメリットは?

投資の世界では、いかに早く正確に情報を整理できるかが勝負を分けます。Excelの手入力で管理するのも一つの手ですが、銘柄が増えるほどミスも増え、時間もかかってしまうものです。そこで役立つのがPythonです。プログラムに任せれば、人間が寝ている間でも正確にデータを集め、グラフ化まで終わらせてくれます。ここでは、Pythonを使うことであなたの投資スタイルがどう変わるのか、具体的なメリットを見ていきましょう。

大量のデータを一瞬で処理できる

手作業で過去数年分の株価を書き出すのは大変な作業ですが、Pythonならボタン一つで完了します。例えば、気になる10銘柄の過去5年分のデータを集める作業も、プログラムなら数秒で終わります。

人間がデータをコピペしている間に、Pythonはすでに分析を終えているようなスピード感です。

分析に使う時間を確保できるため、より深い投資判断に集中できるようになります。

ただし、データの量が多くなりすぎると、インターネットの接続速度やパソコンの処理能力に左右されることもあります。

まずは1銘柄から始めて、徐々に範囲を広げていくのがコツです。

分析を自動化して手間を減らせる

一度プログラムを作ってしまえば、同じ作業を何度でも自動で繰り返すことができます。

毎日決まった時間に特定の銘柄をチェックし、一定の価格を超えたら通知を送るといった仕組みも作れます。

自分だけの「投資アシスタント」を雇っているような感覚で、手間を最小限に抑えられます。

ルーチンワークから解放されることで、心の余裕を持って相場に向き合えるはずです。

注意点として、株価を取得するサイトのルール(規約)は守らなければなりません。

短時間に何度もアクセスしすぎると制限がかかる場合もあるため、節度を持って利用しましょう。

独自の指標を作って投資判断に活かせる

一般的な株価サイトに載っている指標だけでなく、自分だけの計算式で相場を分析できます。

複数の指標を組み合わせたり、自分なりの「買いシグナル」を数値化したりすることが可能です。

「もしこのタイミングで買っていたらどうなっていたか」という過去の検証も自由自在です。

既存のツールに縛られず、納得感のある投資判断ができるようになります。

プログラミング初心者の方は、まずは有名な指標を再現することから始めましょう。

基礎が固まれば、自分だけのオリジナル戦略を形にする楽しさが見えてきます。

事前の準備:Google Colabを使おう

Pythonを始めるにあたって、一番の壁になるのが「自分のパソコンに環境を作る作業」です。設定がうまくいかずに挫折してしまう人も少なくありません。そこで今回は、ブラウザだけで動く「Google Colab(グーグル・コラボ)」というツールを使います。これを使えば、難しいインストール作業は一切不要で、すぐにコードを書き始めることができます。

Googleアカウントがあればすぐに始められる

Google Colabは、Googleが提供している無料のプログラミング環境です。

GmailやGoogleドライブを使っている人なら、今すぐブラウザで専用のページを開くだけで準備が整います。

クラウド上で動くため、自分のパソコンの性能を気にする必要もありません。

まるでGoogleドキュメントを書くような感覚で、誰でも手軽にPythonを実行できます。

自分のPCにPythonをインストールする必要はない

通常、プログラミングを始めるには自分のPCにソフトを詰め込む必要がありますが、Colabなら不要です。

設定ミスでパソコンが重くなったり、動かなくなったりする心配もありません。

まずはColabと一般的なインストール方法を比較してみましょう。

特徴Google Colab自分のPCにインストール
準備の手間ほぼゼロ(ブラウザのみ)インストール作業が必要
費用無料無料(手間がかかる)
実行場所どこでも(スマホも可)自分のPCのみ

このように、初心者が最初の一歩を踏み出すには、Colabが圧倒的に便利です。

「まずは動かしてみたい」という気持ちを邪魔する壁がほとんどありません。

最初のノートブックを作成する手順

使い方は非常にシンプルで、Google Colabの公式サイトにアクセスして「ノートブックを新規作成」を押すだけです。

画面に出てくる灰色の枠(セル)にコードを書き込み、再生ボタンのような実行ボタンを押せば結果が表示されます。

コードを書き間違えても、その場で修正して何度でもやり直せます。

書いた内容は自動でGoogleドライブに保存されるため、作業を中断しても安心です。

最初は少し戸惑うかもしれませんが、数回触ればすぐに慣れる操作感です。

まずは「1 + 1」と入力して実行し、計算結果が出ることを確認してみましょう。

ライブラリをインストールしてデータを取得する

Pythonには、特定の作業を楽にするための「ライブラリ」という追加パーツが豊富にあります。株価分析で欠かせないのが、Yahoo Financeからデータを取ってくるためのライブラリです。これを導入することで、複雑な通信の知識がなくても、簡単な命令文だけで世界中の株価を呼び出せるようになります。

株価取得に便利な「yfinance」を導入する

世界中の投資家に愛用されているのが「yfinance(ワイファイナンス)」というライブラリです。

これを使えば、日本株、米国株、為替、仮想通貨など、あらゆる価格データを取得できます。

Google Colabでこれを使うには、最初の一回だけ魔法の言葉を入力してインストールする必要があります。

以下のコードをコピーして、セルに貼り付けて実行してみてください。

!pip install yfinance

これで、あなたの環境で株価を扱う準備が整いました。

エラーが出る場合は、ネット接続を確認してもう一度実行してみてください。

必要なライブラリをインポートするコード

インストールが終わったら、次に「これからこの道具を使いますよ」と宣言するコードを書きます。

これを「インポート」と呼び、プログラムの最初の方にまとめて書くのが一般的です。

以下の3つは、株価分析でセットで使うことが多い基本的な道具です。

import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt

これらは、データの取得、整理、グラフ化をそれぞれ担当しています。

呪文のように見えますが、毎回使う決まり文句だと思って入力すれば大丈夫です。

特定の銘柄と期間を指定してデータを読み込む

準備ができたら、いよいよ本番のデータ取得です。

例えば、トヨタ自動車(証券コード:7203)の株価を取得してみましょう。

日本株を指定するときは、数字の後に「.T」をつけるのがルールです。

# トヨタの株価を取得する例
data = yf.download('7203.T', start='2023-01-01', end='2023-12-31')

これだけで、2023年の1年分の株価が手元の変数(data)の中に保存されます。

期間を変えれば、10年前のデータでも一瞬で持ってくることができます。

銘柄コードを変えれば、任天堂なら「7974.T」、Appleなら「AAPL」といった具合に、好きな銘柄を調べられます。

自分で数字を書き換えて、気になる会社のデータを取ってみるのが上達の近道です。

取得した株価データの中身を確認する

データが取得できたら、まずは中身がどうなっているか覗いてみましょう。いきなり分析を始めるのではなく、正しくデータが入っているか、どんな項目があるかを把握することが大切です。Pythonでは表形式でデータを表示できるため、中身を確認する作業も非常にスムーズです。

データの先頭行を表示して項目を理解する

取得したデータの全体を見るのは大変なので、まずは最初の5行だけを表示させてみます。

これには「head(ヘッド)」という命令を使います。

data.head()

これを実行すると、日付ごとにいくつかの数字が並んだ表が表示されます。

最初は英語の項目名に戸惑うかもしれませんが、内容は決まっています。

全ての行をチェックする必要はありませんが、指定した期間のデータがちゃんと始まっているかだけ確認しましょう。

何も表示されない場合は、銘柄コードの間違いや期間の指定ミスが考えられます。

始値・高値・安値・終値(OHLC)の意味

表示された表には、投資判断に欠かせない4つの価格が含まれています。

これらをまとめて「OHLC」と呼び、それぞれ以下の意味を持っています。

項目名読み方意味
Open始値その日の取引が始まった時の価格
High高値その日で最も高くなった価格
Low安値その日で最も安くなった価格
Close終値その日の取引が終わった時の価格

これに加えて、取引された量を示す「Volume(出来高)」なども表示されます。

投資家は主に「Close(終値)」に注目して分析を進めることが多いです。

まずはこの4つの数字の見方に慣れておきましょう。

ニュースで「今日の終値は〜」と言っているのは、この表のCloseの数字のことです。

データの期間や欠損値がないかをチェックする

たまに、祝日やメンテナンスなどの影響で、データが抜け落ちている(欠損値)ことがあります。

そのまま計算するとエラーの原因になるため、データが揃っているか確認する習慣をつけましょう。

以下のコードで、データに穴がないかを一目でチェックできます。

data.isnull().sum()

もし数字が「0」以外になっていたら、どこかの日付のデータが欠けているということです。

初心者のうちはあまり気にしすぎなくても大丈夫ですが、大きなエラーが出た時はここを疑ってみてください。

データが綺麗に揃っていることを確認できたら、いよいよ次のステップであるグラフ化に進めます。

準備運動はここまでで、ここからは見た目にも楽しい作業が待っています。

株価の推移をグラフで可視化する

数字の羅列を眺めているだけでは、価格が上がっているのか下がっているのか直感的に分かりにくいものです。そこで、Pythonのグラフ作成機能を使って、株価の動きを一本の線にしてみましょう。たった一行のコードで、プロのようなチャートを作成することができます。

折れ線グラフで価格の動きを描画する

まずは、最も基本的な「終値(Close)」の推移をグラフにしてみます。

以下のコードを動かすだけで、画面にチャートが表示されます。

data['Close'].plot()
plt.show()

複雑な設定をしなくても、日付に合わせた価格の上下がはっきりと見えてきます。

長い期間のデータを取った場合でも、自動で横軸を調整してくれるのがPythonの賢いところです。

最初は白黒のような質素なグラフかもしれませんが、これだけで立派な分析の第一歩です。

自分が持っている株の動きをこうして自分の手で描画できると、少し達成感がありますよね。

グラフのサイズやタイトルを整える方法

先ほどのグラフを少し大きくしたり、タイトルをつけたりして見やすく整えてみましょう。

見た目を整えることで、資料として保存したときも分かりやすくなります。

plt.figure(figsize=(10, 5)) # グラフのサイズを指定
data['Close'].plot()
plt.title('Stock Price Chart') # タイトルをつける
plt.grid() # 背景に網目を入れる

サイズを横長にすると、細かい値動きが把握しやすくなります。

また、網目(グリッド)を入れることで、今の価格がだいたいどのあたりなのかが読み取りやすくなります。

日本語のタイトルを使いたい場合は、少し特殊な設定が必要になることがあります。

まずは英語のタイトルで「何についてのグラフか」をメモする癖をつけるのがおすすめです。

複数の銘柄を同じグラフに表示して比較する

Pythonの真骨頂は、複数のデータを重ねて比較することにあります。

例えば、「トヨタ自動車」と「日産自動車」の動きを一つのグラフに並べてみましょう。

どちらがより強く上がっているのか、相関関係があるのかが一目でわかります。

  • 同じ業種の会社を比較して、業界全体のトレンドを掴む
  • 日経平均株価(225銘柄の平均)と自分の持ち株を比較する
  • 為替(ドル円)と輸出企業の株価の連動性をチェックする

このように、比較のパターンは無限大です。

一つのグラフにまとめると線が重なって見にくいこともありますが、色を変えたり太さを変えたりして自分好みに調整できます。

移動平均線を表示してトレンドを掴む

投資の定番ツールといえば「移動平均線」です。日々の細かい値動きを滑らかにして、価格がどちらの方向に進んでいるか(トレンド)を見極めるために使われます。Pythonなら、この計算も一瞬で終わります。

過去n日間の平均価格を算出する仕組み

移動平均とは、ある一定期間の価格を平均したものです。

例えば「5日移動平均」なら、今日を含めた過去5日間の終値を足して5で割った数字を毎日計算していきます。

この計算を自分で行うのは非常に面倒ですが、Pythonの「rolling」という機能を使えば簡単です。

プログラムが自動的に窓(ウィンドウ)をずらしながら平均値を算出してくれます。

一時的な急騰や急落に惑わされず、相場の大きな流れを掴むのに役立ちます。

投資判断の基準として、多くのプロ投資家も利用している手法です。

5日線と25日線をグラフに追加するコード

実際に移動平均線を計算して、グラフに追加してみましょう。

よく使われる「5日(短期)」と「25日(中期)」の線を引いてみます。

# 移動平均の計算
data['SMA5'] = data['Close'].rolling(window=5).mean()
data['SMA25'] = data['Close'].rolling(window=25).mean()

# グラフに表示
data[['Close', 'SMA5', 'SMA25']].plot(figsize=(10, 6))

これで、元の株価の線に加えて、2本の滑らかな線が表示されます。

線が3本になることで、今の株価が平均より高いのか低いのかが一目で判断できるようになります。

ゴールデンクロスなどのサインを視覚化する

短期の線が中期の線を下から上に突き抜けることを「ゴールデンクロス」と呼び、買いのサインの一つと言われています。

逆に、上から下に突き抜けるのは「デッドクロス」と呼ばれます。

グラフを見ると、これらのクロスが起きた後にトレンドが変わっている場所が見つかるかもしれません。

もちろんこれだけで100%当たるわけではありませんが、客観的なデータとして参考になります。

自分で期間を「10日」や「75日」に書き換えて、どの数字が一番しっくりくるか試してみてください。

自分なりの最適な設定を探るのも、Pythonを使った株価分析の醍醐味です。

テクニカル指標「RSI」を計算してみる

移動平均線に慣れてきたら、次は「買われすぎ・売られすぎ」を判断する指標に挑戦しましょう。今回は、世界的に有名な「RSI(相対力指数)」を取り上げます。計算式は少し複雑ですが、Pythonならその数式をそのまま書き写すだけで動かせます。

RSI(相対力指数)で買われすぎを判断する

RSIは、0から100までの数字で表される指標です。

一般的に、70を超えると「買われすぎ(そろそろ下がるかも)」、30を下回ると「売られすぎ(そろそろ上がるかも)」と判断されます。

株価が一方的に上がり続けている時、いつ利益を確定させるべきか迷うことがありますよね。

そんな時にRSIを確認することで、感情に流されず冷静な判断を下す手助けになります。

ただし、強いトレンドが出ている時はRSIがずっと高いまま(または低いまま)張り付くこともあります。

他の指標と組み合わせて使うのが、上手に使いこなすコツです。

Pythonの数式で指標を自作する手順

「yfinance」で取得したデータがあれば、RSIの計算も自分で行えます。

ライブラリを使う方法もありますが、あえて自分で計算式を書くことで、指標の仕組みが深く理解できます。

難しい数学の知識がなくても、前日との価格差を出して平均をとる、という手順をコードにするだけです。

ネットで「RSI Python 計算」と検索すれば、多くのサンプルコードが見つかります。

自分で計算した結果が、証券会社のツールと同じ数字になった時の喜びは格別です。

こうした「自作」の積み重ねが、プログラミングスキルの向上にもつながります。

チャートの下にRSIのグラフを並べて表示する

RSIは株価と同じグラフに重ねると見にくいため、上下に並べて表示するのが一般的です。

上が株価チャート、下がRSI、というプロっぽい画面を作ってみましょう。

fig, ax = plt.subplots(2, 1, figsize=(10, 8), gridspec_kw={'height_ratios': [3, 1]})

# 上段に株価
ax[0].plot(data['Close'])
ax[0].set_title('Stock Price')

# 下段にRSI(計算済みと仮定)
ax[1].plot(data['RSI'], color='orange')
ax[1].axhline(70, color='red', linestyle='--') # 70のライン
ax[1].axhline(30, color='green', linestyle='--') # 30のライン

このように表示すると、株価のピークとRSIのピークが一致しているかどうかが一目瞭然です。

一気に「分析している感」が出てきますし、実際の投資判断にも非常に役立ちます。

分析した結果をCSVファイルで保存する

せっかく分析したデータや計算した指標は、いつでも使えるように保存しておきたいですよね。Pythonなら、Excelで開けるCSV形式のファイルとして簡単に保存できます。

Pandasを使ってデータを書き出す

データの整理を担当する「Pandas(パンダス)」というライブラリには、保存用の命令が用意されています。

to_csv という一行を書くだけで、これまでの計算結果をすべて詰め込んだファイルが出来上がります。

data.to_csv('my_stock_analysis.csv')

このファイルには、自分で計算した移動平均線やRSIの数字もすべて記録されています。

後でExcelで開いて、細かい数字をチェックするのにも便利です。

作成したファイルを自分のPCにダウンロードする

Google Colabで作成したファイルは、一旦クラウド上の仮想フォルダに保存されます。

これを自分のパソコンに保存するには、Colabの左側にあるフォルダアイコンをクリックして、ファイル名を右クリックして「ダウンロード」を選ぶだけです。

これで、ネットが繋がっていない場所でも自分のデータを確認できるようになります。

また、複数のファイルをまとめて保存して、自分だけの株価データベースを作ることも可能です。

Excelでデータを開いて確認する方法

ダウンロードしたCSVファイルは、ExcelやGoogleスプレッドシートでそのまま開くことができます。

Pythonでざっくり分析し、細かい調整やグラフの装飾は使い慣れたExcelで行う、という使い分けも賢いやり方です。

「プログラムですべて完結させなきゃ」と気負う必要はありません。

自分が一番使いやすいツールとPythonを組み合わせることが、継続のポイントです。

さらに本格的な分析に挑戦するには?

ここまで学んだ内容は、Pythonを使った株価分析のほんの入り口に過ぎません。基礎が身につけば、さらに高度なことにも挑戦できるようになります。これからどんな世界が広がっているのか、いくつかステップを紹介します。

複数の銘柄を一括でダウンロードして比較する

今回は1銘柄ずつ扱いましたが、複数の銘柄を一度に取得して比較することも可能です。

「日経225の全銘柄のうち、今日RSIが30以下のものだけを探す」といったスクリーニング(条件検索)もできるようになります。

これを手作業でやると何時間もかかりますが、Pythonなら一瞬です。

お宝銘柄を探す効率が劇的に上がります。

決算データや財務諸表を取り込んで分析する

株価だけでなく、企業の売上や利益といった「ファンダメンタルズ情報」を分析に組み込むこともできます。

株価が安くなっている理由を、業績データから読み解くといったアプローチです。

企業の健康診断を自動で行うようなプログラムも、Pythonなら作成可能です。

チャート分析と組み合わせることで、より精度の高い投資判断を目指せます。

予測モデルの作成やバックテストへ進むステップ

さらに進むと、AI(機械学習)を使って未来の価格を予想したり、過去のデータで自分の戦略がどれくらい儲かるか(バックテスト)を検証したりできます。

「もし10年前にこのルールで投資していたら、今いくらになっているか」をシミュレーションするのです。

夢のような話に聞こえますが、これらもすべて基礎の積み重ねでできるようになります。

まずは今日学んだ基礎を大切に、一歩ずつ進んでいきましょう。

まとめ:Pythonで投資をもっとスマートに

この記事では、初心者がPythonを使って株価分析を始めるための基礎知識を解説しました。

最後に、重要なポイントを振り返ってみましょう。

  • Google Colab を使えば、面倒な設定なしで今すぐ始められる
  • yfinance を使うと、世界中の株価データを数行のコードで取得できる
  • グラフ化や指標計算 は、一度作れば自動で何度も繰り返せる
  • 分析結果は CSVファイル として保存し、Excelでも活用できる

プログラミングは魔法ではありませんが、正しく使えばあなたの投資を支える強力な武器になります。まずは気になる銘柄のグラフを出すことから始めてみてください。その一歩が、より論理的でスマートな投資スタイルへの大きな転換点になるはずです。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次