Author Archives: 發財橘子

網格交易介紹

自從XQ量化交易平台上線之後,我們聰明的使用者開始發展各種自動化交易策略,其中江湖流傳已久,近來廣受幣圈愛好者青睞的網格交易,詢問度很高,公司的高手應客戶要求,寫了一個網格交易的腳本,今天就來跟大家分享這個演算法交易裡,被廣泛應用的交易策略。

我們舉最近很熱門的長榮海運為例,來解釋網格交易,請看下圖

這是長榮最近的60分鐘線,然後我們發現,長榮近期的股價在70元左右有支撐,80元以上有賣壓,那麼我們就可以設定一個交易策略如下表

假設我們把長榮的70到80分成十格,每格1元,然後我們隨著價位往上時就減碼,價位往下就加碼,這樣就會像上面這張表一樣,網格編號加上部位永遠都是10,這就是所謂的網格交易,這樣的作法的好處是,當股價處於箱型盤整時,我們只要設出高低點就可以從低買高賣中賺到價差,這樣的交易特別適合那些基本面長線不錯,但短線股價處於盤整階段的個股,這些股票只要跌到一定程度,就有長線投資買盤進場,但漲到一定的價位,長線買盤縮手,獲利了結賣盤湧現,又會造成股價拉回,這樣的個股,設好高低價位區,就適合網格交易

下面的腳本,是公司的高手寫的網格交易自動化交易的腳本範例,供大家參考

//參數定義
input:P_LS(1,"多空啟動",inputkind:=dict(["多方啟動",1],["空方啟動",-1]));
input:P_UpLimit(80,"區間上緣");
input:P_DnLimit(70,"區間下緣");
input:P_Grid(10,"網格數");
input:P_GridV(1,"每筆張數");

//變數定義
var:V_LS(0);//多空方向
var:V_Grid(0);//網格點數
var:intrabarpersist V_GridNo(0);//網格編號
var:intrabarpersist V_GridPosition(0);//網格目標部位

//多空方向,預設做多
if P_LS=-1 then V_LS=-1 else V_LS=1;

//網格計算
//計算每格點數
once V_Grid = intPortion((P_UpLimit-P_DnLimit)/P_Grid);
if V_LS=1 then 
value1=MaxList((close-P_DnLimit)/V_Grid,0)
else
value1=MaxList((P_UpLimit-close)/V_Grid,0);
//計算目前所處網格編號,最低網格為0號
V_GridNo = intPortion(value1);

//計算網格應有部位
if V_LS=1 then begin
V_GridPosition = P_GridV * maxList(P_Grid - V_GridNo,0);
//啟動策略或價格下跌造成部位不足,以網格下價買齊
if filled < V_GridPosition then begin
setposition(V_GridPosition, P_DnLimit + V_Grid*V_GridNo);
end else begin
//價格上漲造成部位太多,以網格上價賣出
setposition(V_GridPosition, P_DnLimit + (V_Grid+1)*V_GridNo);
end;
end else begin
V_GridPosition = - P_GridV * maxList(P_Grid - V_GridNo,0);
//啟動策略或價格上漲造成部位不足,以網格上價放空
if filled > V_GridPosition then setposition(V_GridPosition, P_UpLimit - V_Grid*V_GridNo);
//價格下跌造成部位太多,以網格下價回補
setposition(V_GridPosition, P_UpLimit - (V_Grid+1)*V_GridNo);
end;

大家把這個腳本複製到交易腳本類別裡,然後打開自動交易中心,新增策略,選擇這個腳本,設定多空方向,區間上下緣,以及網格數及每筆張數

另外再設定要執行的商品之後

按下確認鍵,即可以完成網格交易的自動交易設定,之後只要在開盤前按啟動策略,電腦就會幫你自動執行這個交易了

不過要特別說明的是,目前自動交易的支援券商只有統一,群益及華南永昌等三家,現在跟我們依簽約順序,在施工中的是國票,元富,日盛,宏遠等四家,還在洽談中的是台新及永豊證,以上是未來會支援XQ量化交易平台的券商,因為自動交易除了前台的量化交易平台之外,合作的券商也必須有相對應的系統配合,不是在XQ個人版有串接的下單的券商,就都有支援XQ量化交易平台,這點要跟大家特別說明。

以上是今天的介紹,祝大家今天都操作順利

 

 

推荐碼@XQ8899

XQ全球贏家下載連結

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

華南永昌開戶連結

 

 

 

XQ全球贏家手機版美股功能介紹

XQ全球贏家手機版這次改版,其中有一個新增的功能,是無償提供所有使用者美股延遲15分鐘的報價,為什麼這麼做呢?  因為我們有感受到台股與美股連動的情況愈來愈密切,也感受到年輕人愈來愈多人會關心甚至交易美股,特別是像股癌,Jenyy等以美股為重心的KOL,這一年多來受到廣大投資人的關注,代表大家對美股愈來愈感興趣,為了讓大家有更美好的美股中文資訊可以使用,所以我們決定推出免費版的美股延遲報價,搭配其他相關的內容,讓大家可以透過手機就能掌握美股大勢,今天就一次把XQ全球贏家手機版上的美股相功能,一次做個完整的介紹

