import OptimizationFile import Date_Gen as dg import CovarianceCalc_updated import Read_Data as rd import TrendIndcatorCal import RegionalFactor import tvcw import calendar incep_date = pd.to_datetime('2014-05-20') data_incep_date = pd.to_datetime('2013-05-8') end_date = pd.to_datetime('2014-05-25') #calDate = pd.to_datetime('2014-05-16') #calDate = pd.to_datetime('2013-05-10') """Input Data""" df_input_px, df_input_div, df_reg_factor, df_descrip, df_tax, sr_trading_days = rd.read_data( data_incep_date, end_date) """Cleaning Data""" """ Cleaning data to replace nan with previous day value""" df_input_clean = df_input_px.fillna(method='pad') """reading long term Vol""" LongTermVol = np.transpose(np.array(df_descrip.loc[:, "Long_Term_Volatility"])) """reading Gap""" Gap = np.transpose(np.array(df_descrip.loc[:, "Gap"])) """reading max and minimum""" minWeight = df_descrip.loc[:, "MinWeight_EF"] maxWeight = df_descrip.loc[:, "MaxWeight_EF"] weigthTuple = [] for k in range(0, len(minWeight)): a = minWeight.iloc[k] b = maxWeight.iloc[k] weigthTuple.append((a, b))
import pandas as pd import numpy as np import Read_Data import datetime """ Defining BT period """ incep_date = pd.to_datetime('2011-01-05') #inceptiondate for index is fixed end_date = pd.to_datetime( input("Enter date in backtest end date in YYYY-MM-DD format: ") ) #Taking end date of BT from user next_opendate = pd.to_datetime( input("Enter date next Opendate in YYYY-MM-DD format: ")) print("Start and End Date defined") #printing status on console """Reading data""" df_input_px, df_mapping, df_rebal_details, df_input_CD, df_input_CAo = Read_Data.read_data( incep_date, end_date) """FX conversion methodology""" df_FX_conv_method = pd.DataFrame( columns=["FX", "Ticker", "Methodology", "Factor"]) df_FX_conv_method["FX"] = df_mapping["Currency"] df_FX_conv_method["Ticker"] = df_mapping["Ccy_mapping"] df_FX_conv_method.set_index("FX", inplace=True) df_FX_conv_method.drop_duplicates(inplace=True) for curncy in df_FX_conv_method.index: if curncy[-1].islower(): df_FX_conv_method.loc[curncy, "Factor"] = 100 else: df_FX_conv_method.loc[curncy, "Factor"] = 1 if df_FX_conv_method.loc[curncy, "Ticker"][:3] == "USD": df_FX_conv_method.loc[curncy, "Methodology"] = "inverse"