本篇文章給大家分享的是有關(guān)VNPY參數(shù)優(yōu)化功能v1版本中的更新參數(shù)批量生成方法是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
VNPY的參數(shù)優(yōu)化功能,是策略優(yōu)化的重要功能。主要就是按照范圍生成批量的參數(shù)組合,然后成批跑完,選出最優(yōu)的方法的。
在ctaBaclesting.py中的addParameter方法提供了批量導(dǎo)入?yún)?shù)的方法。就是這樣一個(gè)參數(shù)一個(gè)參數(shù)填入。addParameter會(huì)按照1為初始,5為結(jié)束,2為步進(jìn),生成[1,3,5]參數(shù)隊(duì)列
setting.addParameter('barMins', 1,5,2)
但是有時(shí)候參數(shù)比較多,如果參數(shù)是已經(jīng)維護(hù)list這樣情況,就不好支持。我寫(xiě)了個(gè)v2版本。傳入的是key,和一個(gè)參數(shù)定義,可以是tuple元祖,隊(duì)列l(wèi)ist,或者單個(gè)值。
#---------------------------------------------------------------------- def addParameterV2(self, key, value): """增加優(yōu)化參數(shù)""" if isinstance(value, tuple): if len(value) == 4: if value[3] == "int": self.paramDict[key] = np.linspace(value[0], value[1], value[2]).astype(int).tolist() else: self.paramDict[key] = np.linspace(value[0], value[1], value[2]).tolist() elif len(value) == 3: l = [] param = value[0] while param <= value[1]: l.append(param) param += value[2] self.paramDict[key] = l elif isinstance(value, list): self.paramDict[key] = value else: self.paramDict[key] = [value]
使用方法:
1,起始點(diǎn),終結(jié)點(diǎn),和步進(jìn) 比如,那么就和之前一樣的返回
setting.addParameterV2('barMins', (1,5,2))
setting.addParameterV2('barMins', (0,5,0.2))
2, 起始點(diǎn),終結(jié)點(diǎn),參數(shù)個(gè)數(shù)和是否int 比如
setting.addParameterV2('barMins', 1,5,3, "int") 會(huì)生成有3個(gè)整數(shù)參數(shù)的參數(shù)隊(duì)列[1, 3, 5];setting.addParameterV2('barMins', 1,5,4, "float")會(huì)生成浮點(diǎn)數(shù)參數(shù)組[1.0, 2.333333333333333, 3.6666666666666665, 5.0]
3,數(shù)列,就直接使用數(shù)列setting.addParameterV2('barMins', [3.5.6])
4,單個(gè)數(shù)字,就直接使用單個(gè)數(shù)字
setting.addParameterV2('barMins',4)
這樣修改后,就可以不用一個(gè)一個(gè)加入,如下批量加入。
paradict = { 'lWindow':40, 'llDev': 8.0, 'MAWindows':(5,12,5,"int"), 'atrWindow':25, 'slMultiplier':(3.0,6.0,3), 'pRate':(0.002,0.010,5,"float"), 'bMins':[3,5,10], 'CDate':3, 'endsize':(1,4,1), 'endplus':(0,3,1) } for key,value in paradict.items(): setting.addParameterV2(key,value)
以上就是VNPY參數(shù)優(yōu)化功能v1版本中的更新參數(shù)批量生成方法是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
網(wǎng)頁(yè)名稱:VNPY參數(shù)優(yōu)化功能v1版本中的更新參數(shù)批量生成方法是什么-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article42/cdhohc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、軟件開(kāi)發(fā)、Google、用戶體驗(yàn)、企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容