mcpField
S
setup

setup

github.com/marketcalls開発2152.0k 回インストール16 週間前に更新
リポジトリ

setup について

setupは、VectorBT + OpenAlgoを使うPythonバックテスト環境を構成するスキルです。仮想環境の作成、依存パッケージのインストール、市場データの設定、導入確認を順に進めます。

主な機能

  1. 01OSの検出
  2. 02Python仮想環境の作成
  3. 03バックテスト用依存パッケージの導入
  4. 04市場別のデータソース設定
  5. 05.envファイルの作成と保護
  6. 06インストールの確認

活用シーン

  1. 01VectorBT + OpenAlgoプロジェクトの初期設定
  2. 02インド、米国、暗号資産市場のデータ設定
  3. 03バックテスト用APIキーやDBパスの保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill setup

インストール後、Claude Code で/setupを入力して読み込まれたか確認します。

詳細

VectorBT + OpenAlgo 用の Python バックテスト環境を一式セットアップします。

引数

  • $0 = Python のバージョン(省略可、デフォルト:python3)。例:python3.12、python3.13

手順

ステップ 1:オペレーティングシステムの検出

次のコマンドを実行して OS を検出します:

uname -s 2>/dev/null || echo "Windows"

検出結果を次のように対応付けます:

  • Darwin = macOS
  • Linux = Linux
  • MINGW* または CYGWIN* または Windows = Windows

検出した OS をユーザーに表示します。

ステップ 2:仮想環境の作成

現在の作業ディレクトリに Python 仮想環境を作成します:

macOS / Linux:

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip

Windows:

python -m venv venv
venv\Scripts\activate
pip install --upgrade pip

ユーザーが Python のバージョン引数を指定した場合は、python3 の代わりにそのバージョンを使用します:

$PYTHON_VERSION -m venv venv
ステップ 3:TA-Lib のシステム依存関係(任意)

OpenAlgo ta(from openalgo import ta)は、このプロジェクトのデフォルトのインジケーターライブラリです。100 種類以上のインジケーターが含まれており、別途システム依存関係をインストールする必要はありません。 TA-Lib が必要なのは、特定のバックテストで「talib を使って」と指定できるようにしたい場合のみです。

AskUserQuestion を使ってユーザーに確認します:

  • 「バックテストで明示的に指定する場合に備えて、TA-Lib もインストールしますか?(任意 — OpenAlgo ta は同じインジケーターに加え、さらに 90 種類以上をカバーしています)」
    • はい、TA-Lib もインストールする
    • いいえ、スキップする(推奨 — 必要になったら後からインストールできます)

ユーザーがスキップする場合は、このステップ全体を省略し、ステップ 4 の pip install から ta-lib を除外します。インストールする場合、TA-Lib では pip install ta-lib の前に OS レベルで C ライブラリをインストールする必要があります。

macOS:

brew install ta-lib

Linux(Debian/Ubuntu):

sudo apt-get update
sudo apt-get install -y build-essential wget
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 ..
rm -rf ta-lib ta-lib-0.4.0-src.tar.gz

Linux(RHEL/CentOS/Fedora):

sudo yum groupinstall -y "Development Tools"
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 ..
rm -rf ta-lib ta-lib-0.4.0-src.tar.gz

Windows:

pip install ta-lib

失敗した場合は、https://github.com/cgohlke/talib-build/releases から適切な .whl ファイルをダウンロードして、次のコマンドでインストールします:

pip install TA_Lib-0.4.32-cp312-cp312-win_amd64.whl
ステップ 4:Python パッケージのインストール

必要なパッケージをすべてインストールします(最新バージョン)。ティアシートには QuantStats の代わりに openstatz を使用します。必ずインストールし、quantstats はインストールしないでください:

pip install openalgo vectorbt plotly anywidget nbformat pandas numpy yfinance python-dotenv tqdm scipy numba nbformat ipywidgets openstatz ccxt duckdb psutil

ステップ 3 で TA-Lib のインストールを選択した場合は、C ライブラリをインストールした後、このインストールコマンドに ta-lib を追加します。

ステップ 5:バックテスト用フォルダーの作成

最上位のバックテストディレクトリのみを作成します。戦略サブフォルダーは、バックテストスクリプトの生成時に /backtest スキルによって必要に応じて作成されます。

mkdir -p backtesting

戦略サブフォルダーを事前に作成しないでください。

ステップ 6:.env ファイルを設定する

6a. プロジェクトのルートに .env.sample があるか確認します。 ある場合は、テンプレートとして使用します。

6b. バックテストする市場を AskUserQuestion を使ってユーザーに確認します。

  • インド市場(OpenAlgo)— OpenAlgo API キーが必要です
  • インド市場(DuckDB)— データベースから直接読み込みます。API は不要です
  • 米国市場(yfinance)— API キーは不要です
  • 暗号資産市場(CCXT)— プライベートデータには任意で API キーが必要です

