Files
qsdk/tushare/board.go
2026-05-01 11:03:19 +08:00

142 lines
3.6 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package tushare
/*
LimitCptList 获取限板板块列表
trade_date: 交易日,格式:YYYYMMDD
ts_code: 板块代码
start_date: 开始日期,格式:YYYYMMDD
end_date: 结束日期,格式:YYYYMMDD
*/
func (cli *TushareClient) LimitCptList(trade_date, ts_code, start_date, end_date string) (*TushareRespData, error) {
params := map[string]any{}
if trade_date != "" {
params["trade_date"] = trade_date
}
if ts_code != "" {
params["ts_code"] = ts_code
}
if start_date != "" {
params["start_date"] = start_date
}
if end_date != "" {
params["end_date"] = end_date
}
req := TushareReq{
APIName: "limit_cpt_list",
Params: params,
}
fields := []map[string]string{
{"rank": "排名"},
{"ts_code": "板块代码"},
{"name": "板块名称"},
{"pct_chg": "涨跌幅%"},
{"up_stat": "连板高度"},
{"days": "上榜天数"},
{"up_nums": "涨停标的数"},
{"cons_nums": "连板标的数"},
}
return cli.Do(req, fields)
}
/*
LimitListD 获取涨跌停列表(新)
trade_date: 交易日期,格式:YYYYMMDD
ts_code: 股票代码
limit_type: 涨跌停类型U 涨停 D 跌停 Z 炸板
exchange: 交易所SH 上交所 SZ 深交所 BJ 北交所
start_date: 开始日期,格式:YYYYMMDD
end_date: 结束日期,格式:YYYYMMDD
*/
func (cli *TushareClient) LimitListD(trade_date, ts_code, limit_type, exchange, start_date, end_date string) (*TushareRespData, error) {
params := map[string]any{}
if trade_date != "" {
params["trade_date"] = trade_date
}
if ts_code != "" {
params["ts_code"] = ts_code
}
if limit_type != "" {
params["limit_type"] = limit_type
}
if exchange != "" {
params["exchange"] = exchange
}
if start_date != "" {
params["start_date"] = start_date
}
if end_date != "" {
params["end_date"] = end_date
}
req := TushareReq{
APIName: "limit_list_d",
Params: params,
}
fields := []map[string]string{
{"trade_date": "交易日期"},
{"ts_code": "股票代码"},
{"industry": "所属行业"},
{"name": "股票名称"},
{"close": "收盘价"},
{"pct_chg": "涨跌幅%"},
{"amount": "成交额"},
{"limit_amount": "板上成交金额"},
{"float_mv": "流通市值"},
{"total_mv": "总市值"},
{"turnover_ratio": "换手率%"},
{"fd_amount": "封单金额"},
{"first_time": "首次封板时间"},
{"last_time": "最后封板时间"},
{"open_times": "炸板次数"},
{"up_stat": "涨停统计"},
{"limit_times": "连板数"},
{"limit": "涨跌停类型"},
}
return cli.Do(req, fields)
}
/*
LimitU 获取涨停股票列表
trade_date: 交易日期,格式:YYYYMMDD
ts_code: 股票代码
start_date: 开始日期,格式:YYYYMMDD
end_date: 结束日期,格式:YYYYMMDD
*/
func (cli *TushareClient) LimitU(trade_date, ts_code, start_date, end_date string) (*TushareRespData, error) {
return cli.LimitListD(trade_date, ts_code, "U", "", start_date, end_date)
}
/*
LimitD 获取跌停股票列表
trade_date: 交易日期,格式:YYYYMMDD
ts_code: 股票代码
start_date: 开始日期,格式:YYYYMMDD
end_date: 结束日期,格式:YYYYMMDD
*/
func (cli *TushareClient) LimitD(trade_date, ts_code, start_date, end_date string) (*TushareRespData, error) {
return cli.LimitListD(trade_date, ts_code, "D", "", start_date, end_date)
}
/*
LimitZ 获取炸板股票列表
trade_date: 交易日期,格式:YYYYMMDD
ts_code: 股票代码
start_date: 开始日期,格式:YYYYMMDD
end_date: 结束日期,格式:YYYYMMDD
*/
func (cli *TushareClient) LimitZ(trade_date, ts_code, start_date, end_date string) (*TushareRespData, error) {
return cli.LimitListD(trade_date, ts_code, "Z", "", start_date, end_date)
}