예제 #1
0
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.raw_factor_name = 'cne5_raw_beta'
        self.factor_name = 'cne5_normal_beta'
        self.raw_res_pct_factor_name = "cne5_raw_beta_res_pct"
예제 #2
0
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_liquidity'
        self.raw_factor_name_month = 'cne5_raw_liquidity_month'
        self.factor_name_month = 'cne5_normal_liquidity_month'
        self.raw_factor_name_quarter = 'cne5_raw_liquidity_quarter'
        self.factor_name_quarter = 'cne5_normal_liquidity_quarter'
        self.raw_factor_name_yearly = 'cne5_raw_liquidity_yearly'
        self.factor_name_yearly = 'cne5_normal_liquidity_yearly'
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_res_vol'
        self.raw_factor_name_std = 'cne5_raw_res_vol_std'
        self.factor_name_std = "cne5_normal_res_vol_std"
        self.raw_factor_name_range = 'cne5_raw_res_vol_cumulative_range'
        self.factor_name_range = 'cne5_normal_res_vol_cumulative_range'
        self.raw_factor_name_hsigma = 'cne5_raw_res_vol_hsigma'
        self.factor_name_hsigma = 'cne5_normal_res_vol_hsigma'
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_earning_yield'

        self.factor_name_predicted = 'cne5_normal_earning_yield_predicted'
        self.raw_factor_name_predicted = 'cne5_raw_earning_yield_predicted'
        self.factor_name_cash = 'cne5_normal_earning_yield_cash'
        self.raw_factor_name_cash = 'cne5_raw_earning_yield_cash'
        self.factor_name_trailing = 'cne5_normal_earning_yield_trailing'
        self.raw_factor_name_trailing = 'cne5_raw_earning_yield_trailing'
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_leverage'

        self.factor_name_debt_to_asset = 'cne5_normal_leverage_debt_to_asset'
        self.raw_factor_name_debt_to_asset = 'cne5_raw_leverage'
        self.factor_name_market_leverage = 'cne5_normal_leverage_market_leverage'
        self.raw_factor_name_market_leverage = 'cne5_raw_leverage_market_leverage'
        self.factor_name_book_leverage = 'cne5_normal_leverage_book_leverage'
        self.raw_factor_name_book_leverage = 'cne5_raw_leverage_book_leverage'
예제 #6
0
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_growth'
        self.factor_name_long_term = 'cne5_normal_growth_long_term_predicted_earnings'
        self.raw_factor_name_long_term = 'cne5_raw_growth_long_term_predicted_earnings'
        self.raw_factor_name_short_term = 'cne5_raw_growth_short_term_predicted_earnings'
        self.factor_name_short_term = 'cne5_normal_growth_short_term_predicted_earning'
        self.raw_factor_name_5y_profit = 'cne5_raw_growth_5year_profit'
        self.factor_name_5y_profit = 'cne5_normal_growth_5year_profit'
        self.raw_factor_name_5y_sale = 'cne5_raw_growth_5year_sale'
        self.factor_name_5y_sale = 'cne5_normal_growth_5year_sale'
예제 #7
0
    def cal_and_mail(self):
        """ 计算、压缩、发送邮件 """

        factor_name = "risk_raw_fund_etf_holder"
        today = datetime.today().strftime("%Y%m%d")
        beg_date = Date().get_trade_date_offset(today, -12)
        RiskFactorFundETFHolder().update_data(beg_date, today)
        RiskFactorFundETFHolder().cal_factor_exposure(beg_date, today)
        RiskFactor().generate_patch_file(factor_name, beg_date, today)

        path = RiskFactor().exposure_txt_path
        sub_path = os.path.join(path, factor_name)
        zip_file = os.path.join(path, "Risk_Factor.rar")
        ZipFile().zip_folder(sub_path, zip_file)

        email = EmailSender()
        email.attach_file(zip_file)
        sender_mail_name = "*****@*****.**"
        receivers_mail_name = [
            "*****@*****.**", "*****@*****.**"
        ]
        email.send_mail_mfcteda(sender_mail_name, receivers_mail_name, [],
                                "Risk_Factor")
        os.remove(zip_file)
예제 #8
0
    def get_data_all(self, risk_model_name):
        """ 得到所有需要的数据 """

        self.set_model_name(risk_model_name)
        self.style_factor_name = self.get_risk_factor_list()
        self.industry_factor_name = Stock().get_industry_citic1_en_name()
        self.pct_chg = Stock().read_factor_h5("Pct_chg")
        self.free_mv_data = Stock().read_factor_h5(
            "Mkt_freeshares") / 100000000.0
        self.trade_status = Stock().read_factor_h5("TradingStatus")
        self.industry = Stock().read_factor_h5("industry_citic1")
        self.style_factor_data = pd.Panel()

        for i_style in range(len(self.style_factor_name)):

            factor_name = self.style_factor_name[i_style]
            data = RiskFactor().get_risk_factor_exposure(factor_name)
            self.style_factor_data = pd.concat([self.style_factor_data, data],
                                               axis=0)

        self.style_factor_data.items = self.style_factor_name
예제 #9
0
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.factor_name = 'cne5_normal_cube_size'
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.raw_factor_name = 'cne5_raw_momentum'
        self.factor_name = 'cne5_normal_momentum'
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.raw_factor_name = 'risk_raw_fund_etf_holder'
        self.factor_name = 'risk_normal_fund_etf_holder'
예제 #12
0
    def __init__(self):

        RiskFactor.__init__(self)
        self.exposure_path = self.data_path
        self.raw_factor_name = 'risk_raw_gem'