![]() |
在這個頁面顯示本主題全部的 7 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [求救] 能否協助修改成「類股本益比」公式? (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24106)
[求救] 能否協助修改成「類股本益比」公式?
在論壇找到底下之公式算法,無奈程式功力不足,改寫不出來。
參考文章:
【範例】類股平均EPS
http://www.chiefox.com.tw/bbs/showt...%B8%BB%E9%A1%8C
請教是否能協助將此公式修改成「類股本益比」公式。
想要修正的「類股本益比」算法:
1.對應年度已公佈的"類股股票全年EPS均值"算出當年類股本益比。
2.標示出類股年度最高本益比與類股年度最低本益比。
3.當年度的類股EPS均值,「使用者自行輸入類股EPS均值預估值」。
PS:待2024全年全部EPS公佈後,系統即修正為依上述方法算出2024年類股本益比。
回覆: [求救] 能否協助修改成「類股本益比」公式?
引用:
最初由 m3energy 發表
在論壇找到底下之公式算法,無奈程式功力不足,改寫不出來。
參考文章:
【範例】類股平均EPS
http://www.chiefox.com.tw/bbs/showt...%B8%BB%E9%A1%8C
請教是否能協助將此公式修改成「類股本益比」公式。
想要修正的「類股本益比」算法:
1.對應年度已公佈的"類股股票全年EPS均值"算出當年類股本益比。
2.標示出類股年度最高本益比與類股年度最低本益比。
3.當年度的類股EPS均值,「使用者自行輸入類股EPS均值預估值」。
PS:待2024全年全部EPS公佈後,系統即修正為依上述方法算出2024年類股本益比。
原碼:
FEPS均:1.99 linethick; //請自行根據當前類股調改此值 //此為全年EPS均值尚未公告處所採用的值(自定義預估值) UseBlk:=''; //類股成份股板塊 if stklabel='201' then UseBlk:='水泥工業'; if stklabel='202' then UseBlk:='食品工業'; if stklabel='203' then UseBlk:='塑膠工業'; if stklabel='204' then UseBlk:='紡織纖維'; if stklabel='205' then UseBlk:='電機機械'; if stklabel='206' then UseBlk:='電器電纜'; if stklabel='208' then UseBlk:='玻璃陶瓷'; if stklabel='209' then UseBlk:='造紙工業'; if stklabel='210' then UseBlk:='鋼鐵工業'; if stklabel='211' then UseBlk:='橡膠工業'; if stklabel='212' then UseBlk:='汽車工業'; if stklabel='214' then UseBlk:='建材營造'; if stklabel='215' then UseBlk:='航運業'; if stklabel='216' then UseBlk:='觀光事業'; if stklabel='217' then UseBlk:='金融保險'; if stklabel='218' then UseBlk:='貿易百貨'; if stklabel='220' then UseBlk:='其他'; if stklabel='237' then UseBlk:='化學工業'; if stklabel='241' then UseBlk:='生技醫療業'; if stklabel='260' then UseBlk:='油電燃氣業'; if stklabel='223' then UseBlk:='半導體業'; if stklabel='224' then UseBlk:='電腦及週邊設備業'; if stklabel='225' then UseBlk:='光電業'; if stklabel='226' then UseBlk:='通信網路業'; if stklabel='227' then UseBlk:='電子零組件業'; if stklabel='228' then UseBlk:='電子通路業'; if stklabel='229' then UseBlk:='資訊服務業'; if stklabel='230' then UseBlk:='其他電子業'; if stklabel='531' then UseBlk:='文化創意業'; DRAWTEXTEX(UseBlk='',1,500,550,'本公式僅適用於類股指數(或無相對應類股成份)!') ALIGN0 COLORMAGENTA; if UseBlk='' then exit; ZeroAry:=C*0; YEPS總:=ZeroAry; 資料年月:ZeroAry linethick colorFF33FF; 樣本數:ZeroAry linethick color777777; //具資料才列入統計 //找出最新財報所屬資料年月 資料年月:=ZeroAry; for i=1 to STKCOUNT(UseBLK) do begin UseStk:=STKFROMBLK(UseBLK,i); DYM:=FLOOR(SEQDATA(UseStk,'FIN','DATE')/100)+190000; if lbound(DYM)>0 then begin DYM:=if(barpos>=lbound(DYM),DYM,0); 資料年月:=MAX(資料年月,DYM); end; end; //找出採用預估值的區域 LB:=datacount-barslast(MOD(資料年月,100)=12); 預估區:=barpos>LB[datacount]; 資料年月:=資料年月*(預估區=0); //以灰色背景標示全年EPS均值尚未公告處(亦即採自定義預估值處) STICKLINEPY(預估區,0,999,10,0) color777777; //注意!!! //這裡的"股票本益比"與奇狐系統內建公式算法不同!(有採用未來季度的數據) KYM:=FLOOR(tradedate/100)+190000; //K棒年月 KYZ:=MOD(KYM,100)=12 and refx(KYM,1)>KYM or islastbar; //年度終K KYF:=ref(KYZ,1) or barpos=1; //年度首K //將類股成份之EPS值加總 for i=1 to STKCOUNT(UseBLK) do begin UseStk:=STKFROMBLK(UseBLK,i); DYM:=FLOOR(SEQDATA(UseStk,'FIN','DATE')/100)+190000;//資料年月 if lbound(DYM)>0 then begin DYM:=if(barpos>=lbound(DYM),DYM,0); DMM:=MOD(DYM,100);//資料月份 IEPS:=SEQDATA(UseStk,'FIN','I_EPS'); YEPS:=SETVAL(KYM=DYM and KYZ,IEPS,-barslast(KYF),IEPS); //以該年度全年EPS(最終年累EPS),填滿該年度相應K棒 CheckOK:=資料年月=DYM and DYM>0; 樣本數:=樣本數+CheckOK; YEPS總:=YEPS總+if(CheckOK,YEPS,0); end; end; 預估EPS總:=FEPS均*ref(樣本數,barslast(預估區=0)); YEPS總S:=if(預估區,預估EPS總,YEPS總) linethick colorFF6666; 類股本益比:(CLOSE/YEPS總S)*(YEPS總S>0) linethick2; DLB:=BARSSINCE(資料年月>=201303); StKNo:=lbound(DLB); if StKNo>0 then x:=SETLBOUND(類股本益比,StKNo); KYFSP:=barslast(KYF); 年度最高本益比:HHV(類股本益比,KYFSP+1) linethick; 年度最低本益比:LLV(類股本益比,KYFSP+1) linethick;
感謝總版主對此程式的叮嚀,謝謝。
另請教總版主,我在程式底下加了畫年度垂直分隔線的程式碼,但是有些版塊正常、有些版塊不正常,請版主指導,謝謝。
加入畫垂直線程式碼:
------------------------------------------------------
//畫年分隔線
DYY:=FLOOR(DYM/100); //資料年
YYCK:=DYY<>ref(DYY,1) or barpos=lbound(DYY);
VERTLINE(YYCK and datatype<>9) linedot color777777;
//標示畫年分隔線-年月文字
if datatype=9 then PN:=DYY; else PN:=DMM;
DRAWNUMBER(YYCK and datatype<>9,類股本益比,DYY,0) color777777 align4;
------------------------------------------------------
食品202版塊,正常
水泥201版塊,無法顯示
206電器電纜,顯示不正確
引用:
最初由 m3energy 發表
[B]感謝總版主對此程式的叮嚀,謝謝。
另請教總版主,我在程式底下加了畫年度垂直分隔線的程式碼,但是有些版塊正常、有些版塊不正常,請版主指導,謝謝。
加入畫垂直線程式碼:
------------------------------------------------------
//畫年分隔線
DYY:=FLOOR(DYM/100); //資料年
YYCK:=DYY<>ref(DYY,1) or barpos=lbound(DYY);
VERTLINE(YYCK and datatype<>9) linedot color777777;
//標示畫年分隔線-年月文字
if datatype=9 then PN:=DYY; else PN:=DMM;
DRAWNUMBER(YYCK and datatype<>9,類股本益比,DYY,0) color777777 align4;
....
引用:
最初由 m3energy 發表
206電器電纜,顯示不正確
引用:
最初由 cgjj 發表
並非是顯示不正確~~
而是該期間有些成分股 I_EPS 是負數
會對加總的數值,產生較大的波動影響
引用:
最初由 cgjj 發表
DYM 是迴圈中個股的資料,不可拿到迴圈外使用
DYY:=FLOOR(DYM/100); //資料年
需修正為
DYY:=FLOOR(資料年月/100); //資料
全部時間均為台灣時間, 現在時間為04:49 | 在這個頁面顯示本主題全部的 7 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.