免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

qlib量化投資平臺(tái)的100天計(jì)劃

 AI量化實(shí)驗(yàn)室 2023-10-12 發(fā)布于北京

小時(shí)候,辯論題目讓我們討論“知易行難”,還是“知難行易”。

既然是辯題,正反雙方都容易能找到不同的角度。

事實(shí)上,“知”也不易,“行”更不易。

但“行”更難,今天的我可能覺(jué)得不必討論。

認(rèn)知提升當(dāng)然不易,有些人一輩子都待在自己思維認(rèn)知的圈層沒(méi)有出來(lái)。

這里說(shuō)的“相對(duì)容易”,是因?yàn)檎J(rèn)知是“一瞬間”完成的事情。

一下子你被擊中了,想明白了,你就明白了。

記得那個(gè)幾年前的那個(gè)冬日,陪愛(ài)人在北師大考試,考試需要上午下午持續(xù)一整天。

閑來(lái)無(wú)事,反復(fù)聽(tīng)李笑來(lái)的《財(cái)富自由之路》,有一集關(guān)于投資什么最重要,講到時(shí)限,本金,收益率以及風(fēng)險(xiǎn)。

印象最深的部分就是本金和時(shí)限是外因,你的投資能力體現(xiàn)的是收益率,就是說(shuō)無(wú)論是你100塊,還是1000塊,你都可以開(kāi)始投資,體驗(yàn)整個(gè)投資的完整過(guò)程,因?yàn)槲覀兊挠?jì)算的是你的收益率。如果你能夠獲得合適的收益率,證明你的投資水平在成長(zhǎng),那么你可以投入更多的資金。

我學(xué)習(xí)金融是2010年的事情,也算半個(gè)科班出身,但一直沒(méi)有行動(dòng)。

那一瞬間突然被擊中了,你的投資與本金無(wú)關(guān),只看你的收益率。你怕風(fēng)險(xiǎn),就投1萬(wàn)塊也行,只是看你的收益率就好了。所以并不用擔(dān)心資本市場(chǎng)到底有多么兇險(xiǎn),后來(lái)進(jìn)去之后,發(fā)現(xiàn)我可以掌握好。

除了投資之外,絕大多數(shù)事情,都是“認(rèn)知-行動(dòng)-修正認(rèn)知-行動(dòng)”這樣螺旋式迭代著前進(jìn)的。而且認(rèn)知完成,行動(dòng)是需要持續(xù)好長(zhǎng)一段時(shí)間才能看到結(jié)果,就算投資,你能不能克服情緒波動(dòng),克服人性的恐懼與貪婪都不好說(shuō),更何況很多事情就那么不了了之,直接就忘了。

納瓦爾說(shuō)這個(gè)時(shí)代,代碼和媒體是普通人最好的杠桿,但要用好這個(gè)杠桿,產(chǎn)品化非常重要。你的興趣,愛(ài)好,技能需要產(chǎn)品化才能變成杠桿。

給自己定一個(gè)10-100天的計(jì)劃——“基于qlib把一個(gè)AI量化投資平臺(tái)建設(shè)起來(lái)。

其中(今天至10月底):

一、qlib平臺(tái)本身的熟練,分析代碼結(jié)構(gòu)是基礎(chǔ); 

二、其次是AI模型的特征工程、參數(shù)優(yōu)化,工程化方面的東西; 

三、再次是產(chǎn)品化。

它需要變成一個(gè)產(chǎn)品,目前規(guī)劃是有一gui的產(chǎn)品,可以類(lèi)似果仁平臺(tái)一樣,選擇時(shí)間,參數(shù)即可以直接回測(cè)看效果,做實(shí)驗(yàn)。

很多人懂得很多道理過(guò)不好這一生的癥結(jié)在于,永遠(yuǎn)沒(méi)有行動(dòng),或者說(shuō)行動(dòng)永遠(yuǎn)沒(méi)有結(jié)果,半個(gè)成品遠(yuǎn)遠(yuǎn)勝過(guò)一個(gè)半成品。更可怕的事情是持續(xù)行動(dòng)持續(xù)放棄,持續(xù)開(kāi)始。然后問(wèn)上天為何如此不公——因?yàn)槿绻闾善剑箍梢孕陌怖淼媒邮軟](méi)有結(jié)果——可是你如此努力,問(wèn)題出在何方?出在不能專(zhuān)注與堅(jiān)持,出在要一個(gè)有結(jié)果的努力!

