一種相對較新的金融交易方法是使用機器學習算法來預測資產價格的漲跌。
最佳交易者會在價格上漲之前買入資產,並在其價值下跌之前賣出資產。
對於這個項目,資產交易者將使用強化學習(RL)來實現。
一種梯度上升(Gradient Ascent)算法,試圖最大化夏普比率(Sharpe Ratio)的效用函數(Utility Function)。
夏普比率是衡量投資隨時間的風險調整表現的常用指標。
假設無風險利率為 0,夏普比率的計算公式就是投資的平均回報除以回報的標準差。
def sharpe_ratio(rets):
return rets.mean() / rets.std()
梯度上升是一種用於最大化給定獎勵函數的算法。
試圖最大化你的獎勵函數(Reward Function)。
找到最大值的一個簡單方法是觀察您所站立區域的坡度,然後向上坡移動。
在上山的過程中,了解該地區的坡度或坡度非常重要,這樣我們就可以知道該朝哪個方向行進。
梯度(Gradient)只是獎勵函數相對於其參數的導數。
梯度上升的另一個重要部分是學習率(Learning Rate)。
這相當於我們再次檢查坡度之前所走的步數。
步數太多,我們可能會越過山頂;步數太少,找到頂峰需要的時間太長。
同樣,高學習率(Learning Rate)可能會導致算法偏離最大值。
而低學習率(Learning Rate)可能會導致算法花費太長時間才能完成。