Commit 175f0133 authored by Dr.李's avatar Dr.李

added more api

parent 20147520
......@@ -26,6 +26,7 @@ from alphamind.data.dbmodel.models import IndexMarket
from alphamind.data.dbmodel.models import Universe as UniverseTable
from alphamind.data.dbmodel.models import RiskExposure
from alphamind.data.dbmodel.models import FundMaster
from alphamind.data.dbmodel.models import FundHolding
from alphamind.data.transformer import Transformer
from alphamind.data.engines.utilities import _map_factors
from alphamind.data.engines.utilities import _map_industry_category
......@@ -116,6 +117,20 @@ class SqlEngine(object):
query = self.session.query(FundMaster)
return pd.read_sql(query.statement, query.session.bind)
def fetch_fund_holding(self,
fund_codes,
start_date: str=None,
end_date: str=None,
dates: Iterable[str]=None) -> pd.DataFrame:
query = select([FundHolding]).where(
and_(
FundHolding.fund_code.in_(fund_codes),
FundHolding.reportDate.in_(dates) if dates else FundHolding.reportDate.between(start_date, end_date)
)
)
return pd.read_sql(query, self.session.bind)
def fetch_factors_meta(self) -> pd.DataFrame:
query = self.session.query(FactorMaster)
return pd.read_sql(query.statement, query.session.bind)
......
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