大家從XQ  APP最下方的行情點撃進去後,選擇國際這個項目,會出現像下面這樣的畫面,若是要看細產業分類中的相關美股報價,可以點選全球產業,如果要看美股的指數成份股或是產業分類,可以點選美股,如果要看在美國掛牌的ETF,則可以點選ETF的那個不同報價分類

 

例如可以透過全球產業,找到在美國掛牌的電動車相關廠商

這些個股都可以像台股一樣,加入成為自選股的一部份

如果想要看特定個股的當天走勢,可以點選個股名稱後進到分時圖的畫面,以蘋果電腦為例,畫面如下

也可以往下滑動,看支撐壓力的位置

如果想要了解個股的其他資料,則可以在上面那排選項中,點選“資料”,底下以特斯拉為例,列出APP中,美股個股的各種相關分析頁面

 

另外如果你手中持有美股,也可以設定到價警示,讓手機在達到你目標價時通知您,下面是我讓APP在特斯拉跌5%時通知我的設定畫面

 

除了美股之外,在美上市的ETF,也是XQ手機版的強項,透過行情中國際項下的的ETF投資標的類別裡,有大量不同分類的ETF,這些分類整理的非常的齊全,如果大家要用ETF投資全世界的熱門產業,從這裡可以找到對應的ETF

 

像是台灣人最愛的資訊科技股,高收益債等,都可以依成交量排序找到該分類裡流動性較高的ETF

 

 

跟美股一樣,這些ETF都有提供完整的分析資料,這些資料分成像下面的分類

點選每一項都可以看到對應的個別ETF的相關資料

以上是XQ App中跟美股相關的資訊服務,另外下面有兩篇文章,分別針對自主理財及產業分類報價,提供更深入的介紹,投資美股及ETF的朋友可以參考。

 

在未來很短時間內,我們就會與券商合作,在手機上讓大家可以透過券商複委託來進行美股下單,接下來我們會規畫提供更多貼心的美股服務,希望大家可以感受到我們深耕美股投資的用心與承諾

 

4/8日新聞重點立即看~找營收大爆發的股票

大家早安,三月份的營收正陸續的公佈,今天來跟大家分享一個選股策略,這個策略是去選那些月營收年增率大爆發的股票,在營收公佈的最近一個 交易日進場,然後持有一個月,過去一年,如果這麼做,績效會很不錯。 但其實這背後有一套值得大家深入思考的邏輯,有機會再來跟大家詳細討論,今天先來跟大家分享這個選股策略。

先請大家進到XQ的選股中心,設定一個選股策略包含下面四個選股條件

其中月營收是最近一期這個條件,是要確定挑到符合上面營收成長條件的日期,是在最近一個月營收公佈的那一天,這個腳本如下

value1=getFieldDate("月營收", "M");
//取得月營收日期
value2=datevalue(date,"M");
//取得最近一根K棒的月份數值
value3=datevalue(value1,"M");
//取得月營收日期的月份數值
if value2-value3=1
//如果K棒月份數值比公佈的數值差一
then ret=1;
outputfield(1,value1,0,"最新營收月份");

昨天用這個腳本挑出來的股票如下

如果拿這個腳本來回測過去一年,持有天數是30天,跑所有的普通股,回測的數字如下

但如果是這個選股策略去回測比較長時期,績效其實沒有那麼好,這種策略蠻合適在大資金行情中,市場資金急著尋找強而有力的基本面支撐題材,不過我會推荐大家在每個月營收公佈期間,跑這個腳本,去找出那些過些因為各種因素而讓月營收有明顯好轉的公司,因為這些公司極可能就是那種先前默默耕耘,現在產品終於開始得到市場肯定的公司,這樣的選股邏輯,是有道理的,剩下的問題只是我們能多早挑中這樣的公司。

我之後會就這題目專門跟大家介紹對應的選股策略,我一直對這種十年寒窗型的股票情有獨鍾。

今天就先介紹這個腳本

另外也謝謝大家最近熱烈支持XQ量化交易平台,我們會持續努力不懈怠

祝大家今天操作順利

 

 

3/25新聞重點即時看~這盤要崩了嗎?

昨天美股又跌,科技股跌的特別重,intel CEO洒完狗血後,股價開高走低殺尾盤,終場跌了2.3%,特斯拉跌了4.8%,台積電ADR跌了5.1%,網路上很多沒有看過空頭市場的投資人,開始在問說這盤是要崩了嗎?  小弟我從1989年入市到現在,經歷過好幾次大崩盤,我的看法是,這應該還不是崩盤,而是資金從新興科技股轉向工業及景氣循環股,因為我們大部份的投資人,特別是年輕族群,資金主要都押在新興科技股,所以感受會特別不好,今天的新聞重點我想跟大家討論如何打造自己專屬的股市多空溫度計,用系統化的工具來決定持股比例。

昨天一跌,一些全球股市快要崩盤的消息就又開始出來

全球股市數月內恐崩盤!「巴菲特指標」飆破歷史新高

股災真的要來了!富比士董事長警告:美股泡沫將破裂

這裡我想舉橋水的老板達里歐2月24日發表的文章,跟大家聊一聊如何在多空消息分歧中中,透過自己的系統化分析,來判斷大盤多空方向,並據而調整持股比例或資產配置方向

請先看一下達里歐寫的這篇文章

達里歐:美股未高到非常危險,但50大企業有極端泡沫

達里歐的泡沫指標有六個,分別是

