Skip to main content

futu_rest/routes/qot/reference/
ownership.rs

1//! Short-interest, shareholder, insider, and user-security REST adapters.
2
3use super::*;
4
5/// POST /api/daily-short-volume — 获取每日卖空成交。
6pub async fn get_daily_short_volume(
7    State(state): State<RestState>,
8    Json(body): Json<Value>,
9) -> RawApiResult {
10    adapter::proto_request_raw::<
11        qot_get_daily_short_volume::Request,
12        qot_get_daily_short_volume::Response,
13    >(&state, proto_id::QOT_GET_DAILY_SHORT_VOLUME, Some(body))
14    .await
15}
16
17/// POST /api/short-interest — 获取空头持仓。
18pub async fn get_short_interest(
19    State(state): State<RestState>,
20    Json(body): Json<Value>,
21) -> RawApiResult {
22    adapter::proto_request_raw::<qot_get_short_interest::Request, qot_get_short_interest::Response>(
23        &state,
24        proto_id::QOT_GET_SHORT_INTEREST,
25        Some(body),
26    )
27    .await
28}
29
30/// POST /api/top-ten-buy-sell-brokers — 获取十大买卖经纪商。
31pub async fn get_top_ten_buy_sell_brokers(
32    State(state): State<RestState>,
33    Json(body): Json<Value>,
34) -> RawApiResult {
35    adapter::proto_request_raw::<
36        qot_get_top_ten_buy_sell_brokers::Request,
37        qot_get_top_ten_buy_sell_brokers::Response,
38    >(
39        &state,
40        proto_id::QOT_GET_TOP_TEN_BUY_SELL_BROKERS,
41        Some(body),
42    )
43    .await
44}
45
46/// POST /api/shareholders-overview — 获取持股统计。
47pub async fn get_shareholders_overview(
48    State(state): State<RestState>,
49    Json(body): Json<Value>,
50) -> RawApiResult {
51    adapter::proto_request_raw::<
52        qot_get_shareholders_overview::Request,
53        qot_get_shareholders_overview::Response,
54    >(&state, proto_id::QOT_GET_SHAREHOLDERS_OVERVIEW, Some(body))
55    .await
56}
57
58/// POST /api/shareholders-holding-changes — 获取股东持股变动。
59pub async fn get_shareholders_holding_changes(
60    State(state): State<RestState>,
61    Json(body): Json<Value>,
62) -> RawApiResult {
63    adapter::proto_request_raw::<
64        qot_get_shareholders_holding_changes::Request,
65        qot_get_shareholders_holding_changes::Response,
66    >(
67        &state,
68        proto_id::QOT_GET_SHAREHOLDERS_HOLDING_CHANGES,
69        Some(body),
70    )
71    .await
72}
73
74/// POST /api/shareholders-holder-detail — 获取股东持股明细。
75pub async fn get_shareholders_holder_detail(
76    State(state): State<RestState>,
77    Json(body): Json<Value>,
78) -> RawApiResult {
79    adapter::proto_request_raw::<
80        qot_get_shareholders_holder_detail::Request,
81        qot_get_shareholders_holder_detail::Response,
82    >(
83        &state,
84        proto_id::QOT_GET_SHAREHOLDERS_HOLDER_DETAIL,
85        Some(body),
86    )
87    .await
88}
89
90/// POST /api/shareholders-institutional — 获取机构持股统计。
91pub async fn get_shareholders_institutional(
92    State(state): State<RestState>,
93    Json(body): Json<Value>,
94) -> RawApiResult {
95    adapter::proto_request_raw::<
96        qot_get_shareholders_institutional::Request,
97        qot_get_shareholders_institutional::Response,
98    >(
99        &state,
100        proto_id::QOT_GET_SHAREHOLDERS_INSTITUTIONAL,
101        Some(body),
102    )
103    .await
104}
105
106/// POST /api/insider-holder-list — 获取内部人持股列表。
107pub async fn get_insider_holder_list(
108    State(state): State<RestState>,
109    Json(body): Json<Value>,
110) -> RawApiResult {
111    adapter::proto_request_raw::<
112        qot_get_insider_holder_list::Request,
113        qot_get_insider_holder_list::Response,
114    >(&state, proto_id::QOT_GET_INSIDER_HOLDER_LIST, Some(body))
115    .await
116}
117
118/// POST /api/insider-trade-list — 获取内部人交易列表。
119pub async fn get_insider_trade_list(
120    State(state): State<RestState>,
121    Json(body): Json<Value>,
122) -> RawApiResult {
123    adapter::proto_request_raw::<
124        qot_get_insider_trade_list::Request,
125        qot_get_insider_trade_list::Response,
126    >(&state, proto_id::QOT_GET_INSIDER_TRADE_LIST, Some(body))
127    .await
128}
129
130/// POST /api/user-security — 获取自选股。
131pub async fn get_user_security(
132    State(state): State<RestState>,
133    Json(body): Json<Value>,
134) -> RawApiResult {
135    adapter::proto_request_raw::<qot_get_user_security::Request, qot_get_user_security::Response>(
136        &state,
137        proto_id::QOT_GET_USER_SECURITY,
138        Some(body),
139    )
140    .await
141}
142
143/// POST /api/user-security-groups — 获取自选股分组列表。
144pub async fn get_user_security_group(
145    State(state): State<RestState>,
146    Json(body): Json<Value>,
147) -> RawApiResult {
148    adapter::proto_request_raw::<
149        qot_get_user_security_group::Request,
150        qot_get_user_security_group::Response,
151    >(&state, proto_id::QOT_GET_USER_SECURITY_GROUP, Some(body))
152    .await
153}
154
155/// POST /api/holding-change — 获取持股变动。
156pub async fn get_holding_change(
157    State(state): State<RestState>,
158    Json(body): Json<Value>,
159) -> RawApiResult {
160    adapter::proto_request_raw::<
161        qot_get_holding_change_list::Request,
162        qot_get_holding_change_list::Response,
163    >(&state, proto_id::QOT_GET_HOLDING_CHANGE_LIST, Some(body))
164    .await
165}
166
167/// POST /api/modify-user-security — 修改自选。
168pub async fn modify_user_security(
169    State(state): State<RestState>,
170    Json(body): Json<Value>,
171) -> RawApiResult {
172    adapter::proto_request_raw::<
173        qot_modify_user_security::Request,
174        qot_modify_user_security::Response,
175    >(&state, proto_id::QOT_MODIFY_USER_SECURITY, Some(body))
176    .await
177}