定期定額投資的績效表現在XQ上並不容易回測,本文將會介紹我如何運用量化交易實驗室的AI,在短時間內就寫出一個可以計算定期定投入績效的XQ看盤頁面。
1. 前言
我要製作一個XQ的指標頁面,能夠幫我計算定期定額的投入績效,需要包含總投入資金、總獲利、MDD、年化報酬率、需要讓我可以自訂開始日期、採月、季或年投資
當看到上面的問題時,你會不會覺得這個要求好難,寫這個程式碼可能要花一天的時間,甚至根本寫不出來呢? 現在,你真的不用擔心了,只要你有一點點的XQ基礎,搭配訓練好的AI,加上debug的時間,應該是不用一小時,就可完成了,是不是很驚人呢?

2. 用AI寫XQ程式碼真的是個好主意嗎?
雖然我已經算是比較常在寫XS腳本,但對於較複雜的邏輯,我還是沒法像高手那樣一下就寫出來,常常都要寫個好幾天,才能生出來,不過,有了AI,寫code速度真的是加快非常多,雖然不到完美,但也接近九成了,而且不到1分鐘就寫出來,如果,你有想要開發自己的指標、選股或策略,但對寫程式沒有很熟悉,真的很建議使用AI來撰寫,省下來的時間可以去研究更多策略,不是很好嗎? 而且,從這個過程中,還能學到…
2.1 從debug中更深入了解XQ的使用
上面提到,AI寫出來的程式碼常常都還是會有些問題,如果是程式碼的問題,可以直接貼給AI去修正,但如果你對XS程式碼有點了解了,或是想要學習程式碼的撰寫,我更建議可以自己嘗試去debug,培養自己修正問題的能力,總不能永遠都靠AI,而且,就算把bug告訴AI,有時候AI會像是鬼擋牆一樣,就是不去修正你指定的錯誤,來來回回,反而浪費時間,還不如自己動手改。
如下面的例子,撰寫定期定額程式碼的時候,AI用了一個mod函數,用來取得月份的數字,來決定是否要投入
IntPortion((Date, mod, 10000) / 100);
在XScript編輯器編譯後,出現圖片位置1的錯誤,其中提到函數mod的錯誤,此時,可以將滑鼠移到程式碼mod的地方,看看mod的使用說明,如果還是不清楚,可以到XQ的函數列表內查詢mod的使用說明。

比較AI的寫法跟XS內的說明,應該可以很清楚知道是AI搞錯函數的寫法,Mod需要的數值,要放在mod之後,修正後(如下),就不會出現錯誤了,
IntPortion(mod(date, 10000) / 100);
這個函數使用方式的錯誤,在AI還滿常發生的,有時他會加入其他程式語言的寫法,只要多幾次經驗,就很容易看出這樣的錯誤。
2.2 學習程式撰寫邏輯
另外,我覺得從了解AI的撰寫方式,也是一個很棒的學習,如下面程式碼,AI完全不用XQ內建的年月日函數,而是用mod去抓到年、月、日,了解這些寫法,對自己未來在寫策略時,應該都能更順手才是。
// 解析起算日 _startYear = IntPortion(_startDate / 10000); _startMonth = IntPortion(mod(_startDate, 10000) / 100); _startDay = mod(_startDate, 100);
2.3 學習判斷程式邏輯是否有誤
策略、指標跑出來了就一定對嗎? 不管是我們自己寫的程式碼還是AI寫的,一定都會發生執行出來的結果並非我們想要的,這個時候就會需要告訴AI去調整
以下圖為例,我定期定額要每月投入,但是投入資金的曲線看起來就不是每月投入的樣子,這個時候,不會改怎麼辦呢?

很簡單,直接跟他說你發現的錯誤,而我因為之前的對話不見了,我是開新的對話,然後把問題寫出來,然後貼上全部的程式碼

AI真的是很聰明,會根據你的發現,找到錯誤並修正程式碼,而且這次運氣不錯,改一次就改對了,我是覺得,講清楚錯誤是啥,AI比較能幫你改出錯誤

邏輯或計算上的錯誤,就是這樣一個個的取比對,修正,好像很複雜,但即使自己寫也是要經過這些過程,有了AI方便快速許多,只要抓到問題,程式碼的修改基本都不用擔心。
3. 定期定額頁面說明
這個定期定額的頁面,最設計如下,可以自行調整起投日、每月、每季或每年投入,每次要投入金額,還有就是股利是否要再投入,應該已經滿足大部分定期定額的人想要設定的條件了,如果還想要啥條件,可以留言說下。

在做了上面的調整後,XQ的頁面就會計算出以下圖片的數值,可以很容易的知道總共會投入多少資金、這期間領了多少股利、還有總共賺或賠了多少錢、年化報酬率等等,如果還想要其他的統計,一樣留言說。

另外,我把頁面切割成一半,可以放兩個商品方便做比較,可以放兩個商品比較相同設定的結果,或是同商品不同設定的結果,應該還算方便吧。
另外,除了起投日需要進到副圖設定內調整外,其他參數都,頁面都有下拉選單可以直接選擇,如畫面太小,無法顯示所有下拉選單,可以點右上角的+號就可以放大頁面,就會看到了。

要定期定額時,常常都會有人在比較要投入0050還是正2,很多人會說要投0050,因為正2美其名為正2,但不會是0050的兩倍,會更低,因為正2的交易次數較多,會有較高的投入成本,但如果我就是小資族,每月只能投入10000塊,我想,我應該會選擇正2吧,至少年化報酬率高了不少,不過遇到下跌時,也會比較痛就是了,如果不了解商品特性,遇到崩跌很多人可能會撐不下去,就像這位PPT的朋友,最終是停損出場,我自己是覺得,買50或正2,遇到崩跌反而要開心,這次關稅事件引發的下跌,我仍然是照著自己的規劃繼續買,可惜要第二次加碼時就遇到反轉漲停了,正2該不該買,該怎麼操作,歡迎留言討論。
4. 總結
我覺得,如果可以有一點XS程式的基礎概念,搭配AI真的會事半功倍,如果一點都不懂,想要都靠AI幫你寫、幫你找出錯誤,真的會比較很辛苦,如果你想要撰寫XS程式碼,建議還是要學習XS基礎,這個XQ推出的XS實戰七門課,就看看吧。
另外,不管是指標還是策略,寫程式碼有AI幫助真的很快,但是會需要花較多的時間去確認算出來的數據對不對,不然出來錯誤數據還是沒用的。
最後,如果你對本文用的AI有興趣,可以到量化交易實驗室註冊下帳號,可以免費試用,試用後覺得不錯,可以付費,或是訂閱XQ的年方案,A+策略網有合作促銷,可以免費兌換量化交易實驗室的AI使用喔
發佈留言
很抱歉,必須登入網站才能發佈留言。