接下来就用蒙特卡洛算法分析一下数据吧。老规矩,先新建一个名为MonteCarlo的分支,新建一个名为MonteCarlo.py的文件。先看一下我的数据,平均每7个交易日交易一次,手续费率0.0003(万分之三,不足0.1元收0.1元)。购买300etf和纳指etf两个股票,金额平分。即交易28次,每次交易金额1000元,剩下的,并到下次交易。以上就是模拟的假设。
接下来就是进行交易模拟的函数,比较长,主要是一些细节的计算。
1 | '''执行一次交易模拟 |
测试一下。
1 | #进行模拟 |
OK,测试成功。以后还可以进一步完善,比如设定止盈止损规则等。先从最简单的来吧,改变交易频率看看,即从每日进行交易到每30个交易日进行一次交易,看看数据有何不同。
建一个函数进行模拟
1 | #按不同交易频率进行交易 |
然后调用
1 | #测试成功,现在模拟不同交易频率对结果的影响 |
再画图看一下,先比较一下年化收益率。
1 | AR =[] |
随着交易频率的下降,年化收益率也下降?再看看最大回撤
随着交易频率的下降,最大回撤值上升。
阿尔法值
夏普系数
从中可以总结出各种规律,貌似交易频率越高越好?但第一收益率全是负的而不是正的,第二交易天数仅200余天,好像有点少。不过这算是基本的模拟方法,更进一步的探索,留待下次吧。
明天就是春节了,提前祝大家猪年吉祥!明年见!
我发文章的三个地方(对,多了一个,计算机方面的文章可能会发CSDN的博客上。所有的文章都会发在github个人博客上),欢迎大家在朋友圈等地方分享,欢迎点“好看”。谢谢。
我的个人博客地址:https://zwdnet.github.io
我的CSDN博客地址:https://blog.csdn.net/zwdnet
我的微信个人订阅号:赵瑜敏的口腔医学学习园地