遗传算法(GA)和遗传编程(GP)是有趣的研究领域。
我想知道您使用GA / GP解决的特定问题,以及如果不自己动手使用哪些库/框架。
问题:
我正在寻找第一手经验,因此,除非您有经验,否则请不要回答。
不是 功课。
我作为专业程序员的第一份工作(1995年)是为S&P500期货编写基于遗传算法的自动交易系统。该应用程序是用Visual Basic 3[!]编写的,当时我不知道该怎么做,因为VB3甚至都没有类。
该应用程序从大量随机生成的固定长度字符串(“基因”部分)开始,每个字符串都对应于S&P500期货的按分钟定价数据中的特定形状和特定定单(买或卖)以及止损和止盈金额。每个字符串(或“基因”)的利润表现都经过3年的历史数据评估;只要指定的“形状”与历史数据匹配,我就假定相应的买入或卖出订单并评估交易结果。我补充了一个警告,每个基因都以固定的金额开始,因此有可能破产并从基因库中完全删除。
在对种群进行每次评估后,将幸存者进行随机杂交(仅混合来自两个亲本的位),选择基因作为亲本的可能性与产生的利润成正比。我还添加了点突变的可能性,以使事情更加有趣。经过几百代的研究,我最终得到了一组基因,这些基因可以将5000美元变成平均大约10000美元,而没有死亡/布鲁克的机会(当然,根据历史数据)。
不幸的是,我从来没有机会现场使用该系统,因为我的老板在不到3个月的时间里以传统方式交易损失了近100,000美元,而他也失去了继续进行该项目的意愿。回想起来,我认为该系统本来可以赚取巨额利润- 不是因为我做的事情一定正确,而是因为我生产的基因数量偏向于购买订单(而不是卖出订单)大约5: 1个比例。以我们20/20的事后了解,市场在1995年以后有所上涨。