程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python - 到期收益率(金融 - 债券)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Python - 到期收益率(金融 - 债券)?

开发过程中遇到Python - 到期收益率(金融 - 债券)的问题如何解决?下面主要结合日常开发的经验,给出你关于Python - 到期收益率(金融 - 债券)的解决方法建议,希望对你解决Python - 到期收益率(金融 - 债券)有所启发或帮助;

我正在尝试计算债券的到期收益率(在 Google Colab (Jupyter) 中工作)。 该问题的数学公式为:

Python - 到期收益率(金融 - 债券)

价格 = 1276.76 美元,期数 = 60 [0.5 年] = 30 年,每期付款 = 40 美元,最终付款(面值)= 1000 美元,利率 = r。

我试图通过函数导出“r”的地方。
在采用硬编码公式和函数的方法时,我发现了以下内容:

# YIEld to maturity

""" Get yIEld-to-maturity of a bond """
import scipy.optimize as optimize


def bond_ytm(price,par,T,coup,freq=2,guess=0.05):
    freq = float(freq)
    periods = T*freq
    coupon = coup/100.*par/freq
    dt = [(i+1)/freq for i in range(int(periods))]
    ytm_func = lambda(y): \
        sum([coupon/(1+y/freq)**(freq*t) for t in dt]) + \
        par/(1+y/freq)**(freq*t) - price
        
    return optimize.newton(ytm_func,guess)
from bond_ytm import bond_ytm
ytm = bond_ytm(95.0428,100,1.5,5.75,2)
print(ytm)

我收到错误消息:lambda 行中的“语法无效”以及在删除它时(为了检查函数本身是否有效)“没有名为 'bond_ytm' 的模块”,甚至将其作为额外文件保存在与(.jpynb) python 文件。 我也不明白 lambda 内联函数、dt 数组/for 循环,以及调用 bond_ytm 的位置和原因。

这里有一个非常相似的方法来自github,它也没有运行,第二部分使用另一个函数:
https://github.com/jamesmawm/Mastering-Python-for-Finance-source-codes/blob/master/B03898_05_Codes/bond_ytm.py

if __name__ == "__main__":
    ytm = bond_ytm(95.0428,2)
    print ytm

而这让我也失去了同样的理解。

这是一个包的大文档,我不知道他们的计算方法,但我可以手动输入期间的日期,并允许计算付款(优惠券)日期之间的应计利息。 https://bond-pricing.readthedocs.io/en/latest/#module-bond_pricing.simple_bonds:

>>> bond_yIEld(settle="2012-04-15",mat="2022-01-01",cpn=8e-2,... price=94.33,freq=1)
0.08884647275135965

>>> bond_yIEld(mat=10.25,price=93.37,freq=2)
0.09000591604105035

>>> bond_yIEld(settle="2012-04-15",... price=[93,94,95],freq=1)
array([0.09104904,0.08938905,0.08775269])

解决方法

如果您要查找的是内部收益率,则有一个 numpy financial library(需要与 pip 一起安装)可以找到。

>>> import numpy_financial as npf
>>> npf.irr([-1276.76] + [40]*60 + [1000])
0.02985264673122634

大佬总结

以上是大佬教程为你收集整理的Python - 到期收益率(金融 - 债券)全部内容,希望文章能够帮你解决Python - 到期收益率(金融 - 债券)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-Python