6c. ユーザーがインド市場を選択した場合、OpenAlgo API キーを尋ねます。

  • 「OpenAlgo API キーを入力してください(OpenAlgo ダッシュボードから取得できます):」と尋ねます
  • ユーザーがキーを入力した場合は、.env に保存します
  • ユーザーがスキップした場合は、プレースホルダーを記入します

6d. ユーザーがインド市場(DuckDB)を選択した場合、DuckDB データベースのパスを尋ねます。

  • 「DuckDB データベースファイルのパスを入力してください(例:D:/data/market_data.duckdb):」と尋ねます
  • 形式を自動検出します。データベースに symbol, exchange, interval, timestamp 列を持つ market_data テーブルがある場合は、OpenAlgo Historify 形式として扱い、HISTORIFY_DB_PATH に保存します。それ以外の場合は DUCKDB_PATH に保存します。
  • ユーザーが OpenAlgo Historify も利用している場合は、「これは OpenAlgo Historify データベースですか?(y/n)」と尋ねます

6e. ユーザーが暗号資産市場を選択した場合、取引所の API キーを設定するか尋ねます。

  • 「認証が必要なデータ用の取引所 API キーをお持ちですか?(任意 — キーがなくても公開 OHLCV データを利用できます)」と尋ねます
  • 「はい」の場合は、API キーとシークレットキーを尋ね、.env に保存します
  • 「いいえ」の場合は、.env では空欄のままにします

6f. プロジェクトのルートディレクトリに .env ファイルを作成します。 以下のテンプレートを使い、ユーザーが入力したキーやパスを反映します。

# Indian Markets (OpenAlgo)
OPENALGO_API_KEY={user_provided_key or "your_openalgo_api_key_here"}
OPENALGO_HOST=http://127.0.0.1:5000

# DuckDB Data Sources (direct database loading - fastest)
# Custom DuckDB (user-created with OHLCV table)
DUCKDB_PATH={user_provided_path or ""}
# OpenAlgo Historify DuckDB (market_data table with epoch timestamps)
HISTORIFY_DB_PATH={user_provided_path or ""}

# Crypto Markets (CCXT) - Optional
CRYPTO_API_KEY={user_provided_key or ""}
CRYPTO_SECRET_KEY={user_provided_key or ""}

6g. .gitignore が存在する場合は、.env を追加します(シークレットは絶対にコミットしないでください)。

スクリプトは find_dotenv() を使って親ディレクトリをたどり、ルートにある単一の .env を自動的に探すため、サブディレクトリにコピーを作成する必要はありません。

grep -qxF '.env' .gitignore 2>/dev/null || echo '.env' >> .gitignore
ステップ 7:インストールを検証する

簡単な検証を実行します。

python -c "
import vectorbt as vbt
from openalgo import ta
import plotly
import duckdb
import anywidget
import nbformat
import openstatz
from dotenv import load_dotenv
print('All packages installed successfully')
print(f'  vectorbt: {vbt.__version__}')
print(f'  plotly: {plotly.__version__}')
print(f'  duckdb: {duckdb.__version__}')
print(f'  nbformat: {nbformat.__version__}')
print(f'  openstatz: {openstatz.__version__}')
print(f'  OpenAlgo ta: available (default indicator library)')
print(f'  python-dotenv: available')
"

ユーザーが TA-Lib のインストールを選択している場合は、python -c "import talib; print('TA-Lib available')" でも検証します。このインポートに失敗した場合は、先に C ライブラリをインストールする必要があることをユーザーに伝えます(ステップ 3 を参照)。

ステップ 8:概要を表示する

以下を含む概要を表示します。

  • 検出された OS
  • 使用した Python バージョン
  • 仮想環境のパス
  • インストールされたパッケージとバージョン
  • 作成されたバックテスト用フォルダー(戦略のサブフォルダーは /backtest の実行時に作成されます)
  • .env ファイルの状態(キーを設定済み/プレースホルダー)— プロジェクトのルートにある単一のファイル
  • リマインダー:「設定をスキップした場合は、cp .env.sample .env を実行し、API キーを入力してください」

重要事項

  • パッケージをグローバルにインストールしないでください。必ず仮想環境を使用してください
  • Linux での TA-Lib C ライブラリのインストールには、管理者/sudo 権限が必要です
  • macOS では、brew install ta-lib を実行するために Homebrew が必要です
  • ユーザーがすでに仮想環境を利用している場合は、新しく作成する前に確認してください
  • 生成されたバックテストスクリプトはすべて backtesting/ フォルダーに保存されます
  • .env ファイルはシークレットを含むため、絶対にコミットしないでください。必ず .gitignore を使用してください。
  • セットアップ中にユーザーが API キーを入力した場合は、直接 .env に書き込んでください。手動でファイルを編集するよう求めないでください
  • python-dotenv は pip install に含まれており、すべてのスクリプトで .env の読み込みに使用する必要があります

コメント