之前問題的回覆出現的數據有問題

  •   391 
  • 最後發表   CL  2024 十月 18
CL 發文於   2024/10/13

您好

我曾經問過一個問題關於如何計算當週成本價的問題(如下):

當時工程師的回答如下:

“ 您可以考慮使用均價搭配成交量來計算。舉例來說:

summation(getfield("均價", "D") * getfield("Volume", "D"), dayofWeek(date)) / summation(getfield("Volume", "D"), dayOfWeek(date));

這樣就是用當週的日頻率均價和成交量計算加權平均值。”

 

我用了一段時間後在今年10月2,3日放假,然後10月4日開盤時發現圖怪怪的(圖在附件)

9月30日成交量3126張(日K),10月1日成交量3374(日K),總共6590張

我就用Print看了一下數據發現有出入(如下):

Date= 20241001 Time= 130000 星期 2.000000 均價x量= 1275731   量= 6427   週均價= 198 

Date= 20241004 Time= 90000 星期 5.000000 均價x量= 2938095   量= 14617   週均價= 201 

可以看到10月1日30分K收盤統計是6427張,跟6590的誤差應該是盤後交易的緣故,我可以理解。

然後10月4日開盤第一根30分K的量為1430,照理來說,累計的當週成交量應該是6590+1430=8020張

但是Print出來在10月4日第一根30分K的量跳到14617,中間差距有6000多張,看圖的話均價也往上跳很多,但當天是開低王下殺,照理來說均價應該是向下而不是向上跳,所以合理推測應該是在10月1日收盤後有巨額交易,而價格應該也遠高於10月1日收盤的週均價198元。但是我也查不到當日盤後有巨額交易的資料,不知道工程師是否能解惑一下為什麼該股票在10月4日開盤會出現這樣的差距。我相信貴公司抓的數據應該是連結到股票期貨交易所的資料,所以不會有錯誤,但希望您能指點一下,為什麼會有這麼大的出入?

附加文件

XS小編 發文於   2024/10/18

 Hello CL,

 

因為腳本的邏輯是針對一週5交易日撰寫,沒有避開放假的情況。

故在 10/4 的時候 dayofWeek(date) 會回傳5,計算的是包含上週資訊的5個工作天。

您可以修改腳本邏輯:

value1 = getfield("Date", "W");

value2 = getfield("Date", "D");

 

if value1 <> value1[1] then value3 = 1 else if value2 <> value2[1] then value3 += 1;

 

value4 = summation(getfield("均價", "D") * getfield("Volume", "D"), value3) / summation(getfield("Volume", "D"), value3);

 

這樣 value3 計算的就會是當週幾個工作天,value4 則是當週的均價。

另外下次麻煩附上商品名稱或代碼。

發表回覆
Close