短期トレードにおける「買い時」を複数のテクニカル指標で総合的に判断するクロスプラットフォーム対応のデスクトップアプリケーションです。
- 🖥️ クロスプラットフォーム対応: Windows / macOS / Linux
- 📊 6種類のテクニカル指標による総合評価
- 🎯 0-6点のスコアリングシステムで買いシグナルを判定
- 📈 リアルタイムチャート表示(ローソク足、RSI、MACD、出来高)
- 🌐 銘柄スクレイピング機能(日経225/500、JPX400、S&P500)
- 📁 CSVインポート/エクスポート対応
| 指標 | シグナル条件 | 説明 |
|---|---|---|
| EMA乖離率 | 乖離率 ≤ -5% かつ反転 | 移動平均からの乖離と反転を検出 |
| RSI | RSI ≤ 30 かつ上昇転換 | 売られすぎからの反転を検出 |
| MACD | ゼロラインクロスまたはヒストグラム増加 | モメンタムの転換を検出 |
| 出来高 | 出来高 ≥ 平均×1.5 かつ陽線 | 出来高急増を検出 |
| ストキャスティクス | 売られすぎ水準でゴールデンクロス | オシレーターの転換を検出 |
| ADX | ADX ≥ 25 かつ +DI > -DI | トレンド強度と方向を検出 |
| スコア | 判定 | 表示色 |
|---|---|---|
| 5-6 | 強い買いシグナル | 🔴 赤 |
| 3-4 | 中程度の買いシグナル | 🟠 オレンジ |
| 1-2 | 弱い買いシグナル | 🟡 黄 |
| 0 | シグナルなし | ⚪ グレー |
- Python: 3.11 以上
- OS: Windows 10/11, macOS 12+, Linux (Ubuntu 20.04+)
- メモリ: 4GB 以上推奨
- TA-Lib: より高速なテクニカル指標計算(なくても動作可能)
git clone https://github.com/yourusername/kotegawa-method.git
cd kotegawa-method# Windows
python -m venv venv
venv\Scripts\activate
# macOS / Linux
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtmacOS
# Homebrewでインストール
brew install ta-lib
# Pythonパッケージをインストール
pip install TA-LibLinux (Ubuntu/Debian)
# 依存パッケージをインストール
sudo apt-get update
sudo apt-get install -y build-essential wget
# TA-Libをソースからビルド
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib/
./configure --prefix=/usr
make
sudo make install
cd ..
# Pythonパッケージをインストール
pip install TA-Libpython main.py-
銘柄の読み込み
📂 CSV読込ボタンでCSVファイルから読み込み🌐 スクレイピングボタンで日経225/S&P500などから取得
-
シグナル検出
- 銘柄読み込み後、自動的にシグナル検出が開始
🔄 更新ボタンで再検出
-
結果の確認
- テーブルのヘッダーをクリックでソート(数値列は数値順)
- 銘柄をクリックでチャート表示
🔍 フィルタでスコアや指標でフィルタリング
-
結果のエクスポート
💾 エクスポートでCSVファイルに保存
| キー | 機能 |
|---|---|
Ctrl+O (Cmd+O) |
CSVを開く |
Ctrl+E (Cmd+E) |
エクスポート |
Ctrl+F (Cmd+F) |
フィルタ |
Ctrl+, (Cmd+,) |
設定 |
F5 |
シグナル更新 |
入力CSVファイルは以下のカラムを含む必要があります(カラム名は柔軟に対応):
| カラム名(例) | 説明 | 必須 |
|---|---|---|
コード, code, symbol |
銘柄コード | ✅ |
銘柄名, name |
銘柄名 | ❌ |
業種, sector |
業種 | ❌ |
コード,銘柄名,業種
7203,トヨタ自動車,自動車
6758,ソニーG,電気機器
9984,ソフトバンクG,通信アプリケーションの設定は config.json で管理されます。
アプリ内の ⚙️ 設定 ダイアログからも変更可能です。
| カテゴリ | パラメータ | デフォルト値 | 説明 |
|---|---|---|---|
| EMA乖離率 | period | 25 | EMA期間 |
| buy_threshold | -5.0 | 買いシグナル閾値(%) | |
| RSI | period | 14 | RSI期間 |
| oversold_threshold | 30 | 売られすぎ閾値 | |
| overbought_threshold | 70 | 買われすぎ閾値 | |
| MACD | fast_period | 12 | 短期EMA期間 |
| slow_period | 26 | 長期EMA期間 | |
| signal_period | 9 | シグナル期間 | |
| 出来高 | period | 20 | 平均出来高期間 |
| surge_ratio | 1.5 | 急増判定倍率 | |
| ストキャスティクス | k_period | 14 | %K期間 |
| d_period | 3 | %D期間 | |
| oversold_threshold | 20 | 売られすぎ閾値 | |
| ADX | period | 14 | ADX期間 |
| trend_threshold | 25 | トレンド判定閾値 |
kotegawa-method/
├── main.py # アプリケーションエントリーポイント
├── config.json # 設定ファイル
├── requirements.txt # 依存パッケージ
├── README.md # このファイル
├── .gitignore # Git除外設定
├── docs/
│ └── requirements.md # 要件定義書
├── data/ # データベース(自動生成)
├── logs/ # ログファイル(自動生成)
└── src/
├── __init__.py
├── analysis/ # テクニカル分析
│ ├── indicators.py # 指標計算
│ └── signal_detector.py # シグナル検出
├── data/ # データ管理
│ ├── csv_loader.py # CSV読み込み
│ ├── scraper.py # Webスクレイピング
│ ├── stock_fetcher.py # 株価データ取得
│ └── database.py # SQLiteデータベース
├── ui/ # ユーザーインターフェース
│ ├── main_window.py # メインウィンドウ
│ ├── chart_widget.py # チャート表示
│ ├── settings_dialog.py # 設定ダイアログ
│ ├── filter_dialog.py # フィルタダイアログ
│ └── scraping_dialog.py # スクレイピングダイアログ
└── utils/ # ユーティリティ
├── logger.py # ログ管理
└── config_manager.py # 設定管理
# Xcodeコマンドラインツールをインストール
xcode-select --install
# PySide6を再インストール
pip uninstall PySide6 PySide6-Essentials PySide6-Addons
pip install PySide6日本語フォントがインストールされていることを確認してください:
- Windows: Yu Gothic, Meiryo(標準でインストール済み)
- macOS: Hiragino Sans(標準でインストール済み)
- Linux:
sudo apt-get install fonts-noto-cjk
サイトの構造変更やアクセス制限の可能性があります。 CSVファイルからの読み込みをお試しください。
ネットワーク接続を確認し、少し時間をおいてから再試行してください。
pytest tests/black src/
isort src/mypy src/MIT License - 詳細は LICENSE ファイルを参照してください。
- yfinance - 株価データ取得
- PySide6 - GUIフレームワーク
- TA-Lib - テクニカル指標計算
- Matplotlib - チャート描画