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