[函數] 產業類別函數(stock_category)

0Shares

在撰寫股票策略時,常會遇到某些策略需要篩選產業類別或是僅採用上市或上櫃股票,XQ沒辦法從一籃子股票中自動篩選產業類別,只能人工加入需要的產業類別股票,或是自訂商品組合,而這樣的方式,策略多了,常忘了每個策略要對應的股票,也不易於策略分享,而產業類別函數(stock_category),就是想要解決這個問題,把上市櫃所有股票丟進股票池,再運用自定義參數或變數的方式來篩選要使用的股票。

函數分為兩部份,第一部份在區別每個股票所對應的市場別(上市櫃)跟產業類別編碼,

input: stockid(StringSimple);
input: marketid(numericref); //市場ID,1上市、2上櫃
input: catid(numericref);   //股票類別ID
input: catname(stringref);  //股票類別名稱

if stockid="1101.tw" then begin marketid=1;catid=1; end;
if stockid="1102.tw" then begin marketid=1;catid=1; end;
if stockid="1103.tw" then begin marketid=1;catid=1; end;
if stockid="1104.tw" then begin marketid=1;catid=1; end;
if stockid="1108.tw" then begin marketid=1;catid=1; end;
if stockid="1109.tw" then begin marketid=1;catid=1; end;
if stockid="1110.tw" then begin marketid=1;catid=1; end;
if stockid="1201.tw" then begin marketid=1;catid=2; end;
if stockid="1203.tw" then begin marketid=1;catid=2; end;
if stockid="1210.tw" then begin marketid=1;catid=2; end;

第二部份在找出類別編碼所對應的產業名稱

if catid=1 then catname="水泥工業類";
if catid=2 then catname="食品工業類";
if catid=3 then catname="塑膠工業類";
if catid=4 then catname="紡織纖維類";
if catid=5 then catname="電機機械類";
if catid=6 then catname="電器電纜類";

而在呼叫函數運用時,因為catname是字串,所以在變數需要定義為字串,否則無法編譯通過,下面為選股範例

if date<>date[1] then ret=1;

var: marketid(0),catid(0);
var: catname("");  //catname為字串,需要定義,不然無法編譯過
 
value1=stock_category(symbol, marketid, catid, catname); //value1可有可無,但比較容易讀

outputfield1(marketid, "市場別");
outputfield2(catid, "產業類別ID");
outputfield3(catname, "產業類別名稱");

不過,這個寫法,也是有缺點的,主要是

  • 程式碼冗長,會拖慢程式執行速度
  • 需要定期更新程式碼,加入新的股票

如果有其他更好的方式,也歡迎大家提出討論

PS: XQ點點滴滴有類似寫法,請看第七項,排除特定產業寫法

股票產業類別.zip (386.67 KB)內含產業類別函數及證券產業編號對照表

0Shares


發佈留言

相關文章

如何運用AI修正XS程式碼錯誤

現在很多人都在用AI來寫程式,使用XQ的你,是不是超級羨慕也去嘗試讓AI撰寫XS程式碼了呢? 相信你試過之後的結果都會很失望吧,你以為他給你的是XS程式碼,但常常都是其他軟體的語法。

[AI] 定期定額投資績效計算頁面

定期定額投資的績效表現在XQ上並不容易回測,本文將會介紹我如何運用量化交易實驗室的AI,在短時間內就寫出一個可以計算定期定投入績效的XQ看盤頁面。

[VIP] 投資節目老師報明牌行不行

如果還沒看到前一篇的文章,可以先閱讀下,這篇主要是說明頁面我做了那些調整,跟我觀察到的心得分享,希望對大家有幫助。

投資節目老師報明牌行不行

前幾天在搜薄碩士論文的時候,看到一篇有趣的研究,研究標題是-投資理財節目異常推介有價證券與投資人行為及報酬率檢視-以上櫃公司為例,相信很多人都會跟我一樣想要知道老師報的明牌到底有沒有用吧,結論是大部分情況是有用,不過研究只有一年,到底現在還能不能用呢?用了個頁面讓大家自己研究研究

最近發文

加入我們

Categories

最新留言