Skip to content

About

小手川隆さんの使っていた手法をプログラムで自動化

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Kotegawa Method - 短期トレードシグナル検知アプリ

Python PySide6 License Platform

短期トレードにおける「買い時」を複数のテクニカル指標で総合的に判断するクロスプラットフォーム対応のデスクトップアプリケーションです。

特徴

  • 🖥️ クロスプラットフォーム対応: Windows / macOS / Linux
  • 📊 6種類のテクニカル指標による総合評価
  • 🎯 0-6点のスコアリングシステムで買いシグナルを判定
  • 📈 リアルタイムチャート表示(ローソク足、RSI、MACD、出来高)
  • 🌐 銘柄スクレイピング機能(日経225/500、JPX400、S&P500)
  • 📁 CSVインポート/エクスポート対応

テクニカル指標(6種類)

指標 シグナル条件 説明
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: より高速なテクニカル指標計算(なくても動作可能)

インストール

1. リポジトリのクローン

git clone https://github.com/yourusername/kotegawa-method.git
cd kotegawa-method

2. 仮想環境の作成(推奨)

# Windows
python -m venv venv
venv\Scripts\activate

# macOS / Linux
python3 -m venv venv
source venv/bin/activate

3. 依存パッケージのインストール

pip install -r requirements.txt

4. TA-Libのインストール(オプション)

Windows
  1. TA-Lib バイナリ から適切なwhlファイルをダウンロード
  2. インストール:
pip install TA_Lib-0.4.28-cp311-cp311-win_amd64.whl
macOS
# Homebrewでインストール
brew install ta-lib

# Pythonパッケージをインストール
pip install TA-Lib
Linux (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-Lib

使用方法

アプリケーションの起動

python main.py

基本操作フロー

  1. 銘柄の読み込み

    • 📂 CSV読込 ボタンでCSVファイルから読み込み
    • 🌐 スクレイピング ボタンで日経225/S&P500などから取得
  2. シグナル検出

    • 銘柄読み込み後、自動的にシグナル検出が開始
    • 🔄 更新 ボタンで再検出
  3. 結果の確認

    • テーブルのヘッダーをクリックでソート(数値列は数値順)
    • 銘柄をクリックでチャート表示
    • 🔍 フィルタ でスコアや指標でフィルタリング
  4. 結果のエクスポート

    • 💾 エクスポート でCSVファイルに保存

キーボードショートカット

キー 機能
Ctrl+O (Cmd+O) CSVを開く
Ctrl+E (Cmd+E) エクスポート
Ctrl+F (Cmd+F) フィルタ
Ctrl+, (Cmd+,) 設定
F5 シグナル更新

CSVファイルフォーマット

入力CSVファイルは以下のカラムを含む必要があります(カラム名は柔軟に対応):

カラム名(例) 説明 必須
コード, code, symbol 銘柄コード ✅
銘柄名, name 銘柄名 ❌
業種, sector 業種 ❌

サンプルCSV

コード,銘柄名,業種
7203,トヨタ自動車,自動車
6758,ソニーG,電気機器
9984,ソフトバンクG,通信

設定

config.json

アプリケーションの設定は 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  # 設定管理

トラブルシューティング

macOSでアプリが起動しない

# 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ファイルからの読み込みをお試しください。

yfinanceでデータ取得エラー

ネットワーク接続を確認し、少し時間をおいてから再試行してください。

開発

テストの実行

pytest tests/

コードフォーマット

black src/
isort src/

型チェック

mypy src/

ライセンス

MIT License - 詳細は LICENSE ファイルを参照してください。

免責事項

⚠️ 重要: 本アプリケーションは投資助言を目的としたものではありません。 投資判断は自己責任で行ってください。 株価データは yfinance APIを使用して取得しています。

謝辞

About

小手川隆さんの使っていた手法をプログラムで自動化

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages