奇狐社區論壇
在這個頁面顯示本主題全部的 13 個文章

奇狐社區論壇 (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=24100)


由 m3energy 在 2024-10-08 02:11 發表:

[求救] 請教「股票本益比」公式,是否能這樣運算?(非公式內建算法)

我知道Chiefox v5.2內建公式有「FEA1 股票本益比(預估)」
我對論壇文章爬文與比對公式的數據後,理解此公式是採用「未還權價格除以近四季EPS之合」

參考文章:
"算本益比專用EPS"
http://www.chiefox.com.tw/bbs/showt...%A4%F1%E3%80%91


內建本益比公式,我的理解為:
「未還權價格除以近四季EPS之合」

以今年2024年為例,某檔股票,2024年股票EPS第一季、第二季已公佈:

2024年第一季算出的每日本益比:每日未還權收盤價格/(2023Q2EPS+2023Q3EPS+2023Q4EPS+2024Q1EPS)

2024年第二季算出的每日本益比:每日未還權收盤價格/(2023Q3EPS+2023Q4EPS+2024Q1EPS+2024Q2EPS)

2024年第三季算出的每日本益比(預估):每日未還權收盤價格/(2023Q3EPS+2023Q4EPS+2024Q1EPS+2024Q2EPS)
PS:因2024年股票EPS第三季尚未公布,第三季尚為預估,待第三季股票EPS公告後奇狐會自動修正為:每日未還權收盤價格/(2023Q4EPS+2024Q1EPS+2024Q2EPS+2024Q3EPS)。



想要修正的本益比算法:
1.對應年度已公佈的該檔股票全年EPS算出本益比。
2.標示出年度最高本益比與最低本益比。
3.當年度的EPS,「使用者自行輸入EPS預估值」。


例如:
2023年股票全年EPS皆已公佈:

2023年第一季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第二季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第三季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第四季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2024年股票EPS,目前僅公佈第一季、第二季:
故2024年先由「使用者自行輸入EPS預估值」,待2024全年EPS公佈後,系統即修正為依2024年全年公告EPS對應2024年股價算出本益比。


另請教奇狐有沒有打算開班授課程式進階寫法?需要使用複雜功能時,瞎子摸象真的好無奈。


由 cgjj 在 2024-10-08 11:37 發表:

回覆: [求救] 請教「股票本益比」公式,是否能這樣運算?(非公式內建算法)

引用:
最初由 m3energy 發表
我知道Chiefox v5.2內建公式有「FEA1 股票本益比(預估)」
我對論壇文章爬文與比對公式的數據後,理解此公式是採用「未還權價格除以近四季EPS之合」

參考文章:
"算本益比專用EPS"
http://www.chiefox.com.tw/bbs/showt...%A4%F1%E3%80%91


內建本益比公式,我的理解為:
「未還權價格除以近四季EPS之合」

以今年2024年為例,某檔股票,2024年股票EPS第一季、第二季已公佈:

2024年第一季算出的每日本益比:每日未還權收盤價格/(2023Q2EPS+2023Q3EPS+2023Q4EPS+2024Q1EPS)

2024年第二季算出的每日本益比:每日未還權收盤價格/(2023Q3EPS+2023Q4EPS+2024Q1EPS+2024Q2EPS)

2024年第三季算出的每日本益比(預估):每日未還權收盤價格/(2023Q3EPS+2023Q4EPS+2024Q1EPS+2024Q2EPS)
PS:因2024年股票EPS第三季尚未公布,第三季尚為預估,待第三季股票EPS公告後奇狐會自動修正為:每日未還權收盤價格/(2023Q4EPS+2024Q1EPS+2024Q2EPS+2024Q3EPS)。



想要修正的本益比算法:
1.對應年度已公佈的該檔股票全年EPS算出本益比。
2.標示出年度最高本益比與最低本益比。
3.當年度的EPS,「使用者自行輸入EPS預估值」。


例如:
2023年股票全年EPS皆已公佈:

2023年第一季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第二季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第三季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2023年第四季算出的每日本益比:每日未還權價格/(2023Q1EPS+2023Q2EPS+2023Q3EPS+2023Q4EPS)

2024年股票EPS,目前僅公佈第一季、第二季:
故2024年先由「使用者自行輸入EPS預估值」,待2024全年EPS公佈後,系統即修正為依2024年全年公告EPS對應2024年股價算出本益比。


另請教奇狐有沒有打算開班授課程式進階寫法?需要使用複雜功能時,瞎子摸象真的好無奈。