1.股價相對於傳統指標有多高?

2.股市對難以延續的環境是否反映不足?

3.有多少新買家(即之前並未跨入股市者)已經進入市場?

4.看多氣氛有多廣泛?

5.投資人是否以高槓桿買進股票?

6.投資人是否買進了特別遠期的合約(即建立庫存、買進遠期合約等),針對未來股價漲勢進行投機或避險?

達理歐在2/24日的文章中說,整體市場僅「多少新買家已進場?」、「看多氣氛多廣泛?」這兩個指標出現些許泡沫,其他都還好,整體泡沫程度跟先前兩次大崩盤前的100%相比,目前大約在80%

不過,新興科技類股則全部都有泡沫,「多少新買家已進場?」、「看多氣氛多廣泛?」、「投資人是否以高槓桿買進股票?」這三項指標更吹出大泡泡。

 

總的來說,目前前1000大公司約有5%泡沫化了

我們從這篇文章可以了解到,達里歐的看法是,新興科技族群泡沫化了,但其他股票還沒有,所以我們應該是把資金從新興科技族群轉往其他股票,從2/24這篇文章發表到現在這一個月裡,市場走勢不就是這樣嗎?

道瓊五個交易日前還創過新高

NASDAQ指數這個月已經跌了快8%

所以達里歐雖然去年以來績效不大好,但他長年打造的系統化分析架構,
還是值得我們學習。

他的泡沫指數六大指標,我們把他融會貫通後,在XQ系統上做出了一個大盤檢查表,
先前我有寫過幾篇介紹文如下

 

大盤檢查表裡的幾個指標應用說明

大盤檢查表的細項功能說明

大盤檢查表的國際資金流動篇

大盤檢查表中的期權相關指標

這個功能在XQ裡是免費版也有的,大家可以參考一下

今天我們就用這個檢查表來看看目前大盤是否快要由多轉空

首先我們先來看達里歐的第一個泡沫指標:股價相對於傳統指標有多高?

在大盤檢查表裡估值的標籤中有幾個傳統指標如大盤本益比,大盤PB比,市值GDP比例

目前整體的本益比突破20,但還不到25,也就是股利率低於5%,但還沒有跌到4%,如果以無風險利率目前約1.6%來算,加上風險性資產溢價2.5%來算,合理估值是4.1%,以這個角度來看,台股是不便宜,但那是利率長期走低所造成的,除非利率走高,不然估值上也不能說泡沫吹很大

接下來我們來看大盤PB比

以前這個比例跌到1倍以下下長線買點,目前已經跑到兩倍以上,確實是偏高了些,所以我在挑股票時,會儘量考慮挑PB低一點的

最後我們來看所謂的巴菲特指標

這個比例以往如果是跌到100%以下時,就是長線買點,但從2010年到現在,從來沒有再跌到這個水位,過往如果漲到200%以上就是歷史高點,但目前已到了245%,所以如果從這個指標來看,台股確實估值是過高了。

再來我們來看第二個泡沫指標:股市對難以延續的環境是否反映不足?  意思是我們是不是把未來想的太美好,沒有考慮到市場可能面臨的不確定性?

這個部份我用整體市場總營收的年增率來當指標

大家可以看到,長期以來,台股的整體市場營收年增率(紫色),是指數的領先指標,因為台股是以代工及ODM為主的市場,台股整體營收成長率在走高,代表末端消費市場預期景氣看好,所以下更大的訂單給生產商,以目前的總體營收年增率來看,目前市場應該是預期景氣會持續復甦,我覺得這是股市最有力的支撐,當然這或多或少有因為去年基期受疫情影響太低的因素,我們可以看三月份的總體營收成長率再來看看未來景氣復甦的趨勢是否開始出現不確定性

第三個指標是有多少新買家(即之前並未跨入股市者)已經進入市場?

這個不用看,肯定是泡沫,根據交易所的統計,去年一整年新開戶數超過160萬戶,是2007年以來的最高數字,大家都記得2008年發生什麼事

第四個指標是看多氣氛有多廣泛?

這個大家自己感受,我就不多說,但我個人對於媒體及網路社群開始傳授什麼很簡單就可以大賺錢這種概念是很感冒,投資是要很努力用功還不一定會賺錢的事,當大家在鬼扯什麼用一條線或公式就可以大賺錢的時候,我都會很小心

第五個指標是投資人是否以高槓桿買進股票?

這個主要是看融資餘額

目前融資餘額2271億元,跟一年前不到1000億相比,增加了一倍,也是非常多年以來的最高點,所以這一點我覺得是有泡沫在

最後一點: 投資人是否買進了特別遠期的合約(即建立庫存、買進遠期合約等),針對未來股價漲勢進行投機或避險?

由於台灣遠期選擇權及期貨的交易量不大,所以比較難這麼看,我們用VIX恐慌指數來當投資人對未來信心的指標

目前市場確實是偏樂觀的

整個看下來,六個面象裡,最後四個確實都有泡沫的成份,接下來的重點是三月份公佈的營收,能否支撐大家對未來這麼美好的預期,在操作上,建議大家避開泡沫成份重的個股,還是挑那些有實質獲利及配息支撐的個股,至於這盤是不是要崩了呢? 從利率水準在長期低點這一點來看,目前整體市場的估值還沒有到太過份的地步,資金是在轉進,還沒到全面撤出,只是大家要留意這種愈趨保守的心態,目標價不要訂太高

