基金定投模拟收益试算

public class TestWork {
    public static void main(String[] args){
        fixInvoice(52,0.005d,500);
        fixInvoice01();
        fixInvoice02();
    }

    static void fixInvoice01(){
        System.out.println("模拟定投一年,一星期定投500元,前半年一直跌,每次跌幅0.5%,后半年一直涨,每次涨幅0.5%");
        int days = 365/7;
        int upDays = days/2;
        int downDays = days/2;
        int fixInvestAmount = 500;
        double totalAmount = 0;
        double accAmount = 0;
        double rate = 0.005d;
        for (int i = 0; i <downDays ; i++) {
            totalAmount = (totalAmount+fixInvestAmount)*(1-rate);
            accAmount += fixInvestAmount;
            System.out.println("第"+i+"次定投,涨幅:"+String.format("%.2f",-rate*100)+"% 定投金额:"+fixInvestAmount+" 总资产:"+
                    String.format("%.2f", totalAmount)+
                    " 累计收益"+String.format("%.2f",totalAmount-accAmount));
        }
        for (int i = 0; i <upDays ; i++) {
            totalAmount = (totalAmount+fixInvestAmount)*(1+rate);
            accAmount += fixInvestAmount;
            System.out.println("第"+i+"次定投,涨幅:"+String.format("%.2f",rate*100)+"% 定投金额:"+fixInvestAmount+" 总资产:"+
                    String.format("%.2f", totalAmount)+
                    " 累计收益"+String.format("%.2f",totalAmount-accAmount));
        }

    }

    static void fixInvoice02(){
        System.out.println("模拟定投一年,一星期定投500元,前半年一直涨,每次涨幅0.5%,后半年一直跌,每次跌幅-0.5%");
        int days = 365/7;
        int upDays = days/2;
        int downDays = days/2;
        int fixInvestAmount = 500;
        double totalAmount = 0;
        double accAmount = 0;
        double rate = 0.005d;
        for (int i = 0; i <downDays ; i++) {
            totalAmount = (totalAmount+fixInvestAmount)*(1+rate);
            accAmount += fixInvestAmount;
            System.out.println("第"+i+"次定投,涨幅:"+String.format("%.2f",rate*100)+"% 定投金额:"+fixInvestAmount+" 总资产:"+
                    String.format("%.2f", totalAmount)+
                    " 累计收益"+String.format("%.2f",totalAmount-accAmount));
        }
        for (int i = 0; i <upDays ; i++) {
            totalAmount = (totalAmount+fixInvestAmount)*(1-rate);
            accAmount += fixInvestAmount;
            System.out.println("第"+i+"次定投,涨幅:"+String.format("%.2f",-rate*100)+"% 定投金额:"+fixInvestAmount+" 总资产:"+
                    String.format("%.2f", totalAmount)+
                    " 累计收益"+String.format("%.2f",totalAmount-accAmount));
        }

    }

    static double fixInvoice(int days,double rate,int fixInvestAmount){
        System.out.println("模拟定投"+days+"期,一星期定投"+fixInvestAmount+"元,随机涨跌幅"+String.format("%.2f",rate*100)+"%");
        double totalAmount = 0;
        double accAmount = 0;
        for (int i = 0; i <days ; i++) {
            rate = RandomUtil.randomInt(0,2)==1?rate:-rate;
            totalAmount = (totalAmount+fixInvestAmount)*(1+rate);
            accAmount += fixInvestAmount;
            System.out.println("第"+i+"次定投,涨幅:"+String.format("%.2f",rate*100)+"% 定投金额:"+fixInvestAmount+" 总资产:"+
                    String.format("%.2f", totalAmount)+
                    " 累计收益"+String.format("%.2f",totalAmount-accAmount));
        }
        return totalAmount-accAmount;
    }
 }