原碼:
FEPS:9.99 linethick; //為全年EPS尚未公告處所採用的值(自定義預估值,請自行調改) CkBK:=INBLOCK('上市指數')+INBLOCK('上櫃指數'); CkMT:=MARKETLABEL='TW' or MARKETLABEL='TO'; CK:=CkMT and CkBK=0; DRAWTEXTEX(CK=0,1,500,450,'當前商品不適用,本指標僅適用於個股。') COLORMAGENTA ALIGN0; if CK=0 then exit; DYM:=FLOOR(SEQDATA('','FIN','DATE')/100)+190000; //資料年月 Err:=lbound(DYM)=0; DRAWTEXTEX(Err,1,500,450,'本商品目前無相關資料存在。若尚未獲取資料,請與伺服器連線!') colorFF00FF ALIGN0; if Err then exit; 未還權收盤價:=SEQDATA('','DAY','CLOSE'); //此價可在日線或日線以上週期中使用(其他價不行) KYM:=FLOOR(tradedate/100)+190000; //K棒年月 年累EPS:=SEQDATA('','FIN','I_EPS'); DMM:=MOD(DYM,100);//資料月份 KYZ:=MOD(KYM,100)=12 and refx(KYM,1)>KYM or islastbar; //年度終K KYF:=ref(KYZ,1) or barpos=1; //年度首K //以灰色背景標示全年EPS尚未公告處(亦即採自定義預估值處) LSP:=barslast(DMM=12);Mark:=0; if lbound(LSP)>0 then Mark:=barpos>=datacount-LSP[datacount]+1; STICKLINEPY(Mark,0,999,10,0) color777777; //以該年度全年EPS(最終年累EPS),填滿該年度相應K棒 YEPS:=SETVAL(KYM=DYM and KYZ,年累EPS,-barslast(KYF),年累EPS) linethick; //於末端全年EPS尚未公告處添加自定義預估值 YEPS:=if(Mark,FEPS,YEPS); //注意!!! //此處的"股票本益比"與奇狐系統內建公式算法不同!(有採用未來季度的數據) 股票本益比:(未還權收盤價/YEPS)*(YEPS>0) linethick2; DLB:=BARSSINCE(DYM>=201303); StKNo:=lbound(DLB); if StKNo>0 then x:=SETLBOUND(股票本益比,StKNo); KYFSP:=barslast(KYF); 年度最高本益比:HHV(股票本益比,KYFSP+1) linethick; 年度最低本益比:LLV(股票本益比,KYFSP+1) linethick;



Re: 另請教奇狐有沒有打算開班授課程式進階寫法?需要使用複雜功能時,瞎子摸象真的好無奈。
如有需求,可約時間來公司,我們可以針對有問題之處,個別解說指導
若已具備任一程式語言的基礎(具備迴圈撰寫的能力),我們引導一下,其實很快就可以上手
程式的組織和建構能力,則需要靠寫作經驗累積來培養(多看範例多嘗試寫作...)
這部份考量各學員狀況可能彼此落差很大,以及目前人力狀況,暫時沒有考慮開班~~


由 m3energy 在 2024-10-09 01:49 發表:

感謝總版主的協助,謝謝。


我發現一個問題,請總版主指導。
每一檔股票,在已經確認公佈該年度四季EPS值情況,「年度最高本益比、年度最低本益比,僅能比較年度1月-11月,12月本益比數值無法納入年度比較」
請教,是否能讓「年度最高本益比、年度最低本益比,採整年度(1-12月)比較」?


目前情況,每一檔股票以2023年為例:
每年1月第一日至11月最後一日,皆能正常比較出「年度最高本益比數值、年度最低本益比數值」
但,每年的12月「年度最高本益比數值、年度最低本益比數值,都會等於股票本益比」




如有需求,可約時間來公司,我們可以針對有問題之處,個別解說指導
若已具備任一程式語言的基礎(具備迴圈撰寫的能力),我們引導一下,其實很快就可以上手
程式的組織和建構能力,則需要靠寫作經驗累積來培養(多看範例多嘗試寫作...)
這部份考量各學員狀況可能彼此落差很大,以及目前人力狀況,暫時沒有考慮開班~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
了解,目前先自我努力研讀 Online Help 與多看範例多嘗試寫作。


由 cgjj 在 2024-10-09 08:58 發表:

引用:
最初由 m3energy 發表
感謝總版主的協助,謝謝。


我發現一個問題,請總版主指導。
每一檔股票,在已經確認公佈該年度四季EPS值情況,「年度最高本益比、年度最低本益比,僅能比較年度1月-11月,12月本益比數值無法納入年度比較」
請教,是否能讓「年度最高本益比、年度最低本益比,採整年度(1-12月)比較」?


