Exemplo n.º 1
0
    def __init__(self, port_name):

        Data.__init__(self)
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor
        self.port_name = '天风股票基金'
Exemplo n.º 2
0
    def __init__(self,
                 fund_pool_name="指数+主动股票+灵活配置60基金",
                 benchmark_name="基金持仓基准基金池",
                 alpha_len=750,
                 alpha_column="RegressAlphaIR",
                 port_name="股票型基金优选750AlphaIR",
                 style_deviate=0.10,
                 position_deviate=0.02,
                 fund_up_ratio=0.15,
                 turnover=0.30
                 ):

        Data.__init__(self)
        self.sub_data_path = r'fund_data\nice_stock_fund'
        self.port_name = port_name
        self.fund_pool_name = fund_pool_name
        self.benchmark_name = benchmark_name

        self.alpha_len = alpha_len
        self.setup_date_len = self.alpha_len + 50
        self.style_deviate = style_deviate
        self.position_deviate = position_deviate
        self.fund_up_ratio = fund_up_ratio
        self.turnover = turnover  # double
        self.alpha_column = alpha_column

        self.data_path = os.path.join(self.primary_data_path, self.sub_data_path, self.port_name)
        self.port_path = os.path.join(WindPortUpLoad().path, self.port_name)
        if not os.path.exists(self.port_path):
            os.makedirs(self.port_path)
        if not os.path.exists(self.data_path):
            os.makedirs(self.data_path)
Exemplo n.º 3
0
    def __init__(self):
        """ 宏观数据的下载 和获取 """

        Data.__init__(self)
        self.sub_data_path = r'macro_data\data'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
Exemplo n.º 4
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'barra_data'
        self.load_from_path = "\\\\10.3.12.202\\fe\\risk_model\\"
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
Exemplo n.º 5
0
    def __init__(self):
        """
        优化函数母类
        主要是共同的取数据函数
        """

        Data.__init__(self)

        self.port_name = ""
        self.benchmark_code = ""
        self.stock_pool_name = ""

        self.industry_deviate = ""
        self.style_deviate = ""
        self.stock_deviate = ""
        self.double_turnover = ""
        self.min_tor = 0.001  # 权重最小容忍值
        self.style_columns = []
        self.weight_sum = 0.95
        self.track_error = 0.05

        self.free_mv = None
        self.trading_status = None
        self.alpha_data = None
        self.date_series = None
        self.wind_port_path = WindPortUpLoad().path
Exemplo n.º 6
0
    def __init__(self, folder_name="SizeIndex", index_code_list=None):
        """ 可以修改回归的指数列表 和文件夹的名称 """

        Data.__init__(self)
        self.folder_name = folder_name
        self.sub_data_path = r'fund_data\fund_exposure\fund_regression_exposure_index'
        self.file_prefix = "IndexExposure"
        self.index_exposure_path = os.path.join(self.primary_data_path,
                                                self.sub_data_path,
                                                self.folder_name)
        if not os.path.exists(self.index_exposure_path):
            os.makedirs(self.index_exposure_path)

        if index_code_list is None:
            self.index_code_list = [
                "885062.WI", "885008.WI", "801853.SI", "000300.SH",
                "000905.SH", "000852.SH", "399006.SZ", "399005.SZ"
            ]
        else:
            self.index_code_list = index_code_list

        # 默认参数
        self.regression_period = 20
        self.regression_period_min = 15
        self.turnover = 0.03
        self.asset_pct = ""
Exemplo n.º 7
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'stock_data\risk_model\model'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.model_performance_path = os.path.join(
            self.primary_data_path, r'stock_data\risk_model\model_performance')
        self.model_path = ""
        self.risk_model_name = ""
        self.exposure_path = ""
        self.factor_return_path = ""
        self.res_return_path = ""
        self.factor_cov_path = ""
        self.stock_res_cov_path = ""
        self.stock_cov_path = ""

        self.pct_chg = None
        self.free_mv_data = None
        self.trade_status = None
        self.industry = None
        self.style_factor_name = None
        self.change_style_factor_name = None
        self.style_factor_data = None
        self.industry_factor_name = None
        self.date_series = None