模拟定投52期,一星期定投500元,随机涨跌幅0.50%
第0次定投,涨幅:-0.50% 定投金额:500 总资产:497.50 累计收益-2.50
第1次定投,涨幅:-0.50% 定投金额:500 总资产:992.51 累计收益-7.49
第2次定投,涨幅:-0.50% 定投金额:500 总资产:1485.05 累计收益-14.95
第3次定投,涨幅:-0.50% 定投金额:500 总资产:1975.12 累计收益-24.88
第4次定投,涨幅:-0.50% 定投金额:500 总资产:2462.75 累计收益-37.25
第5次定投,涨幅:-0.50% 定投金额:500 总资产:2947.94 累计收益-52.06
第6次定投,涨幅:-0.50% 定投金额:500 总资产:3430.70 累计收益-69.30
第7次定投,涨幅:0.50% 定投金额:500 总资产:3950.35 累计收益-49.65
第8次定投,涨幅:-0.50% 定投金额:500 总资产:4428.10 累计收益-71.90
第9次定投,涨幅:0.50% 定投金额:500 总资产:4952.74 累计收益-47.26
第10次定投,涨幅:0.50% 定投金额:500 总资产:5480.00 累计收益-20.00
第11次定投,涨幅:0.50% 定投金额:500 总资产:6009.90 累计收益9.90
第12次定投,涨幅:-0.50% 定投金额:500 总资产:6477.35 累计收益-22.65
第13次定投,涨幅:0.50% 定投金额:500 总资产:7012.24 累计收益12.24
第14次定投,涨幅:0.50% 定投金额:500 总资产:7549.80 累计收益49.80
第15次定投,涨幅:-0.50% 定投金额:500 总资产:8009.55 累计收益9.55
第16次定投,涨幅:-0.50% 定投金额:500 总资产:8467.00 累计收益-33.00
第17次定投,涨幅:-0.50% 定投金额:500 总资产:8922.17 累计收益-77.83
第18次定投,涨幅:0.50% 定投金额:500 总资产:9469.28 累计收益-30.72
第19次定投,涨幅:0.50% 定投金额:500 总资产:10019.13 累计收益19.13
第20次定投,涨幅:-0.50% 定投金额:500 总资产:10466.53 累计收益-33.47
第21次定投,涨幅:0.50% 定投金额:500 总资产:11021.36 累计收益21.36
第22次定投,涨幅:-0.50% 定投金额:500 总资产:11463.76 累计收益-36.24
第23次定投,涨幅:-0.50% 定投金额:500 总资产:11903.94 累计收益-96.06
第24次定投,涨幅:0.50% 定投金额:500 总资产:12465.96 累计收益-34.04
第25次定投,涨幅:0.50% 定投金额:500 总资产:13030.79 累计收益30.79
第26次定投,涨幅:0.50% 定投金额:500 总资产:13598.44 累计收益98.44
第27次定投,涨幅:-0.50% 定投金额:500 总资产:14027.95 累计收益27.95
第28次定投,涨幅:0.50% 定投金额:500 总资产:14600.59 累计收益100.59
第29次定投,涨幅:0.50% 定投金额:500 总资产:15176.09 累计收益176.09
第30次定投,涨幅:-0.50% 定投金额:500 总资产:15597.71 累计收益97.71
第31次定投,涨幅:0.50% 定投金额:500 总资产:16178.20 累计收益178.20
第32次定投,涨幅:-0.50% 定投金额:500 总资产:16594.81 累计收益94.81
第33次定投,涨幅:0.50% 定投金额:500 总资产:17180.28 累计收益180.28
第34次定投,涨幅:-0.50% 定投金额:500 总资产:17591.88 累计收益91.88
第35次定投,涨幅:0.50% 定投金额:500 总资产:18182.34 累计收益182.34
第36次定投,涨幅:-0.50% 定投金额:500 总资产:18588.93 累计收益88.93
第37次定投,涨幅:0.50% 定投金额:500 总资产:19184.37 累计收益184.37
第38次定投,涨幅:-0.50% 定投金额:500 总资产:19585.95 累计收益85.95
第39次定投,涨幅:-0.50% 定投金额:500 总资产:19985.52 累计收益-14.48
第40次定投,涨幅:-0.50% 定投金额:500 总资产:20383.09 累计收益-116.91
第41次定投,涨幅:0.50% 定投金额:500 总资产:20987.51 累计收益-12.49
第42次定投,涨幅:-0.50% 定投金额:500 总资产:21380.07 累计收益-119.93
第43次定投,涨幅:0.50% 定投金额:500 总资产:21989.47 累计收益-10.53
第44次定投,涨幅:0.50% 定投金额:500 总资产:22601.92 累计收益101.92
第45次定投,涨幅:-0.50% 定投金额:500 总资产:22986.41 累计收益-13.59
第46次定投,涨幅:-0.50% 定投金额:500 总资产:23368.98 累计收益-131.02
第47次定投,涨幅:-0.50% 定投金额:500 总资产:23749.63 累计收益-250.37
第48次定投,涨幅:-0.50% 定投金额:500 总资产:24128.38 累计收益-371.62
第49次定投,涨幅:0.50% 定投金额:500 总资产:24751.53 累计收益-248.47
第50次定投,涨幅:0.50% 定投金额:500 总资产:25377.78 累计收益-122.22
第51次定投,涨幅:-0.50% 定投金额:500 总资产:25748.40 累计收益-251.60
模拟定投一年,一星期定投500元,前半年一直跌,每次跌幅0.5%,后半年一直涨,每次涨幅0.5%
第0次定投,涨幅:-0.50% 定投金额:500 总资产:497.50 累计收益-2.50
第1次定投,涨幅:-0.50% 定投金额:500 总资产:992.51 累计收益-7.49
第2次定投,涨幅:-0.50% 定投金额:500 总资产:1485.05 累计收益-14.95
第3次定投,涨幅:-0.50% 定投金额:500 总资产:1975.12 累计收益-24.88
第4次定投,涨幅:-0.50% 定投金额:500 总资产:2462.75 累计收益-37.25
第5次定投,涨幅:-0.50% 定投金额:500 总资产:2947.94 累计收益-52.06
第6次定投,涨幅:-0.50% 定投金额:500 总资产:3430.70 累计收益-69.30
第7次定投,涨幅:-0.50% 定投金额:500 总资产:3911.04 累计收益-88.96
第8次定投,涨幅:-0.50% 定投金额:500 总资产:4388.99 累计收益-111.01
第9次定投,涨幅:-0.50% 定投金额:500 总资产:4864.54 累计收益-135.46
第10次定投,涨幅:-0.50% 定投金额:500 总资产:5337.72 累计收益-162.28
第11次定投,涨幅:-0.50% 定投金额:500 总资产:5808.53 累计收益-191.47
第12次定投,涨幅:-0.50% 定投金额:500 总资产:6276.99 累计收益-223.01
第13次定投,涨幅:-0.50% 定投金额:500 总资产:6743.10 累计收益-256.90
第14次定投,涨幅:-0.50% 定投金额:500 总资产:7206.89 累计收益-293.11
第15次定投,涨幅:-0.50% 定投金额:500 总资产:7668.35 累计收益-331.65
第16次定投,涨幅:-0.50% 定投金额:500 总资产:8127.51 累计收益-372.49
第17次定投,涨幅:-0.50% 定投金额:500 总资产:8584.37 累计收益-415.63
第18次定投,涨幅:-0.50% 定投金额:500 总资产:9038.95 累计收益-461.05
第19次定投,涨幅:-0.50% 定投金额:500 总资产:9491.26 累计收益-508.74
第20次定投,涨幅:-0.50% 定投金额:500 总资产:9941.30 累计收益-558.70
第21次定投,涨幅:-0.50% 定投金额:500 总资产:10389.09 累计收益-610.91
第22次定投,涨幅:-0.50% 定投金额:500 总资产:10834.65 累计收益-665.35
第23次定投,涨幅:-0.50% 定投金额:500 总资产:11277.98 累计收益-722.02
第24次定投,涨幅:-0.50% 定投金额:500 总资产:11719.09 累计收益-780.91
第25次定投,涨幅:-0.50% 定投金额:500 总资产:12157.99 累计收益-842.01
第0次定投,涨幅:0.50% 定投金额:500 总资产:12721.28 累计收益-778.72
第1次定投,涨幅:0.50% 定投金额:500 总资产:13287.39 累计收益-712.61
第2次定投,涨幅:0.50% 定投金额:500 总资产:13856.32 累计收益-643.68
第3次定投,涨幅:0.50% 定投金额:500 总资产:14428.11 累计收益-571.89
第4次定投,涨幅:0.50% 定投金额:500 总资产:15002.75 累计收益-497.25
第5次定投,涨幅:0.50% 定投金额:500 总资产:15580.26 累计收益-419.74
第6次定投,涨幅:0.50% 定投金额:500 总资产:16160.66 累计收益-339.34
第7次定投,涨幅:0.50% 定投金额:500 总资产:16743.96 累计收益-256.04
第8次定投,涨幅:0.50% 定投金额:500 总资产:17330.18 累计收益-169.82
第9次定投,涨幅:0.50% 定投金额:500 总资产:17919.33 累计收益-80.67
第10次定投,涨幅:0.50% 定投金额:500 总资产:18511.43 累计收益11.43
第11次定投,涨幅:0.50% 定投金额:500 总资产:19106.49 累计收益106.49
第12次定投,涨幅:0.50% 定投金额:500 总资产:19704.52 累计收益204.52
第13次定投,涨幅:0.50% 定投金额:500 总资产:20305.54 累计收益305.54
第14次定投,涨幅:0.50% 定投金额:500 总资产:20909.57 累计收益409.57
第15次定投,涨幅:0.50% 定投金额:500 总资产:21516.62 累计收益516.62
第16次定投,涨幅:0.50% 定投金额:500 总资产:22126.70 累计收益626.70
第17次定投,涨幅:0.50% 定投金额:500 总资产:22739.84 累计收益739.84
第18次定投,涨幅:0.50% 定投金额:500 总资产:23356.04 累计收益856.04
第19次定投,涨幅:0.50% 定投金额:500 总资产:23975.32 累计收益975.32
第20次定投,涨幅:0.50% 定投金额:500 总资产:24597.69 累计收益1097.69
第21次定投,涨幅:0.50% 定投金额:500 总资产:25223.18 累计收益1223.18
第22次定投,涨幅:0.50% 定投金额:500 总资产:25851.80 累计收益1351.80
第23次定投,涨幅:0.50% 定投金额:500 总资产:26483.56 累计收益1483.56
第24次定投,涨幅:0.50% 定投金额:500 总资产:27118.47 累计收益1618.47
第25次定投,涨幅:0.50% 定投金额:500 总资产:27756.57 累计收益1756.57
模拟定投一年,一星期定投500元,前半年一直涨,每次涨幅0.5%,后半年一直跌,每次跌幅-0.5%
第0次定投,涨幅:0.50% 定投金额:500 总资产:502.50 累计收益2.50
第1次定投,涨幅:0.50% 定投金额:500 总资产:1007.51 累计收益7.51
第2次定投,涨幅:0.50% 定投金额:500 总资产:1515.05 累计收益15.05
第3次定投,涨幅:0.50% 定投金额:500 总资产:2025.13 累计收益25.13
第4次定投,涨幅:0.50% 定投金额:500 总资产:2537.75 累计收益37.75
第5次定投,涨幅:0.50% 定投金额:500 总资产:3052.94 累计收益52.94
第6次定投,涨幅:0.50% 定投金额:500 总资产:3570.70 累计收益70.70
第7次定投,涨幅:0.50% 定投金额:500 总资产:4091.06 累计收益91.06
第8次定投,涨幅:0.50% 定投金额:500 总资产:4614.01 累计收益114.01
第9次定投,涨幅:0.50% 定投金额:500 总资产:5139.58 累计收益139.58
第10次定投,涨幅:0.50% 定投金额:500 总资产:5667.78 累计收益167.78
第11次定投,涨幅:0.50% 定投金额:500 总资产:6198.62 累计收益198.62
第12次定投,涨幅:0.50% 定投金额:500 总资产:6732.11 累计收益232.11
第13次定投,涨幅:0.50% 定投金额:500 总资产:7268.27 累计收益268.27
第14次定投,涨幅:0.50% 定投金额:500 总资产:7807.12 累计收益307.12
第15次定投,涨幅:0.50% 定投金额:500 总资产:8348.65 累计收益348.65
第16次定投,涨幅:0.50% 定投金额:500 总资产:8892.89 累计收益392.89
第17次定投,涨幅:0.50% 定投金额:500 总资产:9439.86 累计收益439.86
第18次定投,涨幅:0.50% 定投金额:500 总资产:9989.56 累计收益489.56
第19次定投,涨幅:0.50% 定投金额:500 总资产:10542.01 累计收益542.01
第20次定投,涨幅:0.50% 定投金额:500 总资产:11097.22 累计收益597.22
第21次定投,涨幅:0.50% 定投金额:500 总资产:11655.20 累计收益655.20
第22次定投,涨幅:0.50% 定投金额:500 总资产:12215.98 累计收益715.98
第23次定投,涨幅:0.50% 定投金额:500 总资产:12779.56 累计收益779.56
第24次定投,涨幅:0.50% 定投金额:500 总资产:13345.96 累计收益845.96
第25次定投,涨幅:0.50% 定投金额:500 总资产:13915.19 累计收益915.19
第0次定投,涨幅:-0.50% 定投金额:500 总资产:14343.11 累计收益843.11
第1次定投,涨幅:-0.50% 定投金额:500 总资产:14768.89 累计收益768.89
第2次定投,涨幅:-0.50% 定投金额:500 总资产:15192.55 累计收益692.55
第3次定投,涨幅:-0.50% 定投金额:500 总资产:15614.09 累计收益614.09
第4次定投,涨幅:-0.50% 定投金额:500 总资产:16033.52 累计收益533.52
第5次定投,涨幅:-0.50% 定投金额:500 总资产:16450.85 累计收益450.85
第6次定投,涨幅:-0.50% 定投金额:500 总资产:16866.09 累计收益366.09
第7次定投,涨幅:-0.50% 定投金额:500 总资产:17279.26 累计收益279.26
第8次定投,涨幅:-0.50% 定投金额:500 总资产:17690.37 累计收益190.37
第9次定投,涨幅:-0.50% 定投金额:500 总资产:18099.42 累计收益99.42
第10次定投,涨幅:-0.50% 定投金额:500 总资产:18506.42 累计收益6.42
第11次定投,涨幅:-0.50% 定投金额:500 总资产:18911.39 累计收益-88.61
第12次定投,涨幅:-0.50% 定投金额:500 总资产:19314.33 累计收益-185.67
第13次定投,涨幅:-0.50% 定投金额:500 总资产:19715.26 累计收益-284.74
第14次定投,涨幅:-0.50% 定投金额:500 总资产:20114.18 累计收益-385.82
第15次定投,涨幅:-0.50% 定投金额:500 总资产:20511.11 累计收益-488.89
第16次定投,涨幅:-0.50% 定投金额:500 总资产:20906.06 累计收益-593.94
第17次定投,涨幅:-0.50% 定投金额:500 总资产:21299.02 累计收益-700.98
第18次定投,涨幅:-0.50% 定投金额:500 总资产:21690.03 累计收益-809.97
第19次定投,涨幅:-0.50% 定投金额:500 总资产:22079.08 累计收益-920.92
第20次定投,涨幅:-0.50% 定投金额:500 总资产:22466.18 累计收益-1033.82
第21次定投,涨幅:-0.50% 定投金额:500 总资产:22851.35 累计收益-1148.65
第22次定投,涨幅:-0.50% 定投金额:500 总资产:23234.60 累计收益-1265.40
第23次定投,涨幅:-0.50% 定投金额:500 总资产:23615.92 累计收益-1384.08
第24次定投,涨幅:-0.50% 定投金额:500 总资产:23995.34 累计收益-1504.66
第25次定投,涨幅:-0.50% 定投金额:500 总资产:24372.87 累计收益-1627.13


 public static void main(String[] args){
        int lostTimes = 0;
        for (int i = 0; i <1000 ; i++) {
            double invoice = fixInvoice(52, 0.005d, 500);
            if(invoice<0){
                lostTimes++;
            }
        }
        System.out.println("亏损次数"+lostTimes);
    }
亏损次数514
总结:随机涨跌幅定投,亏损和盈利的机会大致相当。前期跌后期涨最终会盈利,前期涨后期跌最终会亏损。前期一直跌亏损比较厉害,后期一直涨,因为投资规模增大,只需要11次定投就能回本,所谓的微笑曲线。

你可能感兴趣的:(java,算法,蓝桥杯)