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

简介: 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;
}

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

目录
相关文章
|
7月前
|
BI
智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍
智能上门家政系统源码,一站式家政服务平台开发 家政服务(师傅端)介绍 家政服务师傅端是一个专为家政服务人员设计的平台,该平台旨在提供便捷、高效的工作机会,同时确保服务质量和客户体验。
134 4
|
8月前
|
人工智能 BI 调度
智慧城管源码,智慧城市管理综合执法系统源码
现场开具简易程序处罚决定书,打印后当事人现场签字、缴款。
智慧城管源码,智慧城市管理综合执法系统源码
|
8月前
|
前端开发 小程序 数据可视化
4套java开发的智慧系统源码 智慧校园系统源码 智慧工地系统源码 智慧城管系统源码3D 智能导诊系统源码
4套java开发的智慧系统源码 智慧校园系统源码 智慧工地系统源码 智慧城管系统源码3D 智能导诊系统源码
62 0
|
8月前
|
新零售 供应链 小程序
未来生物商城新零售小程序开发|技术方案
未来零售的核心理念就是人和货的关系
|
8月前
|
数据采集 监控 安全
量化交易源码开发丨量化交易系统开发成熟技术/教程方案/策略指南
定你的量化交易系统的需求和目标,包括交易策略、数据来源、风险管理等。
|
安全 区块链 数据安全/隐私保护
Forsage/Metaforce佛萨奇2.0原力元宇宙系统开发(开发说明),Forsage/Metaforce佛萨奇2.0源码运营版
 Blockchain technology can thus empower enterprises in many ways:providing reliable shared data and building trust between parties;Eliminate data silos,which integrate data into a system through centralized ledgers that are shared in a network and support licensee access;Give data a high degree of s
|
JSON 机器人 大数据
现货量化交易机器人开发原理丨现货量化交易机器人系统开发(开发案例及源码)
 For quantitative trading,the most important thing is the establishment of models.Generally speaking,it is to use modern statistics and mathematical methods,use computer technology to find laws that can bring excess returns from massive historical data to formulate strategies,and use mathematical mo
|
存储 区块链
创客互助公排开发功能丨创客互助公排系统开发技术详细丨创客互助公排系统源码案例模式
 区块头和区块体数据也会被当作输入数据做一次Hash运算,其运算结果会被存储在下一个区块的区块头中,这样任何区块内容的修改都会反映到区块的Hash值上,而区块的Hash值又是下一个区块的输入数据,它又会被当作新区块的数据参与一次新区块的Hash运算,随着时间的推移和交易量的增加,所有的区块会通过保存前一个区块的Hash运算结果的方式组成一条链。
|
存储 安全 区块链
区块链众筹项目系统开发技术丨泰山众筹商城系统开发技术讲解方案
区块链众筹项目系统开发技术丨泰山众筹商城系统开发技术讲解方案
204 0
|
开发框架 JavaScript 小程序
浅谈什么是泰山众筹项目系统开发讲解分析(成熟技术)
浅谈什么是泰山众筹项目系统开发讲解分析(成熟技术)
184 0