Exemplo n.º 8
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'mfcteda_data\fund_report\quarter_report'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.network_path = r'\\10.1.0.7\rd\※※金融工程部数据产品※※\# 基金季报月报\基金季报'
Exemplo n.º 9
0
    def __init__(self):
        """ 初始化 """

        Data.__init__(self)
        self.sub_data_path = r'mfcteda_data\attribution'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)

        self.double_fee_ratio = 0.001 + 0.0008 * 2  # 印花税 + 交易佣金
        self.mg_fee_ratio = (1.2 / 100 + 0.2 / 100) / 250.0  # 管理费
        self.index_code_ratio = 0.95
        self.index_code = ""

        self.fund_code = ""
        self.fund_name = ""
        self.type = ""

        self.beg_date = ""
        self.end_date = ""
        self.beg_date_pre = ""
        self.period_name = ""

        self.close_unadjust = None
        self.adjust_factor = None
        self.data = None
        self.ipo_days = 40
        self.ipo_data = Stock().get_ipo_date()
        self.ipo_data.columns = ['IpoDate', 'DeListDate']
        self.ipo_data = pd.DataFrame(self.ipo_data['IpoDate'])
Exemplo n.º 10
0
    def __init__(self):
        """ 数据存储位置 """

        Data.__init__(self)
        self.sub_data_path = r"index_data\timing"
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
Exemplo n.º 11
0
    def __init__(self,
                 regress_length=25,
                 regress_length_min=20,
                 stock_ratio_up=0.95,
                 stock_ratio_low=0.60,
                 turnover_daily=0.035,
                 index_code_list=None):

        Data.__init__(self)
        self.data_path = os.path.join(self.primary_data_path,
                                      r'fund_data\fund_stock_style_ratio')
        index_close = Index().get_index_cross_factor(factor_name='CLOSE')
        index_pct = index_close.pct_change() * 100
        fund_return = FundFactor().get_fund_factor("Repair_Nav_Pct")
        self.data_return = pd.concat([index_pct, fund_return], axis=1)

        self.regress_length = regress_length
        self.regress_length_min = regress_length_min
        self.stock_ratio_up = stock_ratio_up
        self.stock_ratio_low = stock_ratio_low
        self.turnover_daily = turnover_daily

        if index_code_list is None:
            # 需要有债券指数 来测量股债仓位
            self.index_code_list = [
                "885062.WI", "801853.SI", "000300.SH", "000905.SH",
                "000852.SH", "399006.SZ"
            ]
            self.index_name_list = [
                '短期纯债基金', '绩优股指数', '沪深300', '中证500', '中证1000', '创业板指'
            ]
        else:
            self.index_code_list = index_code_list
Exemplo n.º 12
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'mfcteda_data'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.ftp_path = r'\holdingdata'
        self.network_path = r'\\10.1.0.7\内外网文档交换\内网转外网\金融工程部\窦福成\holdingdata'
Exemplo n.º 13
0
 def __init__(self):
     """ 数据存储位置 """
     Data.__init__(self)
     self.port_name = "ZZ500_3Factor"
     self.wind_port_path = WindPortUpLoad().path
     self.data_weight_path = Index().data_path_weight
     self.data_factor_path = Index().data_data_factor
     self.beg_date = "20170301"
Exemplo n.º 14
0
    def __init__(self):

        Data.__init__(self)
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor
        self.port_name = '天风股票基金'
        self.fund_index_code = "885000.WI"
Exemplo n.º 15
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'fund_data\nice_index_fund'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.data_min_length = 200  # 最短有效数据长度
        self.data_length = 250
Exemplo n.º 16
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'fund_data\fund_holding_data\fund_holding_quarter_simulation'
        self.data_path_holder_simulate = os.path.join(self.primary_data_path,
                                                      self.sub_data_path)
        self.industry_data = None
        self.stock_data = None
Exemplo n.º 17
0
    def __init__(self):

        # 和FundFactor的路径一样 读取也利用FundFactor

        Data.__init__(self)
        self.sub_data_path = r'fund_data\fund_factor_data'
        self.data_path_holder_factor = os.path.join(self.primary_data_path,
                                                    self.sub_data_path)
Exemplo n.º 18
0
    def __init__(self):

        """ 初始化数据存储位置和参数 """

        Data.__init__(self)
        self.sub_data_path = 'mfcteda_data\cal_ipo_sell'
        self.ftp_path = "\\ipo_stock_sell\\"
        self.data_path = os.path.join(self.primary_data_path, self.sub_data_path)
        self.new_days = 60  # 60自然日
