Example #1
0
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'净值'
Example #2
0
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
Example #3
0
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