Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
        '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, :],
Exemplo n.º 7
0
 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
Exemplo n.º 8
0
    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