Skip to content

Commit 0285bff

Browse files
committed
mod comments
1 parent f037238 commit 0285bff

File tree

1 file changed

+48
-43
lines changed

1 file changed

+48
-43
lines changed

tigeropen/quote/quote_client.py

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,17 @@
77
import logging
88
import re
99
import time
10+
from typing import Optional, Union, List
1011

1112
import pandas as pd
12-
from typing import Optional, Union, List, Dict, Any, TYPE_CHECKING
1313

1414
from tigeropen.common.consts import Market, QuoteRight, BarPeriod, OPEN_API_SERVICE_VERSION_V3, \
15-
OPEN_API_SERVICE_VERSION_V1, Language, SortDirection, TradingSession, Valuation, \
16-
Income, Balance, CashFlow, BalanceSheetRatio, Growth, Leverage, Profitability, \
15+
OPEN_API_SERVICE_VERSION_V1, Language, SortDirection, TradingSession, Income, Balance, CashFlow, BalanceSheetRatio, \
16+
Growth, Leverage, Profitability, \
1717
FinancialReportPeriodType, CapitalPeriod
18-
from tigeropen.common.consts.fundamental_fields import Field
19-
20-
if TYPE_CHECKING:
21-
from tigeropen.quote.domain.filter import SortFilterData, StockFilter
22-
from tigeropen.quote.domain.capital_distribution import CapitalDistribution
23-
from tigeropen.quote.domain.scanner_result import ScannerResult
2418
from tigeropen.common.consts import THREAD_LOCAL, SecurityType, CorporateActionType, IndustryLevel
2519
from tigeropen.common.consts.filter_fields import FieldBelongType
26-
from tigeropen.quote.domain.stock_broker import StockBroker
20+
from tigeropen.common.consts.fundamental_fields import Field
2721
from tigeropen.common.consts.service_types import GRAB_QUOTE_PERMISSION, QUOTE_DELAY, GET_QUOTE_PERMISSION, \
2822
HISTORY_TIMELINE, FUTURE_CONTRACT_BY_CONTRACT_CODE, STOCK_FUNDAMENTAL, TRADE_RANK, TRADING_CALENDAR, \
2923
FUTURE_CONTRACTS, MARKET_SCANNER, \
@@ -52,9 +46,11 @@
5246
from tigeropen.fundamental.response.financial_report_response import FinancialReportResponse
5347
from tigeropen.fundamental.response.industry_response import IndustryListResponse, IndustryStocksResponse, \
5448
StockIndustryResponse
55-
from tigeropen.quote.domain.filter import OptionFilter
49+
from tigeropen.quote.domain.capital_distribution import CapitalDistribution
50+
from tigeropen.quote.domain.filter import SortFilterData, StockFilter, OptionFilter, ScannerResult
5651
from tigeropen.quote.domain.market_status import MarketStatus
5752
from tigeropen.quote.domain.quote_brief import QuoteBrief
53+
from tigeropen.quote.domain.stock_broker import StockBroker
5854
from tigeropen.quote.request.model import MarketParams, MultipleQuoteParams, MultipleContractParams, \
5955
FutureQuoteParams, FutureExchangeParams, FutureContractParams, FutureTradingTimeParams, SingleContractParams, \
6056
SingleOptionQuoteParams, DepthQuoteParams, OptionChainParams, TradingCalendarParams, MarketScannerParams, \
@@ -83,11 +79,12 @@
8379
from tigeropen.quote.response.option_timeline_response import OptionTimelineResponse
8480
from tigeropen.quote.response.quote_bar_response import QuoteBarResponse
8581
from tigeropen.quote.response.quote_brief_response import QuoteBriefResponse
82+
from tigeropen.quote.response.quote_dataframe_response import QuoteDataframeResponse
8683
from tigeropen.quote.response.quote_delay_briefs_response import DelayBriefsResponse
8784
from tigeropen.quote.response.quote_depth_response import DepthQuoteResponse
8885
from tigeropen.quote.response.quote_grab_permission_response import QuoteGrabPermissionResponse
86+
from tigeropen.quote.response.quote_overnight_response import QuoteOvernightResponse
8987
from tigeropen.quote.response.quote_ticks_response import TradeTickResponse
90-
from tigeropen.quote.response.quote_dataframe_response import QuoteDataframeResponse
9188
from tigeropen.quote.response.quote_timeline_response import QuoteTimelineResponse
9289
from tigeropen.quote.response.stock_briefs_response import StockBriefsResponse
9390
from tigeropen.quote.response.stock_broker_response import StockBrokerResponse
@@ -100,7 +97,6 @@
10097
from tigeropen.quote.response.trading_calendar_response import TradingCalendarResponse
10198
from tigeropen.quote.response.warrant_briefs_response import WarrantBriefsResponse
10299
from tigeropen.quote.response.warrant_filter_response import WarrantFilterResponse
103-
from tigeropen.quote.response.quote_overnight_response import QuoteOvernightResponse
104100
from tigeropen.tiger_open_client import TigerOpenClient
105101
from tigeropen.tiger_open_config import LANGUAGE
106102

