- Pythonは株式投資のデータ分析において最も使われているプログラミング言語ですわ
- プログラミング未経験でも1〜2週間で基本的な株価分析ができるようになりますの
- yfinanceで株価データを無料取得し、pandasで分析する流れが王道ですわ
- スクリーニングや定期レポートの自動化で、本業がある方でも効率的に投資判断できますの
- AI時代に「データで考える力」を身につけることは、投資だけでなくキャリア全体の武器になりますわ 🌹
ごきげんよう、ローゼンマイヤーですわ 🌹
今日は「Python×株式投資」というテーマでお話しします。
「プログラミングなんて自分には関係ない」——そう思っていらっしゃる方も多いかもしれません。でも、AI時代においてデータを自分で扱えるスキルは、投資のリターンだけでなく、あなたのキャリア全体を底上げしてくれる最強の「自己投資」ですの。
この記事では、プログラミング完全初心者の方でもステップバイステップで進められるよう、丁寧に解説していきますわ。
なぜ今、個人投資家がPythonを学ぶべきなのか#
機関投資家との情報格差を埋められる#
機関投資家はBloomberg端末や専用のクオンツチームを持っています。個人投資家が同じ土俵で戦うのは不可能——かつてはそうでした。
しかし今は違います。Pythonと無料のライブラリを組み合わせれば、以下のことが無料でできてしまいますの:
- 過去数十年分の株価データ取得・分析
- 財務データに基づくスクリーニング
- ポートフォリオのリスク計算
- テクニカル指標の自動計算
- 定期レポートの自動生成
投資以外にも活きるスキル#
Pythonを学ぶメリットは投資だけではありませんわ:
| 活用場面 | 具体例 |
|---|---|
| 本業 | Excel作業の自動化、データ分析レポート作成 |
| 副業 | データ分析案件(クラウドソーシングで時給3,000〜5,000円) |
| 転職 | 「Python使える」は2026年の転職市場で大きなプラス |
| 投資 | 銘柄スクリーニング、ポートフォリオ管理の自動化 |
ステップ1:Python環境を構築する(所要時間:30分)#
おすすめの方法:Google Colaboratory#
最も手軽なのは**Google Colaboratory(通称Colab)**です。ブラウザだけで使えるので、何もインストールする必要がありませんの。
- Google Colabにアクセス
- Googleアカウントでログイン
- 「ノートブックを新規作成」をクリック
これだけで準備完了ですわ。
ローカル環境を作りたい方向け#
本格的に取り組みたい方は、ローカル環境も用意しましょう:
# Pythonのインストール(公式サイトから最新版をダウンロード)
# https://www.python.org/downloads/
# 仮想環境の作成
python -m venv stock-env
# 仮想環境の有効化(Windows)
stock-env\Scripts\activate
# 仮想環境の有効化(Mac/Linux)
source stock-env/bin/activate
# 必要なライブラリをインストール
pip install yfinance pandas matplotlib jupyterステップ2:株価データを取得する(yfinance入門)#
yfinanceとは#
yfinanceはYahoo Financeから株価データを無料で取得できるPythonライブラリです。日本株・米国株ともに対応しており、個人投資家のデータ分析において最も広く使われていますわ。
基本的な使い方#
import yfinance as yf
import pandas as pd
# Apple(AAPL)の株価を取得
apple = yf.Ticker("AAPL")
# 過去1年分の日足データ
df = apple.history(period="1y")
print(df.head())出力結果はこのようになります:
Open High Low Close Volume
Date
2025-03-14 168.32 170.15 167.89 169.75 52341200
2025-03-17 169.50 171.23 168.44 170.88 48923100
...日本株の取得方法#
日本株は証券コードの後ろに.Tを付けますの:
# トヨタ自動車(7203)
toyota = yf.Ticker("7203.T")
df_toyota = toyota.history(period="1y")
# ソニーグループ(6758)
sony = yf.Ticker("6758.T")
df_sony = sony.history(period="1y")複数銘柄を一括取得#
# FAANG+αを一括取得
tickers = ["AAPL", "GOOGL", "AMZN", "META", "MSFT", "NVDA"]
data = yf.download(tickers, period="1y")
print(data["Close"].tail())ステップ3:データを可視化する(matplotlib入門)#
数字の羅列だけでは判断しにくいもの。グラフにして視覚的に把握しましょう。
株価チャートの作成#
import matplotlib.pyplot as plt
# NVIDIAの1年チャート
nvda = yf.Ticker("NVDA")
df = nvda.history(period="1y")
plt.figure(figsize=(12, 6))
plt.plot(df.index, df["Close"], label="NVDA", color="green")
plt.title("NVIDIA Stock Price - 1 Year")
plt.xlabel("Date")
plt.ylabel("Price (USD)")
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()移動平均線を追加する#
# 25日移動平均と75日移動平均
df["MA25"] = df["Close"].rolling(window=25).mean()
df["MA75"] = df["Close"].rolling(window=75).mean()
plt.figure(figsize=(12, 6))
plt.plot(df.index, df["Close"], label="Price", alpha=0.7)
plt.plot(df.index, df["MA25"], label="25-day MA", color="orange")
plt.plot(df.index, df["MA75"], label="75-day MA", color="red")
plt.title("NVIDIA with Moving Averages")
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()ゴールデンクロス(短期線が長期線を上抜ける)やデッドクロス(逆)を視覚的に確認できるようになりますわ。
ステップ4:基本的な分析をやってみる#
リターンの計算#
# 日次リターンを計算
df["Daily_Return"] = df["Close"].pct_change()
# 累積リターン
df["Cumulative_Return"] = (1 + df["Daily_Return"]).cumprod() - 1
print(f"1年間のトータルリターン: {df['Cumulative_Return'].iloc[-1]:.2%}")複数銘柄のパフォーマンス比較#
tickers = ["NVDA", "AAPL", "VOO", "QQQ"]
data = yf.download(tickers, period="1y")["Close"]
# 基準日を1として正規化
normalized = data / data.iloc[0]
plt.figure(figsize=(12, 6))
for ticker in tickers:
plt.plot(normalized.index, normalized[ticker], label=ticker)
plt.title("1-Year Performance Comparison (Normalized)")
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()ボラティリティ(リスク)の測定#
# 年率ボラティリティ
returns = data.pct_change().dropna()
volatility = returns.std() * (252 ** 0.5) # 年率換算
print("=== 年率ボラティリティ ===")
for ticker in tickers:
print(f"{ticker}: {volatility[ticker]:.2%}")ボラティリティが高い銘柄はリターンも大きい代わりにリスクも高い——この基本を数字で実感できるのがPython分析の醍醐味ですわ。
ステップ5:スクリーニングを自動化する#
ここからが真骨頂。手動では時間がかかるスクリーニングを自動化しましょう。
PER・PBRでフィルタリング#
import yfinance as yf
# 分析対象の銘柄リスト(例:日経225の一部)
tickers = ["7203.T", "6758.T", "9984.T", "6861.T", "8035.T",
"6501.T", "7974.T", "4063.T", "6902.T", "9432.T"]
results = []
for ticker in tickers:
try:
stock = yf.Ticker(ticker)
info = stock.info
results.append({
"Ticker": ticker,
"Name": info.get("shortName", "N/A"),
"PER": info.get("trailingPE", None),
"PBR": info.get("priceToBook", None),
"Dividend_Yield": info.get("dividendYield", None),
"Market_Cap": info.get("marketCap", None)
})
except:
pass
df_screen = pd.DataFrame(results)
# PER 20倍以下、PBR 3倍以下でフィルタ
filtered = df_screen[
(df_screen["PER"] < 20) &
(df_screen["PBR"] < 3)
]
print("=== スクリーニング結果 ===")
print(filtered.to_string(index=False))条件を自由にカスタマイズ#
# 高配当株スクリーニング(配当利回り3%以上)
high_div = df_screen[df_screen["Dividend_Yield"] > 0.03]
# 大型株のみ(時価総額1兆円以上)
large_cap = df_screen[df_screen["Market_Cap"] > 1e12]このスクリプトを毎週末に実行すれば、自分だけのスクリーニングレポートが自動で出来上がりますわ。
ステップ6:定期実行で「仕組み化」する#
週次レポートの自動生成#
import datetime
def weekly_report():
today = datetime.date.today()
# ポートフォリオの銘柄
portfolio = {
"VOO": 50, # 50株
"QQQ": 30,
"NVDA": 20,
"7203.T": 100
}
print(f"=== 週次ポートフォリオレポート ({today}) ===\n")
total_value = 0
for ticker, shares in portfolio.items():
stock = yf.Ticker(ticker)
price = stock.history(period="5d")["Close"].iloc[-1]
value = price * shares
total_value += value
print(f"{ticker}: {shares}株 × ${price:.2f} = ${value:,.2f}")
print(f"\n合計評価額: ${total_value:,.2f}")
weekly_report()これをcronジョブやGoogle Colabのスケジュール実行に設定すれば、毎週自動で最新レポートが生成されますの。
Python学習のおすすめロードマップ#
フェーズ1:基礎(1〜2週間)#
- Python基本文法(変数、条件分岐、ループ、関数)
- pandasの基本操作(DataFrame、フィルタリング、集計)
- 学習リソース:Progate、PyQ、Udemy
フェーズ2:株式分析の実践(2〜4週間)#
- yfinanceでデータ取得
- matplotlibで可視化
- テクニカル指標の計算(移動平均、RSI、MACD)
フェーズ3:自動化・応用(1〜2ヶ月)#
- スクリーニングの自動化
- 週次レポート生成
- Webスクレイピングで決算情報収集
- Streamlitで自分専用のダッシュボード構築
フェーズ4:AI活用(2〜3ヶ月〜)#
- ChatGPT / Claude APIと組み合わせた分析
- 機械学習モデルによる簡易予測
- 自然言語処理で決算資料の自動要約
おすすめの学習サービス#
Python×投資を効率的に学ぶなら、以下のサービスが特におすすめですわ:
プログラミング学習#
- Udemy — 「Python 株」で検索すると投資分析特化のコースが多数。セール時なら1,500円程度で購入可能
- PyQ — 日本語でPythonをブラウザ上で学べる。月額3,040円〜
- Progate — 完全初心者向け。Python基礎を無料で学べる
投資の知識を深める#
- 書籍「Pythonで学ぶファイナンス理論」 — アカデミックな基礎を固めるのに最適
- Kaggle — 金融データのコンペティションで実践力を磨ける(無料)
証券口座の準備#
データ分析の結果を実際の投資に活かすなら、手数料の安いネット証券が必須ですわ:
どちらもNISA口座に対応しており、Pythonで見つけた銘柄を非課税で運用できますの。
よくある疑問にお答えしますわ#
Q: プログラミング完全未経験でも大丈夫?#
大丈夫ですわ。 株式分析に必要なPythonの知識は、プログラミング全体のほんの一部です。変数・ループ・関数の3つが分かれば、この記事のコードは全て理解できます。
Q: 数学が苦手でも問題ない?#
問題ありませんの。 移動平均は「足して割るだけ」、リターンは「(今日の株価 ÷ 昨日の株価)- 1」です。高度な数学は不要ですわ。
Q: どれくらいの時間で実用レベルになれる?#
毎日1時間取り組めば、2〜4週間で基本的な株価分析とスクリーニングができるようになります。
Q: Pythonで株の自動売買はできる?#
技術的には可能ですが、初心者にはおすすめしません。まずは「分析の自動化」から始めて、判断そのものは自分の頭で行うのが安全ですわ。
まとめ:Pythonは最高の「自己投資」#
- Python×株式投資は完全初心者でも1〜2週間で基本が身につく
- 無料のツール(Google Colab、yfinance)だけでプロ並みの分析環境が手に入る
- スクリーニングの自動化で本業が忙しい方でも効率的に銘柄発掘が可能
- 投資スキルだけでなく、キャリアアップ・副業にも直結する一石三鳥のスキル
- AI時代において「データで考える力」は最も陳腐化しにくい資産ですわ 🌹
株式投資で利益を得ることはもちろん大事ですが、自分自身のスキルに投資することが、長期的に見て最もリターンの高い投資先ですわ。
Pythonという武器を手に入れて、データに基づいた投資判断ができる投資家を目指しましょう。
それでは、ごきげんよう 🌹
※本記事は特定の金融商品の購入を推奨するものではありません。投資は自己責任でお願いいたします。 ※記事内のコードは教育目的です。実際の投資判断に使用する際は、データの正確性を必ず確認してください。