ok
This commit is contained in:
141
tushare/board.go
Normal file
141
tushare/board.go
Normal file
@@ -0,0 +1,141 @@
|
||||
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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user