はじめに
相場が目まぐるしく動く現代では、「ブレイクアウトの瞬間を見逃さない」 ことが重要です。
SimpliBreakout は、テクニカルトレーダーや開発者向けに設計されたPythonベースの分析ツール群で、
世界中の主要株式市場を横断して「ブレイクアウト」「トレンド転換」「リテスト」銘柄をスクリーニングできます。
また、Plotlyによるインタラクティブなチャート表示 や、Ollama AIによるニュース・感情分析 にも対応しています。
コアスキャナー:test10.py
SimpliBreakoutの中心となるのが、test10.py です。
このスクリプトは yfinance API からOHLCVデータを取得し、ボリュームや終値比率、ボラティリティなどを分析して、
ブレイクアウトまたはブレイクアウト直前の銘柄 を特定します。
主な特徴
- 検出モード: ブレイクアウト、ニアブレイクアウト、コンソリデーション事前検出
- 指標: RSI、EMA、ATR、日次上昇率制限
- 対応市場: Euronext、SET50/100、SSE50、NYSE、NASDAQ、S&P500、HSI、STI、Nikkei、Taiwan50、Vietnam50など
- チャート出力: HTML/PNG形式のPlotlyグラフ。RSI・EMA・トレンドライン・ニュース注釈を自動表示
- AI連携: OllamaローカルAIによるニュース感情スコアリングと噂分析
シンプルなAPI/CLIラッパー:breakout.py
開発者向けには、より簡潔に呼び出せるラッパー breakout.py を用意。
run_breakout(...) APIを通じて、複数のオプションを統一的に扱うことができます。
使用例
python breakout.py --markets sp500,nyse --charts --weekly-confirm
このコマンドは、S&P500およびNYSE銘柄を週次でブレイクアウト確認し、
HTMLチャートを自動生成します。
トレンド・クロスオーバー検出:trends.py
モメンタム投資家に最適なモジュールが trends.py です。
トレンド整合(EMA上昇)やEMAクロスオーバーを利用して、強い上昇銘柄を選別します。
- トレンドモード: EMA(短期) > EMA(長期) 両方上昇中、価格も短期EMAより上
- クロスオーバーモード: 指定期間内に短期EMAが長期EMAを上抜け
- オプション: RSI下限、流動性フィルター、ニュース感情補強
- 結果: RSI・EMA・ニュース付きのPlotlyチャートを自動生成
レジスタンステスト分析:retest.py
多くのブレイクアウトは「何度もレジスタンスを試す」動きの後に発生します。
retest.py はこのパターンを捉えるために設計されました。
主な機能
- リテスト回数・期間・許容誤差の指定
- ボリューム上昇・高値切り上げパターンの検出
- ブレイクアウト確定の有無も設定可能
- 生成チャートにはRSI・EMA・トレンドライン・ニュースを重ねて表示
ピア比較モジュール:compare_peers.py
銘柄単体ではなく「業界内での立ち位置」を知りたい場合、
compare_peers.py が役立ちます。
分析内容
- 指標:時価総額、EV/EBITDA、EV/Sales、マージン(粗利・営業・純利益)、6ヶ月/12ヶ月リターン
-
グラフ出力:
- EV/Sales vs Gross Margin
- EV/EBITDA vs Operating Margin
- 同業銘柄と比較し、自社銘柄をハイライト表示
デスクトップUI:ui_breakout.py
コマンドラインに不慣れなユーザー向けに、TkinterベースのGUI も搭載。
市場・フィルター・インジケータ・ニュース設定などをGUI上で指定し、
リアルタイムログを見ながらスキャンを実行できます。
キャンセルも簡単で、結果チャートは自動で開きます。
共通仕様と環境変数
SimpliBreakoutの各モジュールは共通設計で連携可能です。
- 市場プール: 主要インデックスまたはyfinance上位銘柄を自動取得
- 出力パス:
charts/<Market>/<TICKER>.htmlまたは.png -
環境変数:
NEWS_SENTIMENT=1→ 感情分析を有効化OLLAMA_MODEL→ 使用するローカルAIモデルを指定OLLAMA_PROMPT→ AIへのプロンプトを設定
- デバッグモード:
--debugで詳細ログを出力
クイック実行例
# ブレイクアウトスキャン
python test10.py --markets sp50 --charts
# ラッパー経由
python breakout.py --markets sp500,nyse --charts --weekly-confirm
# トレンド検出
python trends.py --markets sp500 --crossover --cross-lookback 5 --charts
# リテスト検出
python retest.py --markets sp50 --min-touches 3 --charts
# ピア比較
python compare_peers.py --ticker NVDA --charts
まとめ
SimpliBreakout は、テクニカル分析・AIニュース解析・マルチマーケットデータを融合した革新的なPythonツールです。
テクニカル派トレーダー、クオンツ開発者、または独自の自動戦略を構築したいエンジニアにとって、
SimpliBreakoutは「相場の動きを先読みするための知的インフラ」となるでしょう。
