選股中心中_大戶持股數據更新時間是否有問題?

  •   200 
  • 最後發表   Easonliao  2021 十月 01
Easonliao 發文於   2021/09/24

今天(上午的時候)看400張以上大戶持股比例數據是顯示9/17的數據,但我把對應日期調出來卻是9/13

意思是在選股中心裡2021/09/13這個日期實際上放的是2021/09/17的數據,

會造成在用大戶持股比例跑回測的時候會有偷看答案的問題,

是否日期有錯置可否確認一下

排序方式: 標準 | 最新
Easonliao 發文於   2021/09/26

沒人回應自己補充一下,以下是程式碼,在今天按下面程式碼去跑,本周大戶持股比例跟上周大戶持股比例跑出數值是一樣的,這不合理,另外本周大戶持股比例顯示日期是20210922、上周大戶持股比例顯示日期是20210913,由於集保的公布日期是禮拜六早上,跑回測照理來說是禮拜一會進場,這樣日期有問題所以跑回測也會出現問題

 

 

input:ratio(1.5,"增加比例"),ran(400,"大戶持股範圍");

value1 = getField("大戶持股比例","W",param:=ran);

value2 = getField("大戶持股張數","W",param:=ran);

 

outputField(1,value1,2,"本周大戶持股比例");

outputField(2,value1[1],2,"上周大戶持股比例");

outputField(3,value1-value1[1],2,"持股比例差");

outputField(4,getFieldDate("大戶持股比例","W"),0,"大戶持股比例日期");

outputField(5,getFieldDate("大戶持股比例","W")[1],0,"大戶持股比例日期");

outputField(6,getField("現金股利","Y"),2,"現金股利");

outputField(7,getField("月營收年增率","M"),2,"月營收年增率");

outputField(8,getField("現金股利","Y")/close,2,"殖利率");

 

condition1 =  value1-value1[1]>ratio;

condition2 =  trueAll(v>500,5);

condition3 = close > average(close,20);

 

 

ret=1;

XQ小幫手 發文於   2021/10/01

Hello Easonliao,

 

在使用集保每週公布的資訊時,需要使用以下方式避開取用到未來資訊的狀況:

 

if getinfo("FilterMode") = 1 then sameweek = 0 

else if datediff(GetFielddate("收盤價","D"),GetFielddate("收盤價","W")) < 6 then  sameweek = 1 else  sameweek = 0; 

 

value1=getField("大戶持股比例","W",param:=ran)[sameweek];

value2=getField("大戶持股張數","W",param:=ran)[sameweek];

 

另外您 本週大戶持股比例跟上週大戶持股比例跑出數值是一樣 的問題,小幫手猜測應該是因為您使用日頻率的關係。

value1 = getField("大戶持股比例","W",param:=ran);

value1[1] 取到的是昨日的資訊, getField("大戶持股比例","W",param:=ran)[1] 取到的是上週的資訊。

如果您用週頻率的話應該就不會發生問題。

發表回覆
Close