Commit 54134b44 authored by Dr.李's avatar Dr.李

added chgPct in factor loading api

parent 279af385
...@@ -363,7 +363,7 @@ class SqlEngine(object): ...@@ -363,7 +363,7 @@ class SqlEngine(object):
joined_tables.add(t.__table__.name) joined_tables.add(t.__table__.name)
query = select( query = select(
[Market.trade_date, Market.code, Market.isOpen] + list(factor_cols.keys())) \ [Market.trade_date, Market.code, Market.isOpen, Market.chgPct] + list(factor_cols.keys())) \
.select_from(big_table).where(and_(Market.trade_date.between(start_date, end_date), .select_from(big_table).where(and_(Market.trade_date.between(start_date, end_date),
Market.code.in_(codes))) Market.code.in_(codes)))
...@@ -374,6 +374,7 @@ class SqlEngine(object): ...@@ -374,6 +374,7 @@ class SqlEngine(object):
res = transformer.transform('code', df).replace([-np.inf, np.inf], np.nan) res = transformer.transform('code', df).replace([-np.inf, np.inf], np.nan)
res['isOpen'] = df.isOpen.astype(bool) res['isOpen'] = df.isOpen.astype(bool)
res['chgPct'] = df.chgPct
res = res.loc[ref_date] res = res.loc[ref_date]
res.index = list(range(len(res))) res.index = list(range(len(res)))
return res.drop_duplicates(['trade_date', 'code']) return res.drop_duplicates(['trade_date', 'code'])
...@@ -418,7 +419,7 @@ class SqlEngine(object): ...@@ -418,7 +419,7 @@ class SqlEngine(object):
universe_df = universe.query(self, start_date, end_date, dates) universe_df = universe.query(self, start_date, end_date, dates)
query = select( query = select(
[Market.trade_date, Market.code, Market.isOpen] + list(factor_cols.keys())) \ [Market.trade_date, Market.code, Market.isOpen, Market.chgPct] + list(factor_cols.keys())) \
.select_from(big_table).where( .select_from(big_table).where(
and_( and_(
Market.code.in_(universe_df.code.unique().tolist()), Market.code.in_(universe_df.code.unique().tolist()),
...@@ -438,6 +439,7 @@ class SqlEngine(object): ...@@ -438,6 +439,7 @@ class SqlEngine(object):
res = transformer.transform('code', df).replace([-np.inf, np.inf], np.nan) res = transformer.transform('code', df).replace([-np.inf, np.inf], np.nan)
res['isOpen'] = df.isOpen.astype(bool) res['isOpen'] = df.isOpen.astype(bool)
res['chgPct'] = df.chgPct
res = res.reset_index() res = res.reset_index()
return pd.merge(res, universe_df[['trade_date', 'code']], how='inner').drop_duplicates(['trade_date', 'code']) return pd.merge(res, universe_df[['trade_date', 'code']], how='inner').drop_duplicates(['trade_date', 'code'])
...@@ -479,7 +481,7 @@ class SqlEngine(object): ...@@ -479,7 +481,7 @@ class SqlEngine(object):
partition_by=Market.code, partition_by=Market.code,
order_by=Market.trade_date).label('dx') order_by=Market.trade_date).label('dx')
query = select([Market.trade_date, Market.code, stats]).select_from(big_table).where( query = select([Market.trade_date, Market.code, Market.chgPct, stats]).select_from(big_table).where(
and_( and_(
Market.trade_date.in_(total_dates), Market.trade_date.in_(total_dates),
Market.code.in_(total_codes) Market.code.in_(total_codes)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment