def update_data(): ticker = fund_text.value bond_df = bond_fund.get_bond_fund() bond_df.index = bond_df['wind_code'] stock_df = stock_fund.get_stock_fund() stock_df.index = stock_df['wind_code'] mixed_df = mixed_fund.get_mixed_fund() mixed_df.index = mixed_df['wind_code'] if ticker in bond_df.index: fund_name = bond_df.loc[ticker, 'sec_name'] elif ticker in stock_df.index: fund_name = stock_df.loc[ticker, 'sec_name'] elif ticker in mixed_df.index: fund_name = mixed_df.loc[ticker, 'sec_name'] else: plot_nav.title.text = u'基金不存在' plot_return.title.text = u'基金不存在' return fname = '%s/history/%s.xlsx' % (const.DATA_DIR, ticker) df = pd.read_excel(fname, index_col=0) temp = df['nav_adj'].dropna() # temp = temp[temp.index >= temp.index[-min(time_days[time_select.value], temp.shape[0]-1)]] source_nav.data['date'] = temp.index.values source_nav.data['nav'] = temp.values plot_nav.title.text = fund_name + u'净值'
def select_fund(): nav_title = plot_nav.title.text ret_title = plot_return.title.text plot_nav.title.text = u'查询中...' plot_return.title.text = u'查询中...' time_value = time_dict[time_select.value] if invtype1_select.value == u'债券型基金': bond_df = bond_fund.get_bond_fund() # pnl = pd.read_pickle('%s/bond.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/bond_%s.pkl' % (const.FOF_DIR, time_value)) df = bond_fund.filter_bond(bond_df) if invtype1_select.value == u'股票型基金': stock_df = stock_fund.get_stock_fund() # pnl = pd.read_pickle('%s/stock.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/stock_%s.pkl' % (const.FOF_DIR, time_value)) df = stock_fund.filter_stock(stock_df) if invtype1_select.value == u'混合型基金': mixed_df = mixed_fund.get_mixed_fund() # pnl = pd.read_pickle('%s/mixed.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/mixed_%s.pkl' % (const.FOF_DIR, time_value)) df = mixed_fund.filter_mixed(mixed_df) df = type_filter(df) df = scale_filter(df) # ret_df = pnl[df['wind_code']].minor_xs(time_dict[time_select.value]) df = get_rank(df, ret_df) update_table_data(df) plot_nav.title.text = nav_title plot_return.title.text = ret_title
def select_fund(): nav_title = plot_nav.title.text # ret_title = plot_return.title.text plot_nav.title.text = u'查询中...' # plot_return.title.text = u'查询中...' time_value = time_dict[time_select.value] if invtype1_select.value == u'债券型基金': bond_df = bond_fund.get_bond_fund() # pnl = pd.read_pickle('%s/bond.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/bond_%s.pkl' % (const.FOF_DIR, time_value)) empyrical_df = pd.read_excel('%s/bond_empyrical.xlsx' % (const.FOF_DIR)) df = bond_fund.filter_bond(bond_df) if invtype1_select.value == u'股票型基金': stock_df = stock_fund.get_stock_fund() # pnl = pd.read_pickle('%s/stock.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/stock_%s.pkl' % (const.FOF_DIR, time_value)) empyrical_df = pd.read_excel('%s/stock_empyrical.xlsx' % (const.FOF_DIR)) df = stock_fund.filter_stock(stock_df) if invtype1_select.value == u'混合型基金': mixed_df = mixed_fund.get_mixed_fund() # pnl = pd.read_pickle('%s/mixed.pkl'%(const.FOF_DIR)) ret_df = pd.read_pickle('%s/mixed_%s.pkl' % (const.FOF_DIR, time_value)) empyrical_df = pd.read_excel('%s/mixed_empyrical.xlsx' % (const.FOF_DIR)) df = mixed_fund.filter_mixed(mixed_df) # df.to_excel('./temp1.xlsx') print('type filter') df = type_filter(df) # df.to_excel('./temp2.xlsx') print('scale filter') df = scale_filter(df) # df.to_excel('./temp3.xlsx') # ret_df = pnl[df['wind_code']].minor_xs(time_dict[time_select.value]) print('calc rank') df = get_rank(df, ret_df, empyrical_df) # df.to_excel('./temp4.xlsx') print('update table') update_table_data(df) print('done') # print df plot_nav.title.text = nav_title