@@ -169,7 +165,7 @@ def get_market_status(
169165
return response.markets
170166
else:
171167
raise ApiException(response.code, response.message)
172-
return None
168+
return list()
173169

174170
def get_symbols(self,
175171
market: Optional[Union[Market, str]] = Market.ALL,
@@ -263,7 +259,7 @@ def get_trade_metas(self, symbols: list[str]) -> pd.DataFrame:
263259
else:
264260
raise ApiException(response.code, response.message)
265261

266-
return None
262+
return pd.DataFrame()
267263

268264
def get_briefs(
269265
self,
@@ -550,11 +546,11 @@ def get_timeline(self,
550546
raise ApiException(response.code, response.message)
551547

552548
def get_timeline_history(
553-
self,
554-
symbols: list[str],
555-
date: str,
556-
right: Optional[Union[QuoteRight,
557-
str]] = QuoteRight.BR) -> pd.DataFrame:
549+
self,
550+
symbols: list[str],
551+
date: str,
552+
right: Optional[Union[QuoteRight,
553+
str]] = QuoteRight.BR) -> pd.DataFrame:
558554
"""
559555
Get historical timeline data. 获取历史分时数据
560556
@@ -688,9 +684,11 @@ def get_bars_by_page(self,
688684
:param end_time: time of the latest bar, excluded. k线数据的结束时间,不包含
689685
:param total: Total bars number. K线数据的总条数
690686
:param page_size: Bars number of each request. 每次请求的K线数据条数
691-
:param right: Quote right. 复权方式. Available values: QuoteRight.BR (前复权), QuoteRight.NR (不复权)
687+
:param right: Quote right. 复权方式. Available values: `QuoteRight.BR` (前复权), `QuoteRight.NR` (不复权)
692688
:param time_interval: Time interval between requests. 请求之间的时间间隔
693689
:param lang: 语言
690+
:param trade_session: Trading session, e.g., TradingSession.PreMarket, TradingSession.Regular, TradingSession.AfterHours.
691+
交易时段,例如 TradingSession.PreMarket(盘前),TradingSession.Regular(盘中),TradingSession.AfterHours(盘后)
694692
:return: pandas.DataFrame with columns:
695693
- symbol: Stock symbol. 股票代码
696694
- time: Timestamp. 毫秒时间戳
@@ -743,7 +741,7 @@ def get_bars_by_page(self,
743741
def get_trade_ticks(self,
744742
symbols: Union[str, list[str]],
745743
trade_session: Optional[Union[TradingSession,
746-
str]] = None,
744+
str]] = None,
747745
begin_index: Optional[int] = None,
748746
end_index: Optional[int] = None,
749747
limit: Optional[int] = None,
@@ -1080,7 +1078,7 @@ def get_option_briefs(self,
10801078
else:
10811079
raise ApiException(response.code, response.message)
10821080

1083-
return None
1081+
return pd.DataFrame()
10841082

10851083
def get_option_bars(self,
10861084
identifiers: list[str],
@@ -1222,7 +1220,7 @@ def get_option_trade_ticks(self,
12221220
else:
12231221
raise ApiException(response.code, response.message)
12241222

1225-
return None
1223+
return pd.DataFrame()
12261224

12271225
def get_option_symbols(
12281226
self,
@@ -1425,7 +1423,7 @@ def get_future_exchanges(
14251423
return response.exchanges
14261424
else:
14271425
raise ApiException(response.code, response.message)
1428-
return None
1426+
return pd.DataFrame()
14291427

14301428
def get_future_contracts(
14311429
self,
@@ -1480,7 +1478,7 @@ def get_future_contracts(
14801478
return response.contracts
14811479
else:
14821480
raise ApiException(response.code, response.message)
1483-
return None
1481+
return pd.DataFrame()
14841482

14851483
def get_current_future_contract(
14861484
self,
@@ -1531,7 +1529,7 @@ def get_current_future_contract(
15311529
return response.contracts
15321530
else:
15331531
raise ApiException(response.code, response.message)
1534-
return None
1532+
return pd.DataFrame()
15351533

15361534
def get_all_future_contracts(
15371535
self,
@@ -1583,7 +1581,7 @@ def get_all_future_contracts(
15831581
return response.contracts
15841582
else:
15851583
raise ApiException(response.code, response.message)
1586-
return None
1584+
return pd.DataFrame()
15871585

15881586
def get_future_contract(
15891587
self,
@@ -1635,7 +1633,7 @@ def get_future_contract(
16351633
return response.contracts
16361634
else:
16371635
raise ApiException(response.code, response.message)
1638-
return None
1636+
return pd.DataFrame()
16391637

16401638
def get_future_continuous_contracts(
16411639
self,
@@ -1686,7 +1684,7 @@ def get_future_continuous_contracts(
16861684
return response.contracts
16871685
else:
16881686
raise ApiException(response.code, response.message)
1689-
return None
1687+
return pd.DataFrame()
16901688

16911689
def get_future_trading_times(
16921690
self,
@@ -1724,7 +1722,7 @@ def get_future_trading_times(
17241722
return response.trading_times
17251723
else:
17261724
raise ApiException(response.code, response.message)
1727-
return None
1725+
return pd.DataFrame()
17281726

17291727
def get_future_bars(self,
17301728
identifiers: Union[str, list[str]],
@@ -2023,13 +2021,14 @@ def get_corporate_dividend(self,
20232021
:param begin_date: 起始时间. 若是时间戳需要精确到毫秒, 为13位整数;
20242022
或是日期时间格式的字符串, 如 "2019-01-01" 或 "2019-01-01 12:00:00"
20252023
:param end_date: 截止时间. 格式同 begin_date
2024+
:param timezone: 时区
20262025
:return: pandas.DataFrame, 各 column 的含义如下:
20272026
symbol: 证券代码
20282027
action_type: 固定为 "DIVIDEND"
20292028
amount: 分红金额
20302029
currency: 分红货币类型
20312030
announced_date: 公告日期
2032-
excute_date: 除权除息日
2031+
execute_date: 除权除息日
20332032
record_date: 股权登记日
20342033
pay_date: 现金到账日
20352034
market: 所属市场
@@ -2064,6 +2063,7 @@ def get_corporate_earnings_calendar(self,
20642063
:param market:
20652064
:param begin_date: 起始时间
20662065
:param end_date: 截止时间
2066+
:param timezone: 时区
20672067
:return:
20682068
"""
20692069
params = CorporateActionParams()
@@ -2138,7 +2138,8 @@ def get_financial_daily(self,
21382138
def get_financial_report(self,
21392139
symbols: Union[str, list[str]],
21402140
market: Union[Market, str],
2141-
fields: list[Union[Income, Balance, CashFlow, BalanceSheetRatio, Growth, Leverage, Profitability, str]],
2141+
fields: list[Union[
2142+
Income, Balance, CashFlow, BalanceSheetRatio, Growth, Leverage, Profitability, str]],
21422143
period_type: Union[FinancialReportPeriodType, str],
21432144
begin_date: Optional[Union[int, str]] = None,
21442145
end_date: Optional[Union[int, str]] = None,
@@ -2318,8 +2319,8 @@ def get_industry_stocks(self, industry, market=Market.US):
23182319
:param industry: 行业 id
23192320
:param market: 市场枚举类型
23202321
:return: 公司信息列表.
2321-
如 [{'symbol': 'A', 'company_name': 'A', 'market': 'US', 'industry_list': [{...}, {...},..]},
2322-
{'symbol': 'B', 'company_name': 'B', 'market': 'US', 'industry_list': [{...}, {...},..]},
2322+
如 [{'symbol': 'A', 'company_name': 'A', 'market': 'US', 'industry_list': [{...}, {...},...]},
2323+
{'symbol': 'B', 'company_name': 'B', 'market': 'US', 'industry_list': [{...}, {...},...]},
23232324
...]
23242325
"""
23252326
params = IndustryParams()
@@ -2363,12 +2364,11 @@ def get_stock_industry(self, symbol, market=Market.US):
23632364

23642365
def market_scanner(self,
23652366
market: Optional[Union[Market, str]] = Market.US,
2366-
filters: Optional[List['StockFilter']] = None,
2367-
sort_field_data: Optional[Union['SortFilterData',
2368-
Dict[str, Any]]] = None,
2367+
filters: Optional[List[StockFilter]] = None,
2368+
sort_field_data: Optional[SortFilterData] = None,
23692369
page: Optional[int] = 0,
23702370
page_size: Optional[int] = 100,
2371-
cursor_id: Optional[str] = None) -> 'ScannerResult':
2371+
cursor_id: Optional[str] = None) -> ScannerResult:
23722372
"""
23732373
Screen stocks with filtering conditions and sort options. 按条件筛选和排序股票
23742374
@@ -2377,6 +2377,7 @@ def market_scanner(self,
23772377
:param sort_field_data: Sort field data. 排序字段数据. tigeropen.quote.domain.filter.SortFilterData object
23782378
:param page: Page number, starting from 0. 页码,从0开始
23792379
:param page_size: Number of items per page. 每页记录数
2380+
:param cursor_id: Cursor ID for pagination. 分页的游标ID
23802381
:return: ScannerResult object containing page info, result items and symbols
23812382
23822383
The returned ScannerResult contains these fields:
@@ -2551,7 +2552,7 @@ def get_stock_broker(
25512552
limit: int = 40,
25522553
lang: Optional[Union[Language, str]] = None) -> StockBroker:
25532554
"""
2554-
Get stock broker information. 获取股票经纪商信息
2555+
Get stockbroker information. 获取股票经纪商信息
25552556
25562557
:param symbol: Stock symbol. 股票代码
25572558
:param limit: The maximum number of brokers to return at each price level. Default is 40.
@@ -2740,9 +2741,9 @@ def get_capital_flow(self,
27402741
raise ApiException(response.code, response.message)
27412742

27422743
def get_capital_distribution(self,
2743-
symbol: str,
2744-
market: Union[Market, str],
2745-
lang: Optional[Union[Language, str]] = None) -> 'CapitalDistribution':
2744+
symbol: str,
2745+
market: Union[Market, str],
2746+
lang: Optional[Union[Language, str]] = None) -> 'CapitalDistribution':
27462747
"""
27472748
Get capital distribution data for a stock. 获取股票资金分布数据
27482749
@@ -2818,6 +2819,10 @@ def get_warrant_filter(self,
28182819
sort_dir=None,
28192820
filter_params=None):
28202821
"""
2822+
:param symbol:
2823+
:param page:
2824+
:param page_size:
2825+
:param sort_field_name:
28212826
:param sort_dir: tigeropen.common.consts.SortDirection, e.g. SortDirection.DESC
28222827
:param filter_params: tigeropen.quote.request.model.WarrantFilterParams
28232828
:return:

0 commit comments

Comments
 (0)