选股器

选股器

签名


pub async fn market_scanner( &self, req: MarketScannerRequest, ) -> Result<Option<ScannerResult>, TigerError>

说明

v1;market 必填;页码、游标、过滤 JSON 和排序可选;需选股器权限。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketString必填无
req.pageOption<i32>可选None(不序列化)
req.page_sizeOption<i32>可选None(不序列化)
req.cursor_idOption<String>可选None(不序列化)
req.base_filter_listOption<Vec<serde_json::Value>>可选None(不序列化)
req.accumulate_filter_listOption<Vec<serde_json::Value>>可选None(不序列化)
req.financial_filter_listOption<Vec<serde_json::Value>>可选None(不序列化)
req.multi_tags_filter_listOption<Vec<serde_json::Value>>可选None(不序列化)
req.sort_field_dataOption<serde_json::Value>可选None(不序列化)
req.multi_tags_fieldsOption<Vec<String>>可选None(不序列化)

返回

QuoteClient: Result<Option<ScannerResult>, TigerError>。

ScannerResult 字段:

字段Rust 类型说明
pagei32页码
total_pagei32总页数
total_counti32总记录数
page_sizei32每页数量
cursor_idString游标 ID
itemsVec<ScannerResultItem>扫描结果行

items 中每个 ScannerResultItem 字段:

字段Rust 类型说明
symbolString标的代码
marketString市场
base_data_listVec<ScannerDataRow>基础数据
accumulate_data_listVec<ScannerDataRow>累计数据
financial_data_listVec<ScannerDataRow>财务数据
multi_tag_data_listVec<ScannerDataRow>多标签数据

以上四个数据列表中的每个 ScannerDataRow 字段:

字段Rust 类型说明
indexi32字段索引
nameString字段名称
valueString字段字符串值
dataf64字段数值

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_market_scanner(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.market_scanner(MarketScannerRequest { market: "US".into(), ..Default::default() }).await?;

    Ok(())

}

返回示例

{
  "page": 1,
  "totalPage": 5,
  "totalCount": 98,
  "pageSize": 20,
  "cursorId": "abc123",
  "items": [{"symbol":"AAPL","market":"US","latestPrice":195.50}]
}

请求频率

基础限流为 10 次/分钟。


获取选股器标签

签名


pub async fn get_market_scanner_tags( &self, req: MarketScannerTagsRequest, ) -> Result<Vec<MarketScannerTagGroup>, TigerError>

说明

市场与字段列表可选;Rust 字段 multi_tags_fields wire 为 multi_tag_field_list。

参数

参数Rust 类型必填性/条件SDK 默认值
req.marketOption<String>可选None(不序列化)
req.multi_tags_fieldsOption<Vec<String>>可选None(不序列化)
req.langOption<String>可选None(不序列化)

返回

QuoteClient: Result<Vec<MarketScannerTagGroup>, TigerError>。

每个 MarketScannerTagGroup 字段:

字段Rust 类型说明
marketString市场
multi_tag_fieldString多标签字段
tag_listVec<MarketScannerTag>标签列表

tag_list 中每个 MarketScannerTag 字段:

字段Rust 类型说明
fieldString标签字段
nameString标签名称
valuesVec<String>可用标签值

示例


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_market_scanner_tags(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = quote.get_market_scanner_tags(MarketScannerTagsRequest { ..Default::default() }).await?;

    Ok(())

}

返回示例

[
  {
    "market": "",
    "multiTagField": "",
    "tagList": []
  }
]

请求频率

基础限流为 10 次/分钟。



Did this page help you?