@@ -76,7 +76,9 @@ def __init__(self, client_config, logger=None, is_grab_permission=True):
7676 super (QuoteClient , self ).__init__ (client_config , logger = self .logger )
7777 self ._lang = LANGUAGE
7878 self ._timezone = eastern
79+ self ._url = None
7980 if client_config :
81+ self ._url = client_config .quote_server_url
8082 self ._lang = client_config .language
8183 if client_config .timezone :
8284 self ._timezone = client_config .timezone
@@ -87,7 +89,7 @@ def __init__(self, client_config, logger=None, is_grab_permission=True):
8789
8890 def __fetch_data (self , request ):
8991 try :
90- response = super (QuoteClient , self ).execute (request )
92+ response = super (QuoteClient , self ).execute (request , url = self . _url )
9193 return response
9294 except Exception as e :
9395 if hasattr (THREAD_LOCAL , 'logger' ) and THREAD_LOCAL .logger :
@@ -480,7 +482,8 @@ def get_bars_by_page(self, symbol, period=BarPeriod.DAY, begin_time=-1, end_time
480482 time .sleep (time_interval )
481483 return pd .concat (result ).sort_values ('time' ).reset_index (drop = True )
482484
483- def get_trade_ticks (self , symbols , trade_session = None , begin_index = None , end_index = None , limit = None , lang = None ):
485+ def get_trade_ticks (self , symbols , trade_session = None , begin_index = None , end_index = None , limit = None , lang = None ,
486+ ** kwargs ):
484487 """
485488 获取逐笔成交
486489 :param symbols: 股票代号列表
@@ -497,12 +500,16 @@ def get_trade_ticks(self, symbols, trade_session=None, begin_index=None, end_ind
497500 direction: 价格变动方向,"-"表示向下变动, "+" 表示向上变动
498501 """
499502 params = MultipleQuoteParams ()
500- params .symbols = symbols
503+ params .symbols = [symbols ] if isinstance (symbols , str ) else symbols
504+ # compatible with version 1.0
505+ params .symbol = symbols if isinstance (symbols , str ) else symbols [0 ]
501506 params .trade_session = get_enum_value (trade_session )
502507 params .begin_index = begin_index
503508 params .end_index = end_index
504509 params .limit = limit
505510 params .lang = get_enum_value (lang ) if lang else get_enum_value (self ._lang )
511+ if 'version' in kwargs :
512+ params .version = kwargs .get ('version' )
506513
507514 request = OpenApiRequest (TRADE_TICK , biz_model = params )
508515 response_content = self .__fetch_data (request )
@@ -1232,14 +1239,16 @@ def get_financial_daily(self, symbols, market, fields, begin_date, end_date):
12321239 else :
12331240 raise ApiException (response .code , response .message )
12341241
1235- def get_financial_report (self , symbols , market , fields , period_type ):
1242+ def get_financial_report (self , symbols , market , fields , period_type , begin_date = None , end_date = None ):
12361243 """
12371244 获取财报数据
12381245 :param symbols:
12391246 :param market: 查询的市场. 可选的值为 common.consts.Market 枚举类型, 如 Market.US
12401247 :param fields: 查询的字段列表. 可选的项为 common.consts 下的 Income, Balance, CashFlow, BalanceSheetRatio,
12411248 Growth, Leverage, Profitability 枚举类型. 如 Income.total_revenue
12421249 :param period_type: 查询的周期类型. 可选的值为 common.consts.FinancialReportPeriodType 枚举类型
1250+ :param begin_date: specify range begin of period_end_date
1251+ :param end_date: specify range end of period_end_date
12431252 :return: pandas.DataFrame, 各 column 的含义如下:
12441253 symbol: 证券代码
12451254 currency: 财报使用的币种
@@ -1254,6 +1263,8 @@ def get_financial_report(self, symbols, market, fields, period_type):
12541263 params .fields = [get_enum_value (field ) for field in fields ]
12551264 params .period_type = get_enum_value (period_type )
12561265 params .lang = get_enum_value (self ._lang )
1266+ params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1267+ params .end_date = date_str_to_timestamp (end_date , self ._timezone )
12571268 request = OpenApiRequest (FINANCIAL_REPORT , biz_model = params )
12581269 response_content = self .__fetch_data (request )
12591270 if response_content :
0 commit comments