Skip to main content

トレーディング戦略のためのPythonバックテストライブラリ

Project description

BackcastPro Logo BackcastPro

トレーディング戦略のためのPythonバックテストライブラリ。 リプレイ型シミュレーターで、1バーずつ時間を進めながらチャートと売買を可視化できます。

インストール(Windows)

PyPIから(エンドユーザー向け)

python -m pip install BackcastPro

開発用インストール

git clone <repository-url>
cd BackcastPro
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .

使用方法

基本的な使い方

from BackcastPro import Backtest
import pandas as pd

# データ準備
df = pd.read_csv("AAPL.csv", index_col=0, parse_dates=True)
bt = Backtest(data={"AAPL": df}, cash=100000)

# 戦略関数
def my_strategy(bt):
    if bt.position == 0:
        bt.buy(tag="entry")
    elif bt.position > 0:
        bt.sell(tag="exit")

# ステップ実行
while not bt.is_finished:
    my_strategy(bt)
    bt.step()

# 結果を取得
results = bt.finalize()
print(results)

一括実行

bt = Backtest(data={"AAPL": df}, cash=100000)
bt.set_strategy(my_strategy)
results = bt.run()

marimo連携(リプレイ型シミュレーター)

import marimo as mo

slider = mo.ui.slider(start=1, stop=len(bt.index), value=1, label="時間")
bt.goto(slider.value, strategy=my_strategy)

state = bt.get_state_snapshot()
info = mo.md(f"資産: ¥{state['equity']:,.0f} / 進捗: {state['progress'] * 100:.1f}%")

mo.vstack([slider, info])

ドキュメント

バグ報告 / サポート

  • バグ報告や要望は GitHub Issues へ
  • 質問は Discord コミュニティへ(招待リンク
  • 使い方はドキュメントをご参照ください

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backcastpro-0.5.0.tar.gz (337.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

backcastpro-0.5.0-py3-none-any.whl (74.3 kB view details)

Uploaded Python 3

File details

Details for the file backcastpro-0.5.0.tar.gz.

File metadata

  • Download URL: backcastpro-0.5.0.tar.gz
  • Upload date:
  • Size: 337.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for backcastpro-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e3f9fd577a91a13593e28663ffcfba90b43df2c1fecb0e304bed8eb19550e1a6
MD5 3726f10ffa528e847db12667ab49b0c4
BLAKE2b-256 e53e94ffec80ff10fe85bca1ff331b8f1e9148fa4b7fff86a201e6347fc69b63

See more details on using hashes here.

File details

Details for the file backcastpro-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: backcastpro-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 74.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for backcastpro-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a06bac793a702f2bf88cbe49cff8b87e8e312dc1b01a1c2a1e0cec361a28ffa7
MD5 ba86a861203b9fc2e28cf26b0013c7ed
BLAKE2b-256 ee818a81581b1a68f90e580834a2e24b9b10d10d69653de062d1ea679ee8dbae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page