以上是今天跟大家分享的內容,市場重心在移轉,不要只專注在新興科技股上,祝大家操作順利。

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

 

Moneydj自主理財手機版開箱文

大家好,最近公司不斷的推出各種不同的理財工具,今天來跟大家介紹一個配置ETF投資組合的好工具~ Moneydj自主理財App,我來舉例跟大家說明,如何運用這個App,一步步組合出一個自己滿意的投資組合。

首先請大家參考下面連結的這篇文章

如何做好資產配置,循序漸進打造個人化投資組合?

這是從下面這本書裡摘要出來的內容

作者分享了她的配置邏輯

 

我就用 這個例子,跟大家Demo如何在自主理財APP上組合出這樣的投資組合

首先請大家下載Moneydj自主理財app

下載完打開後,打開後會看到像下面這樣的畫面

 

選擇右上方的新增組合icon,就會看到下面的畫面,接下來繼續按右上方自行建立的選項

 

會看到下面的畫面

 

接下來就按開始挑選商品

 

 

在這裡就可以按新增商品來增加投資組合裡的商品,以上面的例子,請在放大鏡旁邊打QQQ等ETF的代碼,就會找到該商品,按前面的加號,就可以把該商品加到投資組合之中,您可以依序把您想要買的ETF的代碼輸進去就會找到對應的ETF,如果你對特定ETF的內容想要深入了解,也可以點商品後面的箭頭,就會看到如下面的個別商品資訊頁面

也可以看ETF的持股明細

 

 

 

 

 

 

 

依序選定要買的ETF之後,會進到下面這一頁

之後按下一步,就會到下面的畫面

 

系統會根據過往的表現計算出其預期報酬率與標準差

如果你對這個組合的標的與比重都可以接受,那就按建立此組合,進到下一頁,填上要買的金額與組合的名稱,像是我的這個組合是根據財女的書建的,我就把這個組合稱為財女

 

由於串接複委託下單的部份還在建制中,所以目前只能先任意組合出一個投資組合,然後作回測及壓力測試,也可以跟指數比較其績效,等下單串接好之後,就可以直接進行單筆及定時定額的手機下單了。

以下是審視特定組合的一些畫面,只要在績效那一排左右移動就可以看到跟這個組合相關的分析內容

 

 

這個工具適合想要以美國ETF來作投資組合的朋友,之後我再陸續跟各位介紹相關的功能

祝大家操作順利

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

 

 

XQ手機版隱藏版功能之全球產業報價功能介紹

這兩年,愈來愈多的朋友,開始學會從全球產業供應鍊的角度來佈局,也開始學會研究那些新經濟趨勢的個股,包括訂閱制,雲端運算,電子錢包,電動車等等產業下的個股,就算這些公司不是台股,像是Tesla,Square等等,也很多投資人會去關心。XQ全球贏家從2005年上市時,就涵蓋了中港台美日韓六地的交易所,為了服務使用者,在這次XQ手機版的改版中,在符合交易所相關規定下,我們一次提供這六個地區的延遲及前一日報價權限,讓使用者可以隨時留意關心的國外股票與特定產業旗下公司的股價表現,如果各位需要即時報價權限,也可以直接付費升級為特定交易所即時報價的使用者。

首先,先跟大家介紹 這個功能的位置

大家打開XQ全球贏家手機版從最下面的行情點進去後,從最上面的選單點選國際後,會看到下面的畫面

按下全球產業之後就可以看到我們整理的各個大產業分類

在大產業分類中,包括新經濟等等,再從大產業分類往下點之後,就會看到這個大產業底下的各個細產業

選好細產業點下去就可以看到我們整理出來的相關公司的報價

 

 

 

在不同的大產業裡的細產業分的很細,像是半導體這個產業可以細分到EDA,探針卡,晶圓代工,矽晶圓,導線架等等

 

 

 

 

 

這裡面的相關公司,包括中港台美日韓六個國家地區的相關公司

這六個地區,韓國只能揭示收盤價,美股,港股,A股三個市場是延遲15分鐘,日本市場則是延遲20分鐘,其中美股,港股及A股,如果您升級為即時報價模組,在手機版也會看到即時的報價

不過這邊要特別強調,目前XQ全球贏家APP可以看到這些相關股票的延遲報價,但在XQ全球贏家的PC版,由於交易所的規定關係,免費會員只能看到收盤價,其中A股的規定更嚴格,只有當天晚上12點之後才能提供,但隔日早上就會清盤,所以在PC版上能看到A股報價的時點非常短。

這點受限於各交易所的規定,要特別跟大家說明清楚

另外大家也可以把這六個國家交易所的個股任意加到您的自選股,讓您隨時可以監控各交易所的公司的股價表現。

 

XQ交易語法專章

XQ交易語法,是專門為XQ量化交易平台所設計的交易語法,使用者可以透過這個語法,來讓電腦在指定的價位或條件下,自動執行進場,加碼,減碼,平倉等各種不同成交數量的交易動作。

XQ交易語法主要是由幾個核心的語法所建構而成

一,Setposition(數量,價格)

Position代表的是這個商品在這個策略內的’預期部位’, Position是一個整數, 可以大於0, 也可以小於0. **請注意: 一個交易策略內可以跑多個商品,每個商品的Position是獨立的**

