點此或下圖可以連結FB討論串
以下為富邦人壽
美富紅運外幣分紅終身壽險(PFA) 的建議書
(六年期繳)
python code:
# -*- coding: utf-8 -*-
"""
Created on Tue May 23 18:57:45 2023
@author: SavingKing
03:
j,k合為同一個迴圈(死亡IRR),且使用enumerate
df使用"年"當index,以免cash_value,death_insurance
資料的年度不一致,還可以正確合併
04:
修正未滿期時的總報酬率計算錯誤
"""
import numpy_financial as npf
import numpy as np
import pandas as pd
import os
cash_value:list=[3705, 10019, 16618, 25014, 36514,
59644, 61605, 63621, 65695, 67809,
69908, 71975, 74042, 76104, 78143,
80167, 82170, 84174, 86175, 88167]
#富邦人壽美富紅運外幣分紅終身壽險PFA 6年 #1~20年末解約金(上),死亡保額(下)
death_insurance:list=[10034, 23943, 39579, 55823, 72665,
264607,269510,274509,279604,284774,
289769,294579,297006,298837,300098,
300823,301045,300803,300136,299087]
rate=210/100 #30歲以下 #保誠
#180/100 if 31~40歲
#160/100 if 41~50歲
cash_valueXrate:list = list( np.array(cash_value) * rate )
capital_protection = 7 #7年末保本
increasing_rate = [np.nan]*capital_protection
#從保本才開始算解約金增加率
for i in range(capital_protection, len(cash_value)):
increase = cash_value[i]/cash_value[i-1]-1
increasing_rate.append(increase)
discount = (0)/100 #花旗,星展,華南
# 樂天10萬回饋2500(2.5%)
# 遠銀百萬保費3.5%
pay:float = -10033* (1-discount) #-60570 #-59358.6
n_years = 6
lisIRR_death = []
for i, value in enumerate(death_insurance, 0):
if i < n_years: #i=0,1,2
cash_flow = [pay]*(i+1)+[death_insurance[i]]
else:
lis0 = [0]*(i-n_years+1)
cash_flow = [pay]*n_years+lis0+[value]
print(f"第{i+1:02d}年末死亡cashflow:",cash_flow)
irr = npf.irr(cash_flow)
lisIRR_death.append(irr)
for m,irr in enumerate(lisIRR_death,1):
print(f"第{m:02d}年末({m+40}歲)死亡IRR:\t{irr:.4%}")
lisIRR_death = [f"{irr:.4%}" for irr in lisIRR_death]
dic={"死亡IRR":lisIRR_death , "年": list(range(1,len(death_insurance)+1))}
dfIRR_death = pd.DataFrame(dic).set_index("年")
#以"年"當index,以免cash_value跟death_insurance資料不一致
#這樣合併資料還可以正確
lisIRR = []
totReturn = []
for i, value in enumerate(cash_value, 0):
if i < n_years: #i=0,1,2
cash_flow = [pay]*(i+1)+[cash_value[i]]
tot = sum(cash_flow)/abs(sum( [pay]*(i+1) ) )
else:
lis0 = [0]*(i-n_years+1)
cash_flow = [pay]*n_years+lis0+[value]
tot = sum(cash_flow)/abs(sum([pay]*n_years))
print(f"第{i+1:02d}年末cashflow:",cash_flow)
irr = npf.irr(cash_flow)
lisIRR.append(irr)
totReturn.append(tot)
lisIRRx2 = [] #0歲女其實是*2.1倍
for i, value in enumerate(cash_valueXrate, 0):
if i < n_years: #i=0,1,2
# cash_flow = [pay]*(i+1)+[cash_valueXrate[i]]
cash_flow = [pay]*(i+1)+[value]
else:
lis0 = [0]*(i-n_years+1)
cash_flow = [pay]*n_years+lis0+[value]
print(f"第{i+1:02d}年末cashflow X rate:",cash_flow)
irr = npf.irr(cash_flow)
lisIRRx2.append(irr)
lisIRR = [f"{irr:.4%}" for irr in lisIRR]
totReturn = [f"{ele:.4%}" for ele in totReturn]
increasing_rate = [f"{ele:.4%}" for ele in increasing_rate]
# lisIRR_death = [f"{ele:.4%}" for ele in lisIRR_death]
lisIRRx2 = [f"{irr:.4%}" for irr in lisIRRx2]
dic = {
"年" : list(range(1, len(cash_value)+1)),
"IRR" : lisIRR,
"總報酬率" : totReturn,
"增加率" : increasing_rate,
#"解約金x2.1_IRR": lisIRRx2
# "死亡IRR" : lisIRR_death
}
df = pd.DataFrame(dic).set_index("年")
df_concat = pd.concat([df,dfIRR_death],axis=1)
print("\n",df_concat)
cwd = os.getcwd()
exFolder = os.path.join(cwd,"export")
if not os.path.exists(exFolder):
os.makedirs(exFolder)
xlsx_path = "\\".join( [exFolder,"irr.xlsx"] )
df_concat.to_excel(xlsx_path)
輸出的xlsx
不討論富邦的分紅達成率如何了
先假設達成率100%
(有可能高估了富邦的能力)
六年內解約皆為負報酬
七年保本
20年IRR 2.2%
低於台灣銀行一年期
美金定存利率3.85%
以儲蓄險的角度來看
可說完全不及格
20年都無法勝定存
8.7分不能再高了
(滿分為1000分)
如果看完這種8.7分的IRR
您仍因為死亡IRR最高45%
而願意購買
儲蓄保險王絕對不會攔阻你
請在此谷歌表單留下聯繫資料:
https://forms.gle/6hPmWBUVyvS9GDxH9
請保經朋友幫你服務,
並感謝你的大方
本文不論解約還是死亡IRR
都算得清清楚楚,
依據金管會的標準
這涉及不當行銷
商品應該要下架
麻煩金管會趕快將這張
富邦的分紅保單下架
歡迎檢舉到金管會
#金管會吃屎!
也歡迎富邦業務員來打臉,
富邦那張儲蓄型保單
IRR可以超越5%?
才不像版主所述
張張都很弱
貼出建議書,
本站將代為免費廣告
保誠多重宇宙: 香港保單 保誠 雋富多元貨幣計劃IRR分析
同樣叫做保誠人壽
香港保誠有IRR超過5%的實力
台灣保誠愛美鑫IRR才4%
因金管會把國人當成次等公民
便以分紅公式太複雜的奇怪理由
強迫下架,
成為僅開賣16天的短命保單
之後若有新商品,
必然IRR更低
才符合金管會的心意
台灣與香港猶如多重宇宙
保誠愛美鑫下架同時
霉體妓者還大讚富邦分紅公式簡單清楚:
相較富邦人壽,在外幣分紅終身壽險保單條款附件的「分紅公式」就明白列出;年度保單紅利是利差加上死差的紅利,調整為可分配金額後再乘上分配給要保人的比例,終期保單紅利則是以資產額份為基礎,各項計算參數講得相對清楚。
這不是不當行銷的話
什麼才是不當行銷?
分紅公式是消費者關心的嗎?
我只關心分紅達成率能不能100%
IRR多少?
我管分紅怎麼算的幹嘛?
富邦分紅保單20年IRR仍輸定存
才是需要關注的重點吧?
看完這種8.7分的IRR
本來也是一笑置之
連文章都懶得寫
不過據說計算保單的IRR
涉及不當行銷
商品需要下架
現在要以踢爆黑心貨的角度
計算所有台灣黑心保單的IRR
直至官方建議書列出IRR
或者黑心商品都下架光為止
這種8.7分的黑心商品
請大家千萬不要上當
建議參考海外保單
金管會有本事就叫
香港保誠或忠意保險下架啊!
#金管會吃屎!
#香港保誠雋富多元貨幣計劃: https://lihi2.com/LVlHg/blog
#忠意保險跨越創富保2(五年期繳): https://lihi2.com/iQTrf/blog
#忠意保險跨越創富保2(二年期繳): https://lihi2.com/qvFk6/blog
推薦hahow線上學習python: https://igrape.net/30afN
後記:
更為模組化的python code:
# -*- coding: utf-8 -*-
"""
Created on Tue May 23 18:57:45 2023
@author: SavingKing
03:
j,k合為同一個迴圈(死亡IRR),且使用enumerate
df使用"年"當index,以免cash_value,death_insurance
資料的年度不一致,還可以正確合併
04:
修正未滿期時的總報酬率計算錯誤
05:
模組化,刪除已經註解的保誠資料,__file__擷取當前py檔路徑
輸出的xlsx檔名,可以跟py檔 主檔名相同
"""
import numpy_financial as npf
import numpy as np
import pandas as pd
import os
cash_value:list=[3705, 10019, 16618, 25014, 36514,
59644, 61605, 63621, 65695, 67809,
69908, 71975, 74042, 76104, 78143,
80167, 82170, 84174, 86175, 88167]
#富邦人壽美富紅運外幣分紅終身壽險PFA 6年 #1~20年末解約金(上),死亡保額(下)
death_insurance:list=[10034, 23943, 39579, 55823, 72665,
264607,269510,274509,279604,284774,
289769,294579,297006,298837,300098,
300823,301045,300803,300136,299087]
capital_protection = 7 #7年末保本
discount = (0)/100
# 2% 花旗,星展,華南
# 樂天10萬回饋2500(2.5%)
# 遠銀百萬保費3.5%
pay:float = -10033* (1-discount) #-60570 #-59358.6
n_years = 6
def get_increasing_rate(capital_protection=capital_protection,
cash_value=cash_value,fmt_str=True):
increasing_rate = [np.nan]*capital_protection
#從保本才開始算解約金增加率
for i in range(capital_protection, len(cash_value)):
increase = cash_value[i]/cash_value[i-1]-1
increasing_rate.append(increase)
if fmt_str == True:
increasing_rate = [f"{ele:.4%}" for ele in increasing_rate]
return increasing_rate #list
increasing_rate = \
get_increasing_rate(capital_protection=capital_protection,
cash_value=cash_value)
def get_lisIRR_totReturn(pay=pay, discount=discount,
n_years=n_years,
cash_value=cash_value, start=1,
fmt_str=True):
lisIRR = []
totReturn = []
for i, value in enumerate(cash_value, start-1):
if i < n_years: #i=0,1,2
lis_pay=[pay]*(i+1)
cash_flow = lis_pay+[value]
tot = sum(cash_flow)/abs(sum( lis_pay ) )
else:
lis_pay=[pay]*n_years
lis0 = [0]*(i-n_years+1)
cash_flow = lis_pay+lis0+[value]
tot = sum(cash_flow)/abs(sum( lis_pay ))
print(f"第{i+1:02d}年末cashflow:",cash_flow)
irr = npf.irr(cash_flow)
lisIRR.append(irr)
totReturn.append(tot)
if fmt_str == True:
lisIRR = [f"{ele:.4%}" for ele in lisIRR]
totReturn = [f"{ele:.4%}" for ele in totReturn]
return lisIRR,totReturn #list
#return的縮排不要在for迴圈之內,不然lisIRR只會有一個元素
lisIRR,totReturn = get_lisIRR_totReturn(pay=pay,discount=discount,
n_years=n_years,
cash_value=cash_value,start=1)
# print("lisIRR:",lisIRR)
lisIRR_death,totReturn_death = \
get_lisIRR_totReturn(pay=pay,discount=discount,
n_years=n_years,
cash_value=death_insurance,start=1)
# =============================================================================
##lisIRR_death 要重複使用function get_lisIRR_totReturn
# lisIRR_death = []
# for i, value in enumerate(death_insurance, 0):
# if i < n_years: #i=0,1,2
# cash_flow = [pay]*(i+1)+[death_insurance[i]]
# else:
# lis0 = [0]*(i-n_years+1)
# cash_flow = [pay]*n_years+lis0+[value]
# print(f"第{i+1:02d}年末死亡cashflow:",cash_flow)
# irr = npf.irr(cash_flow)
# lisIRR_death.append(irr)
#
#
# for m,irr in enumerate(lisIRR_death,1):
# print(f"第{m:02d}年末({m+40}歲)死亡IRR:\t{irr:.4%}")
# =============================================================================
# lisIRR_death = [f"{irr:.4%}" for irr in lisIRR_death]
dic={"死亡IRR":lisIRR_death ,"死亡總報酬率":totReturn_death,
"年": list(range(1,len(death_insurance)+1))}
dfIRR_death = pd.DataFrame(dic).set_index("年")
#以"年"當index,以免cash_value跟death_insurance資料不一致
#這樣合併資料還可以正確
# lisIRR = [f"{irr:.4%}" for irr in lisIRR]
# totReturn = [f"{ele:.4%}" for ele in totReturn]
# increasing_rate = [f"{ele:.4%}" for ele in increasing_rate]
# lisIRR_death = [f"{ele:.4%}" for ele in lisIRR_death]
# lisIRRx2 = [f"{irr:.4%}" for irr in lisIRRx2]
dic = {
"年" : list(range(1, len(cash_value)+1)),
"IRR" : lisIRR,
"總報酬率" : totReturn,
"增加率" : increasing_rate,
}
df = pd.DataFrame(dic).set_index("年")
df_concat = pd.concat([df,dfIRR_death],axis=1)
print("\n",df_concat)
cwd = os.getcwd()
exFolder = os.path.join(cwd,"export")
if not os.path.exists(exFolder):
os.makedirs(exFolder)
# 獲取當前腳本的文件路徑
current_script_path = __file__
#'p:\\python\\financial\\富邦\\pfa-美富紅運30歲6年\\irr_05_富邦人壽美富紅運外幣分紅終身壽險6年.py'
# 提取主檔名
#main_filename = os.path.basename(current_script_path).split('.')[0]
main_filename = os.path.splitext(os.path.basename(current_script_path))[0]
"""
os.path.basename(current_script_path)
Out[21]: 'irr_05_富邦人壽美富紅運外幣分紅終身壽險6年.py'
os.path.splitext(os.path.basename(current_script_path))
Out[20]: ('irr_05_富邦人壽美富紅運外幣分紅終身壽險6年', '.py')
"""
# 打印主檔名
print("\npy主檔名:", main_filename)
xlsx_path = "\\".join( [exFolder,f"{main_filename}.xlsx"] )
df_concat.to_excel(xlsx_path)
print(f"\nxlsx檔已經輸出到:\n{xlsx_path}")
輸出結果:
推薦hahow線上學習python: https://igrape.net/30afN