以週轉率為例,介紹自訂函數及其應用

By | 2018-05-23

網友希望可以訂出一個選股條件,這個條件是個股的近五日平均週轉率要高於二十日平均週轉率。

首先,因著週轉率的公式是成交張數除以發行張數,我們可以先自訂一個叫turnoverrate的函數,它的腳本如下

input:period(numericsimple);
value1=GetField("普通股股本","Q")*10000;
value2=average(volume,period);
if value1<>0
then value3=value2/value1*100;
turnoverrate=value3;

要寫自訂函數的眉角有幾個

1.要先確定新增腳本時勾選的是函數腳本

2.一開始命名就要取好函數的名稱,例如我是取turnoverrate

3.在設參數的時候必須宣告參數的資料型態,例如這裡用period來代表計算天期的參數,天期的參數是一個絕對的整數值,所以就用numericsimple。

4.計算出來的週轉率值再用trunoverrate=xx這樣的方式來指定該數值就是函數值

有了這個函數,上述的選股條件就很好寫了

if turnoverrate(5)>turnoverrate(20)
then ret=1;
outputfield(1,turnoverrate(5),1,"5日平均週轉率");
outputfield(2,turnoverrate(20),1,"20日平均週轉率");

用這個條件剛剛挑出來的股票如下圖

2018052301

這樣就可以把週轉率列為選股條件之一了。