當我們想要執行交易時, 就呼叫SetPosition這一個函數, 傳入我們預期的部位(同時也可以傳入委託價格). 腳本開始執行時, 商品的Position預設數值是0, 當我們想要買進時, 就透過SetPosition把Position變大, 想要賣出時, 就透過SetPosition把Position變小. 系統收到了SetPosition()的呼叫之後, 就會依照目前的Position, 目前委託/成交的執行狀態, 決定如何送單, 來讓你的策略可以達到(成交)這個新的預期的部位.

SetPosition()可以接受兩個參數: 第一個參數是預期的部位, 第二個參數是委託的價格, 這個參數如果不傳的話, 則會採用策略的預設買進/賣出價格 請看以下範例,把部位(Position)變成1, 如果原先部位是0的話, 則等於買進1張 第二個參數(委託價格)如果不傳的話, 則使用策略設定內的預設價格 SetPosition(1);

第二個參數可以傳入價格, MARKET是系統保留字, 代表是’市價'(期貨的話則會是’範圍市價’)

SetPosition(1, MARKET);

也可以傳入K棒的價格, 例如Close

SetPosition(1, Close);

也可以傳入數值運算式

SetPosition(1, Close + 1.0);

也可以傳入絕對值, 例如100.0

SetPosition(1, 100.0);

支援檔位換算功能(AddSpread) AddSpread(Close, 1)表示是Close價格往上加1檔, AddSpread(Close, 2)表示加2檔 AddSpread(Close, -1)表示是Close價格往下減1檔 AddSpread也可以用在警示腳本, 以及指標腳本,例如我們如果在空手時要用現價加一檔買進一張,就可以像下面這麼寫

SetPosition(1, AddSpread(Close, 1));

Position也可以是負的, 如果原先部位是0的話, 則等於賣出1張

SetPosition(-1);

除了可以SetPosition之外, 也可以讀到目前的Position,所以如果要加碼一張,可以像下面這樣的寫法

SetPosition(Position+1)

表示是加碼1張

SetPosition的價格如果不符合商品的交易規則的話, 系統會自動轉換, 例如: 如果超過漲停價, 則只會送出漲停價, 例如: 如果不符合跳動點的話, 則會自動轉換到符合跳動點價格 SetPosition(1, 123.1);

如果是買進台股的話, 因為上百元的話是每0.5元一檔,所以會送出委託價格=123

看到這裡,各位應該可以了解,XQ的交易語法,基本上就是透過Setposition這個函數,去把部位調整到你心目中的理想部份,像如你想全部平倉,你不用記目前庫存有多少張,只要直接寫setposition(0,market),就代表用市價平倉,寫setposition(0,AddSpread(Close, -2))就代表用現價低兩檔平倉,把個股的庫存部位砍到0

這樣的語法非常簡潔,不必在那邊buy 啦   sell啦,@market啦,巴啦吧啦的寫的落落長,例如我們如果要在股價突破月線時市價進場買進一張,那就可以直接寫

if close cross over average(close,22) then  setposition(1,market);

這樣是不是很簡潔且易於處理呢?

 

二,filled

Filled是Position的另外一個朋友, 代表這個策略內/這個執行商品的成交部位

當腳本執行SetPosition(1)後, 會送出一筆買進1張的委託,

如果此時尚未成交的話, Position會等於1, 可是Filled會等於0
如果這一筆委託單成交的話, 則Position會等於1, Filled也會等於1

如果腳本內想要判斷目前成交狀態的話, 就可以透過讀取Filled這個變數來判斷.例如當目前部位是零的時候,下面的幾種寫法,代表不同的意義

if Position = 1 and Filled = 1 then begin
{ 已經送出一筆買進1張的委託, 而且這一筆委託已經成交 }

end;


if Position = 1 and Filled = 0 then begin
{ 已經送出一筆買進1張的委託, 可是還沒有成交}

end;

 

if Position = -1 and Filled = 0 then begin
{ 已經送出一筆賣出1張的委託, 可是還沒有成交 }

end;

 

if Position = -1 and Filled = -1 then begin
{ 已經送出一筆賣出1張的委託, 而且這一筆委託已經成交 }

{ Filled跟Position一樣, 可能會大於0, 也可能會小於0 }

end;

三,filledavgprice

除了可以使用Filled來知道目前的成交部位之外,也可以透過FilledAvgPrice這個函數來取得目前”未平倉”部位的成本

範例: 多單1口進場後, +1.5%停利, -1.5%停損

var: 
long_condition(false); { 是否做多 }

if Position = 0 and long_condition then SetPosition(1);

if Position = 1 and Filled = 1 then begin 
{ 多單已經買進1口 }

{ 計算損益% }
var: plratio(0);

{ 
請注意: 不管Filled是大於0還是小於0, FilledAvgPrice的數值都是'正數'(>0) 
}
plratio = 100 * (Close - FilledAvgPrice) / FilledAvgPrice;

if plratio >= 1.5 then SetPosition(0); { 停利 }
if plratio <= -1.5 then SetPosition(0); { 停損 }
end;

 

目前計算未平倉成本的方式是採用**先進先出的沖銷方式**來計算, 以下是沖銷順序的範例:

範例#1

假設策略執行過程總共產生三筆成交, 依照時間先後順序, 資料分別為

