本文将模拟退火(SA)算法应用于投资组合优化问题。模拟退火(SA)是一种通用的概率和元启发式搜索算法,可用于找到以具有多个最优的大搜索空间为特征的优化问题的可接受解决方案。投资组合优化涉及在资产之间分配资本,以最大化风险调整回报。
基本模拟退火算法
该算法的灵感来自冶金退火中的随机过程,其中材料被反复加热和冷却。这样做是为了增加材料晶体的尺寸并减少其缺陷。这些材料特性取决于材料中通过加热和冷却调节的热力学自由能水平。
一开始,这个真实世界的概念似乎很难转化为优化算法,但是,通过一些“算法许可证”,得到的算法实际上非常简单。投资组合优化的模拟退火算法基本上只包含11个步骤,其中只有两个非常重要(加下划线),
初始化一个随机可行解,s
初始化找到的最佳解,s *
赋值s *←max(f(s),f( s *))
虽然停止条件不满足:
生成一个可行的随机解,s'
计算移动的概率,P(s ← s')
如果满足移动条件:
更新当前的解决方案,小号 ← S'
如果健身小号大于S *,˚F(小号)> ˚F(S *):
更新找到的最佳解决方案,s * ← s
返回找到的最佳解决方案,s *
这两个步骤特别重要的原因是它们影响了勘探开采权益。探索描述了探索搜索空间的不同区域的算法能力,而Exploitation描述了将搜索集中在搜索空间的有希望区域中的算法能力。
本文的其余部分将进一步详细讨论这两个步骤。下图说明了具有多个最优的搜索空间中的模拟退火算法。蓝色圆圈代表当前解决方案,绿色圆圈代表随机可行解决方案,红色圆圈跟踪找到的最佳解决方案。
生成可行的随机解决方案
为了理解相对于当前解s *生成随机解s'的影响,考虑这两种情况,(1)s'生成接近s *,并且(2)s'生成远离s *。假设s *在搜索空间的有前途的区域中,则在(1)中算法正在利用并且在(2)中算法正在探索。
投资组合中任何一项资产的最大资本配置为1.00,如果我们假设不允许做空,那么投资组合中任何一项资产的最低资本配置为0.00。因为这个有效范围非常小, 所以可以通过对s *的每个维度应用随机百分比扰动来生成 新的 s'。
小扰动与大扰动的影响如下所示,
来自最佳找到的解决方案的大扰动导致两个解决方案之间的总绝对距离更大。
来自最佳找到的解决方案的较小扰动导致两个解决方案之间的总绝对距离较小。
通过控制最大百分比扰动, 可以控制s' 和 s *之间的距离 。因此,可以调整算法的探索和利用。使用三角分布来缩小随时间的最大扰动导致改进的模拟退火算法用于投资组合优化,
下面的第一张图显示了更大的三角形分布,这有助于更好地探索算法的开头。第二幅图像显示较小的三角形分布,这有助于在算法结束时进行更大的利用。绿色圆圈是当前解决方案(蓝色)有可能移动的可能位置。
关于最佳找到的解决方案s *生成的随机解s'的较大三角分布有助于更大的探索,并且应该用于算法的开头。
关于最佳找到的解决方案s *生成的随机解s'的较小三角分布有助于更大的利用,并且应该在算法结束时使用。
计算移动的概率
在模拟退火算法中,当前解s 移动到随机解s'之一的概率取决于s'相对于s的适合度以及已经过的迭代次数。在早期迭代期间,即使不太理想,s也更有可能转移到s'。这类似于随机搜索和探索。在以后的迭代期间,s更有可能移动到s',当且仅当它更理想时。这类似于贪婪和剥削。
模型退火的投资组合优化
为了将这个问题与投资组合优化问题联系起来,我们将每个解决方案s表示为投资组合基数的长度。然后,该向量中的每个元素s(x )表示投资组合中资产x的权重。为了使这个问题更加真实,我们通常需要对这些值和向量的含义施加一些约束,
约束 |
描述 |
总分配 |
断言必须分配的资本总额。这通常是100%或1.0,但如果留有现金,可能会更低。 |
只有短期或长期 |
断言投资组合是否被允许做空资产。空头头寸是对市场的赌注(负面分配)。 |
最大和最小分配 |
断言范围,指定投资组合资本对任何一项资产的最大和最小风险敞口,例如,不应将超过40%的资本分配给任何一项资产。 |
最大和最小风险和回报 |
断言“风险预算”代表投资组合可以承担的最大预期风险金额以及投资组合可能承担的最低预期回报金额。 |
最低基数 |
断言分配给该资产的资本大于零的资产数量。例如,具有基数15的投资组合要求投资组合中至少有15个资产具有非零资本分配。 |
交易成本 |
断言与投资组合中资产买卖相关的交易成本必须下降的范围。 |
最大相关性 |
断言投资组合中资产之间的最大相关性。如果投资组合中各个资产的相关性太高,那么投资组合可能会面临市场风险,例如LTCM。 |
随着每个附加约束,可行解决方案集缩小。此外,搜索空间变形并且最终可能包含多个最佳值。随着随机优化算法的成功,这种复杂性导致许多确定性优化算法失败。 随机算法,例如模拟退火,即使在找到局部最优之后也可以搜索解。这是通过引入机会元素来实现的,该元素允许它们在搜索空间的不太理想的区域中随机搜索以获得更好的局部最优。
结论
基本的模拟退火算法和增强的模拟退火算法(使用上述三角分布技术)都是相对简单的算法,可以很容易地应用于复杂的投资组合优化问题。这些是投资组合优化问题,其中已经在引入局部最小值和/或不连续区域的搜索空间上声明了多个约束。这是一个在坚固的搜索空间中找到全局最优的算法的GIF,