Pythonでマルチマーケット株式ブレイクアウトスクリーナーを作る
📈 はじめに
株式トレードにおいて、最も魅力的な戦略の一つが ブレイクアウト(Breakout) です。
価格が重要な抵抗線を上抜け、出来高が急増するとき、強い上昇トレンドが始まる可能性があります。
このプロジェクトでは、そんな銘柄を自動で見つけるための 「ブレイクアウトスクリーナー」 をPythonで開発しました。
NYSE・日経225・ベトナム50など、複数市場を一括スキャンし、条件を満たした銘柄をリストアップ。さらに自動的にローソク足チャートを生成します。
🧠 システム概要
このプログラムは3つのPythonモジュールで構成されています。
| ファイル名 | 説明 |
|---|---|
test10.py |
コアロジック。Yahoo Financeからデータを取得し、ブレイクアウト条件を判定。 |
breakout.py |
コマンドラインから簡単にスクリーナーを実行できるCLIラッパー。 |
ui_breakout.py |
Tkinterを使ったGUI(グラフィカルインターフェース)。誰でも簡単に操作可能。 |
システム構成図
flowchart TD
A["ui_breakout.py (GUIインターフェース)"] --> B["breakout.py (CLIラッパー)"]
B --> C["test10.py (コアスクリーナー)"]
C --> D["Yahoo Finance API"]
C --> E["Chart Generator (Plotly HTML/PNG)"]
⚙️ 動作の仕組み
1️⃣ データ取得
各市場(NYSE・日経・ベトナムなど)の上位銘柄をリストアップし、過去3ヶ月の株価データをYahoo Financeから取得します。
2️⃣ スクリーニングロジック
取得したデータに以下の条件を適用します。
- 📊 直近の高値をブレイクしたか
- 🔊 平均出来高の1.5倍以上のボリュームがあるか
- 💧 一定の流動性を持つ銘柄か
- 📅 週足でもブレイクアウトを確認(オプション)
条件を満たした銘柄のみが「ブレイクアウト銘柄」として抽出されます。
if is_breakout(df_t,
lookback=lookback,
volume_mult=volume_mult,
min_margin=min_margin,
min_close_pct=min_close_pct,
weekly_confirm=weekly_confirm,
weekly_lookback=weekly_lookback):
results.append(t)
🌏 対応市場
このスクリーナーは世界各国の主要市場に対応しています。
- 🇺🇸 NYSE(ニューヨーク証券取引所)
- 🇯🇵 Nikkei 50(日経主要銘柄)
- 🇻🇳 Vietnam 50(ベトナム主要銘柄)
- 🇨🇳 SSE 50(上海上位銘柄)
- 🇭🇰 HSI 50(香港ハンセン指数)
- 🇪🇺 Euronext(ヨーロッパ市場)
- 🇺🇸 S&P 500 / 50
それぞれの市場でトップ銘柄を取得し、同一ロジックでスクリーニングを行います。
📊 自動チャート生成
抽出した銘柄ごとに、Plotlyを使用してローソク足チャートを自動生成します。
価格推移・出来高・直近高値の突破などが一目で分かるようになります。
コマンド例:
python breakout.py --markets nyse,nikkei50 --charts --chart-format html
生成結果:
charts/<market>/<ticker>.html
🖥️ GUIインターフェース
コマンドラインが苦手なユーザー向けに、TkinterベースのGUIも搭載。
複数市場のチェックボックス、パラメータ設定、ログ出力、チャートプレビューなどをGUIで操作できます。

✅ 複数市場を同時選択
✅ パラメータを自由に調整
✅ スキャン進行状況をリアルタイム表示
✅ 完了後にチャートを自動表示
🔧 使用例
python breakout.py \
--markets sp500,nyse \
--lookback 20 \
--volume-mult 1.8 \
--charts \
--weekly-confirm
出力例:
=========> NYSE breakouts: ['AAPL', 'NVDA', 'LMT']
=========> Nikkei50 breakouts: ['SONY', 'TOYOTA']
Saved 12 breakout chart(s) under 'charts/nyse/*.html'
💡 利用シーン
- スイングトレーダー:トレンド初動の銘柄を早期発見。
- システムトレーダー / Quant開発者:バックテストや自動売買に統合。
- 教育・分析用途:投資講座やリサーチでのビジュアル教材に最適。
🚀 今後の拡張予定
- RSIや移動平均線のフィルター追加
- Telegram / LINE 通知連携
- FastAPIによるWebダッシュボード化
- 自動バックテストとレポート出力
🧭 まとめ
このプロジェクトは、Python + yfinance + Plotly を使って本格的な株式スクリーナーを構築する好例です。
CLIとGUIの両方に対応し、世界各市場のブレイクアウト銘柄を自動で検出。
トレーダーが「次の波」に早く乗るための強力なツールです。
Get in Touch with us
Related Posts
- Agentic AI と MCP サーバー:インテリジェント・オートメーションの次なる進化
- Django + DRF + Docker + PostgreSQL を使った EC システムにおける DevOps の活用
- AIがアジャイル開発の課題をどのように解決するか
- TAKとWazuhを連携し、リアルタイムの脅威認識を実現する
- Wazuhによるマルチサイト・ネットワークセキュリティ監視のスケーリング
- なぜERPプロジェクトは失敗するのか ― 成功のための10のポイント
- テクノロジーで強いコミュニティをつくる方法
- AIがオープン動物園をもっと楽しく、スマートで学びのある場所に変える
- 工場スクラップのための最適なリサイクル工場を選ぶ方法
- 現代のデータベース技術を理解する — 最適なデータベースの選び方
- エッジが未来を変える — 2025年に知っておきたい Edge & Distributed Computing
- NVIDIAと2つの波:クリプトからAIへ ― バブルを乗りこなす芸術
- 手動からAI主導の航空電子メンテナンスへ
- Excelテンプレートから検査証明書を自動生成するシステム
- SimpliPOS(COFF POS):カフェのために設計されたシンプルで使いやすいPOSシステム
- Alpine.jsで作るローカルファーストWebアプリ — 高速・プライバシー重視・サーバーレス
- 🌍 Carbon Footprint Calculator(リサイクル版)— リサイクルによるCO₂削減量を見える化
- Recycle Factory Tools — リサイクル業務をもっとシンプルに
- ランニングフォーム・コーチ — メトロノーム/タッパー/ドリルタイマー/姿勢チェック
- カーボンクレジット計算ツールを作る方法