目前情況,每一檔股票以2023年為例:
每年1月第一日至11月最後一日,皆能正常比較出「年度最高本益比數值、年度最低本益比數值」
但,每年的12月「年度最高本益比數值、年度最低本益比數值,都會等於股票本益比」




如有需求,可約時間來公司,我們可以針對有問題之處,個別解說指導
若已具備任一程式語言的基礎(具備迴圈撰寫的能力),我們引導一下,其實很快就可以上手
程式的組織和建構能力,則需要靠寫作經驗累積來培養(多看範例多嘗試寫作...)
這部份考量各學員狀況可能彼此落差很大,以及目前人力狀況,暫時沒有考慮開班~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
了解,目前先自我努力研讀 Online Help 與多看範例多嘗試寫作。



您是在12月份的最終K棒上查詢[年度最高本益比、年度最低本益比]嗎?
剛剛檢查核對過,計算無誤唷~


由 cgjj 在 2024-10-09 10:10 發表:

建議在日線中跑此公式!
這樣可以見以每日未還權收盤價,計算出之年度最高最低本益比

若放置在月線或季線跑,得到的數字會不一樣!
(會是以每月或每季之未還權收盤價來計算年度最高最低本益比)


由 m3energy 在 2024-10-09 12:08 發表:

再請總版主指導。
我用圖將問題表達。
(總版主,圖已縮小至43.3KB,都還無法上傳...哭泣)
文件大小: 655360 位元以內,655360/8/1024=80KB內。

我已將圖片,縮小至 1263x643,檔案大小43.3KB,格式為JPG
編輯後,「這個文章已編輯成功......」
但返回頁面,就是沒有呈現圖案。
最後我改採外部連結方式呈現圖片,在請總版主指導,謝謝。


由 cgjj 在 2024-10-09 12:30 發表:

引用:
最初由 m3energy 發表
再請總版主指導。
我用圖將問題表達。
(總版主,圖已縮小至72.2KB,都還無法上傳...哭泣)



長寬需在 2048x2048 之內,Size需在640KB之內


由 cgjj 在 2024-10-09 13:13 發表:

Sorry!

我有個地方沒寫正確,請將
KYZ:=MOD(KYM,100)=12 or islastbar; //年度終K

修正為
KYZ:=MOD(KYM,100)=12 and refx(KYM,1)>KYM or islastbar; //年度終K


註:前面貼的原碼內容已更新


由 m3energy 在 2024-10-09 13:30 發表:

總版主千萬別這麼說,非常感謝你的指導與幫助,謝謝。


由 cgjj 在 2024-10-09 13:50 發表:

引用:
最初由 m3energy 發表
總版主千萬別這麼說,非常感謝你的指導與幫助,謝謝。

不客氣^^


由 m3energy 在 2025-03-01 00:31 發表:

版主,你好:
因時間已來到2025年,此程式遇到了問題,可否請版主協助指導修正程式,謝謝。

橘框部份:
1.2025年,無法Mark(淺灰色)背景?
2.2025年其年度EPS預估值已更改預設值為59,但系統依舊採用2024年年度累加EPS:42.25運算?

青框部份:
1.無法顯示2025垂直線,並標注文字"2025"?




程式碼:
==============================================================================

FEPS:59 linethick; //為全年EPS尚未公告處所採用的值(自定義預估值,請自行調改)

CkBK:=INBLOCK('上市指數')+INBLOCK('上櫃指數');
CkMT:=MARKETLABEL='TW' or MARKETLABEL='TO';
CK:=CkMT and CkBK=0;
DRAWTEXTEX(CK=0,1,500,450,'當前商品不適用,本指標僅適用於個股。') COLORMAGENTA ALIGN0;
if CK=0 then exit;

DYM:=FLOOR(SEQDATA('','FIN','DATE')/100)+190000; //資料年月
Err:=lbound(DYM)=0;
DRAWTEXTEX(Err,1,500,450,'本商品目前無相關資料存在。若尚未獲取資料,請與伺服器連線!') colorFF00FF ALIGN0;
if Err then exit;

未還權收盤價:=SEQDATA('','DAY','CLOSE'); //此價可在日線或日線以上週期中使用(其他價不行)
KYM:=FLOOR(tradedate/100)+190000; //K棒年月
年累EPS:=SEQDATA('','FIN','I_EPS');
DMM:=MOD(DYM,100);//資料月份
KYZ:=MOD(KYM,100)=12 and refx(KYM,1)>KYM or islastbar; //年度終K
KYF:=ref(KYZ,1) or barpos=1; //年度首K

