123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- package com.smppw.analysis.client;
- import com.smppw.analysis.application.dto.position.stock.*;
- import com.smppw.analysis.application.dto.position.synthesize.*;
- import com.smppw.analysis.application.service.StockPositionAnalysis;
- import com.smppw.analysis.application.service.SynthesizePositionAnalysis;
- import com.smppw.common.pojo.ResultVo;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.List;
- import java.util.Map;
- /**
- * @author wangzaijun
- * @date 2023/6/6 11:23
- * @description 基金 持仓分析,包括公募、私募基金,区分综合、股票、债券和期货tab组件
- */
- @RestController
- @RequestMapping("/v2/fund/position-analysis")
- public class FundPositionApi {
- // private final BondPositionAnalysis bond;
- // private final FuturePositionAnalysis future;
- private final SynthesizePositionAnalysis synthesize;
- private final StockPositionAnalysis stock;
- public FundPositionApi(StockPositionAnalysis stock, SynthesizePositionAnalysis synthesize) {
- this.stock = stock;
- this.synthesize = synthesize;
- }
- /**
- * 公募私募,综合-资产大类配置
- *
- * @param params /
- * @return /
- */
- @GetMapping("asset-allocation")
- public ResultVo<Map<String, Object>> getAssetAllocation(AssetAllocationParams params) {
- return ResultVo.ok(this.synthesize.getAssetAllocation(params));
- }
- /**
- * 公募私募,综合-杠杆变化
- *
- * @param params /
- * @return /
- */
- @GetMapping("leverage-change")
- public ResultVo<List<LeverageChangeVO>> getLeverageChange(LeverageChangeParams params) {
- return ResultVo.ok(this.synthesize.getLeverageChange(params));
- }
- /**
- * 公募私募,综合-持仓列表的请求参数
- *
- * @param params /
- * @return /
- */
- @GetMapping("position-param")
- public ResultVo<PositionInfoVO> getPositionParams(PositionInfoParams params) {
- return ResultVo.ok(this.synthesize.getPositionParams(params));
- }
- /**
- * 公募私募,综合-持仓列表
- *
- * @param params /
- * @return /
- */
- @GetMapping("position-list")
- public ResultVo<List<PositionListVO>> getPosition(PositionListParams params) {
- return ResultVo.ok(this.synthesize.getPosition(params));
- }
- /**
- * 公募,综合-持有人结构
- *
- * @param params /
- * @return /
- */
- @GetMapping("holder-info")
- public ResultVo<List<HolderInfoVO>> getHolderInfo(HolderInfoParams params) {
- return ResultVo.ok(this.synthesize.getHolderInfo(params));
- }
- /**
- * 公募,股票-持仓股票重大变动
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/major-change")
- public ResultVo<List<MajorChangeVO>> getMajorChange(MajorChangeParams params) {
- return ResultVo.ok(this.stock.getMajorChangeList(params));
- }
- /**
- * 公募私募,股票-集中度
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/crn")
- public ResultVo<Map<String, Object>> getStockConcentration(ConcentrationParams params) {
- return ResultVo.ok(this.stock.getConcentration(params));
- }
- /**
- * 公募私募,股票-持股数量变动时序
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/change-num")
- public ResultVo<List<ChangeNumberVO>> getStockChangeNumber(ChangeNumberParams params) {
- return ResultVo.ok(this.stock.getChangeNumber(params));
- }
- /**
- * 公募私募,股票-行业配置
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/industry-allocation")
- public ResultVo<Map<String, Object>> getStockIndustryAllocation(StockAllocationParams params) {
- return ResultVo.ok(this.stock.getIndustryAllocation(params));
- }
- /**
- * 公募私募,股票-行业配置偏好时序
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/industry-allocation-preference")
- public ResultVo<Map<String, Object>> getStockIndustryAllocationPreference(StockAllocationParams params) {
- return ResultVo.ok(this.stock.getIndustryAllocationPreference(params));
- }
- /**
- * 公募私募,股票-风格配置
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/style-allocation")
- public ResultVo<Map<String, Object>> getStockStyleAllocation(StockAllocationParams params) {
- return ResultVo.ok(this.stock.getStyleAllocation(params));
- }
- /**
- * 公募私募,股票-流动性分析
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/liquidity-allocation")
- public ResultVo<Map<String, Object>> getStockLiquidityAllocation(StockAllocationParams params) {
- return ResultVo.ok(this.stock.getLiquidityAllocation(params));
- }
- /**
- * 公募私募,股票-业绩归因
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/performance-attribution")
- public ResultVo<Map<String, Object>> getStockPerformanceAttribution(StockPerformanceAttributionParams params) {
- return ResultVo.ok(this.stock.getPerformanceAttribution(params));
- }
- /**
- * 公募私募,股票-Barra敏感度分析
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/barra-sensitivity")
- public ResultVo<Map<String, Object>> getStockBarraSensitivity(BarraSensitivityParams params) {
- return ResultVo.ok(this.stock.getBarraSensitivity(params));
- }
- /**
- * 私募,股票-股票风险敞口走势
- *
- * @param params /
- * @return /
- */
- @GetMapping("stock/risk-exposure")
- public ResultVo<Map<String, Object>> getStockRiskExposure(RiskExposureParams params) {
- return ResultVo.ok(this.stock.getRiskExposure(params));
- }
- // /**
- // * 公募私募,债券-久期分析
- // *
- // * @param params /
- // * @return /
- // */
- // @GetMapping("bond/duration-analysis")
- // public ResultVo<List<DurationAnalysisVO>> getBondDurationAnalysis(DurationAnalysisParams params) {
- // return null;
- // }
- //
- // /**
- // * 公募私募,债券-收益风险
- // *
- // * @param params /
- // * @return /
- // */
- // @GetMapping("bond/profit-risk")
- // public ResultVo<List<ProfitRiskVO>> getBondProfitRisk(ProfitRiskParams params) {
- // return null;
- // }
- //
- // /**
- // * 公募私募,债券-业绩归因
- // *
- // * @param params /
- // * @return /
- // */
- // @GetMapping("bond/performance-attribution")
- // public ResultVo<List<BondPerformanceAttributionVO>> getBondPerformanceAttribution(BondPerformanceAttributionParams params) {
- // return null;
- // }
- //
- // /**
- // * 公募私募,债券-债券分类配置及明细
- // *
- // * @param params /
- // * @return /
- // */
- // @GetMapping("bond/asset-allocation")
- // public ResultVo<List<BondAssetAllocationVO>> getBondAssetAllocation(BondAssetAllocationParams params) {
- // return null;
- // }
- //
- // /**
- // * 公募私募,债券-集中度
- // *
- // * @param params /
- // * @return /
- // */
- // @GetMapping("bond/crn")
- // public ResultVo<List<ConcentrationVO>> getBondConcentration(ConcentrationParams params) {
- // return null;
- // }
- //
- // @GetMapping("future/risk-cont")
- // public ResultVo<Map<String, Object>> getFutureRiskCont(MarginalRiskContributionParams params) {
- // return ResultVo.ok(this.future.riskCont(params));
- // }
- }
|