# 篩選正股
get_stock_screen(request)
介紹
條件選股 V2。相比舊接口 get_stock_filter,因子覆蓋更廣(11 類共 244+ 個因子),數值統一傳原始值(OpenD 自動倍率轉換),支持單字段或多字段排序、顯式聲明取回屬性,結果按
value_type分別填入sval/ival/aval/dval。參數
參數 類型 說明 request StockScreenRequest 條件選股請求對象,通過 builder 方式構建 StockScreenRequest 字段:
字段 類型 說明 page_from int 分頁起始位置 page_count int 單頁最大返回數 篩選條件 builder 方法(每次調用追加一條篩選條件,所有數值字段直接傳原始值,OpenD 自動倍率轉換):
方法 說明 add_simple_field(field, values) 市場 / 交易所 / 指數 / 自選股等枚舉字段篩選 add_plate(plate_ids, parent_plate_id=None) 板塊篩選 add_simple_property(name, lower=None, upper=None) 簡單行情屬性區間篩選 add_cumulative_property(name, days=1, lower=None, upper=None) 累計行情屬性 add_financial_property(name, term=None, year=None, lower=None, upper=None, ...) 財務屬性 add_indicator_positional(first_indicator_name, period_type, position, second_indicator=None, ...) 技術指標位置關係 add_indicator_pattern(name, period_type, ...) 技術指標形態(金叉、死叉、背離等) add_featured_property(name, intervals=None, value_set=None, period=None, range_period=None, first_custom_param=None) 特色指標(籌碼、熱度、分析師評級、資金流等) add_broker_holdings(name, days=None, param=None, intervals=None) 經紀商持股因子 add_kline_shape(name, period=None, value_set=None) K 線形態(雙底、頭肩底等) add_option(name, intervals=None, param=None, period=None) 期權指標(正股 IV、HV 等) 取回屬性 builder 方法(聲明返回哪些字段值;不聲明則只返回 stock_id):
方法 說明 add_retrieve_basic(name) 代碼 / 名稱 / 行業 add_retrieve_simple(name) 簡單行情屬性 add_retrieve_cumulative(name, days=1, period_average=None) 累計屬性 add_retrieve_financial(name, term=None, year=None, ...) 財務屬性 add_retrieve_indicator(name, period=None, indicator_params=None) 技術指標 add_retrieve_featured(name, period=None, range_period=None, first_custom_param=None) 特色屬性 add_retrieve_broker(name, days=None, param=None) 經紀商 add_retrieve_option(name, param=None, period=None) 期權屬性 add_retrieve_kline_shape(name, period=None) K 線形態 排序 builder 方法:
方法 說明 set_sort(direction, property_type, property_params) 單字段排序 add_sort(direction, property_type, property_params) 多字段排序
返回
參數 類型 說明 ret RET_CODE 接口調用結果 data tuple 當 ret == RET_OK,返回 (last_page, all_count, items) str 當 ret != RET_OK,返回錯誤描述 返回 tuple 字段:
字段 類型 說明 last_page bool 是否最後一頁 all_count int 滿足條件的總條數 items list[dict] 當前頁結果列表,元素結構為 {'stock_id': int, 'results': [result, ...]}單條 result 結構:
字段 類型 說明 type str 屬性類型 property dict 對應 property 描述(含 name / days / term 等) value_type int 值類型 sval str 字符串值(value_type=1 時存在) ival int 整型值(value_type=2 時存在) aval list[int] 整型數組值(value_type=3 時存在) dval float 浮點值(value_type=4 時存在) enum_type_name str 當 ival 為枚舉碼時,對應的枚舉類型名(如 'KlineShapeType') enum_name str 當 ival 為枚舉碼時,OpenD/SDK 解碼出的枚舉名(如 'DOUBLE_BOTTOMS'、'NONE') end_time int 財報結束時間戳
Example
from futu import OpenQuoteContext, RET_OK, StockScreenRequest
from futu.quote.stock_screen_const import (
ScrMarket, ScrSortDir, SimpleField, SimpleProperty,
CumulativeProperty, FinancialProperty, Term,
Indicator, Period, Position, Pattern,
BasicProperty, KlineShapeProperty, KlineShapeType,
)
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
# 示例 1:港股大市值股 + MACD 金叉
req = StockScreenRequest()
req.add_simple_field(field=SimpleField.MARKET, values=[ScrMarket.HK])
req.add_simple_property(name=SimpleProperty.PRICE, lower=10.0) # 最新價 ≥ 10
req.add_simple_property(name=SimpleProperty.MARKET_CAP, lower=10_000_000_000.0) # 市值 ≥ 100 億
req.add_simple_property(name=SimpleProperty.PE_TTM, lower=10.0, upper=50.0) # PE(TTM) 10~50
req.add_indicator_pattern(name=Pattern.MACD_GOLD_CROSS, period_type=Period.DAY) # MACD 金叉
# 取回字段
req.add_retrieve_basic(name=BasicProperty.CODE)
req.add_retrieve_basic(name=BasicProperty.NAME)
req.add_retrieve_simple(name=SimpleProperty.PRICE)
req.add_retrieve_simple(name=SimpleProperty.MARKET_CAP)
req.add_retrieve_simple(name=SimpleProperty.PE_TTM)
# 排序
req.set_sort(direction=ScrSortDir.DESC, property_type='simple',
property_params={'name': int(SimpleProperty.MARKET_CAP)})
req.page_count = 50
ret, data = quote_ctx.get_stock_screen(req)
if ret == RET_OK:
last_page, all_count, items = data
print(f"總數 {all_count}, 當前返回 {len(items)} 條")
for it in items[:3]:
print(it['stock_id'], it['results'])
else:
print('error: ', data)
# 示例 2:財務因子 + 累計漲跌幅
req = StockScreenRequest()
req.add_simple_field(field=SimpleField.MARKET, values=[ScrMarket.HK])
req.add_cumulative_property(name=CumulativeProperty.PRICE_CHANGE_PCT,
days=5, lower=-0.05, upper=0.05) # 5 日漲跌幅 -5%~5%(百分數傳小數)
req.add_financial_property(name=FinancialProperty.NET_PROFIT,
term=Term.ANNUAL, lower=0.0) # 年報淨利潤 > 0
req.add_retrieve_basic(name=BasicProperty.CODE)
req.add_retrieve_simple(name=SimpleProperty.PRICE)
req.page_count = 200
ret, data = quote_ctx.get_stock_screen(req)
# 示例 3:K 線形態(W 型底 + 頭肩底)
req = StockScreenRequest()
req.add_simple_field(field=SimpleField.MARKET, values=[ScrMarket.HK])
req.add_kline_shape(name=KlineShapeProperty.SHAPE_TYPE, period=Period.DAY,
value_set=[KlineShapeType.DOUBLE_BOTTOMS,
KlineShapeType.HEAD_SHOULDERS_BOTTOM])
req.add_retrieve_basic(name=BasicProperty.CODE)
req.add_retrieve_kline_shape(name=KlineShapeProperty.SHAPE_TYPE, period=Period.DAY)
ret, data = quote_ctx.get_stock_screen(req)
quote_ctx.close()
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
- Output
總數 1, 當前返回 1 條
54047868453564 [{'type': 'basic', 'property': {'name': 1101}, 'value_type': 1, 'sval': '00700'},
{'type': 'basic', 'property': {'name': 1102}, 'value_type': 1, 'sval': '騰訊控股'},
{'type': 'simple', 'property': {'name': 2201}, 'value_type': 4, 'dval': 460.0},
{'type': 'simple', 'property': {'name': 2301}, 'value_type': 4, 'dval': 4194280264040.0},
{'type': 'simple', 'property': {'name': 2303}, 'value_type': 4, 'dval': 15.75126}]
2
3
4
5
6
字段逐項示例(按類別)
以下示例均以 HK 市場為例:先
req = StockScreenRequest(),再req.add_simple_field(field=SimpleField.MARKET, values=[ScrMarket.HK]), 再疊加每段中的篩選 / 取回 / 排序條件,最後quote_ctx.get_stock_screen(req)取(last_page, all_count, items)。 實測的head已展開results數組裏的對應 property 值(code/name 來自 BasicProperty.CODE/NAME,因子列名取自 SDK 字段名小寫)。# 簡單行情屬性 SimpleProperty
通過
add_simple_property(name, lower, upper)傳入;lower/upper直傳原始值(元/股/百分數 5% 傳 5.0)#
PRICE(id=2201 · simple · SimpleProperty) 最新價單位:元;lower/upper 直傳原始價,OpenD 自動倍率轉換
req.add_simple_property(name=SimpleProperty.PRICE, lower=10.0) req.add_retrieve_simple(name=SimpleProperty.PRICE) req.set_sort(direction=ScrSortDir.DESC, property_type='simple', property_params={'name': int(SimpleProperty.PRICE)})1
2
3
4實測返回(HK · all_count=485、命中 5 行、head 前 5):
stock_id code name price 47704201761008 04336 應用材料-T 1620.0 87836376173009 02513 智譜 1097.0 47704201761005 04333 思科-T 750.0 86839943761574 03750 寧德時代 672.5 87840671141778 03986 兆易創新 653.51
2
3
4
5
6#
MARKET_CAP(id=2301 · simple · SimpleProperty) 總市值單位:元;lower=100 億寫 10_000_000_000
req.add_simple_property(name=SimpleProperty.MARKET_CAP, lower=10_000_000_000.0) req.add_retrieve_simple(name=SimpleProperty.MARKET_CAP) req.set_sort(direction=ScrSortDir.DESC, property_type='simple', property_params={'name': int(SimpleProperty.MARKET_CAP)})1
2
3
4實測返回(HK · all_count=591、命中 5 行、head 前 5):
stock_id code name market_cap 54047868453564 00700 騰訊控股 4222484299075.2 83820581829436 80700 騰訊控股-R 3641391766113.6 86839943761574 03750 寧德時代 3111406771825.0 47704201761005 04333 思科-T 2956075998750.0 57754425230710 01398 工商銀行 2573253176182.581
2
3
4
5
6#
PE_TTM(id=2303 · simple · SimpleProperty) PE(TTM)正常區間篩選;可為負
req.add_simple_property(name=SimpleProperty.PE_TTM, lower=5.0, upper=20.0) req.add_retrieve_simple(name=SimpleProperty.PE_TTM) req.set_sort(direction=ScrSortDir.ASC, property_type='simple', property_params={'name': int(SimpleProperty.PE_TTM)})1
2
3
4實測返回(HK · all_count=830、命中 5 行、head 前 5):
stock_id code name pe_ttm 28604482191640 00280 景福集團 5.0 67345087202619 01339 中國人民保險集團 5.037 68629282424057 01273 香港信貸 5.0847 76063870813891 01731 其利工業集團 5.0877 35433480192608 00608 達利國際 5.08771
2
3
4
5
6#
VOLUME_RATIO(id=2217 · simple · SimpleProperty) 量比今日成交量 / N 日均量;> 2 表示放量
req.add_simple_property(name=SimpleProperty.VOLUME_RATIO, lower=2.0) req.add_retrieve_simple(name=SimpleProperty.VOLUME_RATIO) req.set_sort(direction=ScrSortDir.DESC, property_type='simple', property_params={'name': int(SimpleProperty.VOLUME_RATIO)})1
2
3
4實測返回(HK · all_count=340、命中 5 行、head 前 5):
stock_id code name volume_ratio 50796578209975 00183 宏輝集團 600.0 45999099741384 01224 中渝置地 404.642 1543 01543 中盈盛達融資擔保 400.714 24142011170996 00180 開達集團 314.999 5033701671181 00269 中國資源交通 200.01
2
3
4
5
6#
DIVIDEND_RATIO(id=2305 · simple · SimpleProperty) 股息率單位:% ;股息率 ≥ 5% 傳 5.0
req.add_simple_property(name=SimpleProperty.DIVIDEND_RATIO, lower=5.0) req.add_retrieve_simple(name=SimpleProperty.DIVIDEND_RATIO) req.set_sort(direction=ScrSortDir.DESC, property_type='simple', property_params={'name': int(SimpleProperty.DIVIDEND_RATIO)})1
2
3
4實測返回(HK · all_count=0、命中 0 行):無數據。原因:HK 當下抽樣無 ≥ 5% 股息率股票,可降低 lower 閾值
# 累計行情屬性 CumulativeProperty
通過
add_cumulative_property(name, days, lower, upper)傳入;百分數類(漲跌幅/換手率)傳小數(5% 傳 0.05)#
PRICE_CHANGE_PCT(id=3102 · cumulative · CumulativeProperty) N 日漲跌幅 %百分數傳小數:5% 傳 0.05;
days指 N 日累計窗口req.add_cumulative_property(name=CumulativeProperty.PRICE_CHANGE_PCT, days=5, lower=0.05) req.add_retrieve_cumulative(name=CumulativeProperty.PRICE_CHANGE_PCT, days=5) req.set_sort(direction=ScrSortDir.DESC, property_type='cumulative', property_params={'name': int(CumulativeProperty.PRICE_CHANGE_PCT), 'days': 5})1
2
3
4
5實測返回(HK · all_count=363、命中 5 行、head 前 5):
stock_id code name change_pct_5d 88510686038921 02953 嬴集團股權 4.0 77640123811704 01912 康特隆 2.7679 47704201761005 04333 思科-T 2.2029 88467736365964 02956 中國健康科技股權 1.6667 47704201761008 04336 應用材料-T 1.43841
2
3
4
5
6#
AMPLITUDE(id=3103 · cumulative · CumulativeProperty) N 日振幅 %同 PRICE_CHANGE_PCT,百分數傳小數
req.add_cumulative_property(name=CumulativeProperty.AMPLITUDE, days=20, lower=0.1) req.add_retrieve_cumulative(name=CumulativeProperty.AMPLITUDE, days=20) req.set_sort(direction=ScrSortDir.DESC, property_type='cumulative', property_params={'name': int(CumulativeProperty.AMPLITUDE), 'days': 20})1
2
3
4
5實測返回(HK · all_count=2345、命中 5 行、head 前 5):
stock_id code name amp_20d 47704201761008 04336 應用材料-T 43.3783 55671366092780 02028 映美控股 9.0893 59558311493749 00117 天利控股集團 8.0532 42623255446398 00894 萬裕科技 7.59 88433376627363 02723 深演智能 6.32431
2
3
4
5
6#
AVG_VOLUME(id=3104 · cumulative · CumulativeProperty) N 日均量單位:股;N 日成交量算術平均
req.add_cumulative_property(name=CumulativeProperty.AVG_VOLUME, days=20, lower=1_000_000) req.add_retrieve_cumulative(name=CumulativeProperty.AVG_VOLUME, days=20) req.set_sort(direction=ScrSortDir.DESC, property_type='cumulative', property_params={'name': int(CumulativeProperty.AVG_VOLUME), 'days': 20})1
2
3
4
5實測返回(HK · all_count=2295、命中 5 行、head 前 5):
stock_id code name avg_vol_20d 84688165145005 02477 經緯天地 15586288027 58506044508119 02007 碧桂園 11318232417 69325067126991 02255 海昌海洋公園 10691740000 81462644703252 00020 商湯-W 9517974535 79671643350793 09993 金輝控股 74183142651
2
3
4
5
6#
TURNOVER_RATIO(id=3106 · cumulative · CumulativeProperty) N 日累計換手率單位:% ;百分數傳小數(5% 傳 0.05)
req.add_cumulative_property(name=CumulativeProperty.TURNOVER_RATIO, days=20, lower=0.05) req.add_retrieve_cumulative(name=CumulativeProperty.TURNOVER_RATIO, days=20) req.set_sort(direction=ScrSortDir.DESC, property_type='cumulative', property_params={'name': int(CumulativeProperty.TURNOVER_RATIO), 'days': 20})1
2
3
4
5實測返回(HK · all_count=800、命中 5 行、head 前 5):
stock_id code name turnover_ratio_20d 58196806861368 00568 山東墨龍 6.7527 84688165145005 02477 經緯天地 3.8966 88089779243675 02715 埃斯頓 3.7288 84434762074537 02473 喜相逢集團 3.4646 87230785784391 02631 天嶽先進 3.22081
2
3
4
5
6# 財務屬性 FinancialProperty
通過
add_financial_property(name, term, year, lower, upper)傳入;term取自Term枚舉(年報=100、Q1=1、TTM 類不需要 term);比率類傳小數(15% 傳 0.15)#
NET_PROFIT(id=4101 · financial · FinancialProperty) 淨利潤單位:元;term=ANNUAL(100) 年報、Q1=1、Q2/Q3/Q4 部分港股無數據
req.add_financial_property(name=FinancialProperty.NET_PROFIT, term=Term.ANNUAL, lower=1_000_000_000.0) req.add_retrieve_financial(name=FinancialProperty.NET_PROFIT, term=Term.ANNUAL) req.set_sort(direction=ScrSortDir.DESC, property_type='financial', property_params={'name': int(FinancialProperty.NET_PROFIT), 'term': int(Term.ANNUAL)})1
2
3
4
5
6實測返回(HK · all_count=437、命中 5 行、head 前 5):
stock_id code name net_profit 57754425230710 01398 工商銀行 412328868600.0 56186762167211 00939 建設銀行 377880459000.0 63586990818568 01288 農業銀行 324736536300.0 57118770073492 03988 中國銀行 286850625600.0 83820581829436 80700 騰訊控股-R 255561692100.01
2
3
4
5
6#
ROE(id=4110 · financial · FinancialProperty) 淨資產收益率單位:% ;百分數傳小數(15% 傳 0.15);term=ANNUAL
req.add_financial_property(name=FinancialProperty.ROE, term=Term.ANNUAL, lower=0.15) req.add_retrieve_financial(name=FinancialProperty.ROE, term=Term.ANNUAL) req.set_sort(direction=ScrSortDir.DESC, property_type='financial', property_params={'name': int(FinancialProperty.ROE), 'term': int(Term.ANNUAL)})1
2
3
4
5
6實測返回(HK · all_count=322、命中 5 行、head 前 5):
stock_id code name roe 62487479191132 01628 禹洲集團 40.644 69823283339309 08237 華星控股 12.6906 52845277610549 00565 錦藝集團控股 3.0644 86882893433405 02621 手回集團 2.7027 64969970288874 02282 美高梅中國 2.68861
2
3
4
5
6#
REVENUE_GROWTH(id=4106 · financial · FinancialProperty) 營收同比增長率單位:% ;百分數傳小數(20% 傳 0.20);term=ANNUAL
req.add_financial_property(name=FinancialProperty.REVENUE_GROWTH, term=Term.ANNUAL, lower=0.20) req.add_retrieve_financial(name=FinancialProperty.REVENUE_GROWTH, term=Term.ANNUAL) req.set_sort(direction=ScrSortDir.DESC, property_type='financial', property_params={'name': int(FinancialProperty.REVENUE_GROWTH), 'term': int(Term.ANNUAL)})1
2
3
4
5
6實測返回(HK · all_count=638、命中 5 行、head 前 5):
stock_id code name revenue_growth 46772193854353 00913 港灣數字 106.7922 88377542057458 07666 劑泰科技-P 73.067 53047141075220 02324 首都創投 63.5792 43589623088228 01124 沿海家園 26.7323 74259984551169 03329 交銀國際 20.52561
2
3
4
5
6#
BASIC_EPS(id=4801 · financial · FinancialProperty) 基本每股收益單位:元;term=ANNUAL
req.add_financial_property(name=FinancialProperty.BASIC_EPS, term=Term.ANNUAL, lower=1.0) req.add_retrieve_financial(name=FinancialProperty.BASIC_EPS, term=Term.ANNUAL) req.set_sort(direction=ScrSortDir.DESC, property_type='financial', property_params={'name': int(FinancialProperty.BASIC_EPS), 'term': int(Term.ANNUAL)})1
2
3
4
5
6實測返回(HK · all_count=324、命中 5 行、head 前 5):
stock_id code name basic_eps 86998857554659 06883 穎通控股 123007487.548 88261577939456 06656 思格新能 139.457 69290707392656 06288 FAST RETAIL-DRS 74.984 80418967660265 09961 攜程集團-S 56.044 85439784425509 06181 老鋪黃金 31.3881
2
3
4
5
6#
DIVIDENDS_TTM_RATIO(id=4219 · financial · FinancialProperty) TTM 股息率單位:% ;百分數傳小數;TTM 類不需要 term/year
req.add_financial_property(name=FinancialProperty.DIVIDENDS_TTM_RATIO, lower=0.05) req.add_retrieve_financial(name=FinancialProperty.DIVIDENDS_TTM_RATIO) req.set_sort(direction=ScrSortDir.DESC, property_type='financial', property_params={'name': int(FinancialProperty.DIVIDENDS_TTM_RATIO)})1
2
3
4實測返回(HK · all_count=463、命中 5 行、head 前 5):
stock_id code name div_ttm_ratio 50856707752105 00169 萬達酒店發展 4.0526 2136 02136 利福中國 0.6562 77622943942788 02180 萬寶盛華 0.3752 75419625726233 08473 彌明生活百貨 0.3303 64896955845349 02789 遠大中國 0.29941
2
3
4
5
6# 技術指標位置關係 Indicator
通過
add_indicator_positional(first_indicator_name, period_type, position, second_indicator=None, value=None, first_indicator_params=None)傳入;position取自Position(OVER=1、BELOW=2、CROSS_UP=3、CROSS_DOWN=4)#
MA5 / MA20(id=11 · indicator · Indicator) MA5 上穿 MA20add_indicator_positional:first/second 都是 Indicator 枚舉;位置 CROSS_UP=3、CROSS_DOWN=4、OVER=1、BELOW=2
req.add_indicator_positional(first_indicator_name=Indicator.MA5, period_type=Period.DAY, position=Position.CROSS_UP, second_indicator=Indicator.MA20)1
2
3
4實測返回(HK · all_count=67、命中 5 行、head 前 5):
stock_id code name 88356067214548 01236 樂動機器人 88313117542845 02493 邁威生物-B 88179973556902 02726 瀚天天成 87033217287972 01828 富衞集團 86968792779992 03288 海天味業1
2
3
4
5
6#
RSI(id=52 · indicator · Indicator) RSI 超買(>70)指標參數通過 first_indicator_params 傳入,例如 RSI 週期 14;單值比較用 second_value
req.add_indicator_positional(first_indicator_name=Indicator.RSI, period_type=Period.DAY, position=Position.OVER, second_value=70, first_indicator_params=[14])1
2
3
4實測返回(HK · all_count=97、命中 5 行、head 前 5):
stock_id code name 88502096109937 08561 愛世紀集團股權 88476326299379 01779 天辰生物-B 88450556496782 02958 遠見控股(舊) 88416196762328 06872 丹諾醫藥-B 88407606823814 02950 升能集團(舊)1
2
3
4
5
6#
MACD_DIF(id=41 · indicator · Indicator) MACD DIF 在零軸上方second_value 為單值閾值;position=OVER 表示 DIF > 0
req.add_indicator_positional(first_indicator_name=Indicator.MACD_DIF, period_type=Period.DAY, position=Position.OVER, second_value=0)1
2
3實測返回(HK · all_count=786、命中 5 行、head 前 5):
stock_id code name 88476326299379 01779 天辰生物-B 88467736365964 02956 中國健康科技股權 88450556496782 02958 遠見控股(舊) 88437671594888 02952 杭品生活科技股權 88433376627363 02723 深演智能1
2
3
4
5
6#
PRICE / BOLL_UPPER(id=1 · indicator · Indicator) 股價上穿布林上軌PRICE(1) 與 BOLL_UPPER(61) 比較位置
req.add_indicator_positional(first_indicator_name=Indicator.PRICE, period_type=Period.DAY, position=Position.CROSS_UP, second_indicator=Indicator.BOLL_UPPER)1
2
3
4實測返回(HK · all_count=50、命中 5 行、head 前 5):
stock_id code name 87544318404244 09876 大洋環球控股 85864986184208 02576 太美醫療科技 84482006714840 02520 山西安裝 83000243002163 06963 陽光保險 82961588291781 02245 力勤資源1
2
3
4
5
6# 技術指標形態 Pattern
通過
add_indicator_pattern(name, period_type)傳入;name取自Pattern枚舉#
MACD_GOLD_CROSS(id=21 · pattern · Pattern) MACD 金叉add_indicator_pattern:name 取自 Pattern 枚舉
req.add_indicator_pattern(name=Pattern.MACD_GOLD_CROSS, period_type=Period.DAY)1實測返回(HK · all_count=116、命中 5 行、head 前 5):
stock_id code name 88502096109937 08561 愛世紀集團股權 88416196764014 08558 麥迪森控股(舊) 88265872906147 06051 有贊 86998857553944 06168 週六福 86822763895471 06831 綠茶集團1
2
3
4
5
6#
KDJ_GOLD_CROSS(id=11 · pattern · Pattern) KDJ 金叉同上,K 上穿 D
req.add_indicator_pattern(name=Pattern.KDJ_GOLD_CROSS, period_type=Period.DAY)1實測返回(HK · all_count=179、命中 5 行、head 前 5):
stock_id code name 88480621267856 02960 ALCO HOLD RTS 88420491725703 02951 京玖康療(舊) 88179973556702 02526 德適-B 87746181861167 03887 HASHKEY HLDGS 87741886892639 02655 果下科技1
2
3
4
5
6#
BOLL_BREAK_UPPER(id=41 · pattern · Pattern) 股價突破布林上軌BOLL 形態系列 41~44
req.add_indicator_pattern(name=Pattern.BOLL_BREAK_UPPER, period_type=Period.DAY)1實測返回(HK · all_count=50、命中 5 行、head 前 5):
stock_id code name 87544318404244 09876 大洋環球控股 85864986184208 02576 太美醫療科技 84482006714840 02520 山西安裝 83000243002163 06963 陽光保險 82961588291781 02245 力勤資源1
2
3
4
5
6# 特色指標 FeaturedProperty
通過
add_featured_property(name, intervals, value_set, period, range_period, first_custom_param)傳入;區間用intervals=[(lower, upper)],枚舉用value_set=[...]#
SHORT_POSITION(id=5110 · featured · FeaturedProperty) 空頭持倉單位:股;不需 intervals
req.add_featured_property(name=FeaturedProperty.SHORT_POSITION) req.add_retrieve_featured(name=FeaturedProperty.SHORT_POSITION) req.set_sort(direction=ScrSortDir.DESC, property_type='featured', property_params={'name': int(FeaturedProperty.SHORT_POSITION)})1
2
3
4實測返回(HK · all_count=0、命中 0 行):無數據。原因:該 featured 因子 HK 暫未暴露數據,需切換 US 市場查詢
#
ANALYST_RATING(id=5401 · featured · FeaturedProperty) 分析師評級枚舉值:1=強烈買入、2=買入、3=持有、4=賣出、5=強烈賣出;value_set 傳枚舉列表
req.add_featured_property(name=FeaturedProperty.ANALYST_RATING, value_set=[1, 2]) req.add_retrieve_featured(name=FeaturedProperty.ANALYST_RATING) req.set_sort(direction=ScrSortDir.ASC, property_type='featured', property_params={'name': int(FeaturedProperty.ANALYST_RATING)})1
2
3
4實測返回(HK · all_count=0、命中 0 行):無數據。原因:需切換至覆蓋率更高的 US 市場,或放寬 value_set
#
ANALYST_TARGET_PRICE(id=5403 · featured · FeaturedProperty) 分析師目標價單位:元;區間用 dict 列表
[{'lower': {'value': X, 'includes': True}}],上下限可省req.add_featured_property(name=FeaturedProperty.ANALYST_TARGET_PRICE, intervals=[{'lower': {'value': 100.0, 'includes': True}}]) req.add_retrieve_featured(name=FeaturedProperty.ANALYST_TARGET_PRICE) req.set_sort(direction=ScrSortDir.DESC, property_type='featured', property_params={'name': int(FeaturedProperty.ANALYST_TARGET_PRICE)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:需切換至覆蓋率更高的 US 市場,或放寬 intervals 下限
#
HIST_PERCENTILE_PE(id=5502 · featured · FeaturedProperty) 當前 PE 歷史百分位range_period 必傳:RangePeriod 枚舉 (THREE_MONTHS=1、SIX_MONTHS=2、ONE_YEAR=3、THREE_YEARS=4)
req.add_featured_property(name=FeaturedProperty.HIST_PERCENTILE_PE, range_period=RangePeriod.THREE_YEARS, intervals=[{'upper': {'value': 0.30, 'includes': True}}]) req.add_retrieve_featured(name=FeaturedProperty.HIST_PERCENTILE_PE, range_period=RangePeriod.THREE_YEARS) req.set_sort(direction=ScrSortDir.ASC, property_type='featured', property_params={'name': int(FeaturedProperty.HIST_PERCENTILE_PE), 'rangePeriod': int(RangePeriod.THREE_YEARS)})1
2
3
4
5
6
7
8實測返回(HK · all_count=0、命中 0 行):無數據。原因:HK 部分股票無歷史 PE 數據,可放寬 range_period / intervals
#
CASH_FLOW_MAIN_NET_IN(id=5901 · featured · FeaturedProperty) 主力資金淨流入單位:元;資金流入用 CashFlowPeriod 枚舉 (DAY=1、WEEK=2、MONTH_P=3、QUARTER=4)
req.add_featured_property(name=FeaturedProperty.CASH_FLOW_MAIN_NET_IN, range_period=CashFlowPeriod.DAY, intervals=[{'lower': {'value': 10_000_000.0, 'includes': True}}]) req.add_retrieve_featured(name=FeaturedProperty.CASH_FLOW_MAIN_NET_IN, range_period=CashFlowPeriod.DAY) req.set_sort(direction=ScrSortDir.DESC, property_type='featured', property_params={'name': int(FeaturedProperty.CASH_FLOW_MAIN_NET_IN), 'rangePeriod': int(CashFlowPeriod.DAY)})1
2
3
4
5
6
7
8實測返回(HK · all_count=0、命中 0 行):無數據。原因:HK 實測無數據,建議改用 US 市場或更短週期
# 經紀商持股 BrokerProperty
通過
add_broker_holdings(name, days, param, intervals)傳入;僅港股;6101/6102/6105/6106/6107 倍率 1000,按百分數傳值(20% 傳 20)#
CONCENTRATED_DISTRIBUTION(id=6101 · broker · BrokerProperty) 經紀商集中度僅港股;intervals 按 dict 列表傳,單位 %(20% 傳 20.0);param=經紀商代碼逗號分隔
req.add_broker_holdings(name=BrokerProperty.CONCENTRATED_DISTRIBUTION, intervals=[{'lower': {'value': 20.0, 'includes': True}}]) req.add_retrieve_broker(name=BrokerProperty.CONCENTRATED_DISTRIBUTION) req.set_sort(direction=ScrSortDir.DESC, property_type='broker', property_params={'name': int(BrokerProperty.CONCENTRATED_DISTRIBUTION)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:若 HK OpenD 未訂閲 broker 行情則返回 0,可放低 lower
#
CENTRAL_HOLDINGS_RATIO(id=6106 · broker · BrokerProperty) 中央結算系統持股佔比僅港股;intervals 按 dict 列表傳,單位 %
req.add_broker_holdings(name=BrokerProperty.CENTRAL_HOLDINGS_RATIO, intervals=[{'lower': {'value': 10.0, 'includes': True}}]) req.add_retrieve_broker(name=BrokerProperty.CENTRAL_HOLDINGS_RATIO) req.set_sort(direction=ScrSortDir.DESC, property_type='broker', property_params={'name': int(BrokerProperty.CENTRAL_HOLDINGS_RATIO)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:若 HK OpenD 未訂閲 broker 行情則返回 0,可放低 lower
#
BROKER_NUM(id=6103 · broker · BrokerProperty) 持有該股的經紀商數量僅港股;整數(intervals 用 dict 列表)
req.add_broker_holdings(name=BrokerProperty.BROKER_NUM, intervals=[{'lower': {'value': 100, 'includes': True}}]) req.add_retrieve_broker(name=BrokerProperty.BROKER_NUM) req.set_sort(direction=ScrSortDir.DESC, property_type='broker', property_params={'name': int(BrokerProperty.BROKER_NUM)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:若 HK OpenD 未訂閲 broker 行情則返回 0
# K 線形態 KlineShapeProperty
通過
add_kline_shape(name, period, value_set)傳入;period必傳,目前僅支持日 K(Period.DAY=11) 與 1 小時 K(Period.HOUR_1=5)#
SHAPE_TYPE(id=6200 · kline_shape · KlineShapeProperty) K 線形態識別period 必傳:日 K=11、1 小時 K=5(實測發現 SDK 文檔曾標註 21,但 21 實為周 K,應傳 5);value_set 取自 KlineShapeType
req.add_kline_shape(name=KlineShapeProperty.SHAPE_TYPE, period=Period.DAY, value_set=[KlineShapeType.DOUBLE_BOTTOMS, KlineShapeType.HEAD_SHOULDERS_BOTTOM]) req.add_retrieve_kline_shape(name=KlineShapeProperty.SHAPE_TYPE, period=Period.DAY)1
2
3
4實測返回(HK · all_count=0、命中 0 行):無數據。原因:指定形態 + 區間無命中,可放寬 value_set
#
RISE_PROB(id=6201 · kline_shape · KlineShapeProperty) 形態後上漲概率單位:% ;與 SHAPE_TYPE 聯合使用
req.add_kline_shape(name=KlineShapeProperty.SHAPE_TYPE, period=Period.DAY, value_set=[KlineShapeType.DOUBLE_BOTTOMS]) req.add_retrieve_kline_shape(name=KlineShapeProperty.RISE_PROB, period=Period.DAY) req.set_sort(direction=ScrSortDir.DESC, property_type='kline_shape', property_params={'name': int(KlineShapeProperty.RISE_PROB), 'period': int(Period.DAY)})1
2
3
4
5
6實測返回(HK · all_count=0、命中 0 行):無數據。原因:與 SHAPE_TYPE 聯用;HK 抽樣無命中
# 期權屬性 OptionProperty
通過
add_option(name, intervals, param, period)傳入;用於按正股 IV / HV 等期權維度篩選#
STOCK_IV(id=1000 · option · OptionProperty) 正股期權隱含波動率單位:% ;intervals 用 dict 列表;period 取自 OptionHVPeriod (HV_30D/60D/90D/120D/365D)
req.add_option(name=OptionProperty.STOCK_IV, intervals=[{'lower': {'value': 30.0, 'includes': True}}]) req.add_retrieve_option(name=OptionProperty.STOCK_IV) req.set_sort(direction=ScrSortDir.DESC, property_type='option', property_params={'name': int(OptionProperty.STOCK_IV)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:需切換至期權全集市場(US)或放低 intervals 下限
#
STOCK_IV_RANK(id=1001 · option · OptionProperty) 正股 IV Rank0~100;衡量當前 IV 在歷史中的相對位置(intervals 用 dict 列表)
req.add_option(name=OptionProperty.STOCK_IV_RANK, intervals=[{'lower': {'value': 50.0, 'includes': True}}]) req.add_retrieve_option(name=OptionProperty.STOCK_IV_RANK) req.set_sort(direction=ScrSortDir.DESC, property_type='option', property_params={'name': int(OptionProperty.STOCK_IV_RANK)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:需切換至期權全集市場(US)或放低 intervals 下限
#
STOCK_HV(id=1006 · option · OptionProperty) 正股歷史波動率單位:% ;intervals 用 dict 列表;period 取自 OptionHVPeriod
req.add_option(name=OptionProperty.STOCK_HV, intervals=[{'lower': {'value': 20.0, 'includes': True}}]) req.add_retrieve_option(name=OptionProperty.STOCK_HV) req.set_sort(direction=ScrSortDir.DESC, property_type='option', property_params={'name': int(OptionProperty.STOCK_HV)})1
2
3
4
5實測返回(HK · all_count=0、命中 0 行):無數據。原因:需切換至期權全集市場(US)或放低 intervals 下限
介面限制
- 每 30 秒內最多請求 10 次條件選股介面