【Python】西格玛公式(求和)

【Python】西格玛公式(求和)

  • 西格玛公式(求和)
  • Python代码


西格玛公式(求和)

P V = Σ i = 1 n C i ( 1 + y f ) d T S + i − 1 + M ( 1 + y f ) d T S + n − 1 PV = \Sigma_{i=1}^n \frac{C_i}{(1+\frac{y}{f})^{\frac{d}{TS}+i-1}} + \frac{M}{(1+\frac{y}{f})^{\frac{d}{TS}+n-1}} PV=Σi=1n(1+fy)TSd+i1Ci+(1+fy)TSd+n1M

Python代码

from pandas import date_range
# 利用python计算值yield的值,付息多次的计算

# n=3  #表示的债券付息次数
C = [9.97,10.08,10.08,9.97,9.86]  # 表示的是coupon的值
y=0.03996372  # yeild的手工给定一个值
f=4  # 付息频率(1)ANNUAL=1 (2)	SEMI ANNUAL=2   (3)	QUARTERLY=4 (4)	MONTHLY=12
d=date_range(start='2024-01-22',end='2024-03-22').__len__()-1  # 结算日距下一付息日天数
print("d=",d)
ts=date_range(start='2023-12-22',end='2024-03-22').__len__()-1  # 第一个付息周期天数

print('ts=',ts)
M=1000  # 票面价值
def square(n):
    result =0  # 表示的是pv的值
    for i in range(0,n):
        result+= C[i]/((1 + (y / f)) ** (d / ts + i -1+1))
        print(result)
    return result+(M/((1 + (y / f)) ** (d / ts + n - 1)))

result=square(5)
print(result)

你可能感兴趣的:(Python,python)