– 第一筆: 買進1張, 成交價100元,
– 第二筆: 買進1張, 成交價102元,
– 第三筆: 賣出1張, 成交價101元

在第一筆成交時, Filled = 1, FilledAvgPrice = 100
在第二筆成交時, Filled = 2, FilledAvgPrice = (100 + 102) / 2 = 101
在第三筆成交時, Filled = 1, FilledAvgPrice = 102 (第三筆-1沖銷第一筆+1, 所以未平倉剩下第二筆1張, 未平倉成本=102)

範例#2

假設策略執行過程總共產生四筆成交, 依照時間先後順序, 資料分別為

– 第一筆: 買進2張, 成交價100元,
– 第二筆: 買進2張, 成交價101元,
– 第三筆: 買進2張, 成交價102元,
– 第四筆: 賣出3張, 成交價101元,

在第一筆成交時, Filled = 2, FilledAvgPrice = 100
在第二筆成交時, Filled = 4, FilledAvgPrice = (100*2 + 101*2) / 4 = 100.5
在第三筆成交時, Filled = 6, FilledAvgPrice = (100*2 + 101*2 + 102*2) / 6 = 101
在第四筆成交時, Filled = 3, FilledAvgPrice = (101*1 + 102 * 2) / 3 = 101.66666
(第一筆成交的2張被沖銷, 第二筆成交的1張被沖銷)

}

 

四,FilledRecord函數

除了Filled跟FilledAvgPirce之外, 系統也提供FilledRecord相關的函數, 讓腳本可以取得每一筆成交的詳細資料

FilledRecordCount: 取得商品執行迄今的成交筆數

請注意:

成交筆數會對應到真實的交易紀錄, 例如買進5張, 如果分三次成交, 分別成交2張, 2張, 1張,
那麼FilledRecordCount會是3

value1 = FilledRecordCount; { 回傳成交筆數 }

取得成交筆數之後, 就可以一筆一筆把成交紀錄資料讀出來

FilledRecordDate(n): 回傳第n筆成交紀錄的日期, 格式是YYYYMMDD, 例如20200727 (2020年7月27日)
FilledRecordTime(n): 回傳第n筆成交紀錄的時間, 格式是HHMMSS, 例如103000 (10點30分0秒)
FilledRecordBS(n): 回傳第n筆成交紀錄的買賣別, 買進的話是1, 賣出的話是-1
FilledRecordPrice(n):回傳第n筆成交紀錄的成交價格, 請注意這個數值的正負跟買進/賣出無關(以台股來說都會 > 0)
FilledRecordQty(n): 回傳第n筆成交紀錄的成交數量, 請注意不管是買進或是賣出, 這個數值都是 > 0的整數
FilledRecordIsRealtime(n): 回傳第n筆成交紀錄是否是在即時區間成交的, 如果是的話回傳1, 否則回傳0

n的範圍從1到FilledRecordCount

var: idx(0);

for idx = 1 to FilledRecordCount begin
value2 = FilledRecordDate(idx);
value3 = FilledRecordTime(idx);
value4 = FilledRecordBS(idx);
value5 = FilledRecordPrice(idx);
value6 = FilledRecordQty(idx); 
value7 = FilledRecordIsRealtime(idx);
end;

 

根據以上這四個基礎語法,接下來就跟大家分享一些演算法交易常用的程式例子

一,GAT買進單

GAT是Good-after-Time/Date的簡稱,意思是直到設定的日期/時間才送出委託單

下面是XQ量化平台的PM寫的範例,供大家參考

//Good-after-Time/Date (GAT)直到設定的日期/時間才送出
input:d1(20200115,"請輸入生效日格式yyyymmdd");
input:t1(090000,"請輸入生效時間格式hhmmss");
input:v1(1,"請輸入買進張數");

if d1 < currentdate or d1 > dateAdd(currentdate,"Y",1) or d1 > 99999999 then RaiseRunTimeError("請檢查生效日期");
if t1 > 240000 then RaiseRunTimeError("請檢查生效時間");
if v1 <= 0 then RaiseRunTimeError("買進張數需大於0");

if currentdate * 1000000 + currenttime >= d1 * 1000000 + t1
then setposition(v1,market);

二,GAT平倉單

這種下單的方式是用在像是除權前,或是法說會結束日等指定特定日期要平倉的下單方式,範例如下

//Good-after-Time/Date (GAT)直到設定的日期/時間才送出
input:d1(20200115,"請輸入生效日格式yyyymmdd");
input:t1(090000,"請輸入生效時間格式hhmmss");

if d1 < currentdate or d1 > dateAdd(currentdate,"Y",1) or d1 > 99999999 then RaiseRunTimeError("請檢查生效日期");
if t1 > 240000 then RaiseRunTimeError("請檢查生效時間");

if currentdate * 1000000 + currenttime >= d1 * 1000000 + t1
then setposition(0,market);

三,GTC買進單

GTC 是Good till cancel的縮寫,使用者可以設定特定價位和張數,然後讓系統幫你盯盤買到你設定的量

input:theposition(50,"交易金額,單位萬元");
input:taprice(130,"目標價位");

value1=IntPortion(theposition*10/open);

if filled < value1
then setposition(value1,taprice);

四,MIT買進單

//Market-if-Touched(MIT)若觸到特定價格即轉為市價單。

