Initial commit: quant backtesting framework with daily trading simulator

Backtesting engine supporting 11 strategies across US (S&P 500) and CN (CSI 300)
markets with open-to-close execution, proportional + fixed per-trade fees.

Daily trader (trader.py) with auto/morning/evening/simulate/status commands
and cron-friendly `auto` mode for unattended daily runs on a server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-05 00:41:19 +08:00
commit 42218741d4
23 changed files with 3136 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import pandas as pd
from strategies.base import Strategy
class BuyAndHoldStrategy(Strategy):
"""
A simple buy and hold strategy.
"""
def generate_signals(self, data):
"""
Generates equal weights for all assets.
"""
tickers = data.columns
weights = pd.DataFrame(1 / len(tickers), index=data.index, columns=tickers)
return weights