Ejemplo n.º 1
0
    'Book_to_Price', 'Earnings', 'Growth', 'Leverage', 'Liquidity', 'Size',
    'NL_Size', 'Beta', 'Momentum', 'Residual_Volatility'
]
extra_data_list = ['ROR', 'liquid_MV']
citics_code_list = ['b101', 'b102', 'b103', 'b104', 'b105', 'b106', 'b107', 'b108', 'b109',\
                    'b10a', 'b10b', 'b10c', 'b10d', 'b10e', 'b10f', 'b10g', 'b10h', 'b10i',\
                    'b10j', 'b10k', 'b10l', 'b10m', 'b10n', 'b10o', 'b10p', 'b10q', 'b10r',\
                    'b10s', 'b10t']
Now_Index = "zz800"
Now_Range = "zz800"
'''
***获取每日指数成分股和全部A股的代码***
'''
if Now_Range == "all":
    components_dict = db_data_pre_treat.get_normal_stocklist_dict(start_date,
                                                                  end_date,
                                                                  year=0,
                                                                  month=6)
else:
    where = Now_Range + " = 1"
    components_dict = db_interaction.get_data_commonly(
        "daily_index_components", ["stock_id"], ["curr_date"],
        one_to_one=0,
        where=where)

all_daily_date_list = xyk_common_wind_db_interaction.get_calendar(
    start_date, end_date, 0)
daily_date_list = all_daily_date_list[:-1]
index_date_list = all_daily_date_list[1:]
a_stock_no_st_dict = db_data_pre_treat.get_a_stock_no_st_dict(
    start_date, end_date, 0, 6, 1, 0)
total_stock_list = xyk_common_data_processing.get_all_element_from_dict(
After_date = 0

cal_daily_date_list = xyk_common_wind_db_interaction.get_calendar(
    cal_start_date, end_date, 0)
daily_date_list = xyk_common_wind_db_interaction.get_calendar(
    start_date, end_date, 0)
SHIBOR_dict = xyk_common_wind_db_interaction.get_IBOR_dict(
    "SHIBOR", "SHIBORON.IR")
index_return_dict = db_interaction.get_data_commonly(
    "daily_index_performance", ["cap_weighted_return"],
    ["index_name", "curr_date"])
'''
***首先选出计算的股票篮子,然后从行情数据中查询我们需要的部分***
'''
a_stock_normal_dict = db_data_pre_treat.get_normal_stocklist_dict(start_date,
                                                                  end_date,
                                                                  year=0,
                                                                  month=3)
total_stock_list = xyk_common_data_processing.get_all_element_from_dict(
    a_stock_normal_dict)
hq_dict = db_interaction.get_daily_data_dict_1_key(start_date, end_date,
                                                   "daily_stock_technical",
                                                   ['liquid_MV', 'close'],
                                                   total_stock_list, 0)

stock_suspension_dict = db_data_pre_treat.get_stock_suspension_dict_by_stock(
    total_stock_list, start_date, end_date, sus_type=1)
hq_dict_no_suspension = xyk_common_data_processing.get_dict_difference(
    hq_dict, stock_suspension_dict, list_order=0)

LN_SHIBOR_dict = {}
for date in SHIBOR_dict.keys():