量化交易投顾系统源码搭建

简介: 1.投顾管理CRM系统2.策略分析模块3.策略对比功能4.策略与实盘曲线对比功能6.策略组合功能7.投后管理功能

image.png
开发投顾系统的重要几个点:
1.投顾管理CRM系统
2.策略分析模块
3.策略对比功能
4.策略与实盘曲线对比功能
6.策略组合功能
7.投后管理功能
得到计算策略指标源代如下:guweng22346

public static RiskIndicatorsVo calcRisk(Integer strategyId, List<Pnl> pnls) {
   
   
        RiskIndicatorsVo riskIndicatorsVo = new RiskIndicatorsVo();
        riskIndicatorsVo.setStrategyId(strategyId);
        if (CollectionUtils.isEmpty(pnls) && CollectionUtils.isEmpty(pnls.stream().filter(f -> {
   
   
            return f.getPnl() != null;}).collect(Collectors.toList()))) {
   
   
            return riskIndicatorsVo;
        }
        double simpleYearIncomRate = 0;
        try {
   
   
            simpleYearIncomRate = DataUtils.calcSimpleYearIncomRate(pnls);
        } catch (Exception e) {
   
   
            log.info("策略id:{},计算年化收益出错, {}", strategyId, e.getMessage());
            return riskIndicatorsVo;
        }
        riskIndicatorsVo.setAnnualizedIncomeRate(String.valueOf(DataUtils.round(simpleYearIncomRate, 2)));
        List<Pnl> pnls1 = DataUtils.accumulationPnl(pnls);
        //年化波动
        NetworthMonth networthMonth = new NetworthMonth();
        networthMonth.setStrategyId(strategyId);
        double simpleFluctuatiearonByDay = 0.0;
        if (pnls.size() > 2) {
   
   
            //v2 = NetWorthDataUtils.getFluctuationByDaySingle(netWorthsByStrategyId);
            simpleFluctuatiearonByDay = DataUtils.calcSimpleYearFluctuatiearonByDay(pnls);
        }
        riskIndicatorsVo.setAnnualFluctuationsRate(DataUtils.round(simpleFluctuatiearonByDay, 2) + "%");
        //夏普率
        double simpleSharpRate = 0.0;
        if (pnls.size() > 2) {
   
   
            //v4 = DataUtils.div(DataUtils.sub(DataUtils.mul(simpleYearIncomRate, 100.0), 2.0), simpleFluctuatiearonByDay, 2);
            simpleSharpRate = DataUtils.calcSimpleSharp(simpleYearIncomRate, 2.0, simpleFluctuatiearonByDay);
        }
        riskIndicatorsVo.setSharpeRate(DataUtils.dataFormatStr(simpleSharpRate,2));
        //最大回撤
        //double v5 = NetWorthDataUtils.getMaxPullback(netWorthsByStrategyId);
        Double maxDrawDown = DataUtils.calcSimpleMaxDrawDownIndex(pnls1);
        riskIndicatorsVo.setMaximumDrawdownRate(DataUtils.round(maxDrawDown, 2) + "%");
        //calmar比率
        double calmar = 0.0;
        if (maxDrawDown != 0.0){
   
   
            //calmar = DataUtils.div(DataUtils.dataFormat(DataUtils.mul(simpleYearIncomRate, 100.0), 2), v5 ,2);
            calmar = DataUtils.calcCalmarRate(simpleYearIncomRate, maxDrawDown);
        }
        riskIndicatorsVo.setCalmarRate(String.valueOf(calmar));
        riskIndicatorsVo.setStrategyId(strategyId);
        //最大回补天数
        riskIndicatorsVo.setMaxBackIncomDay(NetWorthDataUtils.getPullBackDay(pnls1));
        //投资胜率
        riskIndicatorsVo.setInvestWinningRate(DataUtils.calcWinRate(pnls));
        return riskIndicatorsVo;
}

综上所述,投顾系统源码的开发是一个复杂而重要的过程。

目录
相关文章
|
机器学习/深度学习 消息中间件 存储
【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用
介绍 b 站的机器学习工作流平台 ultron 在 b 站多个机器学习场景上的应用。
【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用
|
11月前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
【飞天技术沙龙—阿里云金融量化策略回测Workshop】在上海诺亚财富中心正式举行,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。
|
11月前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
568 5
|
网络架构 数据格式
IPv4首部格式(超详细)
IPv4数据报首部格式是实现IPv4协议的基础,通常以32比特为单位描述。首部包括固定部分(20字节)和可变部分(最多40字节)。固定部分含版本、首部长度、区分服务、总长度、标识、标志、片偏移、生存时间、协议及首部检验和等字段;可变部分含可选字段和填充,确保首部为4字节整数倍。首部检验和通过二进制反码求和计算。分片时需考虑MTU限制。
1216 10
|
存储 Java API
|
存储 弹性计算 Serverless
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
FPGA云服务器是阿里云提供的实例规格,融合现场可编程门阵列的低延迟硬件加速与弹性资源。FaaS平台简化了FPGA开发,提供统一硬件、开发环境和丰富的IP生态。特性包括硬件虚拟化、联合仿真和动态互联配置。产品计费与ECS一致,支持多种计费模式。优势在于分钟级交付、高性能加速、经济性价比和设计复用。应用广泛,如视频转码、人工智能、基因测序等。FPGA云服务器通过FPGA镜像、OSS服务等工具进行管理。
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
|
存储 人工智能 算法
什么是 FPGA 异构计算|学习笔记
快速学习什么是 FPGA 异构计算
947 0
什么是 FPGA 异构计算|学习笔记
|
Unix Linux 程序员
ClickHouse【环境搭建 01】Linux环境单机版在线安装 Code:210.DB::NetException + Init script is already running 问题处理
ClickHouse【环境搭建 01】Linux环境单机版在线安装 Code:210.DB::NetException + Init script is already running 问题处理
526 0
|
机器学习/深度学习 数据采集 人工智能
AI智能自动量化交易机器人系统开发(关键步骤)指南
在开发AI自动量化交易机器人系统时,首先需要明确系统的目标和需求。确定好要交易的市场、交易策略和风险控制方法等关键因素。接下来,搭建起数据获取和处理的基础框架,包括数据源接口、数据清洗和特征提取等模块。然后,选择合适的机器学习模型或深度学习模型,对历史数据进行训练和优化,以预测未来市场走势。