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
- 深層学習+ニュースセンチメントによる株価予測 – 実践ガイド
- AIでCOI業務を革新する:実際の工場ユースケース(Hybrid Rasa + LangChain)
- SimpliAgentic — 次世代の自律型スマートファクトリーがここから始まる
- なぜ「Android Internals(Androidの内部構造)」が重要なのか ― ビジネスを強化するハイバリューサービスとは
- なぜ企業は自社専用の EC システムを開発すべきなのか(レンタル型プラットフォームではなく)
- Upstream / Downstream / Fork を理解する:Android・Linux 開発者のための完全ガイド
- NVIDIA、Microsoft、OpenAI、Google、Oracle、そしてAMDはどのように“AIバブル”を形成しているのか?
- 不動産開発におけるディープラーニング
- コード修正・レガシーシステム保守サービス — Simplico がビジネスの安定運用を支えます
- Python Deep Learningによる工場自動化:完全ガイド(2025年最新版)
- 工場・製造業向け Python 開発&トレーニングサービス
- Python + Django がモダンな eコマース開発に最適な理由(完全ガイド + 料金プラン付き)
- 中国ビジネス戦略「三十六計」:中国企業の思考・競争・交渉術を理解するための現代版ガイド
- Training・Validation・Test を理解する
- ニューラルネットワークを深く理解する
- AIによる真贋判定システム:現代のリテールブランド向け最新ソリューション
- 永遠の知恵:実験物理学者のように「考える」ための本
- SimpliBreakout:世界市場対応のブレイクアウト&トレンドスクリーナー
- SimpliUni:大学生活をスマートにするキャンパスサービスアプリ
- Agentic AI と MCP サーバー:インテリジェント・オートメーションの次なる進化













