import os
import time
import json
from functools import reduce
import zipfile as zf

import psutil
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

from opt_utils import * 
from opt_fe import * 

dart_175_models_path = '../input/opt-train-dart-op-175-fold-0'

tar = pd.read_csv('../input/optiver-realized-volatility-prediction/train.csv').target
oof_dart_175 = np.load(f'{dart_175_models_path}/oof_predictions.npy')

def add_feat(train): 
    train['real_vol_ratio_5_10'] = (train[[f'real_vol_min_{i}' for i in range(1, 6)]].sum(axis=1) / train[[f'real_vol_min_{i}' for i in range(6, 11)]].sum(axis=1)).clip(0, 100)
    return train

with open(f'{dart_175_models_path}/cfg.json', 'r') as f: 
    cfg = json.load(f)
    
cfg['path_models'] = dart_175_models_path
cfg['preprocessor_func'] = [p13, add_feat]
cfg["rerun"] = False
cfg["use_all"] = False
make_submission(cfg)