書籍詳細(Pythonで実践する株式投資分析)

Pythonで実践する株式投資分析 書影

ISBN: 978-4-627-85821-3

Pythonで実践する株式投資分析

WINGSプロジェクト 片渕彼富 著

著者WINGSプロジェクト 片渕彼富
監修山田祥寛
出版社森北出版
価格4,200円(税別)
判形B5変版・2色
ページ数296ページ
発売日2025年11月4日
シリーズ 株価分析
対象レベル初中級

Pythonをフル活用した株式投資を徹底的に解説

株価データの取得からダッシュボード構築、生成AIによる戦略立案まで、Pythonを駆使した効率的かつ実践的な投資手法を徹底解説。テクニカル指標の算出やパターン検出など、実務に直結する分析スキルが身につく一冊。プログラミングを活かして投資精度を高めたい方に最適。
Pythonで実践する株式投資分析 ロゴ

更新履歴

  • FAQ情報:2026年6月12日 更新
  • 正誤訂正:2026年1月14日 更新

目次

  • 1 株価分析入門
  • 1.1 Pythonによる株価分析
  • 1.1.1 株価分析とは
  • 1.1.2 株価データとは
  • 1.1.3 株価チャートとは
  • 1.1.4 株価分析と投資判断
  • 1.2 開発環境の準備
  • 1.2.1 Pythonでの株価分析に必要なもの
  • 1.2.2 PythonとTA-Libのインストール(Windowsの場合)
  • 1.2.3 PythonとTA-Libのインストール(macOSの場合)
  • 1.2.4 VSCodeのインストール
  • 1.2.5 Jupyter Notebookのインストール(Windows/macOS共通)
  • 1.2.6 関連ライブラリのインストール(Windows/macOS共通)
  • 1.2.7 動作確認
  • 1.3 Pythonでの株価データの扱い
  • 1.3.1 データフレーム
  • 1.3.2 株価データの取得
  • 1.3.3 株価データの加工
  • 1.3.4 株価データの可視化
  • 2 移動平均線
  • 2.1 移動平均線の概要
  • 2.1.1 移動平均線とは
  • 2.1.2 移動平均線の種類と算出
  • 2.1.3 移動平均線の表示
  • 2.1.4 移動平均線とトレンド
  • 2.1.5 ゴールデンクロスとデッドクロス
  • 2.1.6 移動平均線とボリンジャーバンド
  • 2.2 日足,週足,月足での確認
  • 2.2.1 週単位や月単位での集計
  • 2.2.2 週足と月足の移動平均線の表示
  • 2.2.3 経済イベントとの関連の確認
  • 3 高度なテクニカル指標
  • 3.1 RCI
  • 3.1.1 RCIとは
  • 3.1.2 RCIの算出
  • 3.1.3 RCIの表示
  • 3.1.4 RCIとRSI
  • 3.2 パラボリック
  • 3.2.1 パラボリックとは
  • 3.2.2 パラボリックの表示
  • 3.3 一目均衡表
  • 3.3.1 一目均衡表とは
  • 3.3.2 一目均衡表の各線の算出
  • 3.3.3 一目均衡表の表示
  • 4 データベースとの連携
  • 4.1 開発環境の準備
  • 4.1.1 ローカル環境での株価分析
  • 4.1.2 MySQLのインストール
  • 4.1.3 VSCodeからのMySQLの操作
  • 4.1.4 データベースの作成
  • 4.1.5 テーブルの作成
  • 4.1.6 テーブルのレコードの作成
  • 4.2 MySQLの利用
  • 4.2.1 PythonからのMySQLの利用
  • 4.2.2 ライブラリのインストール
  • 4.2.3 モデルクラスの定義
  • 4.2.4 データの参照
  • 4.3 株価データの保存
  • 4.3.1 MySQLへの保存
  • 4.3.2 動的なモデルの作成
  • 4.3.3 分析結果の保存
  • 4.3.4 保存したデータからのチャート表示
  • 4.3.5 任意の指数でのチャート描画
  • 5 日々の株価分析
  • 5.1 株価データの取得
  • 5.1.1 株価テーブルのデータを最新にする
  • 5.1.2 ライブラリのインストール
  • 5.1.3 作成した処理のモジュール化
  • 5.1.4 データベース接続処理をまとめる
  • 5.1.5 日々の株価の取得と保存
  • 5.2 複数銘柄の比較/検討
  • 5.2.1 複数銘柄の株価データをまとめる
  • 5.2.2 累積リターンの比較
  • 5.2.3 ボラティリティの比較
  • 5.2.4 シャープレシオの比較
  • 6 株価が上昇するパターンの検出
  • 6.1 銘柄の選び方
  • 6.1.1 銘柄を選ぶにあたって
  • 6.1.2 株価チャートを確認しやすい画面の作成
  • 6.1.3 銘柄を追加する画面の作成
  • 6.2 株価が上昇するパターンの検出
  • 6.2.1 株価が上昇するパターンの確認
  • 6.2.2 株価が上昇するパターンの検出
  • 6.2.3 これから株価が上昇する銘柄の検出
  • 6.3 分析結果をまとめる
  • 6.3.1 分析結果のPDF出力
  • 6.3.2 複数のPDFファイルを1つのファイルにまとめる
  • 6.3.3 分析結果PDFのGoogleドライブへのアップロード
  • 7 HTMLでのチャート表示
  • 7.1 HTMLでチャートを表示するための準備
  • 7.1.1 フレームワークFlask
  • 7.2 Webページとしてのチャート表示
  • 7.2.1 Highcharts Stock
  • 7.2.2 株価チャートの表示
  • 7.2.3 移動平均線とボリンジャーバンドの表示
  • 7.2.4 オシレーターと出来高の表示
  • 7.2.5 ツールチップをまとめる
  • 7.3 チャートへのパターンの表示
  • 7.3.1 作成した株価が上昇するパターンの表示
  • 7.3.2 トレンドラインの表示
  • 7.3.3 逆三尊パターンの表示
  • 8 ダッシュボードの開発
  • 8.1 ダッシュボード
  • 8.1.1 開発するダッシュボードの概要
  • 8.1.2 HTMLテンプレート
  • 8.1.3 HTMLテンプレートをFlaskに組み込む
  • 8.2 市場の全体の動き
  • 8.2.1 株価分析で注目すべき株価指数
  • 8.2.2 日本の株価指数
  • 8.2.3 各株価指数の取得
  • 8.2.4 日経平均とダウ平均の簡易チャートの表示
  • 8.2.5 ヘッダ部分への各株価指数の表示
  • 8.3 監視銘柄の管理
  • 8.3.1 監視銘柄の作成
  • 8.3.2 監視銘柄の更新
  • 8.3.3 監視銘柄の削除
  • 8.3.4 監視銘柄一覧の表示
  • 8.4 銘柄詳細の表示
  • 8.4.1 企業分析で利用される指標
  • 8.4.2 企業の株価チャートと財務状態の表示
  • 8.4.3 メモ機能の作成
  • 8.4.4 サイドバーのリンク作成
  • 9 投資戦略
  • 9.1 個人で行う投資戦略の考え方
  • 9.1.1 投資手法の種類
  • 9.1.2 対話型AIを使った投資
  • 9.1.3 ChatGPTの利用
  • 9.2 短期売買
  • 9.2.1 短期売買の概要
  • 9.2.2 短期売買向けの銘柄
  • 9.2.3 対話型AIを利用した銘柄選定
  • 9.2.4 直近のニュースからの銘柄検索
  • 9.3 高配当株投資
  • 9.3.1 高配当株投資の概要
  • 9.3.2 高配当株投資向けの銘柄
  • 9.3.3 対話型AIを利用した銘柄選定
  • 9.4 長期投資
  • 9.4.1 長期投資の概要
  • 9.4.2 NISA制度を利用した長期投資
  • 9.4.3 対話型AIを利用したポートフォリオ作成
  • 9.5 スポット的な投資
  • 9.5.1 Fear & Greed Index
  • 9.5.2 急に株価が下がった場合の投資
  • A 付録:スクレイピング
  • A.1 スクレイピングの利用
  • A.2 ライブラリのインストール
  • A.3 Googleファイナンスからの株価データ取得

正誤表

該当頁 該当箇所 修正刷
訂正箇所 訂正事項 更新日
p.89 本文2行目 -
認証に必要なcriptography 認証に必要なcryptography 2026/01/14
p.89 コマンド 4.10のキャプションとコマンド -
criptography cryptography 2026/01/14

FAQ

stooqがpandas_datareaderへの株価データ提供を停止したため、pandas_datareaderからの日本株のデータ取得ができなくなりました。
代わりにyfinanceを使って株価取得の処理を次のように書き換えてください。

[変更前]
import pandas as pd
import pandas_datareader.data as pdr

def get_stock_data(code: str) -> pd.DataFrame:
df = pdr.DataReader("{}.JP".format(code), "stooq").sort_index()
return df


[変更後]
import yfinance as yf
import pandas as pd

def get_stock_data(code):
df = yf.download("{}.T".format(code), period="5y").sort_index()
if isinstance(df.columns, pd.MultiIndex):
df.columns = df.columns.get_level_values(0)
return df

更新日: 2026.06.12

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』