214 lines
5.4 KiB
Go
214 lines
5.4 KiB
Go
|
|
package tushare
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
ThsHot 同花顺热榜
|
|||
|
|
|
|||
|
|
trade_date str N 交易日期
|
|||
|
|
ts_code str N TS代码
|
|||
|
|
market str N 热榜类型(热股、ETF、可转债、行业板块、概念板块、期货、港股、热基、美股)
|
|||
|
|
is_new str N 是否最新(默认Y,如果为N则为盘中和盘后阶段采集,具体时间可参考rank_time字段,状态N每小时更新一次,状态Y更新时间为22:30)
|
|||
|
|
*/
|
|||
|
|
func (cli *TushareClient) ThsHot(trade_date, ts_code, market, is_new string) (*TushareRespData, error) {
|
|||
|
|
params := map[string]any{}
|
|||
|
|
if trade_date != "" {
|
|||
|
|
params["trade_date"] = trade_date
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if ts_code != "" {
|
|||
|
|
params["ts_code"] = ts_code
|
|||
|
|
}
|
|||
|
|
if market != "" {
|
|||
|
|
params["market"] = market
|
|||
|
|
}
|
|||
|
|
if is_new != "" {
|
|||
|
|
params["is_new"] = is_new
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
req := TushareReq{
|
|||
|
|
APIName: "ths_hot",
|
|||
|
|
Params: params,
|
|||
|
|
}
|
|||
|
|
/*
|
|||
|
|
trade_date str Y 交易日期
|
|||
|
|
data_type str Y 数据类型
|
|||
|
|
ts_code str Y 股票代码
|
|||
|
|
ts_name str Y 股票名称
|
|||
|
|
rank int Y 排行
|
|||
|
|
pct_change float Y 涨跌幅%
|
|||
|
|
current_price float Y 当前价格
|
|||
|
|
concept str Y 标签
|
|||
|
|
rank_reason str Y 上榜解读
|
|||
|
|
hot float Y 热度值
|
|||
|
|
rank_time str Y 排行榜获取时间
|
|||
|
|
*/
|
|||
|
|
fields := []map[string]string{
|
|||
|
|
{"trade_date": "交易日期"},
|
|||
|
|
{"data_type": "数据类型"},
|
|||
|
|
{"ts_code": "TS代码"},
|
|||
|
|
{"ts_name": "股票名称"},
|
|||
|
|
{"rank": "排行"},
|
|||
|
|
{"pct_change": "涨跌幅%"},
|
|||
|
|
{"current_price": "当前价格"},
|
|||
|
|
{"concept": "标签"},
|
|||
|
|
{"rank_reason": "上榜解读"},
|
|||
|
|
{"hot": "热度值"},
|
|||
|
|
{"rank_time": "排行榜获取时间"},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return cli.Do(req, fields)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
ThsIndex 同花顺概念和行业指数
|
|||
|
|
|
|||
|
|
接口说明:
|
|||
|
|
- 描述:获取同花顺板块指数,包括概念、行业、特色指数
|
|||
|
|
- 权限:本接口需有6000积分,单次最大返回5000行数据,一次可提取全部数据,请勿循环提取
|
|||
|
|
- 注意事项:数据版权归属同花顺,如做商业用途,请主动联系同花顺
|
|||
|
|
|
|||
|
|
输入参数:
|
|||
|
|
- ts_code: 指数代码(可选)
|
|||
|
|
- exchange: 市场类型,A-a股 HK-港股 US-美股(可选)
|
|||
|
|
- type: 指数类型,N-概念指数 I-行业指数 R-地域指数 S-同花顺特色指数 ST-同花顺风格指数 TH-同花顺主题指数 BB-同花顺宽基指数(可选)
|
|||
|
|
|
|||
|
|
输出参数:
|
|||
|
|
- ts_code: 代码
|
|||
|
|
- name: 名称
|
|||
|
|
- count: 成分个数
|
|||
|
|
- exchange: 交易所
|
|||
|
|
- list_date: 上市日期
|
|||
|
|
- type: N概念指数S特色指数
|
|||
|
|
*/
|
|||
|
|
func (cli *TushareClient) ThsIndex(ts_code, exchange, typ string) (*TushareRespData, error) {
|
|||
|
|
params := map[string]any{}
|
|||
|
|
if ts_code != "" {
|
|||
|
|
params["ts_code"] = ts_code
|
|||
|
|
}
|
|||
|
|
if exchange != "" {
|
|||
|
|
params["exchange"] = exchange
|
|||
|
|
}
|
|||
|
|
if typ != "" {
|
|||
|
|
params["type"] = typ
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
req := TushareReq{
|
|||
|
|
APIName: "ths_index",
|
|||
|
|
Params: params,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
fields := []map[string]string{
|
|||
|
|
{"ts_code": "代码"},
|
|||
|
|
{"name": "名称"},
|
|||
|
|
{"count": "成分个数"},
|
|||
|
|
{"exchange": "交易所"},
|
|||
|
|
{"list_date": "上市日期"},
|
|||
|
|
{"type": "类型"},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return cli.Do(req, fields)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
ThsDaily 同花顺板块指数行情
|
|||
|
|
|
|||
|
|
接口说明:
|
|||
|
|
- 描述:获取同花顺板块指数行情
|
|||
|
|
- 限量:单次最大3000行数据(需6000积分),可根据指数代码、日期参数循环提取
|
|||
|
|
- 注意事项:数据版权归属同花顺,如做商业用途,请主动联系同花顺
|
|||
|
|
|
|||
|
|
输入参数:
|
|||
|
|
- ts_code: 指数代码(可选)
|
|||
|
|
- trade_date: 交易日期(YYYYMMDD格式)(可选)
|
|||
|
|
- start_date: 开始日期(YYYYMMDD格式)(可选)
|
|||
|
|
- end_date: 结束日期(YYYYMMDD格式)(可选)
|
|||
|
|
|
|||
|
|
输出参数:
|
|||
|
|
- ts_code: TS指数代码
|
|||
|
|
- trade_date: 交易日
|
|||
|
|
- close: 收盘点位
|
|||
|
|
- open: 开盘点位
|
|||
|
|
- high: 最高点位
|
|||
|
|
- low: 最低点位
|
|||
|
|
- pre_close: 昨日收盘点
|
|||
|
|
- avg_price: 平均价
|
|||
|
|
- change: 涨跌点位
|
|||
|
|
- pct_change: 涨跌幅
|
|||
|
|
- vol: 成交量(手)
|
|||
|
|
- turnover_rate: 换手率(%)
|
|||
|
|
- total_mv: 总市值(元)
|
|||
|
|
- float_mv: 流通市值(元)
|
|||
|
|
*/
|
|||
|
|
func (cli *TushareClient) ThsDaily(ts_code, trade_date, start_date, end_date string) (*TushareRespData, error) {
|
|||
|
|
params := map[string]any{}
|
|||
|
|
if ts_code != "" {
|
|||
|
|
params["ts_code"] = ts_code
|
|||
|
|
}
|
|||
|
|
if trade_date != "" {
|
|||
|
|
params["trade_date"] = trade_date
|
|||
|
|
}
|
|||
|
|
if start_date != "" {
|
|||
|
|
params["start_date"] = start_date
|
|||
|
|
}
|
|||
|
|
if end_date != "" {
|
|||
|
|
params["end_date"] = end_date
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
req := TushareReq{
|
|||
|
|
APIName: "ths_daily",
|
|||
|
|
Params: params,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
fields := []map[string]string{
|
|||
|
|
{"ts_code": "TS指数代码"},
|
|||
|
|
{"trade_date": "交易日"},
|
|||
|
|
{"close": "收盘点位"},
|
|||
|
|
{"open": "开盘点位"},
|
|||
|
|
{"high": "最高点位"},
|
|||
|
|
{"low": "最低点位"},
|
|||
|
|
{"pre_close": "昨日收盘点"},
|
|||
|
|
{"avg_price": "平均价"},
|
|||
|
|
{"change": "涨跌点位"},
|
|||
|
|
{"pct_change": "涨跌幅"},
|
|||
|
|
{"vol": "成交量(手)"},
|
|||
|
|
{"turnover_rate": "换手率(%)"},
|
|||
|
|
{"total_mv": "总市值(元)"},
|
|||
|
|
{"float_mv": "流通市值(元)"},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return cli.Do(req, fields)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
ThsMember 获取同花顺概念板块成分
|
|||
|
|
|
|||
|
|
ts_code: 板块指数代码
|
|||
|
|
con_code: 股票代码
|
|||
|
|
*/
|
|||
|
|
func (cli *TushareClient) ThsMember(ts_code, con_code string) (*TushareRespData, error) {
|
|||
|
|
params := map[string]any{}
|
|||
|
|
|
|||
|
|
if ts_code != "" {
|
|||
|
|
params["ts_code"] = ts_code
|
|||
|
|
}
|
|||
|
|
if con_code != "" {
|
|||
|
|
params["con_code"] = con_code
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
req := TushareReq{
|
|||
|
|
APIName: "ths_member",
|
|||
|
|
Params: params,
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
fields := []map[string]string{
|
|||
|
|
{"ts_code": "指数代码"},
|
|||
|
|
{"con_code": "股票代码"},
|
|||
|
|
{"con_name": "股票名称"},
|
|||
|
|
{"weight": "权重"},
|
|||
|
|
{"in_date": "纳入日期"},
|
|||
|
|
{"out_date": "剔除日期"},
|
|||
|
|
{"is_new": "是否最新"},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return cli.Do(req, fields)
|
|||
|
|
}
|