トレーディング戦略のためのPythonバックテストライブラリ
Project description
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
Release history Release notifications | RSS feed
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.6.0.tar.gz
(390.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file backcastpro-0.6.0.tar.gz.
File metadata
- Download URL: backcastpro-0.6.0.tar.gz
- Upload date:
- Size: 390.3 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5920407a1b04c5f0897b1c93217ea21b93e8ecb0c0f1ca9f6cd840243d3ce45
|
|
| MD5 |
d207da4db722bc8fa4ac1b778db37d67
|
|
| BLAKE2b-256 |
e461949533163899d50a343dd2565197118e3c574de4fdc7dbb639d0b79d0757
|
File details
Details for the file backcastpro-0.6.0-py3-none-any.whl.
File metadata
- Download URL: backcastpro-0.6.0-py3-none-any.whl
- Upload date:
- Size: 70.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ed5aa4cc47391a67cd0d55db61550809fa91730d54ad0185e2aa3f14ad1f974
|
|
| MD5 |
e51ed19b679b1d83d00543686b5f794b
|
|
| BLAKE2b-256 |
8deba22690965d7eab192c0dd01aa360600e8049b3a314f51d3762660ff06b3e
|