input:v1(1,"買進張數");
input:p1(50,"觸發價位");
if close>=p1 
then setposition(v1,market);

五,MPM買單

//Midpoint Match (MPM)以買賣報價的的中間價格交易
input:v1(1,"請輸入買進張數");
setposition(v1, (q_BestAsk1+q_BestBid1)/2);

六,作多掃單

value1=q_BestAskSize1;
value2=value1+q_BestAskSize2;
value3=value2+q_BestAskSize3;
value4=value3+q_BestAskSize4;
value5=value4+q_BestAskSize5;

input:v1(499,"掃單張數");
if v1<value1
then setposition(q_BestAsk1,v1)
else if v1<value2
then setposition(q_BestAsk2,v1)
else if v1<value3
then setposition(q_BestAsk3,v1)
else if v1<value4
then setposition(q_BestAsk4,v1)
else if v1<value5
then setposition(q_BestAsk5,v1);

七,開盤市價買進

input:theposition(50,"買進金額,單位萬元");
input:t1(090000,"請輸入執行時間,格式hhmmss");

value1=IntPortion(theposition*10/open);

if time>=090000
then setposition(value1,market);

八,收盤市價平倉

input:t1(132955,"請輸入執行時間,格式hhmmss");

if time>=t1
then setposition(0,market);

以上是XQ量化平台的交易語法,未來有新的範例或語法,也會增加在這一篇說明中。

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

如何找到財報會有驚喜的公司

昨天聯強漲停,原因是因為公佈去年的EPS達到4.89元,而股價前一天收盤才49.9元,所以股價開盤就漲停,現在離去年財報最後公佈日還有10多天,大家一定在問說有沒有下一檔聯強可以提前佈局,我今天想透過選股腳本,來找找看有沒有下一檔聯強。

大家請看一下聯強的財報,它過去三季單季EPS都有1元以上的水準,前三季已經賺了3.41元

我們再來看一下他第四季的營收

第三季是做了898億,第四季則是比第三季還好,做了1001億,所以如果沒有意外,第四季的單季 EPS會比第三季的1.26高,那會高多少呢? 第四季營收比第三季成長了11.5%,那第四季的EPS能不能也成長11.5%呢? 如果成長11.5%,那第四季的EPS應該就會達到1.26*(1+11.5%)=1.4元,跟實際公佈的1.48只差了0.08

所以我根據這樣的觀察,寫了以下的腳本,找出現在還沒有公佈財報的公司,把去年前三季的EPS加上第三季EPS乘上(1+第四季營收季增率)

根據這樣算出來的EPS,再跟現在的股價對照,找出本益比低於一定比例的公司

以下是我寫的腳本

input:band1(10,"本益比上限");

if getfielddate("每股稅後淨利(元)", "Q")=20200901

then begin

value1=CLOSE/ (getField("每股稅後淨利(元)", "Q")
+getField("每股稅後淨利(元)", "Q")[1]
+getField("每股稅後淨利(元)", "Q")[2]
//前三季EPS合計
+getField("每股稅後淨利(元)", "Q")
//第三季EPS
*(getField("月營收", "M")[2]+getField("月營收", "M")[3]+getField("月營收", "M")[4])
/(getField("月營收", "M")[5]+getField("月營收", "M")[6]+getField("月營收", "M")[7]));
//乘上(1+第四季營收季增率)

if value1<band1
and value1>0 
then ret=1;
end;

outputfield(1,value1,1,"預估本益比");
outputfield(2,getField("每股稅後淨利(元)", "Q"),1,"第三季EPS");
outputfield(3,getField("每股稅後淨利(元)", "Q")[1],1,"第二季EPS");
outputfield(4,getField("每股稅後淨利(元)", "Q")[2],1,"第一季EPS");
outputfield(5,getfielddate("每股稅後淨利(元)", "Q"),0,"最新財報日期");



 

下面是今天跑出來符合本益比十倍以下的股票

這裡面本益比太低的應該是先前有業外,應該要濾掉,另外要濾掉景氣循環股及營建股

以上是今天的說明,祝大家操作順利

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

 

 

XQ加值模組之台股模組介紹文

今年XQ相關加值模組的銷售情況蠻熱烈的,行銷部的同仁問我,能不能從使用者的角度,跟大家分享,我是怎麼運用這些模組?以及我覺得不同交易風格的朋友,應該使用什麼模組?  所以我今天先跟大家分享台股模組的使用心得

XQ官網上,把滑鼠移到個人版,會出以下的畫面

各位在免費下載後可以使用免費的各種功能,這些功能對每天回家才有空作功課的朋友,在選股及個股分析上,功能是非常齊全的,有機會我會跟大家多介紹免費版裡頭的那些選股及個股分析的功能。

如果你點選上圖中的模組介紹,第一個模組就是台股模組

這個模組跟免費版相比,是因為這個版本提供了台股逐筆撮合的即時報價,以及衍生出來的各種即時指標,這些指標,是這個版本的價值所在,我個人的看法是,如果你是每天有在用PC看盤的朋友,這個模組可以協助你掌握今天盤面的多空趨向,知道市場資金的流動方向,甚至可以幫助您更精確掌握個股的買賣點,這些功能,是這個模組才有的,市面上其他的產品並沒有,不管有沒有在作當沖,我個人用到現在,覺得如果你是有在盯盤的專職投資人,或是盤中可以打開PC版XQ的朋友,這個模組功能真的很值得使用。

