每天写1000字投资理财

【投资】组合费率对长期投资价值的影响分析及思考

2020-06-26  本文已影响0人  M_彭越

你可能听说过复利的奇迹,某个正复利增长的资产,长期下来会得出惊人的结果。通过计算器简单计算,假设年增长15%,30年后资产将会是初始资产的66倍以上。大部分人一次投资,然后可以一直留着30年都不动用的钱通常不会很多。所以在复利的基础上,普通人一般通过定投完成投资。

现实世界里定投基金常常是要收取管理费的,主动型基金管理费经常在2%左右,被动型指数基金在0.85%左右。定投,增长,管理费,叠加在一起,如何来确认长期的收益,常常让人不知道该如何下手进行计算。本文尝试用java语言编程+Fine BI分析工具,完成对这个过程的分析。

1数据分析

给定每年15%的均匀增长,每周定投2000元,定投30年,总投入:312万,不同管理费率下的差异如下:

图1:30年定投收益变化曲线

黑色:投资总额

\color{red}{红色:2\%管理费的收益曲线}

\color{Gold}{黄色:0.85\%管理费的收益曲线}

\color{green}{绿色:无管理费的收益曲线}


图2:30年定投股本数变化曲线

\color{red}{红色:2\%管理费的股本数变化,约15.5年的时候股本由于管理费开始受到侵蚀}

\color{Gold}{黄色:0.85\%管理费股本数变化,约20.5年的时候股本由于管理费开始受到侵蚀}

\color{green}{绿色:0管理费股本数变化,一直在增加,增加幅度随着股票增值逐步下降}

给出总结表格如下:

表1:数据总结

2分析推论

1、给定15%的增长在长期是很厉害的,定投策略在30年的成长后总量是投入的12倍~19.5倍(因管理费率不同而不同);

2、在有管理费的情况下,30年后,2%的管理费,造成的增长损失不是45%(即1 - 98%的30次方),而是37%;管理费0.85%的情况,增长损失约18%,\color{red}{管理费即使很少(0.85\%)长期来看造成的损失增长依然非常可观}

3、有管理费的两种场景,管理费只占增长损失的1/4左右,换句话说,所谓损失的增长,并不全是直接由管理费扣除的,3/4左右是因为时时扣除了管理费,而损失了后续的增长造成的;

4、熊市管理费收取的少,如果真实世界发展是牛短熊长,管理费会比表格中收取的更少一些;

5、真实世界简单映射,无管理费对应自己选择股票做持仓;2%管理费对应选择主动型基金;0.85%管理费对应选择被动型指数基金。实际交易的时候都会有少量的交易摩擦,如股票交易时候的印花税,股息税等;基金交易的申购费,赎回费等。交易摩擦产生费用由于是1次性的,并且通常费率很低,并不会因为复利效应而显著的降低投资收益;

6、真实世界的个人投资,由于受到资金和时间两项约束,很难避免管理费的约束。首先看资金约束,一次交易很难控制在2000元,比如贵州茅台,当前价格最小交易需要15万左右;其次是个人时间约束,个人研究个股的时间有限,持股数量过少无法有效分散个股风险(各类黑天鹅,如:缅因州制冰业,安然事件,中石油)。推论是\color{red}{通过基金持有一揽子股票,能够有效分散风险,但同时要付出管理费的成本}

7、在长期来看很少有人能战胜市场(证据是巴菲特的10年赌约及基金市场综合统计)。所以\color{red}{被动型指数基金要优于主动型基金}

3思考总结

如果管理成本无可避免,被动型基金由于费率更低,会是更优的选择。综合国内较容易实现的投资渠道,以下两项指数ETF是不错的标的选择:

表2:筛选标的

附1:组合数量和组合风险水平量表

表3:组合风险量表

附2:计算用的java代码

public class Investment {

    public static void main(String[] args) {
        double rate = 1 + 15d * 7 / 365 / 100;
        double feerate = 0d * 7 / 365 / 100;
        double initprice = 1;
        double totalshares = 0;
        double periodinput = 2000;
        double totalinput = 0;
        double totalvalue = 0;
        double totalfee = 0;
        BufferedWriter writer = null;

        try {
            writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("D:\\result.csv")), "UTF-8"));
            writer.write("weeknum,totalinput,totalshares,totalvalue,totalfee");
            writer.newLine();

            for (int i = 0; i < 1560; i++) {
                totalvalue = totalshares * initprice;
                double fee = totalvalue * feerate;
                totalvalue = totalvalue - fee;
                totalshares = totalshares + (periodinput / initprice) - (fee / initprice);
                totalinput = totalinput + periodinput;
                initprice = initprice * rate;
                totalfee = totalfee + fee;
                totalvalue = totalshares * initprice;
                writer.write((i+1) + "," + totalinput + "," + totalshares + "," + totalvalue + "," + totalfee);
                writer.newLine();
            }
            writer.flush();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("totalinput:" + totalinput);
        System.out.println("totalshares:" + totalshares);
        totalvalue = totalshares * initprice;
        System.out.println("totalvalue:" + totalvalue);
        System.out.println("totalfee:" + totalfee);
    }

}

参考文献

1.李笑来,定投公开课关于零管理费零开润的分析。——在李笑来分析的基础上通过编程实现自己的分析,提出了不同的见解
2.《香帅的北大金融学课》,61| “不要把鸡蛋放在一个篮子里”有理论依据吗?——引用了香帅的组合风险量表

上一篇下一篇

猜你喜欢

热点阅读