@@ -699,7 +699,7 @@ def get_option_chain(self, symbol, expiry, option_filter=None, return_greek_valu
699699 param = SingleContractParams ()
700700 param .symbol = symbol
701701 if isinstance (expiry , str ) and re .match ('[0-9]{4}-[0-9]{2}-[0-9]{2}' , expiry ):
702- param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (market , timezone ))
702+ param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (timezone , market ))
703703 else :
704704 param .expiry = expiry
705705 params .contracts = [param ]
@@ -758,7 +758,7 @@ def get_option_briefs(self, identifiers, market = None, timezone=None):
758758 continue
759759 param = SingleContractParams ()
760760 param .symbol = symbol
761- param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (market , timezone ))
761+ param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (timezone , market ))
762762 param .put_call = put_call
763763 param .strike = strike
764764 contracts .append (param )
@@ -810,12 +810,12 @@ def get_option_bars(self, identifiers, begin_time=-1, end_time=4070880000000, pe
810810 continue
811811 param = SingleOptionQuoteParams ()
812812 param .symbol = symbol
813- param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (market , timezone ))
813+ param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (timezone , market ))
814814 param .put_call = put_call
815815 param .strike = strike
816816 param .period = get_enum_value (period )
817- param .begin_time = date_str_to_timestamp (begin_time , self ._parse_timezone (market , timezone ))
818- param .end_time = date_str_to_timestamp (end_time , self ._parse_timezone (market , timezone ))
817+ param .begin_time = date_str_to_timestamp (begin_time , self ._parse_timezone (timezone , market ))
818+ param .end_time = date_str_to_timestamp (end_time , self ._parse_timezone (timezone , market ))
819819 param .limit = limit
820820 param .sort_dir = get_enum_value (sort_dir )
821821 contracts .append (param )
@@ -853,7 +853,7 @@ def get_option_trade_ticks(self, identifiers, timezone=None):
853853 continue
854854 param = SingleContractParams ()
855855 param .symbol = symbol
856- param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (None , timezone ))
856+ param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (timezone ))
857857 param .put_call = put_call
858858 param .strike = strike
859859 contracts .append (param )
@@ -907,7 +907,7 @@ def get_option_depth(self, identifiers, market: Market = Market.US, timezone=Non
907907 continue
908908 param = SingleContractParams ()
909909 param .symbol = symbol
910- param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (market , timezone ))
910+ param .expiry = date_str_to_timestamp (expiry , self ._parse_timezone (timezone , market ))
911911 param .put_call = put_call
912912 param .strike = strike
913913 contracts .append (param )
@@ -1110,7 +1110,7 @@ def get_future_trading_times(self, identifier, trading_date=None):
11101110 return None
11111111
11121112 def get_future_bars (self , identifiers , period = BarPeriod .DAY , begin_time = - 1 , end_time = - 1 , limit = 1000 ,
1113- page_token = None ):
1113+ page_token = None , timezone = None ):
11141114 """
11151115 获取期货K线数据
11161116 :param identifiers: 期货代码列表
@@ -1135,7 +1135,7 @@ def get_future_bars(self, identifiers, period=BarPeriod.DAY, begin_time=-1, end_
11351135 params = FutureQuoteParams ()
11361136 params .contract_codes = identifiers if isinstance (identifiers , list ) else [identifiers ]
11371137 params .period = get_enum_value (period )
1138- params .begin_time = date_str_to_timestamp (begin_time , self ._timezone )
1138+ params .begin_time = date_str_to_timestamp (begin_time , self ._parse_timezone ( timezone ) )
11391139 params .end_time = end_time
11401140 params .limit = limit
11411141 params .page_token = page_token if len (params .contract_codes ) == 1 else None
@@ -1256,7 +1256,7 @@ def get_future_brief(self, identifiers):
12561256 else :
12571257 raise ApiException (response .code , response .message )
12581258
1259- def get_corporate_split (self , symbols , market , begin_date , end_date ):
1259+ def get_corporate_split (self , symbols , market , begin_date , end_date , timezone = None ):
12601260 """
12611261 获取公司拆合股数据
12621262 :param symbols: 证券代码列表
@@ -1278,8 +1278,8 @@ def get_corporate_split(self, symbols, market, begin_date, end_date):
12781278 params .action_type = CorporateActionType .SPLIT .value
12791279 params .symbols = symbols
12801280 params .market = get_enum_value (market )
1281- params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1282- params .end_date = date_str_to_timestamp (end_date , self ._timezone )
1281+ params .begin_date = date_str_to_timestamp (begin_date , self ._parse_timezone ( timezone ) )
1282+ params .end_date = date_str_to_timestamp (end_date , self ._parse_timezone ( timezone ) )
12831283 params .lang = get_enum_value (self ._lang )
12841284 request = OpenApiRequest (CORPORATE_ACTION , biz_model = params )
12851285 response_content = self .__fetch_data (request )
@@ -1291,7 +1291,7 @@ def get_corporate_split(self, symbols, market, begin_date, end_date):
12911291 else :
12921292 raise ApiException (response .code , response .message )
12931293
1294- def get_corporate_dividend (self , symbols , market , begin_date , end_date ):
1294+ def get_corporate_dividend (self , symbols , market , begin_date , end_date , timezone = None ):
12951295 """
12961296 获取公司派息数据
12971297 :param symbols: 证券代码列表
@@ -1315,8 +1315,8 @@ def get_corporate_dividend(self, symbols, market, begin_date, end_date):
13151315 params .action_type = CorporateActionType .DIVIDEND .value
13161316 params .symbols = symbols
13171317 params .market = get_enum_value (market )
1318- params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1319- params .end_date = date_str_to_timestamp (end_date , self ._timezone )
1318+ params .begin_date = date_str_to_timestamp (begin_date , self ._parse_timezone ( timezone ) )
1319+ params .end_date = date_str_to_timestamp (end_date , self ._parse_timezone ( timezone ) )
13201320 params .lang = get_enum_value (self ._lang )
13211321 request = OpenApiRequest (CORPORATE_ACTION , biz_model = params )
13221322 response_content = self .__fetch_data (request )
@@ -1328,7 +1328,7 @@ def get_corporate_dividend(self, symbols, market, begin_date, end_date):
13281328 else :
13291329 raise ApiException (response .code , response .message )
13301330
1331- def get_corporate_earnings_calendar (self , market , begin_date , end_date ):
1331+ def get_corporate_earnings_calendar (self , market , begin_date , end_date , timezone = None ):
13321332 """
13331333 获取公司财报日历
13341334 :param market:
@@ -1339,8 +1339,8 @@ def get_corporate_earnings_calendar(self, market, begin_date, end_date):
13391339 params = CorporateActionParams ()
13401340 params .action_type = CorporateActionType .EARNINGS_CALENDAR .value
13411341 params .market = get_enum_value (market )
1342- params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1343- params .end_date = date_str_to_timestamp (end_date , self ._timezone )
1342+ params .begin_date = date_str_to_timestamp (begin_date , self ._parse_timezone ( timezone ) )
1343+ params .end_date = date_str_to_timestamp (end_date , self ._parse_timezone ( timezone ) )
13441344 params .lang = get_enum_value (self ._lang )
13451345 request = OpenApiRequest (CORPORATE_ACTION , biz_model = params )
13461346 response_content = self .__fetch_data (request )
@@ -1352,7 +1352,7 @@ def get_corporate_earnings_calendar(self, market, begin_date, end_date):
13521352 else :
13531353 raise ApiException (response .code , response .message )
13541354
1355- def get_financial_daily (self , symbols , market , fields , begin_date , end_date ):
1355+ def get_financial_daily (self , symbols , market , fields , begin_date , end_date , timezone = None ):
13561356 """
13571357 获取日级的财务数据
13581358 :param symbols: 证券代码列表
@@ -1370,8 +1370,8 @@ def get_financial_daily(self, symbols, market, fields, begin_date, end_date):
13701370 params .symbols = symbols
13711371 params .market = get_enum_value (market )
13721372 params .fields = [get_enum_value (field ) for field in fields ]
1373- params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1374- params .end_date = date_str_to_timestamp (end_date , self ._timezone )
1373+ params .begin_date = date_str_to_timestamp (begin_date , self ._parse_timezone ( timezone ) )
1374+ params .end_date = date_str_to_timestamp (end_date , self ._parse_timezone ( timezone ) )
13751375 params .lang = get_enum_value (self ._lang )
13761376 request = OpenApiRequest (FINANCIAL_DAILY , biz_model = params )
13771377 response_content = self .__fetch_data (request )
@@ -1383,7 +1383,7 @@ def get_financial_daily(self, symbols, market, fields, begin_date, end_date):
13831383 else :
13841384 raise ApiException (response .code , response .message )
13851385
1386- def get_financial_report (self , symbols , market , fields , period_type , begin_date = None , end_date = None ):
1386+ def get_financial_report (self , symbols , market , fields , period_type , begin_date = None , end_date = None , timezone = None ):
13871387 """
13881388 获取财报数据
13891389 :param symbols:
@@ -1407,8 +1407,8 @@ def get_financial_report(self, symbols, market, fields, period_type, begin_date=
14071407 params .fields = [get_enum_value (field ) for field in fields ]
14081408 params .period_type = get_enum_value (period_type )
14091409 params .lang = get_enum_value (self ._lang )
1410- params .begin_date = date_str_to_timestamp (begin_date , self ._timezone )
1411- params .end_date = date_str_to_timestamp (end_date , self ._timezone )
1410+ params .begin_date = date_str_to_timestamp (begin_date , self ._parse_timezone ( timezone ) )
1411+ params .end_date = date_str_to_timestamp (end_date , self ._parse_timezone ( timezone ) )
14121412 request = OpenApiRequest (FINANCIAL_REPORT , biz_model = params )
14131413 response_content = self .__fetch_data (request )
14141414 if response_content :
@@ -1455,7 +1455,7 @@ def get_financial_exchange_rate(self, currency_list, begin_date, end_date=None,
14551455 0 HKD 1691942400000 7.81728
14561456 1 USD 1691942400000 1.00000
14571457 """
1458- tz = timezone if timezone else self ._timezone
1458+ tz = self ._parse_timezone ( timezone )
14591459 params = FinancialExchangeRateParams ()
14601460 params .currency_list = currency_list
14611461 params .begin_date = date_str_to_timestamp (begin_date , tz )
@@ -1946,7 +1946,7 @@ def get_quote_overnight(self, symbols, lang=Language.en_US):
19461946 raise ApiException (response .code , response .message )
19471947
19481948
1949- def _parse_timezone (self , market = None , timezone = None ):
1949+ def _parse_timezone (self , timezone = None , market = None ):
19501950 if timezone :
19511951 return timezone
19521952 if market :
0 commit comments