stockapi股票实时tick数据,技术指标macd,kdj,cci,日k线数据
stockapi(官网:https://stockapi.com.cn)是一个专业的股票数据分析与量化交易接口平台,主要提供以下几类服务:
一、核心功能与服务内容
-
股票API接口服务
- 提供稳定可靠的API接口,支持多种编程语言(如Java、Python、C#、JavaScript、C++)调用。
- 支持实时行情、历史数据、技术指标等多种数据类型。
-
技术指标数据
- 包括MACD、KDJ、WR、CCI、BOLL(布林带)、MA(均线)等常用技术指标。
- 支持不同周期(日线、周线、月线、季线、半年线、年线)和复权方式(前复权、后复权、不复权)。
-
实时与历史行情数据
- 提供股票历史日线行情查询,支持指定股票代码和日期范围。
- 提供分时数据、分时KDJ数据等高频数据接口。
-
Level2实时行情数据
- 提供逐笔成交、逐笔委托、十档行情等高级行情数据,帮助用户把握市场动态。
-
量化交易策略回测
- 提供专业的策略回测系统,支持用户自定义交易策略并进行历史数据回测验证。
-
AI智能选股
- 基于人工智能技术,提供智能选股策略,帮助用户分析市场趋势。
-
资金流向与游资数据分析
- 提供全面的资金流向分析,实时追踪主力资金和游资动向。
-
龙虎榜数据
- 提供每日龙虎榜数据查询,帮助用户分析市场热点和主力资金动向。
-
集合竞价数据
- 提供个股和板块的集合竞价数据,帮助用户把握开盘前的市场动向。
二、接口使用示例
以Python调用stockapi接口为例,用户可以通过简单的HTTP请求获取数据:
import requeststoken = '你的token'
url = f'https://stockapi.com.cn/v1/quota/ma2?token={token}&code=600004&startDate=2021-10-22&endDate=2021-10-22&ma=5,10,20&calculationCycle=100'response = requests.get(url)
if response.status_code == 200:data = response.json()print(data)
else:print(f'请求失败,状态码:{response.status_code}')
三、适用人群与场景
- 量化交易开发者:提供丰富的技术指标和历史数据,便于策略开发与回测。
- 金融分析师:提供实时行情和资金流向数据,辅助市场分析与决策。
- 个人投资者:通过AI选股和龙虎榜数据,辅助投资决策。
四、免责声明与风险提示
stockapi平台明确指出,所有免费及收费信息和数据仅供参考,不构成投资建议,用户需自行承担使用数据带来的风险。
综上所述,stockapi是一个功能全面、数据丰富的股票数据服务平台,适合量化交易、金融分析和投资决策等多种场景使用。
后端使用Java编写,可以搞高并发访问
@GetMapping("/v1/checkLive")public String checkLive() {return "success";}@ApiOperation(value = "日线macd数据查询")@GetMapping("/v1/quota/macd")@ApiImplicitParams({@ApiImplicitParam(name = "vipCycleFlag", value = "是否需要返回所有周期数据,1:是;0:否。有token用户可以传", defaultValue = "0", dataType = "Long", example = "0", required = false),@ApiImplicitParam(name = "token", value = "请求的token", dataType = "String", required = false),@ApiImplicitParam(name = "code", value = "股票代码,格式:601088", dataType = "String", required = true),@ApiImplicitParam(name = "date", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "longCycle", value = "长期周期,默认值26", defaultValue = "26", example = "26", dataType = "Long", required = false),@ApiImplicitParam(name = "shortCycle", value = "短期周期,默认值12", defaultValue = "12", example = "12", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle", value = "周期,默认值9", defaultValue = "9", dataType = "Long", example = "9", required = false),@ApiImplicitParam(name = "rehabilitation", value = "复权方式:100-不复权;101-后复权;102-前复权", defaultValue = "100", example = "100", dataType = "Long", required = false),@ApiImplicitParam(name = "calculationCycle", value = "周期:100-日;101-周;102-月;103-季;104-半年;105-年;", defaultValue = "100", example = "100", dataType = "Long", required = false)})public Result macd(HttpServletRequest request,@RequestParam(value = "token", required = false) String token,@RequestParam(value = "vipCycleFlag", defaultValue = "0") Integer vipCycleFlag,@RequestParam String code,@RequestParam String date,@RequestParam(value = "longCycle", defaultValue = "26") Integer longCycle,@RequestParam(value = "shortCycle", defaultValue = "12") Integer shortCycle,@RequestParam(value = "cycle", defaultValue = "9") Integer cycle,@RequestParam(value = "rehabilitation", defaultValue = "100") Integer rehabilitation,@RequestParam(value = "calculationCycle", defaultValue = "100") Integer calculationCycle) {try {return thsService.macd(token, vipCycleFlag, code, date, longCycle, shortCycle, cycle, rehabilitation,calculationCycle);} catch (Exception e) {log.error("Exception:{}", e);return ResponseEnum.code_20000.result();}}@ApiOperation(value = "日线macd数据查询2")@GetMapping("/v1/quota/macd2")@ApiImplicitParams({@ApiImplicitParam(name = "code", value = "股票代码,格式:601088", dataType = "String", required = true),@ApiImplicitParam(name = "startDate", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "endDate", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "longCycle", value = "长期周期,默认值26", defaultValue = "26", example = "26", dataType = "Long", required = false),@ApiImplicitParam(name = "shortCycle", value = "短期周期,默认值12", defaultValue = "12", example = "12", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle", value = "周期,默认值9", defaultValue = "9", dataType = "Long", example = "9", required = false),@ApiImplicitParam(name = "rehabilitation", value = "复权方式:100-不复权;101-后复权;102-前复权", defaultValue = "100", example = "100", dataType = "Long", required = false),@ApiImplicitParam(name = "calculationCycle", value = "周期:100-日;101-周;102-月;103-季;104-半年;105-年;", defaultValue = "100", example = "100", dataType = "Long", required = false)})public Result macd2(HttpServletRequest request,@RequestParam String code,@RequestParam String startDate,@RequestParam String endDate,@RequestParam(value = "longCycle", defaultValue = "26") Integer longCycle,@RequestParam(value = "shortCycle", defaultValue = "12") Integer shortCycle,@RequestParam(value = "cycle", defaultValue = "9") Integer cycle,@RequestParam(value = "rehabilitation", defaultValue = "100") Integer rehabilitation,@RequestParam(value = "calculationCycle", defaultValue = "100") Integer calculationCycle) {try {return thsService.macd2(code, startDate, endDate, longCycle, shortCycle, cycle, rehabilitation,calculationCycle);} catch (Exception e) {log.error("Exception:{}", e);return ResponseEnum.code_20000.result();}}@ApiOperation(value = "日线kdj数据查询")@GetMapping("/v1/quota/kdj")@ApiImplicitParams({@ApiImplicitParam(name = "token", value = "请求的token", dataType = "String", required = false),@ApiImplicitParam(name = "vipCycleFlag", value = "是否需要返回所有周期数据,1:是;0:否。有token用户可以传", defaultValue = "0", dataType = "Long", example = "0", required = false),@ApiImplicitParam(name = "code", value = "股票代码,格式:601088", dataType = "String", required = true),@ApiImplicitParam(name = "date", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "cycle", value = "周期,默认值9", defaultValue = "9", example = "9", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle1", value = "周期1,默认值3", defaultValue = "3", example = "3", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle2", value = "周期2,默认值3", defaultValue = "3", example = "3", dataType = "Long", required = false),@ApiImplicitParam(name = "rehabilitation", value = "复权方式:100-不复权;101-后复权;102-前复权", defaultValue = "100", example = "100", dataType = "Long", required = false),@ApiImplicitParam(name = "calculationCycle", value = "周期:100-日;101-周;102-月;103-季;104-半年;105-年;", defaultValue = "100", example = "100", dataType = "Long", required = false)})public Result kdj(HttpServletRequest request,@RequestParam(value = "token", required = false) String token,@RequestParam(value = "vipCycleFlag", defaultValue = "0") Integer vipCycleFlag,@RequestParam String code,@RequestParam String date,@RequestParam(value = "cycle", defaultValue = "9") Integer cycle,@RequestParam(value = "cycle1", defaultValue = "3") Integer cycle1,@RequestParam(value = "cycle2", defaultValue = "3") Integer cycle2,@RequestParam(value = "rehabilitation", defaultValue = "100") Integer rehabilitation,@RequestParam(value = "calculationCycle", defaultValue = "100") Integer calculationCycle) {try {return thsService.kdj(token, vipCycleFlag, code, date, cycle, cycle1, cycle2, rehabilitation,calculationCycle);} catch (Exception e) {log.error("Exception:{}", e);return ResponseEnum.code_20000.result();}}@ApiOperation(value = "日线kdj数据查询")@GetMapping("/v1/quota/kdj2")@ApiImplicitParams({@ApiImplicitParam(name = "code", value = "股票代码,格式:601088", dataType = "String", required = true),@ApiImplicitParam(name = "startDate", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "endDate", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "cycle", value = "周期,默认值9", defaultValue = "9", example = "9", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle1", value = "周期1,默认值3", defaultValue = "3", example = "3", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle2", value = "周期2,默认值3", defaultValue = "3", example = "3", dataType = "Long", required = false),@ApiImplicitParam(name = "rehabilitation", value = "复权方式:100-不复权;101-后复权;102-前复权", defaultValue = "100", example = "100", dataType = "Long", required = false),@ApiImplicitParam(name = "calculationCycle", value = "周期:100-日;101-周;102-月;103-季;104-半年;105-年;", defaultValue = "100", example = "100", dataType = "Long", required = false)})public Result kdj2(HttpServletRequest request,@RequestParam String code,@RequestParam String startDate,@RequestParam String endDate,@RequestParam(value = "cycle", defaultValue = "9") Integer cycle,@RequestParam(value = "cycle1", defaultValue = "3") Integer cycle1,@RequestParam(value = "cycle2", defaultValue = "3") Integer cycle2,@RequestParam(value = "rehabilitation", defaultValue = "100") Integer rehabilitation,@RequestParam(value = "calculationCycle", defaultValue = "100") Integer calculationCycle) {try {return thsService.kdj2(startDate, endDate, code, cycle, cycle1, cycle2, rehabilitation, calculationCycle);} catch (Exception e) {log.error("Exception:{}", e);return ResponseEnum.code_20000.result();}}@ApiOperation(value = "日线wr数据查询")@GetMapping("/v1/quota/wr")@ApiImplicitParams({@ApiImplicitParam(name = "code", value = "股票代码,格式:601088", dataType = "String", required = true),@ApiImplicitParam(name = "date", value = "交易时间,格式:2022-07-08", dataType = "String", required = true),@ApiImplicitParam(name = "cycle1", value = "周期,默认值10", defaultValue = "10", example = "10", dataType = "Long", required = false),@ApiImplicitParam(name = "cycle2", value = "周期,默认值6", defaultValue = "6", example = "6", dataType = "Long", required = false),@ApiImplicitParam(name = "rehabilitation", value = "复权方式:100-不复权;101-后复权;102-前复权", defaultValue = "100", example = "100", dataType = "Long", required = false),@ApiImplicitParam(name = "calculationCycle", value = "周期:100-日;101-周;102-月;103-季;104-半年;105-年;", defaultValue = "100", example = "100", dataType = "Long", required = false)})public Result wr(HttpServletRequest request,@RequestParam(value = "code") String code,@RequestParam(value = "date") String date,@RequestParam(value = "cycle1", defaultValue = "10") Integer cycle1,@RequestParam(value = "cycle2", defaultValue = "6") Integer cycle2,@RequestParam(value = "rehabilitation", defaultValue = "100") Integer rehabilitation,@RequestParam(value = "calculationCycle", defaultValue = "100") Integer calculationCycle) {try {return thsService.wr(code, date, cycle1, cycle2, rehabilitation, calculationCycle);} catch (Exception e) {log.error("Exception:{}", e);return ResponseEnum.code_20000.result();}}