import pandas as pd
from pathlib import Path
import sys

BASE_PATH = Path(__file__).resolve().parents[2]
SRC_PATH = BASE_PATH / "src"

if str(SRC_PATH) not in sys.path:
    sys.path.append(str(SRC_PATH))

from features.spot_lag_v3 import get_model_ready_spot_lag_v3


def run_test():

    df = get_model_ready_spot_lag_v3().copy()

    horizons = [4, 8, 12, 24, 48]

    for h in horizons:
        df[f"fwd_{h}h"] = df["close"].shift(-h) / df["close"] - 1

    df = df.dropna()

    print("\nAverage return by signal direction:\n")

    for h in horizons:

        long_ret = df[df["signal_direction_v3"] == 1][f"fwd_{h}h"].mean()
        short_ret = -df[df["signal_direction_v3"] == -1][f"fwd_{h}h"].mean()

        print(f"{h}h horizon:")
        print("long avg return :", long_ret)
        print("short avg return:", short_ret)
        print("")

if __name__ == "__main__":
    run_test()