コード例 #1
0
def update_uqer_industry_info(ds, **kwargs):
    ref_date, this_date = process_date(ds)
    flag = check_holiday(this_date)

    if not flag:
        return

    query = select([Market.code]).where(Market.trade_date == this_date)
    df = pd.read_sql(query, engine)
    codes = df.code.astype(str).str.zfill(6)

    engine.execute(delete(Industry).where(Industry.trade_date == this_date))

    df = api.EquIndustryGet(intoDate=ref_date)
    df = df[df.ticker.isin(codes)]

    df['code'] = df.ticker.astype(int)
    df['trade_date'] = this_date
    df.rename(columns={'ticker': 'code'}, inplace=True)

    df = df[[
        'trade_date', 'code', 'industry', 'industryID', 'industrySymbol',
        'industryID1', 'industryName1', 'industryID2', 'industryName2',
        'industryID3', 'industryName3', 'IndustryID4', 'IndustryName4'
    ]]

    data_info_log(df, Industry)
    format_data(df)
    df.to_sql(Industry.__table__.name, engine, index=False, if_exists='append')
コード例 #2
0
ファイル: stock_pool.py プロジェクト: jimmyhzuk/valkyrie
    def fetch_industry_uqer(self, trade_date, industry=[]):
        industry_sets = DataAPI.IndustryGet(
            industryVersion=u"SW",
            industryVersionCD=u"",
            industryLevel=u"1",
            isNew=u"1",
            prntIndustryID=u"",
            field=u"industryID,industryName,indexSymbol",
            pandas="1")
        if len(industry) > 0:
            industry_sets = industry_sets.set_index(
                'indexSymbol').loc[industry]

        equ = DataAPI.EquIndustryGet(industryVersionCD=u"010303",
                                     industryID1=list(
                                         set(industry_sets['industryID'])),
                                     intoDate=trade_date.strftime('%Y%m%d'),
                                     field=u"secID,industryID1",
                                     pandas="1")
        equ.rename(columns={'industryID1': 'industryID'}, inplace=True)
        industry_sets = industry_sets.reset_index().merge(
            equ, on=['industryID'])[['indexSymbol', 'industryName', 'secID']]
        industry_sets.rename(columns={
            'secID': 'code',
            'indexSymbol': 'industryID'
        },
                             inplace=True)
        industry_sets['trade_date'] = trade_date
        return industry_sets
コード例 #3
0
ファイル: stock_pool.py プロジェクト: jimmyhzuk/valkyrie
    def get_industry_by_day(self, all_stocks, trade_date):
        stock_sets = DataAPI.EquIndustryGet(
            secID=all_stocks,
            industryVersionCD=u"010303",
            industryID1=u"",
            industryID2=u"",
            industryID3=u"",
            intoDate=trade_date.strftime('%Y%m%d'),
            field=u"secID,industryID1",
            pandas="1")

        stock_sets.rename(columns={'industryID1': 'industryID'}, inplace=True)
        industry = DataAPI.IndustryGet(
            industryVersion=u"SW",
            industryVersionCD=u"",
            industryLevel=u"1",
            isNew=u"1",
            prntIndustryID=u"",
            field=u"industryID,industryName,indexSymbol",
            pandas="1")
        stock_sets = stock_sets.merge(industry, on=['industryID'])[[
            'secID', 'indexSymbol', 'industryName'
        ]]
        stock_sets = stock_sets.rename(columns={'secID': 'code'})
        return stock_sets
コード例 #4
0
 def get_sw_industry_classification(self, trading_day_list, universe):
     industry_classification = {}
     for date in trading_day_list:
         df = DataAPI.EquIndustryGet(secID=universe,
                                     industryVersionCD=u"010303",
                                     industry=u"",
                                     intoDate=date,
                                     field=u"secID,industryName1",
                                     pandas="1")
         df.set_index('secID', inplace=True)
         df.rename(columns={'industryName1': 'ind'}, inplace=True)
         industry_classification[date] = df['ind']
     return industry_classification