黄金钱包是我去年开始投资的一个平台。简单地说,这个平台的功能就是买入或卖出黄金,和银行纸黄金产品的区别,是它所提供的产品除了可以享受黄金上涨的收益外,还有类似理财产品的利率。
同时,它还推出另一种产品:黄金看涨/黄金看跌。
如图中所示,这个产品的基本利率为6%,然后根据黄金上升或者下降的利率去。
从对冲角度来说,如果我买入一定数额的黄金,为了减低黄金单价下降的损失,我应该同时做空对不对?也就是说,买入黄金看跌产品。
那么问题来了,我应该买入多少黄金看跌产品,来保证最高的收益率?
单月的收益计算就很简单,用一行excel表就能列明:
假设我买入5000元黄金看跌产品,又同时买入5000元黄金箱底金的一个月产品,which利率为3%,一个月后,黄金没有上涨也没有下降,我拿到了5000x(0.6+0.3)/12=37.5元的收益。
按此原则,我换做买入箱底金的三个月产品(利率4%),六个月产品(利率5%)...收益肯定是继续稳赚的。这个计算不用表达了。
然而,我买入黄金看跌产品就是担心黄金跌,所以我需要建立的假设是如果跌了,我如何保证收益?
先从最简单的模型开始,假设涨幅每个月都不同,那么每个月的收益是多少?这里我设定的涨幅为0.05到-0.06,因为黄金看跌的收益率为6%-12%,也就是说,无论上涨多少,收益率都是6%,无论下降多少,收益率最高也就是12%,折算为下跌6%。
这里值得注意的是,按照黄金钱包的规则,比如这个月跌了5%,那么你的看跌收益是5000*(0.06+0.05)/12,也就是说,虽然这个月下跌了5%,但你看空的收益实际上是5%/12。
从上表可以看出,只要黄金跌了1%,那么我的总收益就为负数。因为我的金子总值降低了,而且是真金白银的跌,反而看跌产品则是/12的利率。所以如果真的想看空赚钱,直接从银行买看空还比较赚。(不过那个眼光需要更准确,因为有平仓的压力)
3个月的模型只要跌,还是跌。
做到这里我就得换一个思路,既然涨跌不由自己控制,而且跌的话会输很惨。那么最好用定投来补偿。定投的条件语句我在excel不会做,在R语言里用循环语句就可以了。正好练练手。
for (m in 1:20){
total<-5000
rate<-runif(24,-0.15,0.15)
for (i in 1:25) {
total[i+1]<-total[i]*(1+rate[i])*(1+0.03/12)+500
i<-i+1}
final[m]<-total[i]
m<-m+1}
total;final
mean(final);mean(final)/17000
解释一下:
用随机数作出黄金涨跌的rate,控制在正负15%之间。(黄金还是比较稳定的,所以我敢这样乱写)
i是每个月的变动,一共两年左右,
total是每个月涨跌后再加500定投的累计,
final是2年后的总额。
再利用m运行20次,看看在不同的随机利率下,这种投资的收入会有多大。
先试了一下rate,ms还可以:
运行了三次,得到结果如下,
这里total是20次最后一次的形式,final是20次2年投资的总回报,
以final的均值除以总投入17000(5000+500x24),两年的回报率是保本-13.8%之间
看上去还可以接受,就介么坚持定投吧....
再说明一句的是,定期的箱底金到期后可转为流动金。所以理论上可以等涨了再卖,如果不急着用钱的话。
这个程序的不足之处是,rate用的是runif设定的随机数,而不是按照正态分布(或者t分布)设计的。但是rnorm和rt我都没有找到合适的写法。——norm一般设定的是均值和标准差,我得再研究下这种投资分布的标准差怎么算。
小结:本来是想利用黄金钱包的产品功能做个简单的对冲模型的,后来发现按照下跌利率再除以12的对冲没有什么策略可言。所以就乖乖的改为定投了。
如果各位觉得程序的逻辑有错,欢迎不吝赐教,谢谢!