def data_get(self): self.Price, \ self.LimitStatus, \ self.Status, \ self.listDateNum, \ self.Industry, \ self.Size \ = basic_data(para) self.ROA_,\ self.CFO_, \ self.Accrual_, \ self.ROA_VAR, \ self.Sales_G_TTM_VAR, \ self.RD_MV_, \ self.Sales_MV_, \ self.Expenditure_MV_\ = data_initial_G(para) self.Expenditure_MV_ = stock_dif(self.Expenditure_MV_, self.LimitStatus) self.RD_MV_ = stock_dif(self.RD_MV_, self.LimitStatus) self.Sales_MV_ = stock_dif(self.Sales_MV_, self.LimitStatus) self.Expenditure_MV_ = self.Expenditure_MV_.iloc[ para.backtestwindow:, :] self.RD_MV_ = self.RD_MV_.iloc[para.backtestwindow:, :] self.Sales_MV_ = self.Sales_MV_.iloc[para.backtestwindow:, :] return
def __init__(self): self.tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') # get basid data from function basic_data self.Price, \ self.LimitStatus, \ self.Status, \ self.listDateNum, \ self.Industry, \ self.Size = basic_data(para) pass
def __init__(self, para): # get trading date list as monthly frequancy self.tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') self.Price, self.LimitStatus, self.Status, self.listDateNum, self.Industry, self.Size = basic_data( para) Factor = pd.read_csv(para.data_path + para.factor + '.csv', index_col=0) self.Factor = stock_dif(Factor, self.LimitStatus) self.df = pd.read_csv(para.data_path + 'mean_industry_index.csv', index_col=0) pass
def __init__(self, para): # get trading date list as monthly frequancy self.tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') DATA = loadData(para.factor) Factor = DATA.BasicDailyFactorAlpha.loc[para.startDate:para.endDate, :] self.Price, self.LimitStatus, self.Status, self.listDateNum, self.Industry, self.Size = basic_data( para) self.Factor = stock_dif(Factor, self.LimitStatus) # self.Factor = pd.read_csv(para.result_path+'等权重_Factor.csv',index_col=0) pass
def __init__(self): self.tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') Factor = loadData(para = para.factor).BasicDailyFactorAlpha.loc[para.startDate:para.endDate, :] self.Factor2 = pd.read_csv(para.result_path+'_'+para.factor2+'.csv',index_col=0) self.Price, self.LimitStatus, self.Status, self.listDateNum, self.Industry, self.Size = basic_data(para) self.Factor = stock_dif(Factor, self.LimitStatus) self.Factor.index = self.LimitStatus.index.copy() # self.Factor2 = stock_dif(Factor2, self.LimitStatus) # self.Factor2.index = self.LimitStatus.index.copy() # _, self.Factor2 = Gmain().every_month() # self.Factor2.columns = self.LimitStatus.columns.copy() pass
'STD_1Y_Excess', 'STD_3M', 'STD_3M_Excess', 'STD_6M', 'STD_6M_Excess' ] pass para = Para() tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') Price, LimitStatus, Status, listDateNum, Industry, Size = basic_data(para) Factor = pd.DataFrame() WIC = [] IC = [] IC_list = [] for i, currentDate in enumerate(tqdm(tradingDateList[:-1])): lastDate = tradingDateList[tradingDateList.index(currentDate) - 1] if para.ret_calMethod == '对数': ret = np.log(Price.loc[currentDate, :] / Price.loc[lastDate, :]) elif para.ret_calMethod == '简单': ret = Price.loc[currentDate, :] / Price.loc[lastDate, :] - 1 dataFrame = pd.concat([ ret, LimitStatus.loc[currentDate, :], Status.loc[currentDate, :], listDateNum.loc[currentDate, :], Industry.loc[currentDate, :],
def data_get(self): self.ROA_, self.CFO_, self.GROAQ_, self.Accrual_, \ self.delta_BLEV_, self.delta_CurrentRatio_, self.EG_OFFER, self.delta_GrossProfitMargin_, \ self.delta_AssetsTurn_\ = data_initial_F(para) self.Price, self.LimitStatus, self.Status, self.listDateNum, self.Industry, self.Size = basic_data( para) return
def __init__(self, para): # get trading date list as monthly frequancy self.tradingDateList = getTradingDateFromJY(para.startDate, para.endDate, ifTrade=True, Period='M') self.Price, self.LimitStatus, self.Status, self.listDateNum, self.Industry, self.Size = basic_data( para) # self.Factor = pd.read_excel(para.data_path + para.factor + '.xlsx',index_col = 0).T Factor = pd.read_csv(para.data_path + para.factor + '.csv', index_col=0) self.Factor = stock_dif(Factor, self.LimitStatus) # self.Factor = Factor.loc[para.startDate:para.endDate, :] # self.Factor.index = self.LimitStatus.index.copy() # Factor.index.astype('str') # Factor.index = pd.to_datetime(Factor.index, format='%Y%m%d') # self.Price = stock_dif(self.Price,self.Factor) # self.LimitStatus = stock_dif(self.LimitStatus, self.Factor) # self.Status = stock_dif(self.Status, self.Factor) # self.listDateNum = stock_dif(self.listDateNum, self.Factor) # self.Industry = stock_dif(self.Industry, self.Factor) # self.Size = stock_dif(self.Size, self.Factor) # self.Factor.index = self.LimitStatus.index pass