iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0
AI & Data

從零到英雄:用GCP建立AI交易體系系列 第 30

Day 30 回測統計(三) 連續獲利或虧損

  • 分享至 

  • xImage
  •  

連續盈利或虧損(RUNS)

投資策略很少產生來自獨立同分布(IID)過程的報酬。在缺乏這一性質的情況下,策略報酬的序列經常出現連續盈利或虧損(Runs)。Runs是連續、相同正負號的報酬序列。因此,Runs增加了下行風險,這需要用適當的指標來評估。

  • IID:獨立同分布,指一系列隨機變量既獨立又具有相同的機率分布。

報酬集中度(Returns Concentration)

交易集中度與時間分布

用於計算HHI集中度的算法

# 計算正報酬每個交易的集中度
rHHIPos = getHHI(ret[ret >= 0])
# 計算負報酬每個交易的集中度
rHHINeg = getHHI(ret[ret < 0])
# 按月計算交易集中度
tHHI = getHHI(ret.groupby(pd.TimeGrouper(freq='M')).count())

#————————————————————————————————————————
# getHHI函數
def getHHI(betRet):
    # 如果betRet的形狀小於或等於2,返回nan
    if betRet.shape[0] <= 2: return np.nan
    # 計算權重
    wght = betRet / betRet.sum()
    # 計算hhi
    hhi = (wght ** 2).sum()
    # 計算最終的hhi值
    hhi = (hhi - betRet.shape[0] ** -1) / (1. - betRet.shape[0] ** -1)
    return hhi

最大回落和水下時間

直觀地說,最大回落(Drawdown, DD)是一次投資在兩個連續的最高資產水位標記(High-Water Marks, HWMs)之間所遭受的最大損失。最大回落時間(Time under Water, TuW)是從一個HWM到PnL超過之前最大PnL的時刻之間所流逝的時間。此段程式碼根據獲利百分比(dollars=False)或者獲利絕對值(dollars=True)推導出DD和TuW序列。

推導DD和TuW序列的算法

# 計算最大回落和與之相關的最大回落時間
def computeDD_TuW(series, dollars=False):
    df0 = series.to_frame('pnl')
    # 計算HWM(最高資產水位標記)
    df0['hwm'] = series.expanding().max()
    df1 = df0.groupby('hwm').min().reset_index()
    df1.columns = ['hwm', 'min']
    # 設置HWM發生的時間為索引
    df1.index = df0['hwm'].drop_duplicates(keep='first').index
    # 選擇那些在HWM之後有回落的行
    df1 = df1[df1['hwm'] > df1['min']]
    
    # 根據是使用百分比或絕對值計算DD
    if dollars:
        dd = df1['hwm'] - df1['min']
    else:
        dd = 1 - df1['min'] / df1['hwm']
    
    # 計算最大回落時間,單位為年
    tuw = ((df1.index[1:] - df1.index[:-1]) / np.timedelta64(1, 'Y')).values
    tuw = pd.Series(tuw, index=df1.index[:-1])
    
    return dd, tuw

用於績效評估的運行統計

一些有用的運行統計量包括:

  • 正收益的HHI指數:getHHI(ret[ret >=0])
  • 負收益的HHI指數:getHHI(ret[ret < 0])
  • 交易之間時間的HHI指數: getHHI(ret.groupby(pd.TimeGrouper(freq='M')).count())
  • 95分位數的最大回落(DD):所有觀察到的回落中中排在最壞的5%。
  • 95分位數的最大回落時間時間(TuW)

上一篇
Day 29 回測統計_績效
下一篇
Day 30 回測統計(四) 實際執行會碰上的問題
系列文
從零到英雄:用GCP建立AI交易體系34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言