2017-01-08

自己写的遗传算法完成,效率不错,界面也做掉了

先把自己平台下的遗传算法和界面完成了。由于之前优化的不错,运行速度足够我执行机器学习了,遗传算法写起来又较简单,所以弄掉了。

遗传算法就是让计算机模拟生物,自动进化出符合你期望的交易策略,会自动生成一段代码,比如if CrossOver(MA(C,5), MA(C, 20)) then buy() end这种,代码可直接拿到我的系统去交易。

[附图]

这个用于对单个可做空的合约进化效果更好,也更简单,但我也做了更高难度的,在大量标的的市场里以模拟真实环境的情况下进化,这样得出的策略也会更泛用些。

附图是我第3次运行的结果,种群数500人,数据是沪深所有合约3年的每日k线,买卖满足策略的所有合约,交易用完全模拟,包含涨跌停佣金和拆分红等的模拟,进化目标是评价利润风险比最大并且资金利用率要高,执行结果可以看到整个种群在交配过程中,平均评价在慢慢上升到饱和,最佳个体不断突破, 最后的评价结果是4.4。

在繁殖了161代后(8核+970显卡下执行了我半小时,还得优化),自动进化出的这个最佳交易员的交易策略在2007年到2015年的回测验证中, 年化夏普1.05, 总利润达2000%。所以说计算力的碾压是很可怕的,那时候的人们谁有这种计算能力的电脑,谁就统治世界(误。

这个策略目前还不能使用,只是随手弄得,并未检查过拟合问题,我打算调校一阵后再去交易去,然后再做深度学习。


回主页