01 qlib的代碼

qlib的代碼模塊化很好,可讀性很強(qiáng),而且是ai導(dǎo)向的架構(gòu),所以我強(qiáng)烈推薦大家以此平臺(tái)為核心,這是未來(lái)——與backtrader之類(lèi)的傳統(tǒng)框架相比,如果你讀過(guò)backtrader的代碼,你會(huì)知道里邊元編程有多難理解。

qlib使用了很多參數(shù),通過(guò)ymal和dict來(lái)傳參,它做了多層的封裝,這一點(diǎn)對(duì)于初學(xué)者有點(diǎn)不太容易理解,最好的方法,你讀讀它的代碼。

源代碼:examples/work_by_code.py

官方給出了一個(gè)入門(mén)級(jí)的完整案例:

model = init_instance_by_config(CSI300_GBDT_TASK["model"])
dataset = init_instance_by_config(CSI300_GBDT_TASK["dataset"])

init_instance_by_config就是通過(guò)傳入dict類(lèi)似的參數(shù),把model和dataset初始化。dataset里也用同樣的方法初始化了datahandler, dataloader等。

這里就完成了模型的初始化和數(shù)據(jù)集初始化(特征,標(biāo)注,數(shù)據(jù)集劃分)。

如下這一段對(duì)于傳統(tǒng)回測(cè)的同學(xué)是最不好理解的,這是機(jī)器學(xué)習(xí)的范疇,使用了mlflow的“實(shí)驗(yàn)”的概念。

# 開(kāi)始實(shí)驗(yàn)

with R.start(experiment_name="workflow"):

    #模型訓(xùn)練

R.log_params(**flatten_dict(CSI300_GBDT_TASK))
model.fit(dataset)
R.save_ozzbjects(**{"params.pkl": model})

# 預(yù)測(cè)
recorder = R.get_recorder()
sr = SignalRecord(model, dataset, recorder)
sr.generate()

# 信號(hào)生成
sar = SigAnaRecord(recorder)
sar.generate()

# 回測(cè). If users want to use backtest based on their own prediction,
# please refer to https://qlib./en/latest/component/recorder.html#record-template.
par = PortAnaRecord(recorder, port_analysis_config, "day")

par.generate()

若不考慮使用mlflow的實(shí)驗(yàn)平臺(tái),我們有了model和dataset之后,常規(guī)也

需要做同件事:

model.fit(),

model.valid(),

model.predict(),

backtest()

使用數(shù)據(jù)集訓(xùn)練模型,保存下來(lái),使用驗(yàn)證數(shù)據(jù)集,檢驗(yàn)?zāi)P托?。然后模?/p>

對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)測(cè)得到pred_score,把pred_score交由策略及回測(cè)組件使用,

生成回測(cè)結(jié)果用于分析。

02 工作流

qlib把整體量化回測(cè)看作“實(shí)驗(yàn)”,總體是一個(gè)“工作流workflow”。

它還提供了一個(gè)qrun命令來(lái)整體執(zhí)行整個(gè)流程,這個(gè)到了高階我們?cè)僬f(shuō)。

1、數(shù)據(jù)加載與預(yù)處理,劃分?jǐn)?shù)據(jù)集

2、模型訓(xùn)練與推理,保存與加載

3、pred_score生成與回測(cè)

除了3里的回測(cè)是AI量化投資里獨(dú)有的,前面的過(guò)程基本就是一個(gè)完整的

機(jī)器學(xué)習(xí)項(xiàng)目的必要過(guò)程。

為更好的理解qlib的工作流管理,強(qiáng)烈建議大家先使用mlflow做傳統(tǒng)機(jī)器

學(xué)習(xí)項(xiàng)目練練手,然后再回來(lái)看qlib的實(shí)驗(yàn)管理會(huì)很好理解。

mlflow給機(jī)器學(xué)習(xí)提供了一個(gè)很好的實(shí)驗(yàn)管理的平臺(tái),還自帶一個(gè)好看的ui.


另外,初學(xué)者把這個(gè)notebook自己走一遍,對(duì)qlib會(huì)有更細(xì)節(jié)的理解。

https://github.com/microsoft/qlib/blob/main/examples/tutorial/detailed_workflow.ipynb

小結(jié):

一個(gè)好的開(kāi)始,定一個(gè)小目標(biāo),堅(jiān)持100天,有一個(gè)小成果。

但行好事,莫問(wèn)前程。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多