//以灰色背景標示全年EPS尚未公告處(亦即採自定義預估值處)
LSP:=barslast(DMM=12);Mark:=0;
if lbound(LSP)>0 then Mark:=barpos>=datacount-LSP[datacount]+1;
STICKLINEPY(Mark,0,999,10,0) color777777;

//以該年度全年EPS(最終年累EPS),填滿該年度相應K棒
YEPS:=SETVAL(KYM=DYM and KYZ,年累EPS,-barslast(KYF),年累EPS) linethick;
//於末端全年EPS尚未公告處添加自定義預估值
YEPS:=if(Mark,FEPS,YEPS);

//注意!!!
//此處的"股票本益比"與奇狐系統內建公式算法不同!(有採用未來季度的數據)
股票本益比:(未還權收盤價/YEPS)*(YEPS>0) linethick2;
DLB:=BARSSINCE(DYM>=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;

===============================================================================


由 cgjj 在 2025-03-01 10:41 發表:

引用:
最初由 m3energy 發表
版主,你好:
因時間已來到2025年,此程式遇到了問題,可否請版主協助指導修正程式,謝謝。

橘框部份:
1.2025年,無法Mark(淺灰色)背景?
2.2025年其年度EPS預估值已更改預設值為59,但系統依舊採用2024年年度累加EPS:42.25運算?

青框部份:
1.無法顯示2025垂直線,並標注文字"2025"?




程式碼:
==============================================================================

FEPS:59 linethick; //為全年EPS尚未公告處所採用的值(自定義預估值,請自行調改)

CkBK:=INBLOCK('上市指數')+INBLOCK('上櫃指數');
CkMT:=MARKETLABEL='TW' or MARKETLABEL='TO';
CK:=CkMT and CkBK=0;
DRAWTEXTEX(CK=0,1,500,450,'當前商品不適用,本指標僅適用於個股。') COLORMAGENTA ALIGN0;
if CK=0 then exit;

DYM:=FLOOR(SEQDATA('','FIN','DATE')/100)+190000; //資料年月
Err:=lbound(DYM)=0;
DRAWTEXTEX(Err,1,500,450,'本商品目前無相關資料存在。若尚未獲取資料,請與伺服器連線!') colorFF00FF ALIGN0;
if Err then exit;

未還權收盤價:=SEQDATA('','DAY','CLOSE'); //此價可在日線或日線以上週期中使用(其他價不行)
KYM:=FLOOR(tradedate/100)+190000; //K棒年月
年累EPS:=SEQDATA('','FIN','I_EPS');
DMM:=MOD(DYM,100);//資料月份
KYZ:=MOD(KYM,100)=12 and refx(KYM,1)>KYM or islastbar; //年度終K
KYF:=ref(KYZ,1) or barpos=1; //年度首K

//以灰色背景標示全年EPS尚未公告處(亦即採自定義預估值處)
LSP:=barslast(DMM=12);Mark:=0;
if lbound(LSP)>0 then Mark:=barpos>=datacount-LSP[datacount]+1;
STICKLINEPY(Mark,0,999,10,0) color777777;

//以該年度全年EPS(最終年累EPS),填滿該年度相應K棒
YEPS:=SETVAL(KYM=DYM and KYZ,年累EPS,-barslast(KYF),年累EPS) linethick;
//於末端全年EPS尚未公告處添加自定義預估值
YEPS:=if(Mark,FEPS,YEPS);

//注意!!!
//此處的"股票本益比"與奇狐系統內建公式算法不同!(有採用未來季度的數據)
股票本益比:(未還權收盤價/YEPS)*(YEPS>0) linethick2;
DLB:=BARSSINCE(DYM>=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;

===============================================================================




//以灰色背景標示全年EPS尚未公告處(亦即採自定義預估值處)
LSP:=barslast(DMM=12);Mark:=0;
if lbound(LSP)>0 then Mark:=barpos>=datacount-LSP[datacount]+1;
STICKLINEPY(Mark,0,999,10,0) color777777;


改為
//以灰色背景標示全年EPS尚未公告處(亦即採自定義預估值處)
TYM:=floor(TradeDATE/100)+190000;
TYM:=floor(TYM/100)*100+ceiling(mod(TYM,100)/3)*3;
Mark:=TYM>DYM; //該處屬預估區(未來數值會隨後續財報公佈追溯調整)
STICKLINEPY(Mark,0,999,10,0) color777777;


由 m3energy 在 2025-03-03 10:56 發表:

感謝版主的協助,謝謝。


全部時間均為台灣時間, 現在時間為07:23
在這個頁面顯示本主題全部的 13 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.