Exemplo n.º 19
0
    def __init__(self, fund_code):

        Data.__init__(self)

        self.port_name = "半年报%s" % fund_code
        self.fund_code = fund_code
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor
Exemplo n.º 20
0
    def __init__(self):
        """ 初始化数据存储位置和参数 """

        Data.__init__(self)
        self.sub_data_path = 'mfcteda_data\cal_ipo_buy'
        self.network_path = r'\\10.1.0.7\rd\※※金融工程部数据产品※※\新股申购文件'
        self.ftp_path = "\\ipo_stock_buy\\"
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
    def __init__(self):

        Data.__init__(self)
        self.regression_exposure_name = 'Fund_Regression_Exposure_Style'
        self.regression_period = 60
        self.regression_period_min = 40
        self.sub_data_path = r'fund_data\fund_exposure'
        self.data_path_exposure = os.path.join(self.primary_data_path,
                                               self.sub_data_path)
Exemplo n.º 22
0
    def __init__(self):

        Data.__init__(self)

        self.port_name = "主动股票基金month"
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor

        self.stock_ratio = None
    def __init__(self):

        Data.__init__(self)
        self.data_path = os.path.join(
            self.primary_data_path,
            r"fund_data\fund_holding_data\fund_holding_benchmark")

        # 全部股票权重下限和前10大重仓权重下限
        self.sum_weight_low = 60
        self.top10_weight_low = 30
Exemplo n.º 24
0
    def __init__(self):

        Data.__init__(self)

        self.port_name = "普通股票型基金_等权季报_报告日"
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor

        self.stock_ratio = None
    def __init__(self):

        self.regression_exposure_name = 'Fund_Regression_Risk_Alpha_Style'
        self.index_code_list = [
            "885062.WI", "885008.WI", "801853.SI", "000300.SH", "000905.SH",
            "000852.SH", "399006.SZ", "399005.SZ"
        ]
        Data.__init__(self)
        self.sub_data_path = r'fund_data\fund_barra_exposure'
        self.data_path_exposure = os.path.join(self.primary_data_path,
                                               self.sub_data_path)
Exemplo n.º 26
0
 def __init__(self, today=datetime.today().strftime("%Y%m%d")):
     """ 初始化 """
     Data.__init__(self)
     self.sub_data_path = r'mfcteda_data\mail_holding'
     self.data_path = os.path.join(self.primary_data_path,
                                   self.sub_data_path)
     self.today = Date().change_to_str(today)
     self.index_code_list = [
         "000300.SH", "000905.SH", "000016.SH", "881001.WI", '399101.SZ',
         '399102.SZ'
     ]
Exemplo n.º 27
0
    def __init__(self):
        """ 数据存储位置 """

        Data.__init__(self)
        self.sub_data_path = r'stock_data\alpha_model'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.exposure_hdf_path = os.path.join(self.data_path, r'factor\hdf')
        self.exposure_csv_path = os.path.join(self.data_path, r'factor\csv')
        self.factor_performance_path = os.path.join(self.data_path,
                                                    r'factor_performance')
Exemplo n.º 28
0
    def __init__(self):
        """ 数据存储位置 """

        Data.__init__(self)
        self.sub_data_path = r'stock_data\stock_factor'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.exposure_hdf_path = os.path.join(self.data_path,
                                              r'primary_factor\hdf')
        self.exposure_csv_path = os.path.join(self.data_path,
                                              r'primary_factor\csv')
Exemplo n.º 29
0
    def __init__(self):

        Data.__init__(self)
        self.sub_data_path = r'mfcteda_data\fund_report\advertise_report'
        self.data_path = os.path.join(self.primary_data_path,
                                      self.sub_data_path)
        self.web_path = r'\\10.1.0.7\rd\※※金融工程部数据产品※※\# 基金季报月报\基金宣传单页'
        self.param_file = os.path.join(self.data_path, r"参数", '宣传单页参数表.xlsx')
        self.web_param_file = os.path.join(self.web_path, r"参数",
                                           '宣传单页参数表.xlsx')
        print(self.param_file)
        print(self.web_param_file)
Exemplo n.º 30
0
    def __init__(self):

        Data.__init__(self)

        self.port_name = "普通股票型基金跟随"
        self.wind_port_path = WindPortUpLoad().path
        self.data_weight_path = Index().data_path_weight
        self.data_factor_path = Index().data_data_factor

        self.stock_ratio = None
        self.free_mv = None
        self.pct = None
        self.group = 5