請問如何抓取年平均股價?

  •   112 
  • 最後發表   junwei  2021 六月 17
junwei 發文於   2021/06/15

假設我要找出

2016年~2020年

(現金股利+股票股利)/2020年股價平均價格

(現金股利+股票股利)/2019年股價平均價格

(現金股利+股票股利)/2018年股價平均價格

(現金股利+股票股利)/2017年股價平均價格

(現金股利+股票股利)/2016年股價平均價格

以上五個數值平均大於5%的個股

 

 

我的語法如下

 

input:Yie(5,"大於平均殖利率(%)");

 

value1 = (getfield("現金股利","Y") + getfield("股票股利","Y"))/close * 100;

 

value2 = (getfield("現金股利","Y") + getfield("股票股利","Y"));

 

value3 = (getfield("現金股利","Y")[1] + getfield("股票股利","Y")[1]);

 

value4 = (getfield("現金股利","Y")[2] + getfield("股票股利","Y")[2]);

 

value5 = (getfield("現金股利","Y")[3] + getfield("股票股利","Y")[3]);

 

value6 = (getfield("現金股利","Y")[4] + getfield("股票股利","Y")[4]);

 

if average(value1,5) > Yie then ret =1;

 

 

頻率為年

我發現我的CLOSE值為當年度的年底收盤價

請問我要怎麼抓出 當年度的平均股價呢? 謝謝

XQ小幫手 發文於   2021/06/17

Hello junwei,

 

您可以使用 GetBarOffset 來取得特定日期的相對位置,然後再把這段區間內收盤價作平均。

舉例來說,2020年的平均價格可以這樣計算:

value1 = GetBarOffset(20200102); //開始日

value2 = GetBarOffset(20201231); //結束日

value3 = 0;

value4 = 0;

 

if value1 <> 0 and value2 <> 0 then begin

    for value5 = value2 to value1 begin

        value3 += 1;

    value4 += close[value5];

    end;

 

    if value3 <> 0 then value6 = value4 / value3 else value6 = 0;

    print(date, value6, value3, value4, value1, value2);

    end;

發表回覆
Close