1515from tigeropen .common .consts import THREAD_LOCAL , SecurityType , CorporateActionType , IndustryLevel
1616from tigeropen .common .consts .filter_fields import FieldBelongType
1717from tigeropen .common .consts .service_types import GRAB_QUOTE_PERMISSION , QUOTE_DELAY , GET_QUOTE_PERMISSION , \
18- HISTORY_TIMELINE , FUTURE_CONTRACT_BY_CONTRACT_CODE , TRADING_CALENDAR , FUTURE_CONTRACTS , MARKET_SCANNER , STOCK_BROKER
18+ HISTORY_TIMELINE , FUTURE_CONTRACT_BY_CONTRACT_CODE , TRADING_CALENDAR , FUTURE_CONTRACTS , MARKET_SCANNER , \
19+ STOCK_BROKER , CAPITAL_FLOW , CAPITAL_DISTRIBUTION
1920from tigeropen .common .consts .service_types import MARKET_STATE , ALL_SYMBOLS , ALL_SYMBOL_NAMES , BRIEF , \
2021 TIMELINE , KLINE , TRADE_TICK , OPTION_EXPIRATION , OPTION_CHAIN , FUTURE_EXCHANGE , OPTION_BRIEF , \
2122 OPTION_KLINE , OPTION_TRADE_TICK , FUTURE_KLINE , FUTURE_TICK , FUTURE_CONTRACT_BY_EXCHANGE_CODE , \
3940from tigeropen .quote .request .model import MarketParams , MultipleQuoteParams , MultipleContractParams , \
4041 FutureQuoteParams , FutureExchangeParams , FutureContractParams , FutureTradingTimeParams , SingleContractParams , \
4142 SingleOptionQuoteParams , DepthQuoteParams , OptionChainParams , TradingCalendarParams , MarketScannerParams , \
42- StockBrokerParams
43+ StockBrokerParams , CapitalParams
44+ from tigeropen .quote .response .capital_distribution_response import CapitalDistributionResponse
45+ from tigeropen .quote .response .capital_flow_response import CapitalFlowResponse
4346from tigeropen .quote .response .future_briefs_response import FutureBriefsResponse
4447from tigeropen .quote .response .future_contract_response import FutureContractResponse
4548from tigeropen .quote .response .future_exchange_response import FutureExchangeResponse
@@ -1411,7 +1414,6 @@ def grab_quote_permission(self):
14111414 return response .permissions
14121415 else :
14131416 raise ApiException (response .code , response .message )
1414- return False
14151417
14161418 def get_quote_permission (self ):
14171419 """
@@ -1431,7 +1433,6 @@ def get_quote_permission(self):
14311433 return response .permissions
14321434 else :
14331435 raise ApiException (response .code , response .message )
1434- return False
14351436
14361437 def get_trading_calendar (self , market , begin_date = None , end_date = None ):
14371438 """
@@ -1455,7 +1456,6 @@ def get_trading_calendar(self, market, begin_date=None, end_date=None):
14551456 return response .calendar
14561457 else :
14571458 raise ApiException (response .code , response .message )
1458- return False
14591459
14601460 def get_stock_broker (self , symbol , limit = 40 , lang = None ):
14611461 """Get stock broker information
@@ -1476,4 +1476,52 @@ def get_stock_broker(self, symbol, limit=40, lang=None):
14761476 return response .result
14771477 else :
14781478 raise ApiException (response .code , response .message )
1479- return False
1479+
1480+ def get_capital_flow (self , symbol , market , period , begin_time = - 1 , end_time = - 1 , limit = 200 , lang = None ):
1481+ """Get capital net inflow Data, including different time periods, such as daily, weekly, monthly, etc.
1482+ :param symbol: 股票代号
1483+ :param market: tigeropen.common.consts.Market
1484+ :param period: period, possible values are: intraday, day, week, month, year, quarter, 6month
1485+ :param begin_time: 开始时间. 若是时间戳需要精确到毫秒, 为13位整数;
1486+ 或是日期时间格式的字符串, 如 "2019-01-01" 或 "2019-01-01 12:00:00"
1487+ :param end_time: 结束时间. 格式同 begin_time
1488+ :param limit: 数量限制
1489+ :param lang: 语言支持: zh_CN,zh_TW,en_US
1490+ """
1491+ params = CapitalParams ()
1492+ params .symbol = symbol
1493+ params .market = get_enum_value (market )
1494+ params .period = get_enum_value (period )
1495+ params .begin_time = begin_time
1496+ params .end_time = end_time
1497+ params .limit = limit
1498+ params .lang = get_enum_value (lang ) if lang else get_enum_value (self ._lang )
1499+ request = OpenApiRequest (CAPITAL_FLOW , biz_model = params )
1500+ response_content = self .__fetch_data (request )
1501+ if response_content :
1502+ response = CapitalFlowResponse ()
1503+ response .parse_response_content (response_content )
1504+ if response .is_success ():
1505+ return response .result
1506+ else :
1507+ raise ApiException (response .code , response .message )
1508+
1509+ def get_capital_distribution (self , symbol , market , lang = None ):
1510+ """Get capital distribution.
1511+ :param symbol: 股票代号
1512+ :param market: tigeropen.common.consts.Market
1513+ :param lang: 语言支持: zh_CN,zh_TW,en_US
1514+ """
1515+ params = CapitalParams ()
1516+ params .symbol = symbol
1517+ params .market = get_enum_value (market )
1518+ params .lang = get_enum_value (lang ) if lang else get_enum_value (self ._lang )
1519+ request = OpenApiRequest (CAPITAL_DISTRIBUTION , biz_model = params )
1520+ response_content = self .__fetch_data (request )
1521+ if response_content :
1522+ response = CapitalDistributionResponse ()
1523+ response .parse_response_content (response_content )
1524+ if response .is_success ():
1525+ return response .result
1526+ else :
1527+ raise ApiException (response .code , response .message )
0 commit comments