package tushare /* DailyBasic 获取股票日线指标 ts_code: 股票代码,支持多个,逗号分隔 trade_date: 交易日期,格式:YYYYMMDD start_date: 开始日期,格式:YYYYMMDD end_date: 结束日期,格式:YYYYMMDD */ func (cli *TushareClient) DailyBasic(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: "daily_basic", Params: params, } fields := []map[string]string{ {"ts_code": "股票代码"}, {"trade_date": "交易日期"}, {"close": "收盘价"}, {"turnover_rate": "换手率%"}, {"turnover_rate_f": "换手率% (自由流通股本)"}, {"volume_ratio": "量比"}, {"pe": "市盈率"}, {"pe_ttm": "市盈率 TTM"}, {"pb": "市净率"}, {"ps": "市销率"}, {"ps_ttm": "市销率 TTM"}, {"dv_ratio": "股息率%"}, {"total_mv": "总市值"}, {"circ_mv": "流通市值"}, } return cli.Do(req, fields) } /* AdjFactor 获取复权因子 ts_code: 股票代码,支持多个,逗号分隔 trade_date: 交易日期,格式:YYYYMMDD start_date: 开始日期,格式:YYYYMMDD end_date: 结束日期,格式:YYYYMMDD */ func (cli *TushareClient) AdjFactor(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: "adj_factor", Params: params, } fields := []map[string]string{ {"ts_code": "股票代码"}, {"trade_date": "交易日期"}, {"adj_factor": "复权因子"}, } return cli.Do(req, fields) } /* Moneyflow 获取个股资金流向 ts_code: 股票代码,支持多个,逗号分隔 trade_date: 交易日期,格式:YYYYMMDD start_date: 开始日期,格式:YYYYMMDD end_date: 结束日期,格式:YYYYMMDD */ func (cli *TushareClient) Moneyflow(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: "moneyflow", Params: params, } fields := []map[string]string{ {"ts_code": "股票代码"}, {"trade_date": "交易日期"}, {"buy_sm_amount": "小单买入金额 (千元)"}, {"sell_sm_amount": "小单卖出金额 (千元)"}, {"buy_md_amount": "中单买入金额 (千元)"}, {"sell_md_amount": "中单卖出金额 (千元)"}, {"buy_lg_amount": "大单买入金额 (千元)"}, {"sell_lg_amount": "大单卖出金额 (千元)"}, {"buy_elg_amount": "特大单买入金额 (千元)"}, {"sell_elg_amount": "特大单卖出金额 (千元)"}, {"net_mf_amount": "净流入金额 (千元)"}, } return cli.Do(req, fields) } /* SuspendList 获取停牌股票列表 suspend_type: 停牌类型,1:盘中停牌,2:盘中临时停牌,3:全天停牌 start_date: 开始日期,格式:YYYYMMDD end_date: 结束日期,格式:YYYYMMDD */ func (cli *TushareClient) SuspendList(suspend_type, start_date, end_date string) (*TushareRespData, error) { params := map[string]any{} if suspend_type != "" { params["suspend_type"] = suspend_type } if start_date != "" { params["start_date"] = start_date } if end_date != "" { params["end_date"] = end_date } req := TushareReq{ APIName: "suspend_list", Params: params, } fields := []map[string]string{ {"ts_code": "股票代码"}, {"name": "股票名称"}, {"suspend_type": "停牌类型"}, {"suspend_start": "停牌起始日"}, {"suspend_end": "停牌结束日"}, {"reason": "停牌原因"}, } return cli.Do(req, fields) } /* RealtimeQuote 获取实时行情 ts_code: 股票代码,支持多个,逗号分隔 */ func (cli *TushareClient) RealtimeQuote(ts_code string) (*TushareRespData, error) { params := map[string]any{} if ts_code != "" { params["ts_code"] = ts_code } req := TushareReq{ APIName: "realtime_quote", Params: params, } fields := []map[string]string{ {"ts_code": "股票代码"}, {"price": "最新价"}, {"open": "开盘价"}, {"high": "最高价"}, {"low": "最低价"}, {"pre_close": "昨收价"}, {"vol": "成交量 (手)"}, {"amount": "成交额 (千元)"}, {"buy_vol": "买总量 (手)"}, {"sell_vol": "卖总量 (手)"}, {"buy_amount": "买总额 (千元)"}, {"sell_amount": "卖总额 (千元)"}, } return cli.Do(req, fields) }