古有草船借箭,今有AI借鏡 - 訊號撰寫

古有草船借箭,今有AI借鏡 - 訊號撰寫

更新於 發佈於 閱讀時間約 2 分鐘
投資理財內容聲明

古有草船借箭,今有AI借鏡 寫到如何將CNN訓練好的模型訊號以一個新商品的方式匯入成歷史資料,藉此當為進場訊號的輔助,本文就簡單示範,當匯入訊號後,策略的程式如何撰寫。

首先描述這個模型的特性及策略的設計,CNN模型以「市場輪廓圖」為基礎訓練圖形,以「日」為單位,預測接下來的行情是否發生反轉,訊號的產生也是以日為單位產生,但日資料拿來當交易的週期太長,於是就另外再加入一條五分K的資料數列,當為進出場時間的依據。

進場訊號

進場訊號

本策略為示範說明用,因此只簡單定義了停損及移動出場二個參數,因為CNN的模型判斷是以「日」為單位,在程式中,就以判斷是否換日當條件,當換日的K棒時,就讀入CNN的模型訊號,以CurrentDirection來儲存目前CNN的訊號方向,當方向有發生變化時,就將NeedChange的值,設為CNN預做的方向,讓5分K在開盤時,可以依據NeedChange的值來觸發進場訊號,當CNN的訊號不變或預測為盤整時,就將NeedChange值設定為0,則不會觸發方向。

停損及移動出場

停損及移動出場

當MarketPosition不為零時,即代表目前有部位,則將停損及移動出場的參數傳入出場的函式中,在此特別說明:

If Date + 19000000 >= 20230408 And Time >= 1300 Then

這是因為CNN的最後日期只到 2023/04/08, 因此當大於這個日期時,若手中有部位,則在 13:00時就發出平倉的訊號,避免一直持有讓倉位。

在MC的日期起始日期是 1900年,因此我們可以將系統日期,加上19000000後,就可直接與目前的日期比較,不用再手動計算,目前日期與1900年的年份差距,增加程式的可讀性。

若不使用加 19000000的方式,則需表示為1230408,不常撰寫策略的開發者很容易搞錯年度,在此就運用了這個小技巧,讓日期可以直接以西元年的方式來表示。

本篇只是以一個簡單的範例說明如何結合AI的模型訊號,筆者可依此進行擴充,以結合更多的外部模型,充分發揮MC的強項。





avatar-img
股市觀察家的沙龍
27會員
55內容數
金融市場入門新手所必知的基本知識
留言
avatar-img
留言分享你的想法!
股市觀察家的沙龍 的其他內容
今日的標題出自於邱吉爾,一個合格的策略上線並非程式交易的終點,而回測不出合格的策略,也非末日,在程式交易這條路上,繼續前行的勇氣是絕不可缺少的,在策略開發上,能成功上線的機率可能不到1%,其餘的99% 就當成打怪練等,累積經驗,當有足夠的經驗後,任何簡易的指標,都可稍加變化後,成為一支合格的策略。
一般的投資人進入程式交易領域大都是由一些公開課程學得,然後就拿授課老師給的程式來開始回測,找出一個較佳的績效後,就開始上線交易,剛開始時,可能績效還不錯,但久了,會發現某幾次的交易好像被針對了,常常一進場後,很快就剛好打到停損後,行情就又往程式的方向走。 除了回測參數外,還有人會開始改變K線的週期
開盤跳空(不管往上或往下),當日行情大都有一個大波段的走勢,但跳空之後,是持續往跳空方向走,或是反方向回補跳空缺口,將成為當日開盤後的判斷重點,只要掌握到對的方向,當日將有非常大的獲利。 在此介紹「市場輪廓圖(Market Profile)」的觀念,市場輪廓圖將成交價位與成交量加以堆疊,成為類似分
今日的標題出自於邱吉爾,一個合格的策略上線並非程式交易的終點,而回測不出合格的策略,也非末日,在程式交易這條路上,繼續前行的勇氣是絕不可缺少的,在策略開發上,能成功上線的機率可能不到1%,其餘的99% 就當成打怪練等,累積經驗,當有足夠的經驗後,任何簡易的指標,都可稍加變化後,成為一支合格的策略。
一般的投資人進入程式交易領域大都是由一些公開課程學得,然後就拿授課老師給的程式來開始回測,找出一個較佳的績效後,就開始上線交易,剛開始時,可能績效還不錯,但久了,會發現某幾次的交易好像被針對了,常常一進場後,很快就剛好打到停損後,行情就又往程式的方向走。 除了回測參數外,還有人會開始改變K線的週期
開盤跳空(不管往上或往下),當日行情大都有一個大波段的走勢,但跳空之後,是持續往跳空方向走,或是反方向回補跳空缺口,將成為當日開盤後的判斷重點,只要掌握到對的方向,當日將有非常大的獲利。 在此介紹「市場輪廓圖(Market Profile)」的觀念,市場輪廓圖將成交價位與成交量加以堆疊,成為類似分