feat: dump alpha values + daily PnL as parquet (pyarrow)
This commit is contained in:
+9
-3
@@ -11,7 +11,7 @@ import logging
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from analysis.report import generate_report
|
||||
from analysis.report import dump_daily_pnl, dump_signals, generate_report
|
||||
from backtest.config import BacktestConfig
|
||||
from backtest.runner import BacktestRunner
|
||||
from data.downloader import download_batch
|
||||
@@ -36,7 +36,8 @@ def _forward_returns(data: dict[str, pd.DataFrame], horizon: int) -> pd.DataFram
|
||||
return pd.DataFrame(forward_returns)
|
||||
|
||||
|
||||
def main(forward_horizon: int = 5, universe: str = "csi500", signal_name: str = "reversal_vol"):
|
||||
def main(forward_horizon: int = 5, universe: str = "csi500", signal_name: str = "reversal_vol",
|
||||
dump_dir: str = "results/"):
|
||||
universes = {"hs300": SYMBOLS, "csi500": CSI500_SYMBOLS}
|
||||
symbols = universes.get(universe, CSI500_SYMBOLS)[:30]
|
||||
|
||||
@@ -97,6 +98,10 @@ def main(forward_horizon: int = 5, universe: str = "csi500", signal_name: str =
|
||||
results, signal_eval, output_dir="reports/", initial_cash=initial_cash
|
||||
)
|
||||
|
||||
# 7b. Dump signals and daily PnL.
|
||||
dump_signals(signals_df, dump_dir)
|
||||
dump_daily_pnl(results, dump_dir, initial_cash=initial_cash)
|
||||
|
||||
# 8. Print summary.
|
||||
print("\nSIGNAL IC")
|
||||
print("=" * 50)
|
||||
@@ -122,5 +127,6 @@ if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="Chinese equity quant backtest")
|
||||
parser.add_argument("--universe", default="csi500", choices=["hs300", "csi500"])
|
||||
parser.add_argument("--signal", default="reversal_vol", choices=["reversal", "reversal_vol"])
|
||||
parser.add_argument("--dump-dir", default="results/")
|
||||
args = parser.parse_args()
|
||||
main(universe=args.universe, signal_name=args.signal)
|
||||
main(universe=args.universe, signal_name=args.signal, dump_dir=args.dump_dir)
|
||||
|
||||
Reference in New Issue
Block a user