台股模組是有一個官網上的影音說明,有興趣的朋友可以先看看,另外林成蔭老師的

影音教學版蠻值得先聽一下,這樣就有完整的概念

接下來我就根據這個模組裡的子功能,一一跟大家說明

這個模組我們稱為即時大戶追蹤,分別有以下五個不同功能的頁面

一,大盤強勢分析

這個功能主要是運用逐筆撮合的每一個成交記錄,根據單子的大小,來去統計權值股的大戶買賣力等數據,進行研判大盤走勢,

透過這些即時指標,可以在盤中掌握大盤的多空方向,以下是幾篇相關的影音及文字說明檔案

0050買進大單指標

0050成份股創新高新低家數

0050特大單差指標

另外有這權限的朋友,我們會附贈小道瓊電子盤延後十分鐘的走勢頁面,讓大家同時搭配著研判未來的多空方向

小道瓊電子盤的使用說明文

 

二,大戶小戶頁

這個頁面是用來看自選股或全市場每檔個股的大戶散戶多空動向,透過內建的排序功能,可以很快的在盤中知道今天大戶買超那些個股,賣超那些個股,不必等到收盤後再去看主力及法人買賣超的公告,下面是我拍的影音說明檔

特大單金額差與大單金額差兩個欄位的應用

在應用上有幾點跟大家報告
一,最好特大單金額差及大單金額差都是正的
二,大戶買賣力最好是一路隨著時間而堆高,大盤拉回時最好不要有明顯的拉回甚至變成賣超
三,透過排序挑特大單金額差夠大的標的
四,最好是近期產業或個股有足夠吸引大家介入的題材
五,平常對個股有一定的了解,這樣排序時跳出來的個股才比較知道那些是比較容易獲得市場認同

盤中窺探今日的大戶動向

 

三,挑選盤中強勢股

透過盤中即時指標如大戶買賣力等,系統可以讓使用者了解特定個股是否有大戶持續的收集籌碼? 下面是我先前分享過的影音說明

開盤時從即時籌碼數據抓出今天收盤後可能有好消息的潛力股

大戶買賣力背後的程式語法介紹

運用相關即時指標來選股

四,掌握個股買賣點

以下的幾支影片,都是在說明如何在如何透過盤中大戶動向指標,去研判觀察名單中的個股值不值得進場

大戶在買還是在賣

透過大戶買賣力來決定持股續抱還是賣出

如何用籌碼即時指標決定自選股的進場點

從盤後與盤中選股中挑到籌碼集中的股票

 

五,手機版上的對應功能

我們也開始把這樣的設計理念,放進XQ手機版中,目前已有的功能,下面有一篇介紹文

XQ手機版的大戶買賣力指標功能介紹

整個來說,這個加值模組,其核心精神就是把逐筆撮合的每一個Tick,透過即時的統計及運算,讓使用者在盤中就可以掌握大戶的動向,不管是在大盤多空方向的研判,盤中資金輪動的方向,大戶持續買進的個股,乃至於手中持股的多空研判,都可以讓使用者變的更敏感,這對於有在盯盤的朋友,是一個很值得一用的工具

如果您是屬於盤中無法看盤的朋友,是屬於回家才做功課的朋友,那麼就沒有必要購買這個模組。

以上是這個模組的說明,祝大家操作順利。

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結

如何用選股中心找出預估現金殖利率高的股票

昨天有朋友傳了一張股魚做的表給我,問我XQ能不能提供類似這樣的資訊? 我試著寫了一個選股程式來做出這張表,有興趣的朋友可以試著作出自己專屬的類似表格。

我寫的腳本如下

var: dr(0);//dr代表預估現金股利殖利率
input:lowbond(5);
if getFielddate("每股稅後淨利(元)","Q")=20201201
//確定是用去年全年的財報當計算基礎
then begin
if GetField("股利年度","Y")=2020 then
dr=GetField("現金股利殖利率","D")
else
dr= (GetField("每股稅後淨利(元)","Y")
*GetField("現金派息比率","Y")/100)/close*100;
end;
if dr>lowbond then ret=1;
outputfield(1,close/GetField("每股稅後淨利(元)","Y"),1,"本益比");
outputfield(2,GetField("現金派息比率","Y"),1,"現金派息比率");
outputfield(3,GetField("每股稅後淨利(元)","Y"),1,"去年EPS");
outputfield(4,(GetField("每股稅後淨利(元)","Y")
*GetField("現金派息比率","Y")/100) ,1,"現金股利");
outputfield(5,dr,1,"預估現金殖利率");
outputfield(6,getFieldDate("股利年度","Y"),0,"股利年度");

 

這個表格,依昨天的收盤價,現金股利殖利率較高的股票如下

 

由於我這裡用的全部都是已經公佈去年全年獲利的公司,所以出來的表格會跟股魚的不大一樣。

大家可以運用outputfield這個語法,列出選股後想要呈現的欄位,也可以用getfielddate來過濾掉那些還沒有公佈現金股利的公司,有興趣的朋友,可以利用這樣的方法,打造出各種表格。

 

XQ超人氣加值模組介紹

XQ手機版支援下單

XQ量化交易平台學習地圖

統一證券開戶連結

群益金鼎證券開戶連結

XQ全球贏家下載連結