第三篇,來聊一下用GPT幫助Python編程的感悟以及一點(diǎn)心得。
先聲明一下,我對于Python也就是入門級的水平,書大概讀了四五本,但是從來沒有上手編過。甚至包括hello world都沒有完整的輸入過一次(相信學(xué)過的都知道是什么梗)。
(資料圖片)
這次,我用GPT幫我實(shí)現(xiàn)一個(gè)量化模型的回測,原始數(shù)據(jù)我已經(jīng)用其他軟件下載好導(dǎo)入到EXCEL里了,所以我只需要GPT幫我實(shí)現(xiàn)一個(gè)典型的量化回測。具體包括三個(gè)方面:1.生成交易和平倉信號;2.定義不同參數(shù)下的總收益;3.尋找總收益最優(yōu)的參數(shù)集。
整體來說,使用GPT幫助Python的使用體驗(yàn)還是不錯(cuò)的。大概2天時(shí)間,幫我寫了200-300行左右的有效代碼,而且一些基礎(chǔ)的代碼還是很輕松就寫出來了。如果我自己一邊學(xué)一邊做的話,我估計(jì)我需要大概半個(gè)月的時(shí)間才能學(xué)習(xí)到這個(gè)程度。所以對我來說幫助還是挺大的,我相信對于python新手或者只有入門門檻的來說,GPT的輔助編輯代碼的功能確實(shí)不錯(cuò)。
而且GPT還有一個(gè)很好的地方,就是如果報(bào)錯(cuò)的話,只需要把報(bào)錯(cuò)代碼再喂回去。如果它直接就能改,它就輸出改好的代碼了。如果它不能改,或者錯(cuò)誤的原因不在這一段代碼里,它也會(huì)用白話給你解釋一下錯(cuò)誤的原因,而不是Key ERROR這種新手搞不懂的原因。
以上是好的地方,下面來說一下GPT還做不到,依靠人腦的地方。
首先,GPT只能“幫”寫代碼,但是代碼后面的邏輯還是需要人工自己搞清楚。比如量化回測,GPT可以實(shí)現(xiàn)對一些常見量化回測策略的編寫,但是稍微個(gè)性化一點(diǎn)的策略,就需要不斷地訓(xùn)練才行。也就是說,在整個(gè)編輯代碼的過程中,人的思想還是主導(dǎo)。
其次,GPT只能機(jī)械地執(zhí)行某個(gè)指令。比如說,我在量化回測模型中人工設(shè)定了幾個(gè)區(qū)域,在這些區(qū)域是不進(jìn)行交易的(因?yàn)閿?shù)據(jù)庫底層的某些原因)。我希望設(shè)計(jì)成標(biāo)記點(diǎn)前10天和后5天不交易,但是我大約對GPT進(jìn)行了10次對話,GPT依然沒有幫我實(shí)現(xiàn)這個(gè)功能,最終只幫我對稱標(biāo)記了前8天和后8天。
第三,GPT無法理解某些超越代碼表層的深層次邏輯。比如說,我在回測模型中,以序列號作為持倉天數(shù)的代理,但我對數(shù)據(jù)庫進(jìn)行切片后,顯然需要對切片后的序列號進(jìn)行reset_index,但是GPT并不能理解這個(gè)層面的邏輯(盡管在形成代碼的時(shí)候,它對此邏輯表示了認(rèn)可)。這是最后我拿GPT輸出的代碼和我用EXCEL做出的同樣功能的sheet進(jìn)行對比之后發(fā)現(xiàn)的。光改這一個(gè)bug大概花了我四分之一的時(shí)間,包括對話訓(xùn)練和思考。
此外,GPT輸出中還出現(xiàn)了一些邏輯矛盾和錯(cuò)誤,也都是需要人工來改正的。尤其是不報(bào)BUG,但是和底層邏輯矛盾的地方,是需要自己來發(fā)現(xiàn)并修改的。
講完這三篇,我的結(jié)論就是,GPT是一個(gè)很好用的工具,可以替代人工完成非?;A(chǔ)的工作。但是用好它,使用者還是需要具備一些進(jìn)階能力的。這個(gè)關(guān)系就像正式員工指導(dǎo)實(shí)習(xí)生是一樣的。
標(biāo)簽: